diff --git a/proto/AISnapshotEntityData.proto b/proto/AISnapshotEntityData.proto
new file mode 100644
index 00000000..66893dad
--- /dev/null
+++ b/proto/AISnapshotEntityData.proto
@@ -0,0 +1,37 @@
+// 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 "AISnapshotEntitySkillCycle.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AISnapshotEntityData {
+ repeated AISnapshotEntitySkillCycle finished_skill_cycles = 14;
+ uint32 attack_target_id = 2;
+ uint32 entity_id = 6;
+ float Unk3300_ALBMEMMJEJA = 13;
+ uint32 Unk3300_IADJCDJOKND = 5;
+ uint32 Unk3300_FNCIDLDKANO = 7;
+ float Unk3300_GPCFOCIFHCD = 15;
+ float Unk3300_FMBBEIHCCJO = 12;
+ float Unk3300_LIJIDJOLLEB = 11;
+ uint32 Unk3300_GNBOAJHMNJO = 9;
+ map hitting_avatars = 4;
+ uint32 Unk3300_FIKEAEPLOHJ = 3;
+}
diff --git a/proto/AISnapshotEntitySkillCycle.proto b/proto/AISnapshotEntitySkillCycle.proto
new file mode 100644
index 00000000..f02060e4
--- /dev/null
+++ b/proto/AISnapshotEntitySkillCycle.proto
@@ -0,0 +1,28 @@
+// 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 AISnapshotEntitySkillCycle {
+ bool Unk3300_IIOIBLEOHEK = 14;
+ uint32 skill_id = 12;
+ bool Unk3300_ABKFNGIDFMI = 7;
+ bool Unk3300_IFKDIMDJBDH = 2;
+ bool Unk3300_EGIILMJFEBE = 1;
+}
diff --git a/proto/AISnapshotInfo.proto b/proto/AISnapshotInfo.proto
new file mode 100644
index 00000000..1a4f5f94
--- /dev/null
+++ b/proto/AISnapshotInfo.proto
@@ -0,0 +1,26 @@
+// 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 "AISnapshotEntityData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AISnapshotInfo {
+ repeated AISnapshotEntityData ai_snapshots = 1;
+}
diff --git a/proto/AbilityActionBlink.proto b/proto/AbilityActionBlink.proto
new file mode 100644
index 00000000..3dc74f69
--- /dev/null
+++ b/proto/AbilityActionBlink.proto
@@ -0,0 +1,27 @@
+// 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 AbilityActionBlink {
+ Vector rot = 8;
+ Vector pos = 3;
+}
diff --git a/proto/AbilityActionCreateGadget.proto b/proto/AbilityActionCreateGadget.proto
new file mode 100644
index 00000000..708f08d7
--- /dev/null
+++ b/proto/AbilityActionCreateGadget.proto
@@ -0,0 +1,28 @@
+// 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 AbilityActionCreateGadget {
+ uint32 room_id = 5;
+ Vector rot = 13;
+ Vector pos = 8;
+}
diff --git a/proto/AbilityActionCreateTile.proto b/proto/AbilityActionCreateTile.proto
new file mode 100644
index 00000000..9fb0e029
--- /dev/null
+++ b/proto/AbilityActionCreateTile.proto
@@ -0,0 +1,27 @@
+// 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 AbilityActionCreateTile {
+ Vector pos = 15;
+ Vector rot = 13;
+}
diff --git a/proto/AbilityActionDeductStamina.proto b/proto/AbilityActionDeductStamina.proto
new file mode 100644
index 00000000..f31b3e32
--- /dev/null
+++ b/proto/AbilityActionDeductStamina.proto
@@ -0,0 +1,24 @@
+// 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 AbilityActionDeductStamina {
+ bool is_swim = 7;
+}
diff --git a/proto/AbilityActionDestroyTile.proto b/proto/AbilityActionDestroyTile.proto
new file mode 100644
index 00000000..89d8ef26
--- /dev/null
+++ b/proto/AbilityActionDestroyTile.proto
@@ -0,0 +1,27 @@
+// 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 AbilityActionDestroyTile {
+ Vector pos = 13;
+ Vector rot = 5;
+}
diff --git a/proto/AbilityActionFireAfterImage.proto b/proto/AbilityActionFireAfterImage.proto
new file mode 100644
index 00000000..eb48b259
--- /dev/null
+++ b/proto/AbilityActionFireAfterImage.proto
@@ -0,0 +1,26 @@
+// 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 AbilityActionFireAfterImage {
+ Vector dir = 10;
+}
diff --git a/proto/AbilityActionGenerateElemBall.proto b/proto/AbilityActionGenerateElemBall.proto
index fbe2330d..8d5ccab5 100644
--- a/proto/AbilityActionGenerateElemBall.proto
+++ b/proto/AbilityActionGenerateElemBall.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityActionGenerateElemBall {
- uint32 room_id = 2;
- Vector pos = 7;
- Vector rot = 13;
+ uint32 room_id = 8;
+ Vector rot = 1;
+ Vector pos = 14;
}
diff --git a/proto/AbilityActionHitEffect.proto b/proto/AbilityActionHitEffect.proto
new file mode 100644
index 00000000..87004458
--- /dev/null
+++ b/proto/AbilityActionHitEffect.proto
@@ -0,0 +1,24 @@
+// 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 AbilityActionHitEffect {
+ uint32 trigger_id = 13;
+}
diff --git a/proto/AbilityActionServerMonsterLog.proto b/proto/AbilityActionServerMonsterLog.proto
new file mode 100644
index 00000000..ff03dbdf
--- /dev/null
+++ b/proto/AbilityActionServerMonsterLog.proto
@@ -0,0 +1,24 @@
+// 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 AbilityActionServerMonsterLog {
+ repeated int32 param_list = 3;
+}
diff --git a/proto/AbilityActionSetBulletTrackTarget.proto b/proto/AbilityActionSetBulletTrackTarget.proto
new file mode 100644
index 00000000..6ff47b69
--- /dev/null
+++ b/proto/AbilityActionSetBulletTrackTarget.proto
@@ -0,0 +1,25 @@
+// 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 AbilityActionSetBulletTrackTarget {
+ uint32 Unk3300_GKACKBIEOHK = 10;
+ uint32 Unk3300_HGBOFFKEPDJ = 4;
+}
diff --git a/proto/AbilityActionSetCrashDamage.proto b/proto/AbilityActionSetCrashDamage.proto
new file mode 100644
index 00000000..92c7cf9b
--- /dev/null
+++ b/proto/AbilityActionSetCrashDamage.proto
@@ -0,0 +1,27 @@
+// 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 AbilityActionSetCrashDamage {
+ float damage = 2;
+ Vector hit_pos = 8;
+}
diff --git a/proto/AbilityActionSetRandomOverrideMapValue.proto b/proto/AbilityActionSetRandomOverrideMapValue.proto
new file mode 100644
index 00000000..31dfc819
--- /dev/null
+++ b/proto/AbilityActionSetRandomOverrideMapValue.proto
@@ -0,0 +1,24 @@
+// 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 AbilityActionSetRandomOverrideMapValue {
+ float random_value = 1;
+}
diff --git a/proto/AbilityActionSummon.proto b/proto/AbilityActionSummon.proto
new file mode 100644
index 00000000..22f7e22b
--- /dev/null
+++ b/proto/AbilityActionSummon.proto
@@ -0,0 +1,27 @@
+// 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 AbilityActionSummon {
+ Vector pos = 3;
+ Vector rot = 10;
+}
diff --git a/proto/AbilityActionTriggerAbility.proto b/proto/AbilityActionTriggerAbility.proto
new file mode 100644
index 00000000..6894b356
--- /dev/null
+++ b/proto/AbilityActionTriggerAbility.proto
@@ -0,0 +1,24 @@
+// 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 AbilityActionTriggerAbility {
+ uint32 other_id = 4;
+}
diff --git a/proto/AbilityApplyLevelModifier.proto b/proto/AbilityApplyLevelModifier.proto
new file mode 100644
index 00000000..a73bb2e2
--- /dev/null
+++ b/proto/AbilityApplyLevelModifier.proto
@@ -0,0 +1,24 @@
+// 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 AbilityApplyLevelModifier {
+ uint32 apply_entity_id = 1;
+}
diff --git a/proto/AbilityArgument.proto b/proto/AbilityArgument.proto
new file mode 100644
index 00000000..c4b8ada2
--- /dev/null
+++ b/proto/AbilityArgument.proto
@@ -0,0 +1,28 @@
+// 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 AbilityArgument {
+ oneof arg {
+ uint32 int_arg = 14;
+ float float_arg = 7;
+ string str_arg = 9;
+ }
+}
diff --git a/proto/AbilityBornType.proto b/proto/AbilityBornType.proto
new file mode 100644
index 00000000..77b2c2bd
--- /dev/null
+++ b/proto/AbilityBornType.proto
@@ -0,0 +1,28 @@
+// 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 AbilityBornType {
+ Vector move_dir = 3;
+ Vector rot = 15;
+ Vector pos = 12;
+}
diff --git a/proto/AbilityChangeNotify.proto b/proto/AbilityChangeNotify.proto
index c280ce7c..00a9777c 100644
--- a/proto/AbilityChangeNotify.proto
+++ b/proto/AbilityChangeNotify.proto
@@ -21,10 +21,15 @@ import "AbilityControlBlock.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1131
-// EnetChannelId: 0
-// EnetIsReliable: true
message AbilityChangeNotify {
- uint32 entity_id = 1;
- AbilityControlBlock ability_control_block = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AbilityControlBlock ability_control_block = 6;
+ uint32 entity_id = 10;
}
diff --git a/proto/AbilityFloatValue.proto b/proto/AbilityFloatValue.proto
new file mode 100644
index 00000000..2bcd111d
--- /dev/null
+++ b/proto/AbilityFloatValue.proto
@@ -0,0 +1,24 @@
+// 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 AbilityFloatValue {
+ float value = 1;
+}
diff --git a/proto/AbilityIdentifier.proto b/proto/AbilityIdentifier.proto
index 362ea6a3..730232f1 100644
--- a/proto/AbilityIdentifier.proto
+++ b/proto/AbilityIdentifier.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AbilityIdentifier {
- uint32 modifier_owner_id = 2;
- uint32 instanced_modifier_id = 9;
- uint32 instanced_ability_id = 10;
- bool is_serverbuff_modifier = 6;
- uint32 ability_caster_id = 15;
- int32 local_id = 3;
+ uint32 instanced_ability_id = 4;
+ uint32 Unk3300_IHCKJKLCICI = 10;
+ bool is_serverbuff_modifier = 14;
+ int32 local_id = 7;
+ uint32 Unk3300_OOOLELPBDHJ = 1;
+ uint32 instanced_modifier_id = 5;
}
diff --git a/proto/AbilityInvocationFailNotify.proto b/proto/AbilityInvocationFailNotify.proto
new file mode 100644
index 00000000..4cd16029
--- /dev/null
+++ b/proto/AbilityInvocationFailNotify.proto
@@ -0,0 +1,36 @@
+// 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 "AbilityInvokeEntry.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityInvocationFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1200;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 4;
+ string reason = 8;
+ AbilityInvokeEntry invoke = 11;
+}
diff --git a/proto/AbilityInvocationFixedNotify.proto b/proto/AbilityInvocationFixedNotify.proto
new file mode 100644
index 00000000..28f0990d
--- /dev/null
+++ b/proto/AbilityInvocationFixedNotify.proto
@@ -0,0 +1,40 @@
+// 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 "AbilityInvokeEntry.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityInvocationFixedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ AbilityInvokeEntry Unk3300_LDIAOMFIBPL = 7;
+ AbilityInvokeEntry Unk3300_ONGNOHLIIBO = 3;
+ AbilityInvokeEntry Unk3300_AHDFHHFHEFM = 10;
+ AbilityInvokeEntry Unk3300_GAFFBFFKDIC = 1;
+ AbilityInvokeEntry Unk3300_EMGKKHKLIEG = 4;
+ AbilityInvokeEntry Unk3300_KFMHLLHECCJ = 9;
+}
diff --git a/proto/AbilityInvocationsNotify.proto b/proto/AbilityInvocationsNotify.proto
index d5cafc4a..be03e414 100644
--- a/proto/AbilityInvocationsNotify.proto
+++ b/proto/AbilityInvocationsNotify.proto
@@ -21,10 +21,15 @@ import "AbilityInvokeEntry.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1198
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AbilityInvocationsNotify {
- repeated AbilityInvokeEntry invokes = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1130;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated AbilityInvokeEntry invokes = 5;
}
diff --git a/proto/AbilityInvokeArgument.proto b/proto/AbilityInvokeArgument.proto
index caa28d29..1cbac5d0 100644
--- a/proto/AbilityInvokeArgument.proto
+++ b/proto/AbilityInvokeArgument.proto
@@ -81,4 +81,5 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_BREAKOUT = 122;
}
diff --git a/proto/AbilityInvokeEntry.proto b/proto/AbilityInvokeEntry.proto
index abacec7b..9fdfe145 100644
--- a/proto/AbilityInvokeEntry.proto
+++ b/proto/AbilityInvokeEntry.proto
@@ -24,12 +24,13 @@ import "ForwardType.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityInvokeEntry {
- AbilityInvokeArgument argument_type = 1;
- AbilityInvokeEntryHead head = 2;
- uint32 forward_peer = 4;
- uint32 event_id = 12;
- ForwardType forward_type = 3;
- bytes ability_data = 15;
- double total_tick_time = 14;
- uint32 entity_id = 9;
+ ForwardType forward_type = 9;
+ uint32 event_id = 13;
+ uint32 entity_id = 7;
+ uint32 forward_peer = 14;
+ double total_tick_time = 10;
+ AbilityInvokeEntryHead head = 3;
+ bytes ability_data = 2;
+ AbilityInvokeArgument argument_type = 8;
+ bool is_ignore_auth = 12;
}
diff --git a/proto/AbilityInvokeEntryHead.proto b/proto/AbilityInvokeEntryHead.proto
index 777a5534..ff73d266 100644
--- a/proto/AbilityInvokeEntryHead.proto
+++ b/proto/AbilityInvokeEntryHead.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AbilityInvokeEntryHead {
+ uint32 instanced_ability_id = 8;
+ uint32 target_id = 6;
+ uint32 server_buff_uid = 1;
+ int32 local_id = 12;
int32 modifier_config_local_id = 7;
- bool is_serverbuff_modifier = 2;
- uint32 instanced_ability_id = 1;
- uint32 instanced_modifier_id = 12;
- int32 local_id = 10;
- uint32 server_buff_uid = 14;
- uint32 target_id = 3;
+ bool is_serverbuff_modifier = 15;
+ uint32 instanced_modifier_id = 10;
}
diff --git a/proto/AbilityMetaAddAbility.proto b/proto/AbilityMetaAddAbility.proto
new file mode 100644
index 00000000..b6208955
--- /dev/null
+++ b/proto/AbilityMetaAddAbility.proto
@@ -0,0 +1,26 @@
+// 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 "AbilityAppliedAbility.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityMetaAddAbility {
+ AbilityAppliedAbility ability = 5;
+}
diff --git a/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto b/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto
new file mode 100644
index 00000000..208327c8
--- /dev/null
+++ b/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto
@@ -0,0 +1,28 @@
+// 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 AbilityMetaAddOrGetAbilityAndTrigger {
+ float trigger_argument = 4;
+ AbilityString ability_name = 12;
+ AbilityString ability_override = 13;
+}
diff --git a/proto/AbilityMetaDurabilityIsZero.proto b/proto/AbilityMetaDurabilityIsZero.proto
new file mode 100644
index 00000000..88970a94
--- /dev/null
+++ b/proto/AbilityMetaDurabilityIsZero.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMetaDurabilityIsZero {
+ bool is_zero = 6;
+}
diff --git a/proto/AbilityMetaElementReactionVisual.proto b/proto/AbilityMetaElementReactionVisual.proto
new file mode 100644
index 00000000..8ae35055
--- /dev/null
+++ b/proto/AbilityMetaElementReactionVisual.proto
@@ -0,0 +1,27 @@
+// 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 AbilityMetaElementReactionVisual {
+ uint32 Unk3300_PHKFGIHELFG = 6;
+ uint32 Unk3300_DGBGNEHDODI = 1;
+ int32 hit_index = 14;
+ uint32 Unk3300_OGILJCJPHPB = 2;
+}
diff --git a/proto/AbilityMetaLoseHp.proto b/proto/AbilityMetaLoseHp.proto
new file mode 100644
index 00000000..240820db
--- /dev/null
+++ b/proto/AbilityMetaLoseHp.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMetaLoseHp {
+ uint32 lose_hp_config_idx = 15;
+}
diff --git a/proto/AbilityMetaModifierChange.proto b/proto/AbilityMetaModifierChange.proto
index 64b85673..a9f56551 100644
--- a/proto/AbilityMetaModifierChange.proto
+++ b/proto/AbilityMetaModifierChange.proto
@@ -25,15 +25,15 @@ import "ModifierProperty.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityMetaModifierChange {
- AbilityAttachedModifier attached_instanced_modifier = 7;
- uint32 server_buff_uid = 4;
- bool is_attached_parent_ability = 10;
- ModifierAction action = 13;
+ AbilityAttachedModifier attached_instanced_modifier = 3;
+ bool is_attached_parent_ability = 5;
+ repeated ModifierProperty properties = 14;
+ bool Unk3300_NOPKODKOHJK = 12;
int32 modifier_local_id = 2;
- AbilityString parent_ability_name = 1;
- bool is_mute_remote = 6;
- uint32 apply_entity_id = 5;
- repeated ModifierProperty properties = 3;
- AbilityString parent_ability_override = 11;
- bool is_durability_zero = 9;
+ bool Unk3300_PBNENPBMNCI = 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/AbilityMetaModifierDurabilityChange.proto b/proto/AbilityMetaModifierDurabilityChange.proto
new file mode 100644
index 00000000..28637b28
--- /dev/null
+++ b/proto/AbilityMetaModifierDurabilityChange.proto
@@ -0,0 +1,25 @@
+// 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 AbilityMetaModifierDurabilityChange {
+ float Unk3300_LDHNFNOGOGF = 13;
+ float Unk3300_IFHFHEHDOIO = 1;
+}
diff --git a/proto/AbilityMetaReInitOverrideMap.proto b/proto/AbilityMetaReInitOverrideMap.proto
index 39da4de0..caebe2aa 100644
--- a/proto/AbilityMetaReInitOverrideMap.proto
+++ b/proto/AbilityMetaReInitOverrideMap.proto
@@ -22,5 +22,5 @@ import "AbilityScalarValueEntry.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityMetaReInitOverrideMap {
- repeated AbilityScalarValueEntry override_map = 7;
+ repeated AbilityScalarValueEntry override_map = 10;
}
diff --git a/proto/AbilityMetaSetAbilityTrigger.proto b/proto/AbilityMetaSetAbilityTrigger.proto
new file mode 100644
index 00000000..618fa240
--- /dev/null
+++ b/proto/AbilityMetaSetAbilityTrigger.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMetaSetAbilityTrigger {
+ uint32 trigger_ability_entity_id = 1;
+}
diff --git a/proto/AbilityMetaSetKilledState.proto b/proto/AbilityMetaSetKilledState.proto
new file mode 100644
index 00000000..4f3dfbd5
--- /dev/null
+++ b/proto/AbilityMetaSetKilledState.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMetaSetKilledState {
+ bool killed = 5;
+}
diff --git a/proto/AbilityMetaSetModifierApplyEntityId.proto b/proto/AbilityMetaSetModifierApplyEntityId.proto
new file mode 100644
index 00000000..9be83703
--- /dev/null
+++ b/proto/AbilityMetaSetModifierApplyEntityId.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMetaSetModifierApplyEntityId {
+ uint32 apply_entity_id = 10;
+}
diff --git a/proto/AbilityMetaSetPoseParameter.proto b/proto/AbilityMetaSetPoseParameter.proto
new file mode 100644
index 00000000..915fce9f
--- /dev/null
+++ b/proto/AbilityMetaSetPoseParameter.proto
@@ -0,0 +1,26 @@
+// 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 "AnimatorParameterValueInfoPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityMetaSetPoseParameter {
+ AnimatorParameterValueInfoPair value = 7;
+}
diff --git a/proto/AbilityMetaSpecialFloatArgument.proto b/proto/AbilityMetaSpecialFloatArgument.proto
new file mode 100644
index 00000000..ba153567
--- /dev/null
+++ b/proto/AbilityMetaSpecialFloatArgument.proto
@@ -0,0 +1,25 @@
+// 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 AbilityMetaSpecialFloatArgument {
+ float argument_value = 4;
+ bool is_on = 10;
+}
diff --git a/proto/AbilityMetaTriggerElementReaction.proto b/proto/AbilityMetaTriggerElementReaction.proto
new file mode 100644
index 00000000..bb07eb9e
--- /dev/null
+++ b/proto/AbilityMetaTriggerElementReaction.proto
@@ -0,0 +1,28 @@
+// 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 AbilityMetaTriggerElementReaction {
+ int32 hit_index = 7;
+ uint32 trigger_entity_id = 14;
+ uint32 Unk3300_PHKFGIHELFG = 13;
+ uint32 Unk3300_OGILJCJPHPB = 12;
+ uint32 Unk3300_DGBGNEHDODI = 2;
+}
diff --git a/proto/AbilityMetaUpdateBaseReactionDamage.proto b/proto/AbilityMetaUpdateBaseReactionDamage.proto
new file mode 100644
index 00000000..2bce5742
--- /dev/null
+++ b/proto/AbilityMetaUpdateBaseReactionDamage.proto
@@ -0,0 +1,29 @@
+// 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 AbilityMetaUpdateBaseReactionDamage {
+ uint32 Unk3300_OIPAEGAMCLI = 2;
+ uint32 Unk3300_CAKEJCJKHOA = 13;
+ AbilityString ability_name = 6;
+ AbilityString global_value_key = 14;
+}
diff --git a/proto/AbilityMixinAvatarCombat.proto b/proto/AbilityMixinAvatarCombat.proto
new file mode 100644
index 00000000..94e6669d
--- /dev/null
+++ b/proto/AbilityMixinAvatarCombat.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinAvatarCombat {
+ bool is_enter_combat = 6;
+}
diff --git a/proto/AbilityMixinAvatarSteerByCamera.proto b/proto/AbilityMixinAvatarSteerByCamera.proto
new file mode 100644
index 00000000..e72b3415
--- /dev/null
+++ b/proto/AbilityMixinAvatarSteerByCamera.proto
@@ -0,0 +1,27 @@
+// 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 AbilityMixinAvatarSteerByCamera {
+ Vector target_dir = 7;
+ Vector target_pos = 2;
+}
diff --git a/proto/AbilityMixinBreakout.proto b/proto/AbilityMixinBreakout.proto
new file mode 100644
index 00000000..d8c7d7c2
--- /dev/null
+++ b/proto/AbilityMixinBreakout.proto
@@ -0,0 +1,48 @@
+// 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 "BreakoutSyncAction.proto";
+import "BreakoutSyncCreateConnect.proto";
+import "BreakoutSyncFinishGame.proto";
+import "BreakoutSyncPing.proto";
+import "BreakoutSyncSnapShot.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityMixinBreakout {
+ enum SyncType {
+ SYNC_TYPE_NONE = 0;
+ SYNC_TYPE_CREATE_CONNECT = 1;
+ SYNC_TYPE_START_GAME = 2;
+ SYNC_TYPE_PING = 3;
+ SYNC_TYPE_FINISH_GAME = 4;
+ SYNC_TYPE_SNAP_SHOT = 5;
+ SYNC_TYPE_ACTION = 6;
+ }
+
+ int32 retcode = 8;
+ SyncType sync_type = 4;
+ oneof sync {
+ BreakoutSyncCreateConnect sync_create_connect = 2;
+ BreakoutSyncPing sync_ping = 1;
+ BreakoutSyncFinishGame sync_finish_game = 5;
+ BreakoutSyncSnapShot sync_snap_shot = 14;
+ BreakoutSyncAction sync_action = 3;
+ }
+}
diff --git a/proto/AbilityMixinCostStamina.proto b/proto/AbilityMixinCostStamina.proto
index 28a5260c..d2913fd6 100644
--- a/proto/AbilityMixinCostStamina.proto
+++ b/proto/AbilityMixinCostStamina.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AbilityMixinCostStamina {
- bool is_swim = 3;
+ bool is_swim = 7;
}
diff --git a/proto/AbilityMixinDoActionByElementReaction.proto b/proto/AbilityMixinDoActionByElementReaction.proto
new file mode 100644
index 00000000..36ec73c4
--- /dev/null
+++ b/proto/AbilityMixinDoActionByElementReaction.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinDoActionByElementReaction {
+ uint32 target_entity_id = 5;
+}
diff --git a/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto b/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
new file mode 100644
index 00000000..aae7ebc4
--- /dev/null
+++ b/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinDoActionBySelfModifierElementDurabilityRatio {
+ float last_durability_ratio = 14;
+}
diff --git a/proto/AbilityMixinElementShield.proto b/proto/AbilityMixinElementShield.proto
new file mode 100644
index 00000000..689beb56
--- /dev/null
+++ b/proto/AbilityMixinElementShield.proto
@@ -0,0 +1,29 @@
+// 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 AbilityMixinElementShield {
+ uint32 player_num = 9;
+ float shield = 5;
+ bool is_shield_broken = 8;
+ float sub_shield = 4;
+ float max_shield = 13;
+ uint32 absorb_type = 10;
+}
diff --git a/proto/AbilityMixinEliteShield.proto b/proto/AbilityMixinEliteShield.proto
new file mode 100644
index 00000000..0de94079
--- /dev/null
+++ b/proto/AbilityMixinEliteShield.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinEliteShield {
+ float sub_shield = 9;
+}
diff --git a/proto/AbilityMixinEmpty.proto b/proto/AbilityMixinEmpty.proto
new file mode 100644
index 00000000..cef9098d
--- /dev/null
+++ b/proto/AbilityMixinEmpty.proto
@@ -0,0 +1,22 @@
+// 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 AbilityMixinEmpty {}
diff --git a/proto/AbilityMixinEraseBrickActivity.proto b/proto/AbilityMixinEraseBrickActivity.proto
new file mode 100644
index 00000000..a2544815
--- /dev/null
+++ b/proto/AbilityMixinEraseBrickActivity.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinEraseBrickActivity {
+ repeated uint32 data = 15;
+}
diff --git a/proto/AbilityMixinFieldEntityCountChange.proto b/proto/AbilityMixinFieldEntityCountChange.proto
new file mode 100644
index 00000000..e9260dba
--- /dev/null
+++ b/proto/AbilityMixinFieldEntityCountChange.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinFieldEntityCountChange {
+ uint32 field_entity_count = 8;
+}
diff --git a/proto/AbilityMixinFireworksLauncher.proto b/proto/AbilityMixinFireworksLauncher.proto
new file mode 100644
index 00000000..484f5368
--- /dev/null
+++ b/proto/AbilityMixinFireworksLauncher.proto
@@ -0,0 +1,29 @@
+// 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 AbilityMixinFireworksLauncher {
+ uint32 Unk3300_FHGLEJNJIHK = 5;
+ uint32 Unk3300_BFJBDJLAOJL = 4;
+ uint32 Unk3300_LPPKOFHKCPH = 7;
+ uint32 Unk3300_BDGCGLGNAIB = 3;
+ repeated uint32 fireworks_config = 12;
+ uint32 phase = 1;
+}
diff --git a/proto/AbilityMixinGlobalShield.proto b/proto/AbilityMixinGlobalShield.proto
new file mode 100644
index 00000000..d0361867
--- /dev/null
+++ b/proto/AbilityMixinGlobalShield.proto
@@ -0,0 +1,29 @@
+// 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 AbilityMixinGlobalShield {
+ float max_shield = 14;
+ bool is_create_effect = 4;
+ string shield_effect_name = 12;
+ float sub_shield = 10;
+ uint32 avatar_id = 3;
+ float height_offset = 1;
+}
diff --git a/proto/AbilityMixinRecoverInfo.proto b/proto/AbilityMixinRecoverInfo.proto
index 26eb2f95..12b03301 100644
--- a/proto/AbilityMixinRecoverInfo.proto
+++ b/proto/AbilityMixinRecoverInfo.proto
@@ -17,6 +17,7 @@
syntax = "proto3";
+import "BreakoutSnapShot.proto";
import "MassivePropSyncInfo.proto";
option java_package = "emu.grasscutter.net.proto";
@@ -26,6 +27,7 @@ message AbilityMixinRecoverInfo {
repeated uint32 data_list = 4;
bool is_serverbuff_modifier = 5;
repeated MassivePropSyncInfo massive_prop_list = 6;
+ BreakoutSnapShot breakout_snap_shot = 7;
oneof source {
uint32 instanced_ability_id = 1;
uint32 instanced_modifier_id = 2;
diff --git a/proto/AbilityMixinScenePropSync.proto b/proto/AbilityMixinScenePropSync.proto
new file mode 100644
index 00000000..36886c36
--- /dev/null
+++ b/proto/AbilityMixinScenePropSync.proto
@@ -0,0 +1,28 @@
+// 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 "MassivePropSyncInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AbilityMixinScenePropSync {
+ repeated MassivePropSyncInfo massive_prop_list = 11;
+ repeated int64 delete_id_list = 12;
+ bool is_clear_all = 3;
+}
diff --git a/proto/AbilityMixinShieldBar.proto b/proto/AbilityMixinShieldBar.proto
new file mode 100644
index 00000000..044870de
--- /dev/null
+++ b/proto/AbilityMixinShieldBar.proto
@@ -0,0 +1,27 @@
+// 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 AbilityMixinShieldBar {
+ float max_shield = 8;
+ float shield = 4;
+ uint32 player_num = 3;
+ uint32 element_type = 7;
+}
diff --git a/proto/AbilityMixinShootFromCamera.proto b/proto/AbilityMixinShootFromCamera.proto
new file mode 100644
index 00000000..f3f74f1c
--- /dev/null
+++ b/proto/AbilityMixinShootFromCamera.proto
@@ -0,0 +1,27 @@
+// 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 AbilityMixinShootFromCamera {
+ Vector forward = 13;
+ Vector init_pos = 9;
+}
diff --git a/proto/AbilityMixinUGCTimeControl.proto b/proto/AbilityMixinUGCTimeControl.proto
new file mode 100644
index 00000000..481a4025
--- /dev/null
+++ b/proto/AbilityMixinUGCTimeControl.proto
@@ -0,0 +1,25 @@
+// 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 AbilityMixinUGCTimeControl {
+ uint64 start_move_time_ms = 12;
+ uint32 start_move_time = 9;
+}
diff --git a/proto/AbilityMixinUIInteract.proto b/proto/AbilityMixinUIInteract.proto
new file mode 100644
index 00000000..9e751e49
--- /dev/null
+++ b/proto/AbilityMixinUIInteract.proto
@@ -0,0 +1,22 @@
+// 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 AbilityMixinUIInteract {}
diff --git a/proto/AbilityMixinWidgetMpSupport.proto b/proto/AbilityMixinWidgetMpSupport.proto
new file mode 100644
index 00000000..ff0c760c
--- /dev/null
+++ b/proto/AbilityMixinWidgetMpSupport.proto
@@ -0,0 +1,24 @@
+// 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 AbilityMixinWidgetMpSupport {
+ uint32 target_entity_id = 2;
+}
diff --git a/proto/AbilityMixinWindSeedSpawner.proto b/proto/AbilityMixinWindSeedSpawner.proto
new file mode 100644
index 00000000..fe827ab3
--- /dev/null
+++ b/proto/AbilityMixinWindSeedSpawner.proto
@@ -0,0 +1,40 @@
+// 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 AbilityMixinWindSeedSpawner {
+ message AddSignal {}
+
+ message RefreshSeed {
+ repeated Vector pos_list = 10;
+ }
+
+ message CatchSeed {
+ uint32 entity_id = 13;
+ }
+
+ oneof cmd {
+ AddSignal add_signal = 8;
+ RefreshSeed refresh_seed = 12;
+ CatchSeed catch_seed = 14;
+ }
+}
diff --git a/proto/AbilityMixinWindZone.proto b/proto/AbilityMixinWindZone.proto
new file mode 100644
index 00000000..5e03b2ff
--- /dev/null
+++ b/proto/AbilityMixinWindZone.proto
@@ -0,0 +1,25 @@
+// 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 AbilityMixinWindZone {
+ repeated uint32 Unk3300_OJPFAIGIBLG = 3;
+ repeated uint32 Unk3300_DJELBGDEDBH = 12;
+}
diff --git a/proto/AbilityScalarType.proto b/proto/AbilityScalarType.proto
index 64887344..78cb512d 100644
--- a/proto/AbilityScalarType.proto
+++ b/proto/AbilityScalarType.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
enum AbilityScalarType {
- ABILITY_SCALAR_TYPE_UNKNOW = 0;
+ ABILITY_SCALAR_TYPE_UNKNOWN = 0;
ABILITY_SCALAR_TYPE_FLOAT = 1;
ABILITY_SCALAR_TYPE_INT = 2;
ABILITY_SCALAR_TYPE_BOOL = 3;
diff --git a/proto/AcceptCityReputationRequestReq.proto b/proto/AcceptCityReputationRequestReq.proto
new file mode 100644
index 00000000..7223802d
--- /dev/null
+++ b/proto/AcceptCityReputationRequestReq.proto
@@ -0,0 +1,34 @@
+// 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 AcceptCityReputationRequestReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2847;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 14;
+ uint32 request_id = 8;
+}
diff --git a/proto/AcceptCityReputationRequestRsp.proto b/proto/AcceptCityReputationRequestRsp.proto
new file mode 100644
index 00000000..41e09860
--- /dev/null
+++ b/proto/AcceptCityReputationRequestRsp.proto
@@ -0,0 +1,34 @@
+// 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 AcceptCityReputationRequestRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2878;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 city_id = 1;
+ int32 retcode = 9;
+ uint32 request_id = 10;
+}
diff --git a/proto/Achievement.proto b/proto/Achievement.proto
new file mode 100644
index 00000000..8820f840
--- /dev/null
+++ b/proto/Achievement.proto
@@ -0,0 +1,35 @@
+// 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 Achievement {
+ enum Status {
+ STATUS_INVALID = 0;
+ STATUS_UNFINISHED = 1;
+ STATUS_FINISHED = 2;
+ STATUS_REWARD_TAKEN = 3;
+ }
+
+ uint32 finish_timestamp = 8;
+ uint32 cur_progress = 11;
+ uint32 total_progress = 6;
+ uint32 id = 14;
+ Status status = 15;
+}
diff --git a/proto/AchievementAllDataNotify.proto b/proto/AchievementAllDataNotify.proto
new file mode 100644
index 00000000..3dfd5247
--- /dev/null
+++ b/proto/AchievementAllDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "Achievement.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AchievementAllDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2692;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 reward_taken_goal_id_list = 13;
+ repeated Achievement achievement_list = 8;
+}
diff --git a/proto/AchievementUpdateNotify.proto b/proto/AchievementUpdateNotify.proto
new file mode 100644
index 00000000..519d554b
--- /dev/null
+++ b/proto/AchievementUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "Achievement.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AchievementUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2691;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Achievement achievement_list = 11;
+}
diff --git a/proto/ActionReasonType.proto b/proto/ActionReasonType.proto
new file mode 100644
index 00000000..88304a44
--- /dev/null
+++ b/proto/ActionReasonType.proto
@@ -0,0 +1,212 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum ActionReasonType {
+ ACTION_REASON_NONE = 0;
+ ACTION_REASON_QUEST_ITEM = 1;
+ ACTION_REASON_QUEST_REWARD = 2;
+ ACTION_REASON_TRIFLE = 3;
+ ACTION_REASON_SHOP = 4;
+ ACTION_REASON_PLAYER_UPGRADE_REWARD = 5;
+ ACTION_REASON_ADD_AVATAR = 6;
+ ACTION_REASON_GADGET_ENV_ANIMAL = 7;
+ ACTION_REASON_MONSTER_ENV_ANIMAL = 8;
+ ACTION_REASON_COMPOUND = 9;
+ ACTION_REASON_COOK = 10;
+ ACTION_REASON_GATHER = 11;
+ ACTION_REASON_MAIL_ATTACHMENT = 12;
+ ACTION_REASON_CITY_LEVELUP_RETURN = 15;
+ ACTION_REASON_CITY_LEVELUP_REWARD = 17;
+ ACTION_REASON_AREA_EXPLORE_REWARD = 18;
+ ACTION_REASON_UNLOCK_POINT_REWARD = 19;
+ ACTION_REASON_DUNGEON_FIRST_PASS = 20;
+ ACTION_REASON_DUNGEON_PASS = 21;
+ ACTION_REASON_CHANGE_ELEM_TYPE = 23;
+ ACTION_REASON_FETTER_OPEN = 25;
+ ACTION_REASON_DAILY_TASK_SCORE = 26;
+ ACTION_REASON_DAILY_TASK_HOST = 27;
+ ACTION_REASON_RAND_TASK_HOST = 28;
+ ACTION_REASON_EXPEDITION = 29;
+ ACTION_REASON_GACHA = 30;
+ ACTION_REASON_COMBINE = 31;
+ ACTION_REASON_RAND_TASK_GUEST = 32;
+ ACTION_REASON_DAILY_TASK_GUEST = 33;
+ ACTION_REASON_FORGE_OUTPUT = 34;
+ ACTION_REASON_FORGE_RETURN = 35;
+ ACTION_REASON_INIT_AVATAR = 36;
+ ACTION_REASON_MONSTER_DIE = 37;
+ ACTION_REASON_GM = 38;
+ ACTION_REASON_OPEN_CHEST = 39;
+ ACTION_REASON_GADGET_DIE = 40;
+ ACTION_REASON_MONSTER_CHANGE_HP = 41;
+ ACTION_REASON_SUBFIELD_DROP = 42;
+ ACTION_REASON_PUSH_TIPS_REWARD = 43;
+ ACTION_REASON_ACTIVITY_MONSTER_DROP = 44;
+ ACTION_REASON_ACTIVITY_GATHER = 45;
+ ACTION_REASON_ACTIVITY_SUBFIELD_DROP = 46;
+ ACTION_REASON_TOWER_SCHEDULE_REWARD = 47;
+ ACTION_REASON_TOWER_FLOOR_STAR_REWARD = 48;
+ ACTION_REASON_TOWER_FIRST_PASS_REWARD = 49;
+ ACTION_REASON_TOWER_DAILY_REWARD = 50;
+ ACTION_REASON_HIT_CLIENT_TRIVIAL_ENTITY = 51;
+ ACTION_REASON_OPEN_WORLD_BOSS_CHEST = 52;
+ ACTION_REASON_MATERIAL_DELETE_RETURN = 53;
+ ACTION_REASON_SIGN_IN_REWARD = 54;
+ ACTION_REASON_OPEN_BLOSSOM_CHEST = 55;
+ ACTION_REASON_RECHARGE = 56;
+ ACTION_REASON_BONUS_ACTIVITY_REWARD = 57;
+ ACTION_REASON_TOWER_COMMEMORATIVE_REWARD = 58;
+ ACTION_REASON_TOWER_SKIP_FLOOR_REWARD = 59;
+ ACTION_REASON_RECHARGE_BONUS = 60;
+ ACTION_REASON_RECHARGE_CARD = 61;
+ ACTION_REASON_RECHARGE_CARD_DAILY = 62;
+ ACTION_REASON_RECHARGE_CARD_REPLACE = 63;
+ ACTION_REASON_RECHARGE_CARD_REPLACE_FREE = 64;
+ ACTION_REASON_RECHARGE_PLAY_REPLACE = 65;
+ ACTION_REASON_MP_PLAY_TAKE_REWARD = 66;
+ ACTION_REASON_ACTIVITY_WATCHER = 67;
+ ACTION_REASON_SALESMAN_DELIVER_ITEM = 68;
+ ACTION_REASON_SALESMAN_REWARD = 69;
+ ACTION_REASON_REBATE = 70;
+ ACTION_REASON_MCOIN_EXCHANGE_HCOIN = 71;
+ ACTION_REASON_DAILY_TASK_EXCHANGE_LEGENDARY_KEY = 72;
+ ACTION_REASON_UNLOCK_PERSON_LINE = 73;
+ ACTION_REASON_FETTER_LEVEL_REWARD = 74;
+ ACTION_REASON_BUY_RESIN = 75;
+ ACTION_REASON_RECHARGE_PACKAGE = 76;
+ ACTION_REASON_DELIVERY_DAILY_REWARD = 77;
+ ACTION_REASON_CITY_REPUTATION_LEVEL = 78;
+ ACTION_REASON_CITY_REPUTATION_QUEST = 79;
+ ACTION_REASON_CITY_REPUTATION_REQUEST = 80;
+ ACTION_REASON_CITY_REPUTATION_EXPLORE = 81;
+ ACTION_REASON_OFFERGING_LEVEL = 82;
+ ACTION_REASON_ROUTINE_HOST = 83;
+ ACTION_REASON_ROUTINE_GUEST = 84;
+ ACTION_REASON_TREASURE_MAP_SPOT_TOKEN = 89;
+ ACTION_REASON_TREASURE_MAP_BONUS_LEVEL_REWARD = 90;
+ ACTION_REASON_TREASURE_MAP_MP_REWARD = 91;
+ ACTION_REASON_CONVERT = 92;
+ ACTION_REASON_OVERFLOW_TRANSFORM = 93;
+ ACTION_REASON_ACTIVITY_AVATAR_SELECTION_REWARD = 96;
+ ACTION_REASON_ACTIVITY_WATCHER_BATCH = 97;
+ ACTION_REASON_HIT_TREE_DROP = 98;
+ ACTION_REASON_GET_HOME_LEVELUP_REWARD = 99;
+ ACTION_REASON_HOME_DEFAULT_FURNITURE = 100;
+ ACTION_REASON_ACTIVITY_COND = 101;
+ ACTION_REASON_BATTLE_PASS_NOTIFY = 102;
+ ACTION_REASON_RELIQUARY_DECOMPOSE = 103;
+ ACTION_REASON_RECHARGE_GOOGLE_GIFT_GARD = 104;
+ ACTION_REASON_RECHARGE_CONCERT_PRODUCT = 105;
+ ACTION_REASON_RECHARGE_CONCERT_PRODUCT_REPLACE = 106;
+ ACTION_REASON_SEND_CONCERT_PRODUCT_BY_MUIP = 107;
+ ACTION_REASON_RECHARGE_APPLE_GIFT_GARD = 108;
+ ACTION_REASON_PLAYER_USE_ITEM = 1001;
+ ACTION_REASON_DROP_ITEM = 1002;
+ ACTION_REASON_WEAPON_UPGRADE = 1011;
+ ACTION_REASON_WEAPON_PROMOTE = 1012;
+ ACTION_REASON_WEAPON_AWAKEN = 1013;
+ ACTION_REASON_RELIC_UPGRADE = 1014;
+ ACTION_REASON_ABILITY = 1015;
+ ACTION_REASON_DUNGEON_STATUE_DROP = 1016;
+ ACTION_REASON_OFFLINE_MSG = 1017;
+ ACTION_REASON_AVATAR_UPGRADE = 1018;
+ ACTION_REASON_AVATAR_PROMOTE = 1019;
+ ACTION_REASON_QUEST_ACTION = 1021;
+ ACTION_REASON_CITY_LEVELUP = 1022;
+ ACTION_REASON_UPGRADE_SKILL = 1024;
+ ACTION_REASON_UNLOCK_TALENT = 1025;
+ ACTION_REASON_UPGRADE_PROUD_SKILL = 1026;
+ ACTION_REASON_PLAYER_LEVEL_LIMIT_UP = 1027;
+ ACTION_REASON_DUNGEON_DAILY = 1028;
+ ACTION_REASON_ITEM_GIVING = 1030;
+ ACTION_REASON_FORGE_COST = 1031;
+ ACTION_REASON_INVESTIGATION_REWARD = 1032;
+ ACTION_REASON_INVESTIGATION_TARGET_REWARD = 1033;
+ ACTION_REASON_GADGET_INTERACT = 1034;
+ ACTION_REASON_SEA_LAMP_CI_MATERIAL = 1036;
+ ACTION_REASON_SEA_LAMP_CONTRIBUTION_REWARD = 1037;
+ ACTION_REASON_SEA_LAMP_PHASE_REWARD = 1038;
+ ACTION_REASON_SEA_LAMP_FLY_LAMP = 1039;
+ ACTION_REASON_AUTO_RECOVER = 1040;
+ ACTION_REASON_ACTIVITY_EXPIRE_ITEM = 1041;
+ ACTION_REASON_SUB_COIN_NEGATIVE = 1042;
+ ACTION_REASON_BARGAIN_DEDUCT = 1043;
+ ACTION_REASON_BATTLE_PASS_PAID_REWARD = 1044;
+ ACTION_REASON_BATTLE_PASS_LEVEL_REWARD = 1045;
+ ACTION_REASON_TRIAL_AVATAR_ACTIVITY_FIRST_PASS_REWARD = 1046;
+ ACTION_REASON_BUY_BATTLE_PASS_LEVEL = 1047;
+ ACTION_REASON_GRANT_BIRTHDAY_BENEFIT = 1048;
+ ACTION_REASON_ACHIEVEMENT_REWARD = 1049;
+ ACTION_REASON_ACHIEVEMENT_GOAL_REWARD = 1050;
+ ACTION_REASON_FIRST_SHARE_TO_SOCIAL_NETWORK = 1051;
+ ACTION_REASON_DESTROY_MATERIAL = 1052;
+ ACTION_REASON_CODEX_LEVELUP_REWARD = 1053;
+ ACTION_REASON_HUNTING_OFFER_REWARD = 1054;
+ ACTION_REASON_USE_WIDGET_ANCHOR_POINT = 1055;
+ ACTION_REASON_USE_WIDGET_BONFIRE = 1056;
+ ACTION_REASON_UNGRADE_WEAPON_RETURN_MATERIAL = 1057;
+ ACTION_REASON_USE_WIDGET_ONEOFF_GATHER_POINT_DETECTOR = 1058;
+ ACTION_REASON_USE_WIDGET_CLIENT_COLLECTOR = 1059;
+ ACTION_REASON_USE_WIDGET_CLIENT_DETECTOR = 1060;
+ ACTION_REASON_TAKE_GENERAL_REWARD = 1061;
+ ACTION_REASON_ASTER_TAKE_SPECIAL_REWARD = 1062;
+ ACTION_REASON_REMOVE_CODEX_BOOK = 1063;
+ ACTION_REASON_OFFERING_ITEM = 1064;
+ ACTION_REASON_USE_WIDGET_GADGET_BUILDER = 1065;
+ ACTION_REASON_EFFIGY_FIRST_PASS_REWARD = 1066;
+ ACTION_REASON_EFFIGY_REWARD = 1067;
+ ACTION_REASON_REUNION_FIRST_GIFT_REWARD = 1068;
+ ACTION_REASON_REUNION_SIGN_IN_REWARD = 1069;
+ ACTION_REASON_REUNION_WATCHER_REWARD = 1070;
+ ACTION_REASON_SALESMAN_MP_REWARD = 1071;
+ ACTION_REASION_AVATAR_PROMOTE_REWARD = 1072;
+ ACTION_REASON_BLESSING_REDEEM_REWARD = 1073;
+ ACTION_MIRACLE_RING_REWARD = 1074;
+ ACTION_REASON_EXPEDITION_REWARD = 1075;
+ ACTION_REASON_TREASURE_MAP_REMOVE_DETECTOR = 1076;
+ ACTION_REASON_MECHANICUS_DUNGEON_TICKET = 1077;
+ ACTION_REASON_MECHANICUS_LEVELUP_GEAR = 1078;
+ ACTION_REASON_MECHANICUS_BATTLE_SETTLE = 1079;
+ ACTION_REASON_REGION_SEARCH_REWARD = 1080;
+ ACTION_REASON_UNLOCK_COOP_CHAPTER = 1081;
+ ACTION_REASON_TAKE_COOP_REWARD = 1082;
+ ACTION_REASON_FLEUR_FAIR_DUNGEON_REWARD = 1083;
+ ACTION_REASON_ACTIVITY_SCORE = 1084;
+ ACTION_REASON_CHANNELLER_SLAB_ONEOFF_DUNGEON_REWARD = 1085;
+ ACTION_REASON_FURNITURE_MAKE_START = 1086;
+ ACTION_REASON_FURNITURE_MAKE_TAKE = 1087;
+ ACTION_REASON_FURNITURE_MAKE_CANCEL = 1088;
+ ACTION_REASON_FURNITURE_MAKE_FAST_FINISH = 1089;
+ ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD = 1090;
+ ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD = 1091;
+ ACTION_REASON_HOME_LIMITED_SHOP_BUY = 1092;
+ ACTION_REASON_HOME_COIN_COLLECT = 1093;
+ ACTION_REASON_SUMMER_TIME_SENTRY_TOWER_REWARD = 1094;
+ ACTION_REASON_SUMMER_TIME_SPRINT_BOAT_REWARD = 1095;
+ ACTION_REASON_SUMMER_TIME_BOSS_REWARD = 1096;
+ ACTION_REASON_SUMMER_TIME_BOMB_REWARD = 1097;
+ ACTION_REASON_HOME_FETTER_COLLECT = 1098;
+ ACTION_REASON_ECHO_SHELL_REWARD = 1099;
+ ACTION_REASON_HOME_EVENT_REWARD = 1100;
+ ACTION_REASON_BLITZ_RUSH_DUNGEON_REWARD = 1101;
+ ACTION_REASON_FURNITURE_MAKE_RETURN = 1102;
+ ACTION_REASON_HOME_PLANT_BOX_GATHER = 1103;
+ ACTION_REASON_HOME_PLANT_SEED = 1104;
+ ACTION_REASON_HOME_PLANT_GATHER = 1105;
+ ACTION_REASON_CHESS_DUNGEON_REWARD = 1106;
+ ACTION_REASON_GROUP_LINK_BUNDLE_FINISH = 1107;
+ ACTION_REASON_LUNA_RITE_SACRIFICE = 1108;
+ ACTION_REASON_LUNA_RITE_TAKE_SACRIFICE_REWARD = 1109;
+ ACTION_REASON_FISH_BITE = 1110;
+ ACTION_REASON_FISH_SUCC = 1111;
+ ACTION_REASON_PLANT_FLOWER_REWARD = 1112;
+ ACTION_REASON_PLANT_FLOWER_DELIVER_ITEM = 1113;
+ ACTION_REASON_PLANT_FLOWER_GIVE_FLOWER = 1114;
+ ACTION_REASON_PLANT_FLOWER_RECV_FLOWER = 1115;
+ ACTION_REASON_ROGUE_CHALLENGE_SETTLE = 1116;
+ ACTION_REASON_ROGUE_TAKE_FIRST_PASS_REWARD = 1117;
+ ACTION_REASON_ROGUE_UPGRADE_SHIKIGAMI = 1118;
+ ACTION_REASON_ROGUE_REFRESH_CARD = 1119;
+}
diff --git a/proto/ActivityAcceptAllGiveGiftReq.proto b/proto/ActivityAcceptAllGiveGiftReq.proto
new file mode 100644
index 00000000..a53a98e1
--- /dev/null
+++ b/proto/ActivityAcceptAllGiveGiftReq.proto
@@ -0,0 +1,33 @@
+// 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 ActivityAcceptAllGiveGiftReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8900;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 9;
+}
diff --git a/proto/ActivityAcceptAllGiveGiftRsp.proto b/proto/ActivityAcceptAllGiveGiftRsp.proto
new file mode 100644
index 00000000..e50ff3f7
--- /dev/null
+++ b/proto/ActivityAcceptAllGiveGiftRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityAcceptGiftResultInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityAcceptAllGiveGiftRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8771;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ActivityAcceptGiftResultInfo accept_gift_result_info_list = 7;
+ uint32 schedule_id = 6;
+ int32 retcode = 12;
+}
diff --git a/proto/ActivityAcceptGiftResultInfo.proto b/proto/ActivityAcceptGiftResultInfo.proto
new file mode 100644
index 00000000..a49cb587
--- /dev/null
+++ b/proto/ActivityAcceptGiftResultInfo.proto
@@ -0,0 +1,26 @@
+// 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 ActivityAcceptGiftResultInfo {
+ map Unk3300_JFHLEBLOFMA = 1;
+ map Unk3300_COCFNBJCFGP = 9;
+ uint32 uid = 12;
+}
diff --git a/proto/ActivityAcceptGiveGiftReq.proto b/proto/ActivityAcceptGiveGiftReq.proto
new file mode 100644
index 00000000..09e5ec92
--- /dev/null
+++ b/proto/ActivityAcceptGiveGiftReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivityAcceptGiveGiftReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8827;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 9;
+ uint32 schedule_id = 12;
+}
diff --git a/proto/ActivityAcceptGiveGiftRsp.proto b/proto/ActivityAcceptGiveGiftRsp.proto
new file mode 100644
index 00000000..d3abcb39
--- /dev/null
+++ b/proto/ActivityAcceptGiveGiftRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityAcceptGiftResultInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityAcceptGiveGiftRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8047;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ ActivityAcceptGiftResultInfo accept_gift_result_info = 2;
+ uint32 schedule_id = 1;
+}
diff --git a/proto/ActivityBannerClearReq.proto b/proto/ActivityBannerClearReq.proto
new file mode 100644
index 00000000..41a1863c
--- /dev/null
+++ b/proto/ActivityBannerClearReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivityBannerClearReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2147;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 14;
+ uint32 schedule_id = 7;
+}
diff --git a/proto/ActivityBannerClearRsp.proto b/proto/ActivityBannerClearRsp.proto
new file mode 100644
index 00000000..5a163f40
--- /dev/null
+++ b/proto/ActivityBannerClearRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivityBannerClearRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2198;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 schedule_id = 5;
+ uint32 activity_id = 9;
+}
diff --git a/proto/ActivityBannerNotify.proto b/proto/ActivityBannerNotify.proto
new file mode 100644
index 00000000..597c6be2
--- /dev/null
+++ b/proto/ActivityBannerNotify.proto
@@ -0,0 +1,33 @@
+// 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 ActivityBannerNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2160;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 1;
+ uint32 schedule_id = 8;
+}
diff --git a/proto/ActivityCoinInfoNotify.proto b/proto/ActivityCoinInfoNotify.proto
new file mode 100644
index 00000000..593927a9
--- /dev/null
+++ b/proto/ActivityCoinInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 ActivityCoinInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2018;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 8;
+ map activity_coin_map = 2;
+ uint32 activity_id = 4;
+}
diff --git a/proto/ActivityCondStateChangeNotify.proto b/proto/ActivityCondStateChangeNotify.proto
new file mode 100644
index 00000000..754ab7cc
--- /dev/null
+++ b/proto/ActivityCondStateChangeNotify.proto
@@ -0,0 +1,39 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityCondStateChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2194;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 5;
+ uint32 schedule_id = 14;
+ repeated uint32 Unk3300_HKKNIHNBHAE = 1;
+ repeated uint32 Unk3300_BGNIBLKCPCA = 4;
+ repeated uint32 activated_sale_id_list = 8;
+ repeated Uint32Pair disable_transfer_point_interaction_list = 11;
+}
diff --git a/proto/ActivityDisableTransferPointInteractionNotify.proto b/proto/ActivityDisableTransferPointInteractionNotify.proto
new file mode 100644
index 00000000..85bee05a
--- /dev/null
+++ b/proto/ActivityDisableTransferPointInteractionNotify.proto
@@ -0,0 +1,35 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityDisableTransferPointInteractionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8029;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_disable = 13;
+ Uint32Pair scene_point_pair = 11;
+}
diff --git a/proto/ActivityDungeonAvatar.proto b/proto/ActivityDungeonAvatar.proto
new file mode 100644
index 00000000..1fd536c1
--- /dev/null
+++ b/proto/ActivityDungeonAvatar.proto
@@ -0,0 +1,26 @@
+// 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 ActivityDungeonAvatar {
+ uint32 avatar_id = 1;
+ bool is_trial = 2;
+ uint32 costume_id = 3;
+}
diff --git a/proto/ActivityFriendGiftWishData.proto b/proto/ActivityFriendGiftWishData.proto
new file mode 100644
index 00000000..49d6f503
--- /dev/null
+++ b/proto/ActivityFriendGiftWishData.proto
@@ -0,0 +1,30 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityFriendGiftWishData {
+ map gift_num_map = 5;
+ uint32 uid = 7;
+ ProfilePicture profile_picture = 11;
+ string remark_name = 12;
+ string nickname = 2;
+}
diff --git a/proto/ActivityGetCanGiveFriendGiftReq.proto b/proto/ActivityGetCanGiveFriendGiftReq.proto
new file mode 100644
index 00000000..ae82224f
--- /dev/null
+++ b/proto/ActivityGetCanGiveFriendGiftReq.proto
@@ -0,0 +1,33 @@
+// 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 ActivityGetCanGiveFriendGiftReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8330;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 2;
+}
diff --git a/proto/ActivityGetCanGiveFriendGiftRsp.proto b/proto/ActivityGetCanGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..2c739e15
--- /dev/null
+++ b/proto/ActivityGetCanGiveFriendGiftRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivityGetCanGiveFriendGiftRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8374;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map gift_num_map = 7;
+ int32 retcode = 11;
+ uint32 schedule_id = 12;
+}
diff --git a/proto/ActivityGetFriendGiftWishListReq.proto b/proto/ActivityGetFriendGiftWishListReq.proto
new file mode 100644
index 00000000..9c412d84
--- /dev/null
+++ b/proto/ActivityGetFriendGiftWishListReq.proto
@@ -0,0 +1,33 @@
+// 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 ActivityGetFriendGiftWishListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8642;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 2;
+}
diff --git a/proto/ActivityGetFriendGiftWishListRsp.proto b/proto/ActivityGetFriendGiftWishListRsp.proto
new file mode 100644
index 00000000..1b78b7cc
--- /dev/null
+++ b/proto/ActivityGetFriendGiftWishListRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityFriendGiftWishData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityGetFriendGiftWishListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8355;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ActivityFriendGiftWishData friend_gift_wish_list = 12;
+ uint32 schedule_id = 4;
+ int32 retcode = 2;
+}
diff --git a/proto/ActivityGetRecvGiftListReq.proto b/proto/ActivityGetRecvGiftListReq.proto
new file mode 100644
index 00000000..0ed0765a
--- /dev/null
+++ b/proto/ActivityGetRecvGiftListReq.proto
@@ -0,0 +1,33 @@
+// 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 ActivityGetRecvGiftListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8995;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 5;
+}
diff --git a/proto/ActivityGetRecvGiftListRsp.proto b/proto/ActivityGetRecvGiftListRsp.proto
new file mode 100644
index 00000000..fff81b9b
--- /dev/null
+++ b/proto/ActivityGetRecvGiftListRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityRecvGiftData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityGetRecvGiftListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8844;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 7;
+ int32 retcode = 9;
+ repeated ActivityRecvGiftData recv_gift_list = 10;
+}
diff --git a/proto/ActivityGiveFriendGiftReq.proto b/proto/ActivityGiveFriendGiftReq.proto
new file mode 100644
index 00000000..f1d21f7f
--- /dev/null
+++ b/proto/ActivityGiveFriendGiftReq.proto
@@ -0,0 +1,35 @@
+// 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 ActivityGiveFriendGiftReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8178;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map gift_num_map = 10;
+ uint32 schedule_id = 15;
+ uint32 uid = 1;
+}
diff --git a/proto/ActivityGiveFriendGiftRsp.proto b/proto/ActivityGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..42a522b5
--- /dev/null
+++ b/proto/ActivityGiveFriendGiftRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivityGiveFriendGiftRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8373;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 15;
+ int32 retcode = 8;
+ repeated uint32 limit_gift_list = 14;
+}
diff --git a/proto/ActivityHaveRecvGiftNotify.proto b/proto/ActivityHaveRecvGiftNotify.proto
new file mode 100644
index 00000000..a5d20ef7
--- /dev/null
+++ b/proto/ActivityHaveRecvGiftNotify.proto
@@ -0,0 +1,32 @@
+// 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 ActivityHaveRecvGiftNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8118;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 2;
+}
diff --git a/proto/ActivityInfo.proto b/proto/ActivityInfo.proto
index 221c460b..9c4ba4f0 100644
--- a/proto/ActivityInfo.proto
+++ b/proto/ActivityInfo.proto
@@ -25,10 +25,12 @@ import "BartenderActivityDetailInfo.proto";
import "BlessingActivityDetailInfo.proto";
import "BlitzRushActivityDetailInfo.proto";
import "BounceConjuringActivityDetailInfo.proto";
+import "BrickBreakerDetailInfo.proto";
import "BuoyantCombatDetailInfo.proto";
import "ChannelerSlabActivityDetailInfo.proto";
import "CharAmusementDetailInfo.proto";
import "ChessActivityDetailInfo.proto";
+import "CoinCollectDetailInfo.proto";
import "CrucibleActivityDetailInfo.proto";
import "CrystalLinkActivityDetailInfo.proto";
import "DeliveryActivityDetailInfo.proto";
@@ -76,7 +78,7 @@ import "TreasureMapActivityDetailInfo.proto";
import "TreasureSeelieActivityDetailInfo.proto";
import "TrialAvatarActivityDetailInfo.proto";
import "UgcActivityDetailInfo.proto";
-import "VintageDetailInfo.proto";
+import "VintageActivityDetailInfo.proto";
import "WaterSpiritActivityDetailInfo.proto";
import "WindFieldDetailInfo.proto";
import "WinterCampActivityDetailInfo.proto";
@@ -84,90 +86,92 @@ import "WinterCampActivityDetailInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ActivityInfo {
- bool is_finished = 6;
- uint32 activity_type = 4;
- uint32 begin_time = 8;
- repeated uint32 taken_reward_list = 329;
- bool is_hidden = 919;
- bool is_quick_open = 1449;
- repeated uint32 meet_cond_list = 10;
- map activity_coin_map = 682;
- bool is_banner_cleared = 102;
- uint32 cur_score = 1906;
- uint32 first_day_start_time = 592;
- uint32 activity_id = 12;
- bool is_play_open_anim = 13;
- uint32 end_time = 5;
- uint32 score_limit = 1958;
- map wish_gift_num_map = 1399;
- uint32 selected_avatar_reward_id = 1290;
- bool is_common_content_closed = 1963;
- repeated uint32 expire_cond_list = 3;
- repeated ActivityPushTipsData activity_push_tips_data_list = 864;
- repeated ActivityWatcherInfo watcher_info_list = 2;
- uint32 schedule_id = 15;
- bool is_starting = 9;
+ bool Unk3300_MJNPGEKLOCG = 360;
+ bool is_finished = 8;
+ uint32 cur_score = 1268;
+ uint32 schedule_id = 7;
+ uint32 Unk3300_JAEALAIOOID = 1870;
+ bool Unk3300_ICNJJKDHPCH = 14;
+ repeated uint32 Unk3300_BGNIBLKCPCA = 11;
+ bool Unk3300_NEPKLLBJFKK = 1645;
+ repeated ActivityWatcherInfo watcher_info_list = 6;
+ repeated ActivityPushTipsData activity_push_tips_data_list = 1867;
+ uint32 activity_id = 13;
+ repeated uint32 taken_reward_list = 1889;
+ uint32 Unk3300_GCEAKEMMJEA = 697;
+ map activity_coin_map = 36;
+ uint32 first_day_start_time = 786;
+ bool Unk3300_ABJKLALKLDG = 1486;
+ uint32 Unk3300_DMILOONBELH = 3;
+ bool Unk3300_CBCEHLJJOGI = 1375;
+ uint32 begin_time = 1;
+ bool Unk3300_MDBDPIBEGGH = 12;
+ map wish_gift_num_map = 939;
+ uint32 end_time = 10;
+ repeated uint32 Unk3300_HKKNIHNBHAE = 5;
oneof detail {
- SeaLampActivityDetailInfo sam_lamp_info = 7;
- CrucibleActivityDetailInfo crucible_info = 14;
- SalesmanActivityDetailInfo salesman_info = 11;
- TrialAvatarActivityDetailInfo trial_avatar_info = 1;
- DeliveryActivityDetailInfo delivery_info = 1092;
- AsterActivityDetailInfo aster_info = 557;
- FlightActivityDetailInfo flight_info = 1365;
- DragonSpineActivityDetailInfo dragon_spine_info = 1727;
- EffigyActivityDetailInfo effigy_info = 391;
- TreasureMapActivityDetailInfo treasure_map_info = 1114;
- BlessingActivityDetailInfo blessing_info = 1869;
- SeaLampActivityInfo sea_lamp_info = 494;
- ExpeditionActivityDetailInfo expedition_info = 202;
- ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
- FleurFairActivityDetailInfo fleur_fair_info = 857;
- WaterSpiritActivityDetailInfo water_spirit_info = 1675;
- ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
- MistTrialActivityDetailInfo mist_trial_activity_info = 156;
- HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
- FindHilichurlDetailInfo find_hilichurl_info = 1411;
- SummerTimeDetailInfo summer_time_info = 1372;
- BuoyantCombatDetailInfo buoyant_combat_info = 1842;
- EchoShellDetailInfo echo_shell_info = 1113;
- BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
- BlitzRushActivityDetailInfo blitz_rush_info = 794;
- ChessActivityDetailInfo chess_info = 927;
- SumoActivityDetailInfo sumo_info = 1261;
- MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
- LunaRiteDetailInfo luna_rite_info = 814;
- PlantFlowerActivityDetailInfo plant_flower_info = 54;
- MusicGameActivityDetailInfo music_game_info = 460;
- RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 219;
- DigActivityDetailInfo dig_info = 403;
- HachiActivityDetailInfo hachi_info = 491;
- WinterCampActivityDetailInfo winter_camp_info = 1083;
- PotionActivityDetailInfo potion_info = 1273;
- TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1796;
- LanternRiteActivityDetailInfo lantern_rite_activity_info = 1876;
- MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 194;
- BartenderActivityDetailInfo bartender_info = 1725;
- UgcActivityDetailInfo ugc_info = 703;
- CrystalLinkActivityDetailInfo crystal_link_info = 1226;
- IrodoriActivityDetailInfo irodori_info = 750;
- PhotoActivityDetailInfo photo_info = 328;
- SpiceActivityDetailInfo spice_info = 1891;
- GachaActivityDetailInfo gacha_info = 825;
- LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1308;
- RogueDiaryActivityDetailInfo rogue_diary_info = 812;
- SummerTimeV2DetailInfo summer_time_v2_info = 622;
- IslandPartyDetailInfo island_party_info = 1885;
- GearActivityDetailInfo gear_info = 722;
- GravenInnocenceDetailInfo graven_innocence_info = 1911;
- InstableSprayDetailInfo instable_spray_info = 1043;
- MuqadasPotionActivityDetailInfo muqadas_potion_info = 1157;
- TreasureSeelieActivityDetailInfo treasure_seelie_info = 966;
- RockBoardExploreDetailInfo rock_board_explore_info = 1078;
- VintageDetailInfo vintage_info = 445;
- WindFieldDetailInfo wind_field_info = 352;
- FungusFighterDetailInfo fungus_fighter_info = 490;
- CharAmusementDetailInfo char_amusement_info = 1496;
- EffigyChallengeV2DetailInfo effigy_challenge_info = 1025;
+ SeaLampActivityDetailInfo sam_lamp_info = 2;
+ CrucibleActivityDetailInfo crucible_info = 15;
+ SalesmanActivityDetailInfo salesman_info = 9;
+ TrialAvatarActivityDetailInfo trial_avatar_info = 4;
+ DeliveryActivityDetailInfo delivery_info = 1141;
+ AsterActivityDetailInfo aster_info = 1977;
+ FlightActivityDetailInfo flight_info = 2011;
+ DragonSpineActivityDetailInfo dragon_spine_info = 1310;
+ EffigyActivityDetailInfo effigy_info = 1374;
+ TreasureMapActivityDetailInfo treasure_map_info = 1925;
+ BlessingActivityDetailInfo blessing_info = 1962;
+ SeaLampActivityInfo sea_lamp_info = 247;
+ ExpeditionActivityDetailInfo expedition_info = 1752;
+ ArenaChallengeActivityDetailInfo arena_challenge_info = 538;
+ FleurFairActivityDetailInfo fleur_fair_info = 1447;
+ WaterSpiritActivityDetailInfo water_spirit_info = 635;
+ ChannelerSlabActivityDetailInfo channeler_slab_info = 846;
+ MistTrialActivityDetailInfo mist_trial_activity_info = 432;
+ HideAndSeekActivityDetailInfo hide_and_seek_info = 839;
+ FindHilichurlDetailInfo find_hilichurl_info = 378;
+ SummerTimeDetailInfo summer_time_info = 1910;
+ BuoyantCombatDetailInfo buoyant_combat_info = 686;
+ EchoShellDetailInfo echo_shell_info = 1162;
+ BounceConjuringActivityDetailInfo bounce_conjuring_info = 922;
+ BlitzRushActivityDetailInfo blitz_rush_info = 64;
+ ChessActivityDetailInfo chess_info = 1006;
+ SumoActivityDetailInfo sumo_info = 505;
+ MoonfinTrialActivityDetailInfo moonfin_trial_info = 766;
+ LunaRiteDetailInfo luna_rite_info = 1545;
+ PlantFlowerActivityDetailInfo plant_flower_info = 1274;
+ MusicGameActivityDetailInfo music_game_info = 1989;
+ RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 970;
+ DigActivityDetailInfo dig_info = 1862;
+ HachiActivityDetailInfo hachi_info = 511;
+ WinterCampActivityDetailInfo winter_camp_info = 699;
+ PotionActivityDetailInfo potion_info = 1567;
+ TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1348;
+ LanternRiteActivityDetailInfo lantern_rite_activity_info = 237;
+ MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 1839;
+ BartenderActivityDetailInfo bartender_info = 551;
+ UgcActivityDetailInfo ugc_info = 1182;
+ CrystalLinkActivityDetailInfo crystal_link_info = 812;
+ IrodoriActivityDetailInfo irodori_info = 1056;
+ PhotoActivityDetailInfo photo_info = 1822;
+ SpiceActivityDetailInfo spice_info = 789;
+ GachaActivityDetailInfo gacha_info = 1297;
+ LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 444;
+ RogueDiaryActivityDetailInfo rogue_diary_info = 560;
+ SummerTimeV2DetailInfo summer_time_v2_info = 411;
+ IslandPartyDetailInfo island_party_info = 740;
+ GearActivityDetailInfo gear_info = 1482;
+ GravenInnocenceDetailInfo graven_innocence_info = 1928;
+ InstableSprayDetailInfo instable_spray_info = 1145;
+ MuqadasPotionActivityDetailInfo muqadas_potion_info = 1662;
+ TreasureSeelieActivityDetailInfo treasure_seelie_info = 1032;
+ RockBoardExploreDetailInfo rock_board_explore_info = 1265;
+ VintageActivityDetailInfo vintage_info = 1308;
+ WindFieldDetailInfo wind_field_info = 468;
+ FungusFighterDetailInfo fungus_fighter_info = 1757;
+ CharAmusementDetailInfo char_amusement_info = 621;
+ EffigyChallengeV2DetailInfo effigy_challenge_info = 233;
+ CoinCollectDetailInfo coin_collect_info = 2002;
+ BrickBreakerDetailInfo brick_breaker_info = 1522;
}
}
diff --git a/proto/ActivityInfoNotify.proto b/proto/ActivityInfoNotify.proto
index e734d1f5..16082d31 100644
--- a/proto/ActivityInfoNotify.proto
+++ b/proto/ActivityInfoNotify.proto
@@ -21,10 +21,15 @@ import "ActivityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2060
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ActivityInfoNotify {
- ActivityInfo activity_info = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ActivityInfo activity_info = 12;
}
diff --git a/proto/ActivityNullDetailInfo.proto b/proto/ActivityNullDetailInfo.proto
new file mode 100644
index 00000000..0017087e
--- /dev/null
+++ b/proto/ActivityNullDetailInfo.proto
@@ -0,0 +1,8 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityNullDetailInfo {
+
+}
diff --git a/proto/ActivityPlayOpenAnimNotify.proto b/proto/ActivityPlayOpenAnimNotify.proto
new file mode 100644
index 00000000..49a0a712
--- /dev/null
+++ b/proto/ActivityPlayOpenAnimNotify.proto
@@ -0,0 +1,33 @@
+// 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 ActivityPlayOpenAnimNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2059;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 1;
+}
diff --git a/proto/ActivityPushTipsData.proto b/proto/ActivityPushTipsData.proto
index 5941b5a4..ef90e895 100644
--- a/proto/ActivityPushTipsData.proto
+++ b/proto/ActivityPushTipsData.proto
@@ -22,6 +22,6 @@ import "ActivityPushTipsState.proto";
option java_package = "emu.grasscutter.net.proto";
message ActivityPushTipsData {
- ActivityPushTipsState state = 10;
- uint32 activity_push_tips_id = 4;
+ uint32 activity_push_tips_id = 14;
+ ActivityPushTipsState state = 3;
}
diff --git a/proto/ActivityPushTipsInfoNotify.proto b/proto/ActivityPushTipsInfoNotify.proto
new file mode 100644
index 00000000..16955bbf
--- /dev/null
+++ b/proto/ActivityPushTipsInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityPushTipsData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityPushTipsInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8418;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 3;
+ repeated ActivityPushTipsData activity_push_tips_data_list = 10;
+ uint32 activity_id = 13;
+}
diff --git a/proto/ActivityReadPushTipsReq.proto b/proto/ActivityReadPushTipsReq.proto
new file mode 100644
index 00000000..e0d30c3a
--- /dev/null
+++ b/proto/ActivityReadPushTipsReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivityReadPushTipsReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8007;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 activity_push_tips_id_list = 1;
+ uint32 activity_id = 12;
+}
diff --git a/proto/ActivityReadPushTipsRsp.proto b/proto/ActivityReadPushTipsRsp.proto
new file mode 100644
index 00000000..28808a5c
--- /dev/null
+++ b/proto/ActivityReadPushTipsRsp.proto
@@ -0,0 +1,32 @@
+// 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 ActivityReadPushTipsRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8499;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+}
diff --git a/proto/ActivityRecvGiftData.proto b/proto/ActivityRecvGiftData.proto
new file mode 100644
index 00000000..211f6a08
--- /dev/null
+++ b/proto/ActivityRecvGiftData.proto
@@ -0,0 +1,30 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityRecvGiftData {
+ ProfilePicture profile_picture = 3;
+ string nickname = 7;
+ map gift_num_map = 6;
+ string remark_name = 1;
+ uint32 uid = 12;
+}
diff --git a/proto/ActivitySaleChangeNotify.proto b/proto/ActivitySaleChangeNotify.proto
new file mode 100644
index 00000000..3a0b2ff7
--- /dev/null
+++ b/proto/ActivitySaleChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 ActivitySaleChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2012;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_close = 14;
+ uint32 sale_id = 8;
+}
diff --git a/proto/ActivityScheduleInfo.proto b/proto/ActivityScheduleInfo.proto
index 3995fa8e..7dc1d0de 100644
--- a/proto/ActivityScheduleInfo.proto
+++ b/proto/ActivityScheduleInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ActivityScheduleInfo {
- uint32 schedule_id = 13;
- bool is_open = 2;
- uint32 activity_id = 14;
- uint32 end_time = 1;
- uint32 begin_time = 10;
+ uint32 end_time = 3;
+ bool is_open = 12;
+ uint32 begin_time = 1;
+ uint32 schedule_id = 9;
+ uint32 activity_id = 11;
}
diff --git a/proto/ActivityScheduleInfoNotify.proto b/proto/ActivityScheduleInfoNotify.proto
index 86c571db..67af7f39 100644
--- a/proto/ActivityScheduleInfoNotify.proto
+++ b/proto/ActivityScheduleInfoNotify.proto
@@ -21,11 +21,16 @@ import "ActivityScheduleInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2073
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ActivityScheduleInfoNotify {
- repeated ActivityScheduleInfo activity_schedule_list = 12;
- uint32 remain_fly_sea_lamp_num = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2124;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ActivityScheduleInfo activity_schedule_list = 1;
+ uint32 remain_fly_sea_lamp_num = 13;
}
diff --git a/proto/ActivitySelectAvatarCardReq.proto b/proto/ActivitySelectAvatarCardReq.proto
new file mode 100644
index 00000000..6b430a53
--- /dev/null
+++ b/proto/ActivitySelectAvatarCardReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivitySelectAvatarCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2052;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_id = 14;
+ uint32 activity_id = 6;
+}
diff --git a/proto/ActivitySelectAvatarCardRsp.proto b/proto/ActivitySelectAvatarCardRsp.proto
new file mode 100644
index 00000000..f5841da6
--- /dev/null
+++ b/proto/ActivitySelectAvatarCardRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivitySelectAvatarCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2154;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 activity_id = 15;
+ uint32 reward_id = 2;
+}
diff --git a/proto/ActivitySetGiftWishReq.proto b/proto/ActivitySetGiftWishReq.proto
new file mode 100644
index 00000000..24c5a375
--- /dev/null
+++ b/proto/ActivitySetGiftWishReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivitySetGiftWishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8329;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 12;
+ map gift_num_map = 13;
+}
diff --git a/proto/ActivitySetGiftWishRsp.proto b/proto/ActivitySetGiftWishRsp.proto
new file mode 100644
index 00000000..d48d1641
--- /dev/null
+++ b/proto/ActivitySetGiftWishRsp.proto
@@ -0,0 +1,33 @@
+// 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 ActivitySetGiftWishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8757;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 schedule_id = 4;
+}
diff --git a/proto/ActivityShopSheetInfo.proto b/proto/ActivityShopSheetInfo.proto
index 5e0b47f3..b0921f19 100644
--- a/proto/ActivityShopSheetInfo.proto
+++ b/proto/ActivityShopSheetInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ActivityShopSheetInfo {
- uint32 end_time = 1;
- uint32 begin_time = 12;
- uint32 sheet_id = 2;
+ uint32 begin_time = 1;
+ uint32 end_time = 6;
+ uint32 sheet_id = 15;
}
diff --git a/proto/ActivityTakeAllScoreRewardReq.proto b/proto/ActivityTakeAllScoreRewardReq.proto
new file mode 100644
index 00000000..c7018a8a
--- /dev/null
+++ b/proto/ActivityTakeAllScoreRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 ActivityTakeAllScoreRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8162;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 14;
+}
diff --git a/proto/ActivityTakeAllScoreRewardRsp.proto b/proto/ActivityTakeAllScoreRewardRsp.proto
new file mode 100644
index 00000000..d9f579aa
--- /dev/null
+++ b/proto/ActivityTakeAllScoreRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivityTakeAllScoreRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8043;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 reward_config_list = 10;
+ int32 retcode = 9;
+ uint32 activity_id = 3;
+}
diff --git a/proto/ActivityTakeScoreRewardReq.proto b/proto/ActivityTakeScoreRewardReq.proto
new file mode 100644
index 00000000..915de41b
--- /dev/null
+++ b/proto/ActivityTakeScoreRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivityTakeScoreRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_config_id = 12;
+ uint32 activity_id = 7;
+}
diff --git a/proto/ActivityTakeScoreRewardRsp.proto b/proto/ActivityTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..ee251e89
--- /dev/null
+++ b/proto/ActivityTakeScoreRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 ActivityTakeScoreRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8527;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 12;
+ uint32 reward_config_id = 2;
+ int32 retcode = 13;
+}
diff --git a/proto/ActivityTakeWatcherRewardBatchReq.proto b/proto/ActivityTakeWatcherRewardBatchReq.proto
new file mode 100644
index 00000000..1425f251
--- /dev/null
+++ b/proto/ActivityTakeWatcherRewardBatchReq.proto
@@ -0,0 +1,34 @@
+// 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 ActivityTakeWatcherRewardBatchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2184;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 watcher_id_list = 7;
+ uint32 activity_id = 11;
+}
diff --git a/proto/ActivityTakeWatcherRewardBatchRsp.proto b/proto/ActivityTakeWatcherRewardBatchRsp.proto
new file mode 100644
index 00000000..bee03226
--- /dev/null
+++ b/proto/ActivityTakeWatcherRewardBatchRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ActivityTakeWatcherRewardBatchRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2090;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 activity_id = 10;
+ repeated ItemParam item_list = 8;
+ repeated uint32 watcher_id_list = 13;
+}
diff --git a/proto/ActivityTakeWatcherRewardReq.proto b/proto/ActivityTakeWatcherRewardReq.proto
index 96b4a735..2c7a33d0 100644
--- a/proto/ActivityTakeWatcherRewardReq.proto
+++ b/proto/ActivityTakeWatcherRewardReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2038
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ActivityTakeWatcherRewardReq {
- uint32 activity_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2073;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint32 watcher_id = 14;
+ uint32 activity_id = 4;
}
diff --git a/proto/ActivityTakeWatcherRewardRsp.proto b/proto/ActivityTakeWatcherRewardRsp.proto
index 4f589719..99e3a5b2 100644
--- a/proto/ActivityTakeWatcherRewardRsp.proto
+++ b/proto/ActivityTakeWatcherRewardRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2034
-// EnetChannelId: 0
-// EnetIsReliable: true
message ActivityTakeWatcherRewardRsp {
- uint32 activity_id = 14;
- uint32 watcher_id = 7;
- int32 retcode = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2109;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 activity_id = 10;
+ uint32 watcher_id = 15;
}
diff --git a/proto/ActivityUpdateWatcherNotify.proto b/proto/ActivityUpdateWatcherNotify.proto
index 99261d90..c3f7f1fb 100644
--- a/proto/ActivityUpdateWatcherNotify.proto
+++ b/proto/ActivityUpdateWatcherNotify.proto
@@ -21,11 +21,16 @@ import "ActivityWatcherInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2156
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ActivityUpdateWatcherNotify {
- ActivityWatcherInfo watcher_info = 2;
- uint32 activity_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2103;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 9;
+ ActivityWatcherInfo watcher_info = 5;
}
diff --git a/proto/ActivityWatcherInfo.proto b/proto/ActivityWatcherInfo.proto
index 80a8956a..94197832 100644
--- a/proto/ActivityWatcherInfo.proto
+++ b/proto/ActivityWatcherInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ActivityWatcherInfo {
- bool is_taken_reward = 8;
- uint32 cur_progress = 2;
- uint32 total_progress = 4;
- uint32 watcher_id = 5;
+ bool is_taken_reward = 2;
+ uint32 total_progress = 1;
+ uint32 cur_progress = 8;
+ uint32 watcher_id = 14;
}
diff --git a/proto/AddAranaraCollectionNotify.proto b/proto/AddAranaraCollectionNotify.proto
new file mode 100644
index 00000000..3e641561
--- /dev/null
+++ b/proto/AddAranaraCollectionNotify.proto
@@ -0,0 +1,37 @@
+// 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 "AranaraCollectionState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AddAranaraCollectionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6391;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AranaraCollectionState Unk3300_NJLJBBMJLBK = 10;
+ uint32 collection_id = 7;
+ AranaraCollectionState Unk3300_AFBIBLNKCOD = 4;
+ uint32 collection_type = 2;
+}
diff --git a/proto/AddBackupAvatarTeamReq.proto b/proto/AddBackupAvatarTeamReq.proto
index 8ab08d66..1f9dc12d 100644
--- a/proto/AddBackupAvatarTeamReq.proto
+++ b/proto/AddBackupAvatarTeamReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1687
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message AddBackupAvatarTeamReq {}
+message AddBackupAvatarTeamReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1616;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/AddBackupAvatarTeamRsp.proto b/proto/AddBackupAvatarTeamRsp.proto
index ed611b94..939af80e 100644
--- a/proto/AddBackupAvatarTeamRsp.proto
+++ b/proto/AddBackupAvatarTeamRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1735
-// EnetChannelId: 0
-// EnetIsReliable: true
message AddBackupAvatarTeamRsp {
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1782;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
}
diff --git a/proto/AddBlacklistReq.proto b/proto/AddBlacklistReq.proto
new file mode 100644
index 00000000..9967667b
--- /dev/null
+++ b/proto/AddBlacklistReq.proto
@@ -0,0 +1,33 @@
+// 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 AddBlacklistReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4094;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 5;
+}
diff --git a/proto/AddBlacklistRsp.proto b/proto/AddBlacklistRsp.proto
new file mode 100644
index 00000000..0fd7343a
--- /dev/null
+++ b/proto/AddBlacklistRsp.proto
@@ -0,0 +1,35 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AddBlacklistRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4072;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FriendBrief target_friend_brief = 9;
+ int32 retcode = 13;
+}
diff --git a/proto/AddFriendNotify.proto b/proto/AddFriendNotify.proto
new file mode 100644
index 00000000..7f266d2c
--- /dev/null
+++ b/proto/AddFriendNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AddFriendNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4037;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FriendBrief target_friend_brief = 2;
+ uint32 target_uid = 15;
+}
diff --git a/proto/AddNoGachaAvatarCardNotify.proto b/proto/AddNoGachaAvatarCardNotify.proto
index 37146cb4..cc72b96f 100644
--- a/proto/AddNoGachaAvatarCardNotify.proto
+++ b/proto/AddNoGachaAvatarCardNotify.proto
@@ -21,15 +21,20 @@ import "AddNoGachaAvatarCardTransferItem.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1655
-// EnetChannelId: 0
-// EnetIsReliable: true
message AddNoGachaAvatarCardNotify {
- repeated AddNoGachaAvatarCardTransferItem transfer_item_list = 4;
- uint32 initial_promote_level = 2;
- uint32 avatar_id = 8;
- bool is_transfer_to_item = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1610;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
uint32 reason = 9;
- uint32 initial_level = 10;
- uint32 item_id = 14;
+ uint32 Unk3300_MGAPHPOLKKE = 7;
+ uint32 item_id = 2;
+ uint32 avatar_id = 4;
+ bool is_transfer_to_item = 14;
+ uint32 Unk3300_GPBINALMFDF = 8;
+ repeated AddNoGachaAvatarCardTransferItem transfer_item_list = 6;
}
diff --git a/proto/AddNoGachaAvatarCardTransferItem.proto b/proto/AddNoGachaAvatarCardTransferItem.proto
index fcff4bcb..01cfb2b2 100644
--- a/proto/AddNoGachaAvatarCardTransferItem.proto
+++ b/proto/AddNoGachaAvatarCardTransferItem.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AddNoGachaAvatarCardTransferItem {
- uint32 count = 9;
- uint32 item_id = 6;
- bool is_new = 15;
+ uint32 count = 5;
+ bool is_new = 8;
+ uint32 item_id = 11;
}
diff --git a/proto/AddQuestContentProgressReq.proto b/proto/AddQuestContentProgressReq.proto
index 6822e17f..b7643f4a 100644
--- a/proto/AddQuestContentProgressReq.proto
+++ b/proto/AddQuestContentProgressReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 421
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AddQuestContentProgressReq {
- uint32 content_type = 6;
- uint32 param = 12;
- uint32 add_progress = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 443;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 content_type = 1;
+ uint32 add_progress = 6;
+ uint32 param = 11;
}
diff --git a/proto/AddQuestContentProgressRsp.proto b/proto/AddQuestContentProgressRsp.proto
index 7988200b..d214ef45 100644
--- a/proto/AddQuestContentProgressRsp.proto
+++ b/proto/AddQuestContentProgressRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 403
-// EnetChannelId: 0
-// EnetIsReliable: true
message AddQuestContentProgressRsp {
- int32 retcode = 13;
- uint32 content_type = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 461;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 content_type = 7;
+ int32 retcode = 12;
}
diff --git a/proto/AddRandTaskInfoNotify.proto b/proto/AddRandTaskInfoNotify.proto
new file mode 100644
index 00000000..b7ea2459
--- /dev/null
+++ b/proto/AddRandTaskInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 AddRandTaskInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 154;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 rand_task_id = 7;
+ Vector pos = 2;
+}
diff --git a/proto/AddSeenMonsterNotify.proto b/proto/AddSeenMonsterNotify.proto
new file mode 100644
index 00000000..6f614533
--- /dev/null
+++ b/proto/AddSeenMonsterNotify.proto
@@ -0,0 +1,33 @@
+// 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 AddSeenMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 213;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 monster_id_list = 14;
+}
diff --git a/proto/AdjustTrackingInfo.proto b/proto/AdjustTrackingInfo.proto
index eeb89293..fea9838e 100644
--- a/proto/AdjustTrackingInfo.proto
+++ b/proto/AdjustTrackingInfo.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AdjustTrackingInfo {
- string event_token = 9;
- string adid = 4;
- string idfa = 2;
- string app_token = 14;
- string gps_adid = 3;
- string fire_adid = 13;
+ string Unk3300_CHCOHLGBHLB = 2;
+ string Unk3300_GAMLJPFKCGC = 9;
+ string Unk3300_ONNMBNODPIA = 4;
+ string Unk3300_MHDOPAMDMPL = 6;
+ string Unk3300_INAIEOMCIEM = 7;
+ string Unk3300_KLKFLIIOFKK = 3;
}
diff --git a/proto/AdjustWorldLevelReq.proto b/proto/AdjustWorldLevelReq.proto
new file mode 100644
index 00000000..242c7c8e
--- /dev/null
+++ b/proto/AdjustWorldLevelReq.proto
@@ -0,0 +1,34 @@
+// 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 AdjustWorldLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 112;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_DNLKIMGLBLP = 14;
+ uint32 Unk3300_DJBKBPDCBFH = 3;
+}
diff --git a/proto/AdjustWorldLevelRsp.proto b/proto/AdjustWorldLevelRsp.proto
new file mode 100644
index 00000000..9fc5fb7b
--- /dev/null
+++ b/proto/AdjustWorldLevelRsp.proto
@@ -0,0 +1,34 @@
+// 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 AdjustWorldLevelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 131;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ uint32 after_world_level = 11;
+ uint32 cd_over_time = 5;
+}
diff --git a/proto/AiSkillCdInfo.proto b/proto/AiSkillCdInfo.proto
index ed52329f..e6e8a632 100644
--- a/proto/AiSkillCdInfo.proto
+++ b/proto/AiSkillCdInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AiSkillCdInfo {
- map skill_cd_map = 11;
- map skill_group_cd_map = 6;
+ map skill_group_cd_map = 1;
+ map skill_cd_map = 15;
}
diff --git a/proto/AiSyncInfo.proto b/proto/AiSyncInfo.proto
index bdcc628b..91483962 100644
--- a/proto/AiSyncInfo.proto
+++ b/proto/AiSyncInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AiSyncInfo {
- uint32 entity_id = 9;
- bool is_self_killing = 8;
- bool has_path_to_target = 4;
+ uint32 entity_id = 2;
+ bool Unk3300_NOIPAMJJIDL = 4;
+ bool Unk3300_EBICCLLGICG = 14;
}
diff --git a/proto/AllCoopInfoNotify.proto b/proto/AllCoopInfoNotify.proto
new file mode 100644
index 00000000..5a6b4bc6
--- /dev/null
+++ b/proto/AllCoopInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "MainCoop.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AllCoopInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1992;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MainCoop main_coop_list = 10;
+}
diff --git a/proto/AllMarkPointNotify.proto b/proto/AllMarkPointNotify.proto
new file mode 100644
index 00000000..2836a5fa
--- /dev/null
+++ b/proto/AllMarkPointNotify.proto
@@ -0,0 +1,34 @@
+// 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 "MapMarkPoint.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AllMarkPointNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3322;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MapMarkPoint mark_list = 2;
+}
diff --git a/proto/AllSeenMonsterNotify.proto b/proto/AllSeenMonsterNotify.proto
new file mode 100644
index 00000000..cbc94d98
--- /dev/null
+++ b/proto/AllSeenMonsterNotify.proto
@@ -0,0 +1,33 @@
+// 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 AllSeenMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 228;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 monster_id_list = 1;
+}
diff --git a/proto/AllShareCDDataNotify.proto b/proto/AllShareCDDataNotify.proto
new file mode 100644
index 00000000..edd52d94
--- /dev/null
+++ b/proto/AllShareCDDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ShareCDInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AllShareCDDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 9079;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map share_cd_info_map = 13;
+}
diff --git a/proto/AllWidgetBackgroundActiveStateNotify.proto b/proto/AllWidgetBackgroundActiveStateNotify.proto
new file mode 100644
index 00000000..8b23448f
--- /dev/null
+++ b/proto/AllWidgetBackgroundActiveStateNotify.proto
@@ -0,0 +1,32 @@
+// 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 AllWidgetBackgroundActiveStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5932;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 background_active_widget_list = 2;
+}
diff --git a/proto/AllWidgetDataNotify.proto b/proto/AllWidgetDataNotify.proto
index 91eb6da9..d65f8ff9 100644
--- a/proto/AllWidgetDataNotify.proto
+++ b/proto/AllWidgetDataNotify.proto
@@ -22,23 +22,30 @@ import "ClientCollectorData.proto";
import "LunchBoxData.proto";
import "OneofGatherPointDetectorData.proto";
import "SkyCrystalDetectorData.proto";
+import "WeatherWizardData.proto";
import "WidgetCoolDownData.proto";
import "WidgetSlotData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4271
-// EnetChannelId: 0
-// EnetIsReliable: true
message AllWidgetDataNotify {
- repeated uint32 background_active_widget_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4286;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 next_anchor_point_usable_time = 5;
LunchBoxData lunch_box_data = 1;
- repeated WidgetCoolDownData cool_down_group_data_list = 13;
- repeated AnchorPointData anchor_point_list = 3;
+ repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 14;
repeated WidgetSlotData slot_list = 6;
- uint32 next_anchor_point_usable_time = 10;
- repeated ClientCollectorData client_collector_data_list = 4;
- repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 15;
- repeated WidgetCoolDownData normal_cool_down_data_list = 9;
- SkyCrystalDetectorData sky_crystal_detector_data = 12;
+ repeated uint32 background_active_widget_list = 9;
+ repeated WidgetCoolDownData cool_down_group_data_list = 3;
+ SkyCrystalDetectorData sky_crystal_detector_data = 4;
+ repeated ClientCollectorData client_collector_data_list = 7;
+ WeatherWizardData weather_wizard_data = 15;
+ repeated WidgetCoolDownData normal_cool_down_data_list = 10;
+ repeated AnchorPointData anchor_point_list = 13;
}
diff --git a/proto/AnchorPointData.proto b/proto/AnchorPointData.proto
index 582388be..5e339c0a 100644
--- a/proto/AnchorPointData.proto
+++ b/proto/AnchorPointData.proto
@@ -22,9 +22,9 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AnchorPointData {
- uint32 scene_id = 5;
- uint32 anchor_point_id = 9;
+ uint32 scene_id = 3;
+ Vector rot = 4;
uint32 end_time = 8;
- Vector pos = 15;
- Vector rot = 2;
+ Vector pos = 11;
+ uint32 anchor_point_id = 9;
}
diff --git a/proto/AnchorPointDataNotify.proto b/proto/AnchorPointDataNotify.proto
new file mode 100644
index 00000000..9fb350ea
--- /dev/null
+++ b/proto/AnchorPointDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "AnchorPointData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AnchorPointDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4292;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 next_usable_time = 1;
+ repeated AnchorPointData anchor_point_list = 11;
+}
diff --git a/proto/AnchorPointOpReq.proto b/proto/AnchorPointOpReq.proto
new file mode 100644
index 00000000..b119db5f
--- /dev/null
+++ b/proto/AnchorPointOpReq.proto
@@ -0,0 +1,40 @@
+// 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 AnchorPointOpReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4285;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ enum AnchorPointOpType {
+ ANCHOR_POINT_OP_TYPE_NONE = 0;
+ ANCHOR_POINT_OP_TYPE_TELEPORT = 1;
+ ANCHOR_POINT_OP_TYPE_REMOVE = 2;
+ }
+
+ uint32 anchor_point_id = 4;
+ uint32 anchor_point_op_type = 10;
+}
diff --git a/proto/AnchorPointOpRsp.proto b/proto/AnchorPointOpRsp.proto
new file mode 100644
index 00000000..a6df2cca
--- /dev/null
+++ b/proto/AnchorPointOpRsp.proto
@@ -0,0 +1,34 @@
+// 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 AnchorPointOpRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4277;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 anchor_point_id = 9;
+ int32 retcode = 4;
+ uint32 anchor_point_op_type = 12;
+}
diff --git a/proto/AnimatorForceSetAirMoveNotify.proto b/proto/AnimatorForceSetAirMoveNotify.proto
new file mode 100644
index 00000000..cc001d3b
--- /dev/null
+++ b/proto/AnimatorForceSetAirMoveNotify.proto
@@ -0,0 +1,37 @@
+// 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 "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AnimatorForceSetAirMoveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 334;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 12;
+ bool in_air_move = 6;
+ uint32 entity_id = 2;
+}
diff --git a/proto/AnnounceData.proto b/proto/AnnounceData.proto
index 385dfc63..72783ab9 100644
--- a/proto/AnnounceData.proto
+++ b/proto/AnnounceData.proto
@@ -20,13 +20,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AnnounceData {
- string count_down_text = 9;
- string center_system_text = 8;
- uint32 count_down_frequency = 1;
- uint32 config_id = 7;
- uint32 begin_time = 4;
- uint32 center_system_frequency = 11;
- string dungeon_confirm_text = 2;
- bool is_center_system_last_5_every_minutes = 14;
- uint32 end_time = 10;
+ uint32 begin_time = 10;
+ bool is_center_system_last_5_every_minutes = 3;
+ uint32 end_time = 1;
+ uint32 config_id = 2;
+ string center_system_text = 11;
+ uint32 count_down_frequency = 5;
+ uint32 center_system_frequency = 13;
+ string dungeon_confirm_text = 4;
+ string count_down_text = 6;
}
diff --git a/proto/AntiAddictNotify.proto b/proto/AntiAddictNotify.proto
new file mode 100644
index 00000000..443c6e85
--- /dev/null
+++ b/proto/AntiAddictNotify.proto
@@ -0,0 +1,34 @@
+// 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 AntiAddictNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 174;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string level = 4;
+ string msg = 7;
+ int32 msg_type = 2;
+}
diff --git a/proto/AranaraCollectionDataNotify.proto b/proto/AranaraCollectionDataNotify.proto
new file mode 100644
index 00000000..a0439d0a
--- /dev/null
+++ b/proto/AranaraCollectionDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AranaraCollectionSuite.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AranaraCollectionDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6392;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AranaraCollectionSuite collection_suite_list = 15;
+}
diff --git a/proto/AranaraCollectionState.proto b/proto/AranaraCollectionState.proto
new file mode 100644
index 00000000..1539feb1
--- /dev/null
+++ b/proto/AranaraCollectionState.proto
@@ -0,0 +1,27 @@
+// 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 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..92dc1645
--- /dev/null
+++ b/proto/AranaraCollectionSuite.proto
@@ -0,0 +1,27 @@
+// 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 "AranaraCollectionState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AranaraCollectionSuite {
+ map collection_id_state_map = 5;
+ uint32 collection_type = 12;
+}
diff --git a/proto/AreaPlayInfoNotify.proto b/proto/AreaPlayInfoNotify.proto
new file mode 100644
index 00000000..ffa4ddad
--- /dev/null
+++ b/proto/AreaPlayInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 "AreaPlayType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AreaPlayInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3274;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 detail_play_type = 2;
+ AreaPlayType area_play_type = 6;
+}
diff --git a/proto/AreaPlayType.proto b/proto/AreaPlayType.proto
new file mode 100644
index 00000000..8ecc4fcf
--- /dev/null
+++ b/proto/AreaPlayType.proto
@@ -0,0 +1,26 @@
+// 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 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
index 65484c59..73c3b711 100644
--- a/proto/ArenaChallengeActivityDetailInfo.proto
+++ b/proto/ArenaChallengeActivityDetailInfo.proto
@@ -22,8 +22,8 @@ import "ArenaChallengeMonsterLevel.proto";
option java_package = "emu.grasscutter.net.proto";
message ArenaChallengeActivityDetailInfo {
- bool is_finish_any_level = 14;
- map level_open_time_map = 3;
- uint32 world_level = 15;
- repeated ArenaChallengeMonsterLevel level_list = 9;
+ repeated ArenaChallengeMonsterLevel level_list = 15;
+ map level_open_time_map = 1;
+ bool is_finish_any_level = 4;
+ uint32 world_level = 7;
}
diff --git a/proto/ArenaChallengeChildChallengeInfo.proto b/proto/ArenaChallengeChildChallengeInfo.proto
new file mode 100644
index 00000000..9f3adc8e
--- /dev/null
+++ b/proto/ArenaChallengeChildChallengeInfo.proto
@@ -0,0 +1,28 @@
+// 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 ArenaChallengeChildChallengeInfo {
+ uint32 challenge_id = 11;
+ uint32 challenge_index = 4;
+ uint32 challenge_type = 12;
+ bool is_settled = 2;
+ bool is_success = 14;
+}
diff --git a/proto/ArenaChallengeFinishNotify.proto b/proto/ArenaChallengeFinishNotify.proto
new file mode 100644
index 00000000..a1eb1882
--- /dev/null
+++ b/proto/ArenaChallengeFinishNotify.proto
@@ -0,0 +1,37 @@
+// 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 "ArenaChallengeChildChallengeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ArenaChallengeFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2164;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_success = 8;
+ uint32 Unk3300_FDFNFLAKONG = 3;
+ repeated ArenaChallengeChildChallengeInfo child_challenge_list = 14;
+ uint32 Unk3300_DBHAGHMMLAI = 10;
+}
diff --git a/proto/ArenaChallengeMonsterLevel.proto b/proto/ArenaChallengeMonsterLevel.proto
index 91f646a6..80fd2040 100644
--- a/proto/ArenaChallengeMonsterLevel.proto
+++ b/proto/ArenaChallengeMonsterLevel.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ArenaChallengeMonsterLevel {
- uint32 arena_challenge_level = 7;
- uint32 arena_challenge_id = 15;
+ uint32 Unk3300_DBHAGHMMLAI = 8;
+ uint32 Unk3300_FDFNFLAKONG = 15;
}
diff --git a/proto/AskAddFriendNotify.proto b/proto/AskAddFriendNotify.proto
index 7ef63d57..bcdd7723 100644
--- a/proto/AskAddFriendNotify.proto
+++ b/proto/AskAddFriendNotify.proto
@@ -21,10 +21,15 @@ import "FriendBrief.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4065
-// EnetChannelId: 0
-// EnetIsReliable: true
message AskAddFriendNotify {
- FriendBrief target_friend_brief = 15;
- uint32 target_uid = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4089;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 5;
+ FriendBrief target_friend_brief = 1;
}
diff --git a/proto/AskAddFriendReq.proto b/proto/AskAddFriendReq.proto
index 07bcd42b..f069a9a7 100644
--- a/proto/AskAddFriendReq.proto
+++ b/proto/AskAddFriendReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4007
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AskAddFriendReq {
- uint32 target_uid = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4100;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 12;
}
diff --git a/proto/AskAddFriendRsp.proto b/proto/AskAddFriendRsp.proto
index 6f5a34f2..6b2e730c 100644
--- a/proto/AskAddFriendRsp.proto
+++ b/proto/AskAddFriendRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4021
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AskAddFriendRsp {
- uint32 param = 8;
- int32 retcode = 7;
- uint32 target_uid = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4043;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 target_uid = 9;
+ uint32 param = 12;
}
diff --git a/proto/AssociateInferenceWordReq.proto b/proto/AssociateInferenceWordReq.proto
new file mode 100644
index 00000000..9516062f
--- /dev/null
+++ b/proto/AssociateInferenceWordReq.proto
@@ -0,0 +1,35 @@
+// 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 AssociateInferenceWordReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 420;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 page_id = 6;
+ uint32 Unk3300_EPMGHELECNH = 2;
+ uint32 Unk3300_FDGLBLJOKOK = 4;
+}
diff --git a/proto/AssociateInferenceWordRsp.proto b/proto/AssociateInferenceWordRsp.proto
new file mode 100644
index 00000000..5f1cef1f
--- /dev/null
+++ b/proto/AssociateInferenceWordRsp.proto
@@ -0,0 +1,35 @@
+// 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 AssociateInferenceWordRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 463;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 Unk3300_FDGLBLJOKOK = 8;
+ uint32 Unk3300_EPMGHELECNH = 9;
+ uint32 page_id = 6;
+}
diff --git a/proto/AsterActivityDetailInfo.proto b/proto/AsterActivityDetailInfo.proto
index cbb2d05b..e743e09c 100644
--- a/proto/AsterActivityDetailInfo.proto
+++ b/proto/AsterActivityDetailInfo.proto
@@ -25,13 +25,13 @@ import "AsterProgressDetailInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message AsterActivityDetailInfo {
- AsterLittleDetailInfo aster_little = 7;
- uint32 aster_credit = 14;
- AsterLargeDetailInfo aster_large = 9;
- bool is_special_reward_taken = 1;
- bool is_content_closed = 13;
- uint32 content_close_time = 8;
- uint32 aster_token = 5;
- AsterMidDetailInfo aster_mid = 6;
- AsterProgressDetailInfo aster_progress = 2;
+ uint32 content_close_time = 1;
+ AsterLittleDetailInfo aster_little = 5;
+ uint32 Unk3300_DCHBFEJNBHP = 13;
+ AsterMidDetailInfo aster_mid = 12;
+ bool is_special_reward_taken = 3;
+ uint32 Unk3300_KFDGFFPJGJC = 4;
+ AsterProgressDetailInfo aster_progress = 8;
+ AsterLargeDetailInfo aster_large = 10;
+ bool is_content_closed = 6;
}
diff --git a/proto/AsterLargeDetailInfo.proto b/proto/AsterLargeDetailInfo.proto
index 9de30247..6f48a83a 100644
--- a/proto/AsterLargeDetailInfo.proto
+++ b/proto/AsterLargeDetailInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AsterLargeDetailInfo {
- bool is_open = 3;
- uint32 begin_time = 13;
+ uint32 begin_time = 6;
+ bool is_open = 9;
}
diff --git a/proto/AsterLargeInfoNotify.proto b/proto/AsterLargeInfoNotify.proto
new file mode 100644
index 00000000..8d1e8101
--- /dev/null
+++ b/proto/AsterLargeInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AsterLargeDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AsterLargeInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2023;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AsterLargeDetailInfo info = 6;
+}
diff --git a/proto/AsterLittleDetailInfo.proto b/proto/AsterLittleDetailInfo.proto
index 82f3ef9e..d5e18146 100644
--- a/proto/AsterLittleDetailInfo.proto
+++ b/proto/AsterLittleDetailInfo.proto
@@ -22,9 +22,9 @@ import "AsterLittleStageState.proto";
option java_package = "emu.grasscutter.net.proto";
message AsterLittleDetailInfo {
- bool is_open = 4;
- AsterLittleStageState stage_state = 7;
- uint32 stage_id = 1;
+ uint32 stage_begin_time = 9;
+ bool is_open = 8;
+ AsterLittleStageState stage_state = 5;
+ uint32 stage_id = 14;
uint32 begin_time = 6;
- uint32 stage_begin_time = 5;
}
diff --git a/proto/AsterLittleInfoNotify.proto b/proto/AsterLittleInfoNotify.proto
new file mode 100644
index 00000000..b10f69a6
--- /dev/null
+++ b/proto/AsterLittleInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AsterLittleDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AsterLittleInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2121;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AsterLittleDetailInfo info = 10;
+}
diff --git a/proto/AsterMidCampInfo.proto b/proto/AsterMidCampInfo.proto
index 5023842d..e5620b66 100644
--- a/proto/AsterMidCampInfo.proto
+++ b/proto/AsterMidCampInfo.proto
@@ -23,5 +23,5 @@ option java_package = "emu.grasscutter.net.proto";
message AsterMidCampInfo {
Vector pos = 3;
- uint32 camp_id = 8;
+ uint32 camp_id = 15;
}
diff --git a/proto/AsterMidCampInfoNotify.proto b/proto/AsterMidCampInfoNotify.proto
new file mode 100644
index 00000000..6419e180
--- /dev/null
+++ b/proto/AsterMidCampInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AsterMidCampInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AsterMidCampInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2195;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AsterMidCampInfo camp_list = 11;
+}
diff --git a/proto/AsterMidDetailInfo.proto b/proto/AsterMidDetailInfo.proto
index 8d2eaa2e..0d67a503 100644
--- a/proto/AsterMidDetailInfo.proto
+++ b/proto/AsterMidDetailInfo.proto
@@ -22,8 +22,8 @@ import "AsterMidCampInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message AsterMidDetailInfo {
- uint32 begin_time = 10;
- repeated AsterMidCampInfo camp_list = 7;
- bool is_open = 4;
- uint32 collect_count = 11;
+ bool is_open = 13;
+ repeated AsterMidCampInfo camp_list = 11;
+ uint32 begin_time = 4;
+ uint32 collect_count = 7;
}
diff --git a/proto/AsterMidInfoNotify.proto b/proto/AsterMidInfoNotify.proto
new file mode 100644
index 00000000..d0522a7d
--- /dev/null
+++ b/proto/AsterMidInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AsterMidDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AsterMidInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2055;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AsterMidDetailInfo info = 7;
+}
diff --git a/proto/AsterMiscInfoNotify.proto b/proto/AsterMiscInfoNotify.proto
new file mode 100644
index 00000000..a169bb42
--- /dev/null
+++ b/proto/AsterMiscInfoNotify.proto
@@ -0,0 +1,33 @@
+// 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 AsterMiscInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2140;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_DCHBFEJNBHP = 4;
+ uint32 Unk3300_KFDGFFPJGJC = 5;
+}
diff --git a/proto/AsterProgressDetailInfo.proto b/proto/AsterProgressDetailInfo.proto
index fe68c323..cf4dc264 100644
--- a/proto/AsterProgressDetailInfo.proto
+++ b/proto/AsterProgressDetailInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AsterProgressDetailInfo {
- uint32 last_auto_add_time = 3;
- uint32 count = 1;
+ uint32 count = 4;
+ uint32 last_auto_add_time = 1;
}
diff --git a/proto/AsterProgressInfoNotify.proto b/proto/AsterProgressInfoNotify.proto
new file mode 100644
index 00000000..382ef29c
--- /dev/null
+++ b/proto/AsterProgressInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AsterProgressDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AsterProgressInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2091;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AsterProgressDetailInfo info = 2;
+}
diff --git a/proto/AttackHitEffectResult.proto b/proto/AttackHitEffectResult.proto
index d01331a7..229779f8 100644
--- a/proto/AttackHitEffectResult.proto
+++ b/proto/AttackHitEffectResult.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AttackHitEffectResult {
- float hit_halt_time_scale = 8;
- uint32 original_hit_eff_level = 12;
- float air_strength = 15;
- uint32 hit_eff_level = 2;
- float hit_halt_time = 13;
- float retreat_strength = 7;
+ float Unk3300_DABGDGLAIKL = 13;
+ float Unk3300_JDEFHMKICPF = 10;
+ float Unk3300_ECHOFBLGIIO = 9;
+ uint32 Unk3300_LCKECJCKKJK = 8;
+ uint32 Unk3300_KLNGDAMMFIF = 1;
+ float Unk3300_MNGCOAIGGAL = 3;
}
diff --git a/proto/AttackResult.proto b/proto/AttackResult.proto
index b674f90c..cb6c23e7 100644
--- a/proto/AttackResult.proto
+++ b/proto/AttackResult.proto
@@ -25,34 +25,34 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AttackResult {
- bool is_resist_text = 1858;
- uint32 create_count_sync_to_server = 1011;
- uint32 amplify_reaction_type = 2005;
- uint32 endure_break = 7;
- uint32 element_type = 5;
- float element_durability_attenuation = 425;
- uint32 defense_id = 15;
- uint32 attack_timestamp_ms = 1188;
- uint32 bullet_fly_time_ms = 91;
- bool is_crit = 13;
- float element_amplify_rate = 900;
- uint32 attack_count = 1564;
- uint32 critical_rand = 1664;
- uint32 hit_pos_type = 2;
- string anim_event_id = 4;
+ uint32 Unk3300_CJFKCNCGJLB = 2;
+ uint32 attacker_id = 1;
+ uint32 Unk3300_GGABJNLLEAJ = 1870;
+ float Unk3300_HGJOKFPHMJJ = 803;
+ bool Unk3300_DOMAOPGPHMD = 454;
+ uint32 element_type = 12;
+ uint32 Unk3300_BALCPHMFIBC = 1438;
+ float damage = 10;
+ uint32 Unk3300_HEIMDHBPFNF = 1115;
+ uint32 Unk3300_HNKLIODEJAB = 645;
+ uint32 Unk3300_ABJJNNNKGBB = 1742;
+ uint32 Unk3300_KPKAECBFABP = 2012;
AttackHitEffectResult hit_eff_result = 8;
- float damage_shield = 1202;
- float endure_delta = 430;
- Vector resolved_dir = 1;
- float damage = 6;
- uint32 addhurt_reaction_type = 1887;
- uint32 hashed_anim_event_id = 278;
- bool use_gadget_damage_action = 1418;
- int32 hit_retreat_angle_compat = 9;
- AbilityIdentifier ability_identifier = 14;
- uint32 attacker_id = 11;
- bool mute_element_hurt = 1530;
- uint32 target_type = 1366;
- HitCollision hit_collision = 10;
- uint32 gadget_damage_action_idx = 1110;
+ uint32 Unk3300_EIGMFDMKADE = 14;
+ AbilityIdentifier ability_identifier = 7;
+ uint32 Unk3300_IPPHJMMELIG = 3;
+ uint32 Unk3300_EBCNAAJAONF = 1782;
+ float Unk3300_MEFFADEPHBM = 1932;
+ uint32 Unk3300_PIGBELICMMD = 1484;
+ bool Unk3300_PJPCBIACFJK = 633;
+ int32 hit_retreat_angle_compat = 5;
+ HitCollision hit_collision = 15;
+ bool Unk3300_MGIMJGMIPLD = 732;
+ bool Unk3300_GBKCGDPAJIE = 6;
+ Vector resolved_dir = 11;
+ float Unk3300_MPKAMIMDKOE = 28;
+ string anim_event_id = 4;
+ uint32 Unk3300_GBPJCELJKJA = 1844;
+ uint32 Unk3300_JMJHGJCAOBH = 914;
+ float Unk3300_FJJLKJBOBAC = 775;
}
diff --git a/proto/AttackResultCreateCount.proto b/proto/AttackResultCreateCount.proto
index c3c07633..63f5282e 100644
--- a/proto/AttackResultCreateCount.proto
+++ b/proto/AttackResultCreateCount.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AttackResultCreateCount {
- repeated uint32 create_count_list = 10;
- repeated uint32 create_count_no_cost_list = 7;
+ repeated uint32 Unk3300_PFFFFJBPKGN = 8;
+ repeated uint32 Unk3300_MDGFBFBAHPB = 10;
}
diff --git a/proto/AuditState.proto b/proto/AuditState.proto
new file mode 100644
index 00000000..0a4f80bc
--- /dev/null
+++ b/proto/AuditState.proto
@@ -0,0 +1,26 @@
+// 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 AuditState {
+ AUDIT_STATE_NONE = 0;
+ AUDIT_STATE_WAITING = 1;
+ AUDIT_STATE_FAILED = 2;
+}
diff --git a/proto/AuthorityChange.proto b/proto/AuthorityChange.proto
new file mode 100644
index 00000000..ea65cc54
--- /dev/null
+++ b/proto/AuthorityChange.proto
@@ -0,0 +1,28 @@
+// 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 "EntityAuthorityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AuthorityChange {
+ uint32 entity_id = 8;
+ EntityAuthorityInfo entity_authority_info = 1;
+ uint32 authority_peer_id = 2;
+}
diff --git a/proto/AvatarAddNotify.proto b/proto/AvatarAddNotify.proto
index 85905466..9bfc8a92 100644
--- a/proto/AvatarAddNotify.proto
+++ b/proto/AvatarAddNotify.proto
@@ -21,10 +21,15 @@ import "AvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1769
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarAddNotify {
- AvatarInfo avatar = 13;
- bool is_in_team = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1757;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ AvatarInfo avatar = 1;
+ bool is_in_team = 15;
}
diff --git a/proto/AvatarBuffAddNotify.proto b/proto/AvatarBuffAddNotify.proto
new file mode 100644
index 00000000..01fc7614
--- /dev/null
+++ b/proto/AvatarBuffAddNotify.proto
@@ -0,0 +1,34 @@
+// 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 AvatarBuffAddNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 394;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 11;
+ uint32 buff_id = 7;
+}
diff --git a/proto/AvatarBuffDelNotify.proto b/proto/AvatarBuffDelNotify.proto
new file mode 100644
index 00000000..82cf0b9e
--- /dev/null
+++ b/proto/AvatarBuffDelNotify.proto
@@ -0,0 +1,34 @@
+// 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 AvatarBuffDelNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 372;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 buff_id = 8;
+ uint64 avatar_guid = 5;
+}
diff --git a/proto/AvatarCardChangeReq.proto b/proto/AvatarCardChangeReq.proto
new file mode 100644
index 00000000..90b5dbd9
--- /dev/null
+++ b/proto/AvatarCardChangeReq.proto
@@ -0,0 +1,35 @@
+// 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 AvatarCardChangeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 694;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 count = 11;
+ uint32 item_id = 4;
+ uint64 avatar_guid = 14;
+}
diff --git a/proto/AvatarCardChangeRsp.proto b/proto/AvatarCardChangeRsp.proto
new file mode 100644
index 00000000..5ba1ec52
--- /dev/null
+++ b/proto/AvatarCardChangeRsp.proto
@@ -0,0 +1,32 @@
+// 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 AvatarCardChangeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 672;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+}
diff --git a/proto/AvatarChangeAnimHashReq.proto b/proto/AvatarChangeAnimHashReq.proto
new file mode 100644
index 00000000..65b354ba
--- /dev/null
+++ b/proto/AvatarChangeAnimHashReq.proto
@@ -0,0 +1,34 @@
+// 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 AvatarChangeAnimHashReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1767;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 anim_hash = 11;
+ uint64 avatar_guid = 12;
+}
diff --git a/proto/AvatarChangeAnimHashRsp.proto b/proto/AvatarChangeAnimHashRsp.proto
new file mode 100644
index 00000000..8aca152f
--- /dev/null
+++ b/proto/AvatarChangeAnimHashRsp.proto
@@ -0,0 +1,34 @@
+// 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 AvatarChangeAnimHashRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1620;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 anim_hash = 3;
+ int32 retcode = 1;
+ uint64 avatar_guid = 8;
+}
diff --git a/proto/AvatarChangeCostumeNotify.proto b/proto/AvatarChangeCostumeNotify.proto
index dcc7780b..c75091af 100644
--- a/proto/AvatarChangeCostumeNotify.proto
+++ b/proto/AvatarChangeCostumeNotify.proto
@@ -21,9 +21,14 @@ import "SceneEntityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1644
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarChangeCostumeNotify {
- SceneEntityInfo entity_info = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1665;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SceneEntityInfo entity_info = 11;
}
diff --git a/proto/AvatarChangeCostumeReq.proto b/proto/AvatarChangeCostumeReq.proto
index bb3ab1df..9863169e 100644
--- a/proto/AvatarChangeCostumeReq.proto
+++ b/proto/AvatarChangeCostumeReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1778
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarChangeCostumeReq {
- uint32 costume_id = 4;
- uint64 avatar_guid = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1707;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 6;
+ uint32 costume_id = 1;
}
diff --git a/proto/AvatarChangeCostumeRsp.proto b/proto/AvatarChangeCostumeRsp.proto
index 9b16c342..a704c430 100644
--- a/proto/AvatarChangeCostumeRsp.proto
+++ b/proto/AvatarChangeCostumeRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1645
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarChangeCostumeRsp {
- uint64 avatar_guid = 12;
- int32 retcode = 7;
- uint32 costume_id = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1609;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ uint64 avatar_guid = 9;
+ uint32 costume_id = 3;
}
diff --git a/proto/AvatarChangeElementTypeReq.proto b/proto/AvatarChangeElementTypeReq.proto
index 704c5d30..f237f493 100644
--- a/proto/AvatarChangeElementTypeReq.proto
+++ b/proto/AvatarChangeElementTypeReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1785
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarChangeElementTypeReq {
- uint32 scene_id = 7;
- uint32 area_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1779;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 area_id = 12;
+ uint32 scene_id = 3;
}
diff --git a/proto/AvatarChangeElementTypeRsp.proto b/proto/AvatarChangeElementTypeRsp.proto
index 1bde1657..aecf7fcb 100644
--- a/proto/AvatarChangeElementTypeRsp.proto
+++ b/proto/AvatarChangeElementTypeRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1651
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarChangeElementTypeRsp {
- int32 retcode = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1717;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
}
diff --git a/proto/AvatarDataNotify.proto b/proto/AvatarDataNotify.proto
index bca3db32..50e90417 100644
--- a/proto/AvatarDataNotify.proto
+++ b/proto/AvatarDataNotify.proto
@@ -18,20 +18,27 @@
syntax = "proto3";
import "AvatarInfo.proto";
+import "AvatarRenameInfo.proto";
import "AvatarTeam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1633
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarDataNotify {
- repeated uint32 owned_costume_list = 11;
- uint64 choose_avatar_guid = 8;
- map avatar_team_map = 7;
- repeated uint32 backup_avatar_team_order_list = 9;
- repeated uint64 temp_avatar_guid_list = 12;
- repeated uint32 owned_flycloak_list = 1;
- repeated AvatarInfo avatar_list = 6;
- uint32 cur_avatar_team_id = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1607;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AvatarInfo avatar_list = 14;
+ repeated AvatarRenameInfo avatar_rename_list = 8;
+ uint32 cur_avatar_team_id = 7;
+ repeated uint32 Unk3300_HHKJBGKHIEJ = 6;
+ repeated uint64 temp_avatar_guid_list = 15;
+ uint64 choose_avatar_guid = 1;
+ map avatar_team_map = 11;
+ repeated uint32 Unk3300_MDNLGGMGHAF = 5;
+ repeated uint32 backup_avatar_team_order_list = 3;
}
diff --git a/proto/AvatarDelNotify.proto b/proto/AvatarDelNotify.proto
new file mode 100644
index 00000000..f708f3ce
--- /dev/null
+++ b/proto/AvatarDelNotify.proto
@@ -0,0 +1,32 @@
+// 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 AvatarDelNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1769;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint64 avatar_guid_list = 6;
+}
diff --git a/proto/AvatarDieAnimationEndReq.proto b/proto/AvatarDieAnimationEndReq.proto
index d1ee2606..ab91cae8 100644
--- a/proto/AvatarDieAnimationEndReq.proto
+++ b/proto/AvatarDieAnimationEndReq.proto
@@ -21,12 +21,17 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1610
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarDieAnimationEndReq {
- Vector reborn_pos = 3;
- uint64 die_guid = 7;
- uint32 skill_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1695;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 die_guid = 13;
+ Vector reborn_pos = 14;
+ uint32 skill_id = 9;
}
diff --git a/proto/AvatarDieAnimationEndRsp.proto b/proto/AvatarDieAnimationEndRsp.proto
index 49ab3d51..2abcb64c 100644
--- a/proto/AvatarDieAnimationEndRsp.proto
+++ b/proto/AvatarDieAnimationEndRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1694
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarDieAnimationEndRsp {
- uint32 skill_id = 13;
- int32 retcode = 14;
- uint64 die_guid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1604;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint32 skill_id = 10;
+ uint64 die_guid = 7;
}
diff --git a/proto/AvatarEnterElementViewNotify.proto b/proto/AvatarEnterElementViewNotify.proto
new file mode 100644
index 00000000..f109dbd9
--- /dev/null
+++ b/proto/AvatarEnterElementViewNotify.proto
@@ -0,0 +1,34 @@
+// 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 AvatarEnterElementViewNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 380;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_triggered = 6;
+ uint32 avatar_entity_id = 15;
+}
diff --git a/proto/AvatarEnterSceneInfo.proto b/proto/AvatarEnterSceneInfo.proto
index 2f53e6c4..fb99618a 100644
--- a/proto/AvatarEnterSceneInfo.proto
+++ b/proto/AvatarEnterSceneInfo.proto
@@ -23,12 +23,12 @@ import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
message AvatarEnterSceneInfo {
- repeated ServerBuff server_buff_list = 14;
- uint32 avatar_entity_id = 7;
- AbilitySyncStateInfo weapon_ability_info = 12;
- uint32 weapon_entity_id = 10;
- AbilitySyncStateInfo avatar_ability_info = 2;
- uint64 avatar_guid = 13;
- uint64 weapon_guid = 9;
- repeated uint32 buff_id_list = 5;
+ uint32 weapon_entity_id = 5;
+ uint64 avatar_guid = 9;
+ uint32 avatar_entity_id = 13;
+ repeated ServerBuff server_buff_list = 7;
+ AbilitySyncStateInfo Unk3300_EMAGOKCPPKN = 6;
+ repeated uint32 buff_id_list = 8;
+ AbilitySyncStateInfo Unk3300_FCDDPFADNAI = 1;
+ uint64 weapon_guid = 15;
}
diff --git a/proto/AvatarEquipAffixStartNotify.proto b/proto/AvatarEquipAffixStartNotify.proto
index 9c193894..3c2ecd00 100644
--- a/proto/AvatarEquipAffixStartNotify.proto
+++ b/proto/AvatarEquipAffixStartNotify.proto
@@ -21,10 +21,15 @@ import "AvatarEquipAffixInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1662
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarEquipAffixStartNotify {
- uint64 avatar_guid = 4;
- AvatarEquipAffixInfo equip_affix_info = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1708;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 1;
+ AvatarEquipAffixInfo equip_affix_info = 9;
}
diff --git a/proto/AvatarEquipChangeNotify.proto b/proto/AvatarEquipChangeNotify.proto
index 0da6a96e..6f6323b1 100644
--- a/proto/AvatarEquipChangeNotify.proto
+++ b/proto/AvatarEquipChangeNotify.proto
@@ -22,15 +22,20 @@ import "SceneWeaponInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 647
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarEquipChangeNotify {
- uint64 avatar_guid = 10;
- uint64 equip_guid = 13;
- SceneReliquaryInfo reliquary = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 676;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 7;
+ uint32 equip_type = 10;
+ uint64 equip_guid = 5;
+ uint32 item_id = 3;
+ SceneReliquaryInfo reliquary = 4;
SceneWeaponInfo weapon = 15;
- uint32 item_id = 14;
- uint32 equip_type = 8;
}
diff --git a/proto/AvatarExpeditionAllDataReq.proto b/proto/AvatarExpeditionAllDataReq.proto
index 77cf36f3..510863af 100644
--- a/proto/AvatarExpeditionAllDataReq.proto
+++ b/proto/AvatarExpeditionAllDataReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1722
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message AvatarExpeditionAllDataReq {}
+message AvatarExpeditionAllDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1685;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/AvatarExpeditionAllDataRsp.proto b/proto/AvatarExpeditionAllDataRsp.proto
index 234361d7..3088447d 100644
--- a/proto/AvatarExpeditionAllDataRsp.proto
+++ b/proto/AvatarExpeditionAllDataRsp.proto
@@ -21,12 +21,17 @@ import "AvatarExpeditionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1648
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarExpeditionAllDataRsp {
- repeated uint32 open_expedition_list = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1621;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
int32 retcode = 15;
- uint32 expedition_count_limit = 12;
- map expedition_info_map = 4;
+ repeated uint32 open_expedition_list = 4;
+ map expedition_info_map = 1;
+ uint32 expedition_count_limit = 13;
}
diff --git a/proto/AvatarExpeditionCallBackReq.proto b/proto/AvatarExpeditionCallBackReq.proto
index b132e8c0..d3d19ee3 100644
--- a/proto/AvatarExpeditionCallBackReq.proto
+++ b/proto/AvatarExpeditionCallBackReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1752
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarExpeditionCallBackReq {
- repeated uint64 avatar_guid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1777;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 avatar_guid = 14;
}
diff --git a/proto/AvatarExpeditionCallBackRsp.proto b/proto/AvatarExpeditionCallBackRsp.proto
index f7b05a67..90cc657b 100644
--- a/proto/AvatarExpeditionCallBackRsp.proto
+++ b/proto/AvatarExpeditionCallBackRsp.proto
@@ -21,10 +21,15 @@ import "AvatarExpeditionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1726
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarExpeditionCallBackRsp {
- map expedition_info_map = 9;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1702;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ map expedition_info_map = 7;
}
diff --git a/proto/AvatarExpeditionDataNotify.proto b/proto/AvatarExpeditionDataNotify.proto
index 622e4753..95a90055 100644
--- a/proto/AvatarExpeditionDataNotify.proto
+++ b/proto/AvatarExpeditionDataNotify.proto
@@ -21,9 +21,14 @@ import "AvatarExpeditionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1771
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarExpeditionDataNotify {
- map expedition_info_map = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1632;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map expedition_info_map = 15;
}
diff --git a/proto/AvatarExpeditionGetRewardReq.proto b/proto/AvatarExpeditionGetRewardReq.proto
index ddd966a5..c6527d3c 100644
--- a/proto/AvatarExpeditionGetRewardReq.proto
+++ b/proto/AvatarExpeditionGetRewardReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1623
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarExpeditionGetRewardReq {
- uint64 avatar_guid = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1640;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 2;
}
diff --git a/proto/AvatarExpeditionGetRewardRsp.proto b/proto/AvatarExpeditionGetRewardRsp.proto
index 3766533f..be82aa28 100644
--- a/proto/AvatarExpeditionGetRewardRsp.proto
+++ b/proto/AvatarExpeditionGetRewardRsp.proto
@@ -22,12 +22,17 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1784
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarExpeditionGetRewardRsp {
- repeated ItemParam extra_item_list = 9;
- repeated ItemParam item_list = 8;
- map expedition_info_map = 12;
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1715;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam item_list = 7;
+ repeated ItemParam extra_item_list = 11;
+ map expedition_info_map = 13;
+ int32 retcode = 8;
}
diff --git a/proto/AvatarExpeditionStartReq.proto b/proto/AvatarExpeditionStartReq.proto
index 92da0073..dc600310 100644
--- a/proto/AvatarExpeditionStartReq.proto
+++ b/proto/AvatarExpeditionStartReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1715
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarExpeditionStartReq {
- uint32 exp_id = 9;
- uint64 avatar_guid = 10;
- uint32 hour_time = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1697;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 hour_time = 7;
+ uint64 avatar_guid = 3;
+ uint32 exp_id = 2;
}
diff --git a/proto/AvatarExpeditionStartRsp.proto b/proto/AvatarExpeditionStartRsp.proto
index 6d634e21..8f4001f2 100644
--- a/proto/AvatarExpeditionStartRsp.proto
+++ b/proto/AvatarExpeditionStartRsp.proto
@@ -21,10 +21,15 @@ import "AvatarExpeditionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1719
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarExpeditionStartRsp {
- map expedition_info_map = 2;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1646;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ map expedition_info_map = 8;
}
diff --git a/proto/AvatarFetterDataNotify.proto b/proto/AvatarFetterDataNotify.proto
index f6ee9641..738860e4 100644
--- a/proto/AvatarFetterDataNotify.proto
+++ b/proto/AvatarFetterDataNotify.proto
@@ -21,9 +21,14 @@ import "AvatarFetterInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1782
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFetterDataNotify {
- map fetter_info_map = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1617;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map fetter_info_map = 2;
}
diff --git a/proto/AvatarFetterLevelRewardReq.proto b/proto/AvatarFetterLevelRewardReq.proto
index 1f52c078..b6d0850c 100644
--- a/proto/AvatarFetterLevelRewardReq.proto
+++ b/proto/AvatarFetterLevelRewardReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1653
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarFetterLevelRewardReq {
- uint64 avatar_guid = 1;
- uint32 fetter_level = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1642;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 2;
+ uint32 fetter_level = 5;
}
diff --git a/proto/AvatarFetterLevelRewardRsp.proto b/proto/AvatarFetterLevelRewardRsp.proto
index a8ab016c..19850dc3 100644
--- a/proto/AvatarFetterLevelRewardRsp.proto
+++ b/proto/AvatarFetterLevelRewardRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1606
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFetterLevelRewardRsp {
- uint64 avatar_guid = 4;
- uint32 reward_id = 1;
- int32 retcode = 13;
- uint32 fetter_level = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1753;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ uint32 reward_id = 15;
+ uint32 fetter_level = 1;
+ uint64 avatar_guid = 6;
}
diff --git a/proto/AvatarFightPropNotify.proto b/proto/AvatarFightPropNotify.proto
index af546c28..1394bcc6 100644
--- a/proto/AvatarFightPropNotify.proto
+++ b/proto/AvatarFightPropNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1207
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFightPropNotify {
- map fight_prop_map = 8;
- uint64 avatar_guid = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1300;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 13;
+ map fight_prop_map = 5;
}
diff --git a/proto/AvatarFightPropUpdateNotify.proto b/proto/AvatarFightPropUpdateNotify.proto
index b561c7a4..13d14ac4 100644
--- a/proto/AvatarFightPropUpdateNotify.proto
+++ b/proto/AvatarFightPropUpdateNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1221
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFightPropUpdateNotify {
- map fight_prop_map = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1243;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
uint64 avatar_guid = 13;
+ map fight_prop_map = 10;
}
diff --git a/proto/AvatarFlycloakChangeNotify.proto b/proto/AvatarFlycloakChangeNotify.proto
index 4fd7e134..c318eb7d 100644
--- a/proto/AvatarFlycloakChangeNotify.proto
+++ b/proto/AvatarFlycloakChangeNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1643
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFlycloakChangeNotify {
- uint32 flycloak_id = 8;
- uint64 avatar_guid = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1790;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 flycloak_id = 1;
+ uint64 avatar_guid = 13;
}
diff --git a/proto/AvatarFollowRouteNotify.proto b/proto/AvatarFollowRouteNotify.proto
index f1de13d8..091c5bda 100644
--- a/proto/AvatarFollowRouteNotify.proto
+++ b/proto/AvatarFollowRouteNotify.proto
@@ -21,13 +21,18 @@ import "Route.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3458
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarFollowRouteNotify {
- uint32 entity_id = 4;
- uint32 template_id = 6;
- uint32 start_scene_time_ms = 8;
- Route route = 2;
- string client_params = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3256;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string client_params = 5;
+ Route route = 1;
+ uint32 entity_id = 10;
+ uint32 template_id = 4;
+ uint32 start_scene_time_ms = 3;
}
diff --git a/proto/AvatarGainCostumeNotify.proto b/proto/AvatarGainCostumeNotify.proto
index 2c79482e..223d8a67 100644
--- a/proto/AvatarGainCostumeNotify.proto
+++ b/proto/AvatarGainCostumeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1677
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarGainCostumeNotify {
- uint32 costume_id = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1625;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 costume_id = 10;
}
diff --git a/proto/AvatarGainFlycloakNotify.proto b/proto/AvatarGainFlycloakNotify.proto
index 4ac4997e..23cf68cb 100644
--- a/proto/AvatarGainFlycloakNotify.proto
+++ b/proto/AvatarGainFlycloakNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1656
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarGainFlycloakNotify {
- uint32 flycloak_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1676;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 flycloak_id = 4;
}
diff --git a/proto/AvatarLifeStateChangeNotify.proto b/proto/AvatarLifeStateChangeNotify.proto
index 7a5833f7..8b6d5543 100644
--- a/proto/AvatarLifeStateChangeNotify.proto
+++ b/proto/AvatarLifeStateChangeNotify.proto
@@ -22,15 +22,20 @@ import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1290
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarLifeStateChangeNotify {
- uint32 life_state = 13;
- string attack_tag = 10;
- PlayerDieType die_type = 2;
- repeated ServerBuff server_buff_list = 12;
- uint32 move_reliable_seq = 5;
- uint32 source_entity_id = 3;
- uint64 avatar_guid = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1247;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 source_entity_id = 11;
+ repeated ServerBuff server_buff_list = 14;
+ uint32 move_reliable_seq = 12;
+ uint32 life_state = 6;
+ PlayerDieType die_type = 5;
+ string attack_tag = 15;
+ uint64 avatar_guid = 2;
}
diff --git a/proto/AvatarPromoteGetRewardReq.proto b/proto/AvatarPromoteGetRewardReq.proto
new file mode 100644
index 00000000..5841c13b
--- /dev/null
+++ b/proto/AvatarPromoteGetRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 AvatarPromoteGetRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1684;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 4;
+ uint32 promote_level = 5;
+}
diff --git a/proto/AvatarPromoteGetRewardRsp.proto b/proto/AvatarPromoteGetRewardRsp.proto
new file mode 100644
index 00000000..1c411def
--- /dev/null
+++ b/proto/AvatarPromoteGetRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 AvatarPromoteGetRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1658;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 promote_level = 9;
+ uint64 avatar_guid = 5;
+ int32 retcode = 8;
+ uint32 reward_id = 12;
+}
diff --git a/proto/AvatarPromoteReq.proto b/proto/AvatarPromoteReq.proto
index 4cb559f8..4792fd54 100644
--- a/proto/AvatarPromoteReq.proto
+++ b/proto/AvatarPromoteReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1664
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarPromoteReq {
- uint64 guid = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1731;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 guid = 1;
}
diff --git a/proto/AvatarPromoteRsp.proto b/proto/AvatarPromoteRsp.proto
index dd10828b..a9dd7332 100644
--- a/proto/AvatarPromoteRsp.proto
+++ b/proto/AvatarPromoteRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1639
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarPromoteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1710;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
uint64 guid = 11;
- int32 retcode = 8;
+ int32 retcode = 13;
}
diff --git a/proto/AvatarPropChangeReasonNotify.proto b/proto/AvatarPropChangeReasonNotify.proto
index 28950ba9..d1d64060 100644
--- a/proto/AvatarPropChangeReasonNotify.proto
+++ b/proto/AvatarPropChangeReasonNotify.proto
@@ -21,13 +21,18 @@ import "PropChangeReason.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1273
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarPropChangeReasonNotify {
- float old_value = 11;
- PropChangeReason reason = 5;
- uint32 prop_type = 1;
- uint64 avatar_guid = 8;
- float cur_value = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1278;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 prop_type = 7;
+ PropChangeReason reason = 15;
+ float cur_value = 14;
+ uint64 avatar_guid = 3;
+ float old_value = 13;
}
diff --git a/proto/AvatarPropNotify.proto b/proto/AvatarPropNotify.proto
index a6c85f5e..888180d0 100644
--- a/proto/AvatarPropNotify.proto
+++ b/proto/AvatarPropNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1231
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarPropNotify {
- map prop_map = 14;
- uint64 avatar_guid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1227;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 1;
+ map prop_map = 8;
}
diff --git a/proto/AvatarRenameAuditContent.proto b/proto/AvatarRenameAuditContent.proto
new file mode 100644
index 00000000..55478949
--- /dev/null
+++ b/proto/AvatarRenameAuditContent.proto
@@ -0,0 +1,26 @@
+// 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 AvatarRenameAuditContent {
+ string type = 1;
+ string content = 2;
+ uint32 auto_fail_time = 3;
+}
diff --git a/proto/AvatarRenameAuditData.proto b/proto/AvatarRenameAuditData.proto
new file mode 100644
index 00000000..6b94b4d1
--- /dev/null
+++ b/proto/AvatarRenameAuditData.proto
@@ -0,0 +1,34 @@
+// 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 "AvatarRenameContentAuditField.proto";
+import "ContentAuditAuxiliaryField.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AvatarRenameAuditData {
+ string aid = 1;
+ string entity_id = 2;
+ string lang = 3;
+ string queue_key = 4;
+ string region = 5;
+ uint32 uid = 6;
+ repeated AvatarRenameContentAuditField audit_field_list = 7;
+ repeated ContentAuditAuxiliaryField aux_field_list = 8;
+}
diff --git a/proto/AvatarRenameContentAuditField.proto b/proto/AvatarRenameContentAuditField.proto
new file mode 100644
index 00000000..2639e27b
--- /dev/null
+++ b/proto/AvatarRenameContentAuditField.proto
@@ -0,0 +1,27 @@
+// 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 "AvatarRenameAuditContent.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AvatarRenameContentAuditField {
+ repeated AvatarRenameAuditContent segment_list = 1;
+ string name = 2;
+}
diff --git a/proto/AvatarRenameInfo.proto b/proto/AvatarRenameInfo.proto
new file mode 100644
index 00000000..a9ee9b67
--- /dev/null
+++ b/proto/AvatarRenameInfo.proto
@@ -0,0 +1,25 @@
+// 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 AvatarRenameInfo {
+ string avatar_name = 3;
+ uint32 avatar_id = 7;
+}
diff --git a/proto/AvatarRenameInfoNotify.proto b/proto/AvatarRenameInfoNotify.proto
new file mode 100644
index 00000000..22dfe6b5
--- /dev/null
+++ b/proto/AvatarRenameInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AvatarRenameInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AvatarRenameInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1797;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AvatarRenameInfo avatar_rename_list = 11;
+}
diff --git a/proto/AvatarSatiationData.proto b/proto/AvatarSatiationData.proto
new file mode 100644
index 00000000..8706e444
--- /dev/null
+++ b/proto/AvatarSatiationData.proto
@@ -0,0 +1,26 @@
+// 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 AvatarSatiationData {
+ uint64 avatar_guid = 15;
+ float penalty_finish_time = 6;
+ float finish_time = 7;
+}
diff --git a/proto/AvatarSatiationDataNotify.proto b/proto/AvatarSatiationDataNotify.proto
new file mode 100644
index 00000000..e258df48
--- /dev/null
+++ b/proto/AvatarSatiationDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AvatarSatiationData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AvatarSatiationDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1766;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AvatarSatiationData satiation_data_list = 13;
+}
diff --git a/proto/AvatarSkillChangeNotify.proto b/proto/AvatarSkillChangeNotify.proto
index 82550a78..c6c46336 100644
--- a/proto/AvatarSkillChangeNotify.proto
+++ b/proto/AvatarSkillChangeNotify.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1097
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarSkillChangeNotify {
- uint32 cur_level = 11;
- uint64 avatar_guid = 2;
- uint32 entity_id = 7;
- uint32 skill_depot_id = 13;
- uint32 old_level = 1;
- uint32 avatar_skill_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1099;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 4;
+ uint32 old_level = 7;
+ uint32 cur_level = 15;
+ uint32 skill_depot_id = 6;
+ uint32 entity_id = 1;
+ uint32 avatar_skill_id = 11;
}
diff --git a/proto/AvatarSkillDepotChangeNotify.proto b/proto/AvatarSkillDepotChangeNotify.proto
index 8e622705..5795a10e 100644
--- a/proto/AvatarSkillDepotChangeNotify.proto
+++ b/proto/AvatarSkillDepotChangeNotify.proto
@@ -19,16 +19,21 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1035
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarSkillDepotChangeNotify {
- uint32 skill_depot_id = 15;
- map proud_skill_extra_level_map = 14;
- repeated uint32 talent_id_list = 9;
- repeated uint32 proud_skill_list = 4;
- uint32 core_proud_skill_level = 2;
- uint32 entity_id = 7;
- uint64 avatar_guid = 12;
- map skill_level_map = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1019;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map proud_skill_extra_level_map = 9;
+ repeated uint32 proud_skill_list = 3;
+ uint32 entity_id = 5;
+ uint64 avatar_guid = 7;
+ map skill_level_map = 1;
+ uint32 skill_depot_id = 13;
+ repeated uint32 talent_id_list = 14;
+ uint32 core_proud_skill_level = 15;
}
diff --git a/proto/AvatarSkillInfoNotify.proto b/proto/AvatarSkillInfoNotify.proto
index d7c8ba2f..862b1964 100644
--- a/proto/AvatarSkillInfoNotify.proto
+++ b/proto/AvatarSkillInfoNotify.proto
@@ -21,10 +21,15 @@ import "AvatarSkillInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1090
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarSkillInfoNotify {
- map skill_map = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1047;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map skill_map = 6;
uint64 guid = 4;
}
diff --git a/proto/AvatarSkillMaxChargeCountNotify.proto b/proto/AvatarSkillMaxChargeCountNotify.proto
index 4dc5b9f4..63fe55bb 100644
--- a/proto/AvatarSkillMaxChargeCountNotify.proto
+++ b/proto/AvatarSkillMaxChargeCountNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1003
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarSkillMaxChargeCountNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1061;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 4;
+ uint32 max_charge_count = 9;
uint32 skill_id = 6;
- uint32 max_charge_count = 11;
- uint64 avatar_guid = 7;
}
diff --git a/proto/AvatarSkillUpgradeReq.proto b/proto/AvatarSkillUpgradeReq.proto
index 5b52b2dc..d4e13466 100644
--- a/proto/AvatarSkillUpgradeReq.proto
+++ b/proto/AvatarSkillUpgradeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1075
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarSkillUpgradeReq {
- uint64 avatar_guid = 7;
- uint32 old_level = 3;
- uint32 avatar_skill_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1039;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 5;
+ uint32 avatar_skill_id = 12;
+ uint32 old_level = 8;
}
diff --git a/proto/AvatarSkillUpgradeRsp.proto b/proto/AvatarSkillUpgradeRsp.proto
index 517624c2..63abde5f 100644
--- a/proto/AvatarSkillUpgradeRsp.proto
+++ b/proto/AvatarSkillUpgradeRsp.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1048
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarSkillUpgradeRsp {
- uint64 avatar_guid = 11;
- uint32 cur_level = 14;
- uint32 avatar_skill_id = 9;
- uint32 old_level = 3;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1048;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_level = 6;
+ uint32 avatar_skill_id = 13;
+ int32 retcode = 15;
+ uint32 old_level = 1;
+ uint64 avatar_guid = 5;
}
diff --git a/proto/AvatarTeam.proto b/proto/AvatarTeam.proto
index 60518646..f6b0c6e8 100644
--- a/proto/AvatarTeam.proto
+++ b/proto/AvatarTeam.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarTeam {
- repeated uint64 avatar_guid_list = 7;
- string team_name = 14;
+ repeated uint64 avatar_guid_list = 13;
+ string team_name = 4;
}
diff --git a/proto/AvatarTeamAllDataNotify.proto b/proto/AvatarTeamAllDataNotify.proto
index f22453e9..48b2473d 100644
--- a/proto/AvatarTeamAllDataNotify.proto
+++ b/proto/AvatarTeamAllDataNotify.proto
@@ -21,11 +21,16 @@ import "AvatarTeam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1749
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarTeamAllDataNotify {
- repeated uint64 temp_avatar_guid_list = 6;
- map avatar_team_map = 3;
- repeated uint32 backup_avatar_team_order_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1615;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint64 temp_avatar_guid_list = 2;
+ repeated uint32 backup_avatar_team_order_list = 10;
+ map avatar_team_map = 5;
}
diff --git a/proto/AvatarTeamResonanceInfo.proto b/proto/AvatarTeamResonanceInfo.proto
index 20e9bf5b..e46ddb41 100644
--- a/proto/AvatarTeamResonanceInfo.proto
+++ b/proto/AvatarTeamResonanceInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarTeamResonanceInfo {
- repeated uint32 add_team_resonance_id_list = 5;
- uint32 entity_id = 11;
- uint64 avatar_guid = 3;
- repeated uint32 del_team_resonance_id_list = 14;
+ uint64 avatar_guid = 9;
+ uint32 entity_id = 8;
+ repeated uint32 Unk3300_MBJEEEEEJCE = 15;
+ repeated uint32 Unk3300_LPAKGGBBDNJ = 13;
}
diff --git a/proto/AvatarTeamUpdateNotify.proto b/proto/AvatarTeamUpdateNotify.proto
index d25c93f8..55baa00e 100644
--- a/proto/AvatarTeamUpdateNotify.proto
+++ b/proto/AvatarTeamUpdateNotify.proto
@@ -21,10 +21,15 @@ import "AvatarTeam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1706
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarTeamUpdateNotify {
- map avatar_team_map = 2;
- repeated uint64 temp_avatar_guid_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1739;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map avatar_team_map = 15;
+ repeated uint64 temp_avatar_guid_list = 10;
}
diff --git a/proto/AvatarType.proto b/proto/AvatarType.proto
new file mode 100644
index 00000000..ab44f94f
--- /dev/null
+++ b/proto/AvatarType.proto
@@ -0,0 +1,27 @@
+// 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 AvatarType {
+ AVATAR_TYPE_NONE = 0;
+ AVATAR_TYPE_FORMAL = 1;
+ AVATAR_TYPE_TRIAL = 2;
+ AVATAR_TYPE_MIRROR = 3;
+}
diff --git a/proto/AvatarUnlockTalentNotify.proto b/proto/AvatarUnlockTalentNotify.proto
index cc128881..802a26bd 100644
--- a/proto/AvatarUnlockTalentNotify.proto
+++ b/proto/AvatarUnlockTalentNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1012
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarUnlockTalentNotify {
- uint32 entity_id = 14;
- uint64 avatar_guid = 13;
- uint32 talent_id = 10;
- uint32 skill_depot_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1056;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 skill_depot_id = 9;
+ uint64 avatar_guid = 3;
+ uint32 entity_id = 10;
+ uint32 talent_id = 8;
}
diff --git a/proto/AvatarUpgradeReq.proto b/proto/AvatarUpgradeReq.proto
index f0537f66..e5c17351 100644
--- a/proto/AvatarUpgradeReq.proto
+++ b/proto/AvatarUpgradeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1770
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarUpgradeReq {
- uint64 avatar_guid = 6;
- uint32 count = 2;
- uint32 item_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1653;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 item_id = 12;
+ uint32 count = 7;
+ uint64 avatar_guid = 1;
}
diff --git a/proto/AvatarUpgradeRsp.proto b/proto/AvatarUpgradeRsp.proto
index 2de73230..f53b1b56 100644
--- a/proto/AvatarUpgradeRsp.proto
+++ b/proto/AvatarUpgradeRsp.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1701
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarUpgradeRsp {
- uint32 cur_level = 6;
- uint32 old_level = 13;
- map old_fight_prop_map = 10;
- int32 retcode = 1;
- map cur_fight_prop_map = 4;
- uint64 avatar_guid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1792;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint64 avatar_guid = 14;
+ uint32 cur_level = 9;
+ map Unk3300_OIMPFCDCDGA = 13;
+ map Unk3300_BFNHHNKOLBH = 6;
+ uint32 old_level = 12;
}
diff --git a/proto/AvatarWearFlycloakReq.proto b/proto/AvatarWearFlycloakReq.proto
index 3a2df53d..f9812aec 100644
--- a/proto/AvatarWearFlycloakReq.proto
+++ b/proto/AvatarWearFlycloakReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1737
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message AvatarWearFlycloakReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1636;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint64 avatar_guid = 11;
- uint32 flycloak_id = 13;
+ uint32 flycloak_id = 15;
}
diff --git a/proto/AvatarWearFlycloakRsp.proto b/proto/AvatarWearFlycloakRsp.proto
index 33ee4cb8..5cd15540 100644
--- a/proto/AvatarWearFlycloakRsp.proto
+++ b/proto/AvatarWearFlycloakRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1698
-// EnetChannelId: 0
-// EnetIsReliable: true
message AvatarWearFlycloakRsp {
- uint32 flycloak_id = 13;
- uint64 avatar_guid = 7;
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1613;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint64 avatar_guid = 14;
+ uint32 flycloak_id = 1;
}
diff --git a/proto/BackMyWorldReq.proto b/proto/BackMyWorldReq.proto
new file mode 100644
index 00000000..ccd1472f
--- /dev/null
+++ b/proto/BackMyWorldReq.proto
@@ -0,0 +1,31 @@
+// 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 BackMyWorldReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 269;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BackMyWorldRsp.proto b/proto/BackMyWorldRsp.proto
new file mode 100644
index 00000000..04747fa8
--- /dev/null
+++ b/proto/BackMyWorldRsp.proto
@@ -0,0 +1,32 @@
+// 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 BackMyWorldRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 218;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+}
diff --git a/proto/BackPlayCustomDungeonOfficialReq.proto b/proto/BackPlayCustomDungeonOfficialReq.proto
new file mode 100644
index 00000000..f6db5e45
--- /dev/null
+++ b/proto/BackPlayCustomDungeonOfficialReq.proto
@@ -0,0 +1,33 @@
+// 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 BackPlayCustomDungeonOfficialReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6224;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 room_id = 6;
+}
diff --git a/proto/BackPlayCustomDungeonOfficialRsp.proto b/proto/BackPlayCustomDungeonOfficialRsp.proto
new file mode 100644
index 00000000..1a5c57ff
--- /dev/null
+++ b/proto/BackPlayCustomDungeonOfficialRsp.proto
@@ -0,0 +1,32 @@
+// 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 BackPlayCustomDungeonOfficialRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6220;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/BackRebornGalleryReq.proto b/proto/BackRebornGalleryReq.proto
new file mode 100644
index 00000000..953b356b
--- /dev/null
+++ b/proto/BackRebornGalleryReq.proto
@@ -0,0 +1,33 @@
+// 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 BackRebornGalleryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5507;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 14;
+}
diff --git a/proto/BackRebornGalleryRsp.proto b/proto/BackRebornGalleryRsp.proto
new file mode 100644
index 00000000..c09802a7
--- /dev/null
+++ b/proto/BackRebornGalleryRsp.proto
@@ -0,0 +1,33 @@
+// 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 BackRebornGalleryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5517;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 10;
+ int32 retcode = 11;
+}
diff --git a/proto/BalloonGalleryInfo.proto b/proto/BalloonGalleryInfo.proto
new file mode 100644
index 00000000..4460387d
--- /dev/null
+++ b/proto/BalloonGalleryInfo.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_ONCHFHBBCBN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BalloonGalleryInfo {
+ repeated Unk2700_ONCHFHBBCBN record_list = 15;
+}
diff --git a/proto/BalloonGallerySettleInfo.proto b/proto/BalloonGallerySettleInfo.proto
new file mode 100644
index 00000000..aada8b75
--- /dev/null
+++ b/proto/BalloonGallerySettleInfo.proto
@@ -0,0 +1,29 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BalloonGallerySettleInfo {
+ uint32 score = 12;
+ uint32 owner_uid = 2;
+ GalleryStopReason reason = 7;
+ uint32 hit_count = 13;
+}
diff --git a/proto/BalloonPlayerInfo.proto b/proto/BalloonPlayerInfo.proto
new file mode 100644
index 00000000..c5327cfb
--- /dev/null
+++ b/proto/BalloonPlayerInfo.proto
@@ -0,0 +1,27 @@
+// 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 BalloonPlayerInfo {
+ uint32 cur_score = 9;
+ uint32 combo = 11;
+ uint32 uid = 8;
+ uint32 combo_disable_time = 7;
+}
diff --git a/proto/BalloonSettleInfo.proto b/proto/BalloonSettleInfo.proto
new file mode 100644
index 00000000..01ffbc31
--- /dev/null
+++ b/proto/BalloonSettleInfo.proto
@@ -0,0 +1,30 @@
+// 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 "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BalloonSettleInfo {
+ OnlinePlayerInfo player_info = 8;
+ uint32 uid = 13;
+ uint32 final_score = 2;
+ uint32 max_combo = 7;
+ uint32 shoot_count = 14;
+}
diff --git a/proto/BargainOfferPriceReq.proto b/proto/BargainOfferPriceReq.proto
new file mode 100644
index 00000000..2b816173
--- /dev/null
+++ b/proto/BargainOfferPriceReq.proto
@@ -0,0 +1,34 @@
+// 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 BargainOfferPriceReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 407;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 bargain_id = 5;
+ uint32 price = 3;
+}
diff --git a/proto/BargainOfferPriceRsp.proto b/proto/BargainOfferPriceRsp.proto
new file mode 100644
index 00000000..ea5e7da3
--- /dev/null
+++ b/proto/BargainOfferPriceRsp.proto
@@ -0,0 +1,37 @@
+// 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 "BargainResultType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BargainOfferPriceRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 417;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 result_param = 12;
+ BargainResultType bargain_result = 10;
+ int32 retcode = 1;
+ int32 cur_mood = 7;
+}
diff --git a/proto/BargainResultType.proto b/proto/BargainResultType.proto
new file mode 100644
index 00000000..202ea415
--- /dev/null
+++ b/proto/BargainResultType.proto
@@ -0,0 +1,26 @@
+// 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 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..f0173950
--- /dev/null
+++ b/proto/BargainSnapshot.proto
@@ -0,0 +1,27 @@
+// 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 BargainSnapshot {
+ uint32 Unk3300_KOCJELACJLM = 11;
+ uint32 Unk3300_MHFDEBOBFNE = 14;
+ uint32 bargain_id = 3;
+ int32 cur_mood = 8;
+}
diff --git a/proto/BargainStartNotify.proto b/proto/BargainStartNotify.proto
new file mode 100644
index 00000000..2794f02f
--- /dev/null
+++ b/proto/BargainStartNotify.proto
@@ -0,0 +1,35 @@
+// 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 "BargainSnapshot.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BargainStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 444;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 bargain_id = 11;
+ BargainSnapshot snapshot = 10;
+}
diff --git a/proto/BargainTerminateNotify.proto b/proto/BargainTerminateNotify.proto
new file mode 100644
index 00000000..4ba22dc8
--- /dev/null
+++ b/proto/BargainTerminateNotify.proto
@@ -0,0 +1,32 @@
+// 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 BargainTerminateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 405;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 bargain_id = 7;
+}
diff --git a/proto/BartenderActivityDetailInfo.proto b/proto/BartenderActivityDetailInfo.proto
index 078737fc..de9d57ba 100644
--- a/proto/BartenderActivityDetailInfo.proto
+++ b/proto/BartenderActivityDetailInfo.proto
@@ -23,10 +23,10 @@ import "BartenderTaskInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message BartenderActivityDetailInfo {
- repeated uint32 unlock_item_list = 3;
- bool is_develop_module_open = 13;
- bool is_content_closed = 6;
- repeated BartenderLevelInfo unlock_level_list = 5;
- repeated uint32 unlock_formula_list = 14;
- repeated BartenderTaskInfo unlock_task_list = 2;
+ bool is_content_closed = 15;
+ repeated BartenderLevelInfo unlock_level_list = 10;
+ repeated uint32 Unk3300_BPCBOANPBHF = 3;
+ repeated uint32 Unk3300_OGPLCBFDHCF = 6;
+ repeated BartenderTaskInfo unlock_task_list = 5;
+ bool is_develop_module_open = 9;
}
diff --git a/proto/BartenderCancelLevelReq.proto b/proto/BartenderCancelLevelReq.proto
new file mode 100644
index 00000000..6c1b87fa
--- /dev/null
+++ b/proto/BartenderCancelLevelReq.proto
@@ -0,0 +1,33 @@
+// 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 BartenderCancelLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8446;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 14;
+}
diff --git a/proto/BartenderCancelLevelRsp.proto b/proto/BartenderCancelLevelRsp.proto
new file mode 100644
index 00000000..511f9fd2
--- /dev/null
+++ b/proto/BartenderCancelLevelRsp.proto
@@ -0,0 +1,33 @@
+// 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 BartenderCancelLevelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8698;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 level_id = 7;
+}
diff --git a/proto/BartenderCancelOrderReq.proto b/proto/BartenderCancelOrderReq.proto
new file mode 100644
index 00000000..fdf6eb1f
--- /dev/null
+++ b/proto/BartenderCancelOrderReq.proto
@@ -0,0 +1,33 @@
+// 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 BartenderCancelOrderReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8249;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 quest_id = 5;
+}
diff --git a/proto/BartenderCancelOrderRsp.proto b/proto/BartenderCancelOrderRsp.proto
new file mode 100644
index 00000000..49837ff0
--- /dev/null
+++ b/proto/BartenderCancelOrderRsp.proto
@@ -0,0 +1,33 @@
+// 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 BartenderCancelOrderRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8254;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quest_id = 11;
+ int32 retcode = 2;
+}
diff --git a/proto/BartenderCompleteOrderReq.proto b/proto/BartenderCompleteOrderReq.proto
new file mode 100644
index 00000000..a42ee74d
--- /dev/null
+++ b/proto/BartenderCompleteOrderReq.proto
@@ -0,0 +1,41 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BartenderCompleteOrderReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8880;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 quest_id = 14;
+ repeated uint32 optional_order_list = 15;
+ uint32 Unk3300_NKMHHHHGHIF = 6;
+ uint32 Unk3300_LONHKJFDOND = 5;
+ uint32 Unk3300_POEGPFJLNGB = 11;
+ bool is_view_formula = 8;
+ repeated ItemParam item_list = 12;
+}
diff --git a/proto/BartenderCompleteOrderRsp.proto b/proto/BartenderCompleteOrderRsp.proto
new file mode 100644
index 00000000..2660429a
--- /dev/null
+++ b/proto/BartenderCompleteOrderRsp.proto
@@ -0,0 +1,37 @@
+// 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 BartenderCompleteOrderRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8870;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 formula_id = 9;
+ uint32 quest_id = 7;
+ uint32 finish_order_id = 6;
+ int32 retcode = 10;
+ bool is_new = 8;
+ repeated uint32 affix_list = 1;
+}
diff --git a/proto/BartenderFinishLevelReq.proto b/proto/BartenderFinishLevelReq.proto
new file mode 100644
index 00000000..c645cadc
--- /dev/null
+++ b/proto/BartenderFinishLevelReq.proto
@@ -0,0 +1,33 @@
+// 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 BartenderFinishLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8122;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 4;
+}
diff --git a/proto/BartenderFinishLevelRsp.proto b/proto/BartenderFinishLevelRsp.proto
new file mode 100644
index 00000000..a4dfdd1e
--- /dev/null
+++ b/proto/BartenderFinishLevelRsp.proto
@@ -0,0 +1,33 @@
+// 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 BartenderFinishLevelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8250;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 1;
+ int32 retcode = 2;
+}
diff --git a/proto/BartenderGetFormulaReq.proto b/proto/BartenderGetFormulaReq.proto
new file mode 100644
index 00000000..227d6655
--- /dev/null
+++ b/proto/BartenderGetFormulaReq.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BartenderGetFormulaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8230;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ItemParam item_list = 1;
+ uint32 quest_id = 4;
+}
diff --git a/proto/BartenderGetFormulaRsp.proto b/proto/BartenderGetFormulaRsp.proto
new file mode 100644
index 00000000..880dd726
--- /dev/null
+++ b/proto/BartenderGetFormulaRsp.proto
@@ -0,0 +1,35 @@
+// 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 BartenderGetFormulaRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8975;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 formula_id = 15;
+ repeated uint32 affix_list = 1;
+ int32 retcode = 7;
+ bool is_new = 10;
+}
diff --git a/proto/BartenderLevelInfo.proto b/proto/BartenderLevelInfo.proto
index 52f21150..5a07cd63 100644
--- a/proto/BartenderLevelInfo.proto
+++ b/proto/BartenderLevelInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BartenderLevelInfo {
- bool is_finish = 7;
- uint32 max_score = 9;
- uint32 id = 4;
+ uint32 id = 12;
+ bool is_finish = 3;
+ uint32 max_score = 2;
}
diff --git a/proto/BartenderLevelProgressNotify.proto b/proto/BartenderLevelProgressNotify.proto
new file mode 100644
index 00000000..e28a0111
--- /dev/null
+++ b/proto/BartenderLevelProgressNotify.proto
@@ -0,0 +1,36 @@
+// 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 BartenderLevelProgressNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8415;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_finish = 8;
+ bool is_new_record = 6;
+ uint32 level_id = 12;
+ uint32 score = 3;
+}
diff --git a/proto/BartenderStartLevelReq.proto b/proto/BartenderStartLevelReq.proto
new file mode 100644
index 00000000..38506e68
--- /dev/null
+++ b/proto/BartenderStartLevelReq.proto
@@ -0,0 +1,33 @@
+// 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 BartenderStartLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8590;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 7;
+}
diff --git a/proto/BartenderStartLevelRsp.proto b/proto/BartenderStartLevelRsp.proto
new file mode 100644
index 00000000..945ee8d4
--- /dev/null
+++ b/proto/BartenderStartLevelRsp.proto
@@ -0,0 +1,35 @@
+// 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 BartenderStartLevelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8142;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 8;
+ repeated uint32 order_list = 12;
+ int32 retcode = 11;
+ uint32 time = 14;
+}
diff --git a/proto/BartenderTaskInfo.proto b/proto/BartenderTaskInfo.proto
index 14609951..460fee6d 100644
--- a/proto/BartenderTaskInfo.proto
+++ b/proto/BartenderTaskInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BartenderTaskInfo {
- uint32 id = 1;
- bool is_finish = 14;
+ uint32 id = 5;
+ bool is_finish = 3;
}
diff --git a/proto/BatchBuyGoodsReq.proto b/proto/BatchBuyGoodsReq.proto
new file mode 100644
index 00000000..31127ceb
--- /dev/null
+++ b/proto/BatchBuyGoodsReq.proto
@@ -0,0 +1,36 @@
+// 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 "BuyGoodsParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BatchBuyGoodsReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 778;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 shop_type = 15;
+ repeated BuyGoodsParam buy_goods_list = 12;
+}
diff --git a/proto/BatchBuyGoodsRsp.proto b/proto/BatchBuyGoodsRsp.proto
new file mode 100644
index 00000000..46d67ec4
--- /dev/null
+++ b/proto/BatchBuyGoodsRsp.proto
@@ -0,0 +1,38 @@
+// 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 "BuyGoodsParam.proto";
+import "ShopGoods.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BatchBuyGoodsRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 757;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 shop_type = 6;
+ repeated ShopGoods goods_list = 15;
+ int32 retcode = 13;
+ repeated BuyGoodsParam buy_goods_list = 8;
+}
diff --git a/proto/BattlePassAllDataNotify.proto b/proto/BattlePassAllDataNotify.proto
index 5a2b91a6..f4d8e365 100644
--- a/proto/BattlePassAllDataNotify.proto
+++ b/proto/BattlePassAllDataNotify.proto
@@ -22,11 +22,16 @@ import "BattlePassSchedule.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2626
-// EnetChannelId: 0
-// EnetIsReliable: true
message BattlePassAllDataNotify {
- bool have_cur_schedule = 2;
- repeated BattlePassMission mission_list = 4;
- BattlePassSchedule cur_schedule = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2642;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated BattlePassMission mission_list = 1;
+ BattlePassSchedule cur_schedule = 10;
+ bool have_cur_schedule = 3;
}
diff --git a/proto/BattlePassBuySuccNotify.proto b/proto/BattlePassBuySuccNotify.proto
new file mode 100644
index 00000000..fa4f08e8
--- /dev/null
+++ b/proto/BattlePassBuySuccNotify.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BattlePassBuySuccNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2602;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_PJODFJKAFLG = 4;
+ uint32 Unk3300_IJOIKKDNKDE = 9;
+ uint32 schedule_id = 11;
+ repeated ItemParam item_list = 10;
+}
diff --git a/proto/BattlePassCurScheduleUpdateNotify.proto b/proto/BattlePassCurScheduleUpdateNotify.proto
index 10b3670d..955cad65 100644
--- a/proto/BattlePassCurScheduleUpdateNotify.proto
+++ b/proto/BattlePassCurScheduleUpdateNotify.proto
@@ -21,10 +21,15 @@ import "BattlePassSchedule.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2607
-// EnetChannelId: 0
-// EnetIsReliable: true
message BattlePassCurScheduleUpdateNotify {
- bool have_cur_schedule = 11;
- BattlePassSchedule cur_schedule = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2635;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ BattlePassSchedule cur_schedule = 2;
+ bool have_cur_schedule = 12;
}
diff --git a/proto/BattlePassCycle.proto b/proto/BattlePassCycle.proto
index 9e1523d2..d40e5ac6 100644
--- a/proto/BattlePassCycle.proto
+++ b/proto/BattlePassCycle.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BattlePassCycle {
- uint32 cycle_idx = 3;
- uint32 end_time = 10;
+ uint32 end_time = 5;
uint32 begin_time = 13;
+ uint32 cycle_idx = 15;
}
diff --git a/proto/BattlePassMission.proto b/proto/BattlePassMission.proto
index ff052198..a2f5e6a4 100644
--- a/proto/BattlePassMission.proto
+++ b/proto/BattlePassMission.proto
@@ -20,17 +20,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BattlePassMission {
- uint32 cur_progress = 13;
- MissionStatus mission_status = 15;
- uint32 mission_id = 11;
- uint32 reward_battle_pass_point = 3;
- uint32 mission_type = 12;
- uint32 total_progress = 6;
-
enum MissionStatus {
MISSION_STATUS_INVALID = 0;
MISSION_STATUS_UNFINISHED = 1;
MISSION_STATUS_FINISHED = 2;
MISSION_STATUS_POINT_TAKEN = 3;
}
+
+ uint32 cur_progress = 10;
+ uint32 Unk3300_MBOMOLFKPPO = 9;
+ uint32 Unk3300_DAHDCJNCALE = 14;
+ uint32 total_progress = 12;
+ uint32 mission_id = 15;
+ MissionStatus mission_status = 11;
}
diff --git a/proto/BattlePassMissionDelNotify.proto b/proto/BattlePassMissionDelNotify.proto
index 68f5535a..faab3f97 100644
--- a/proto/BattlePassMissionDelNotify.proto
+++ b/proto/BattlePassMissionDelNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2625
-// EnetChannelId: 0
-// EnetIsReliable: true
message BattlePassMissionDelNotify {
- repeated uint32 del_mission_id_list = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2622;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 del_mission_id_list = 15;
}
diff --git a/proto/BattlePassMissionUpdateNotify.proto b/proto/BattlePassMissionUpdateNotify.proto
index 43a8b7be..6ae893ce 100644
--- a/proto/BattlePassMissionUpdateNotify.proto
+++ b/proto/BattlePassMissionUpdateNotify.proto
@@ -21,9 +21,14 @@ import "BattlePassMission.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2618
-// EnetChannelId: 0
-// EnetIsReliable: true
message BattlePassMissionUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2641;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
repeated BattlePassMission mission_list = 1;
}
diff --git a/proto/BattlePassProduct.proto b/proto/BattlePassProduct.proto
index 37364d09..cdf1dc2c 100644
--- a/proto/BattlePassProduct.proto
+++ b/proto/BattlePassProduct.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BattlePassProduct {
- string normal_product_id = 13;
- string extra_product_id = 10;
- string upgrade_product_id = 6;
+ string Unk3300_AOMGCJOGGED = 12;
+ string Unk3300_NHOAGMGNEIM = 9;
+ string Unk3300_NIEBADLADMK = 7;
}
diff --git a/proto/BattlePassRewardTag.proto b/proto/BattlePassRewardTag.proto
index e93ce9dd..1765de85 100644
--- a/proto/BattlePassRewardTag.proto
+++ b/proto/BattlePassRewardTag.proto
@@ -22,7 +22,7 @@ import "BattlePassUnlockStatus.proto";
option java_package = "emu.grasscutter.net.proto";
message BattlePassRewardTag {
- uint32 level = 4;
- BattlePassUnlockStatus unlock_status = 2;
- uint32 reward_id = 7;
+ BattlePassUnlockStatus unlock_status = 11;
+ uint32 reward_id = 4;
+ uint32 level = 1;
}
diff --git a/proto/BattlePassRewardTakeOption.proto b/proto/BattlePassRewardTakeOption.proto
index 6fa36dc1..44a4445f 100644
--- a/proto/BattlePassRewardTakeOption.proto
+++ b/proto/BattlePassRewardTakeOption.proto
@@ -22,6 +22,6 @@ import "BattlePassRewardTag.proto";
option java_package = "emu.grasscutter.net.proto";
message BattlePassRewardTakeOption {
- BattlePassRewardTag tag = 10;
- uint32 option_idx = 14;
+ uint32 option_idx = 5;
+ BattlePassRewardTag tag = 15;
}
diff --git a/proto/BattlePassSchedule.proto b/proto/BattlePassSchedule.proto
index 43afea18..6a66f597 100644
--- a/proto/BattlePassSchedule.proto
+++ b/proto/BattlePassSchedule.proto
@@ -25,17 +25,17 @@ import "BattlePassUnlockStatus.proto";
option java_package = "emu.grasscutter.net.proto";
message BattlePassSchedule {
- uint32 level = 14;
- uint32 begin_time = 2;
- uint32 end_time = 15;
- uint32 point = 1;
- BattlePassCycle cur_cycle = 4;
- BattlePassUnlockStatus unlock_status = 7;
- repeated BattlePassRewardTag reward_taken_list = 11;
- uint32 cur_cycle_points = 10;
- uint32 paid_platform_flags = 12;
- BattlePassProduct product_info = 13;
- bool is_extra_paid_reward_taken = 6;
- bool is_viewed = 3;
- uint32 schedule_id = 9;
+ uint32 schedule_id = 5;
+ uint32 Unk3300_MAAJDKMIODC = 2;
+ uint32 level = 7;
+ bool Unk3300_KODFJENCJLE = 8;
+ uint32 Unk3300_ELMNFBOLEOA = 14;
+ bool Unk3300_KALOGHHMJJE = 12;
+ uint32 Unk3300_FILCIPPAHHL = 4;
+ BattlePassCycle cur_cycle = 11;
+ uint32 begin_time = 1;
+ BattlePassUnlockStatus unlock_status = 15;
+ BattlePassProduct product_info = 10;
+ uint32 end_time = 13;
+ repeated BattlePassRewardTag reward_taken_list = 3;
}
diff --git a/proto/BeginCameraSceneLookNotify.proto b/proto/BeginCameraSceneLookNotify.proto
index 6197f87c..c6a55df6 100644
--- a/proto/BeginCameraSceneLookNotify.proto
+++ b/proto/BeginCameraSceneLookNotify.proto
@@ -21,33 +21,38 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 270
-// EnetChannelId: 0
-// EnetIsReliable: true
message BeginCameraSceneLookNotify {
- uint32 blend_type = 1154;
- float custom_radius = 7;
- bool is_set_screen_xy = 5;
- Vector look_pos = 4;
- bool is_recover_keep_current = 11;
- bool is_abs_follow_pos = 1375;
- KeepRotType keep_rot_type = 6;
- bool is_change_play_mode = 9;
- uint32 disable_protect = 1103;
- float screen_y = 15;
- bool is_set_follow_pos = 13;
- bool is_force = 12;
- float blend_duration = 1758;
- uint32 entity_id = 1327;
- float screen_x = 3;
- bool is_force_walk = 10;
- repeated string other_params = 1;
- Vector follow_pos = 8;
- bool is_allow_input = 2;
- float duration = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 249;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum KeepRotType {
KEEP_ROT_TYPE_X = 0;
KEEP_ROT_TYPE_XY = 1;
}
+
+ float Unk3300_HKKCHCEMJIE = 1716;
+ bool Unk3300_DFPCMOFONNK = 15;
+ bool Unk3300_EELNOAICHOJ = 4;
+ bool Unk3300_ODADMBBFPAP = 7;
+ float duration = 2;
+ uint32 Unk3300_KCHKKBODNCJ = 1746;
+ float Unk3300_FIOLGCIKFLH = 10;
+ repeated string other_params = 9;
+ bool Unk3300_NJLBIMJDFHJ = 3;
+ bool Unk3300_AAOGBCCNJAF = 1224;
+ uint32 entity_id = 1403;
+ KeepRotType keep_rot_type = 11;
+ Vector Unk3300_PPCIDICMIEN = 8;
+ uint32 Unk3300_AJEENEOCFON = 965;
+ bool Unk3300_ONBDMCHFPDL = 5;
+ bool Unk3300_PIEFLAEGGBI = 6;
+ Vector Unk3300_FJDFGLNLMBN = 13;
+ bool Unk3300_ILMHDLHLKGJ = 1;
+ float Unk3300_HCLPGGAOIAC = 12;
+ float Unk3300_HFPCHFNFJKP = 14;
}
diff --git a/proto/BeginCameraSceneLookWithTemplateNotify.proto b/proto/BeginCameraSceneLookWithTemplateNotify.proto
new file mode 100644
index 00000000..04bb2a59
--- /dev/null
+++ b/proto/BeginCameraSceneLookWithTemplateNotify.proto
@@ -0,0 +1,45 @@
+// 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 BeginCameraSceneLookWithTemplateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3342;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum FollowType {
+ FOLLOW_TYPE_INIT_FOLLOW_POS = 0;
+ FOLLOW_TYPE_SET_FOLLOW_POS = 1;
+ FOLLOW_TYPE_SET_ABS_FOLLOW_POS = 2;
+ }
+
+ FollowType follow_type = 5;
+ uint32 entity_id = 7;
+ Vector Unk3300_FJDFGLNLMBN = 1;
+ uint32 template_id = 13;
+ repeated string other_params = 12;
+ Vector Unk3300_PPCIDICMIEN = 10;
+}
diff --git a/proto/BigTalentPointConvertReq.proto b/proto/BigTalentPointConvertReq.proto
new file mode 100644
index 00000000..7c1a6a3d
--- /dev/null
+++ b/proto/BigTalentPointConvertReq.proto
@@ -0,0 +1,34 @@
+// 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 BigTalentPointConvertReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1100;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 item_guid_list = 14;
+ uint64 avatar_guid = 7;
+}
diff --git a/proto/BigTalentPointConvertRsp.proto b/proto/BigTalentPointConvertRsp.proto
new file mode 100644
index 00000000..182094fc
--- /dev/null
+++ b/proto/BigTalentPointConvertRsp.proto
@@ -0,0 +1,33 @@
+// 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 BigTalentPointConvertRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1043;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint64 avatar_guid = 11;
+}
diff --git a/proto/BlessingAcceptAllGivePicReq.proto b/proto/BlessingAcceptAllGivePicReq.proto
new file mode 100644
index 00000000..18e83695
--- /dev/null
+++ b/proto/BlessingAcceptAllGivePicReq.proto
@@ -0,0 +1,31 @@
+// 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 BlessingAcceptAllGivePicReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2009;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BlessingAcceptAllGivePicRsp.proto b/proto/BlessingAcceptAllGivePicRsp.proto
new file mode 100644
index 00000000..b5f7d7b4
--- /dev/null
+++ b/proto/BlessingAcceptAllGivePicRsp.proto
@@ -0,0 +1,34 @@
+// 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 BlessingAcceptAllGivePicRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2065;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 accept_index_list = 11;
+ int32 retcode = 4;
+ map accept_pic_num_map = 15;
+}
diff --git a/proto/BlessingAcceptGivePicReq.proto b/proto/BlessingAcceptGivePicReq.proto
new file mode 100644
index 00000000..9ed2f9da
--- /dev/null
+++ b/proto/BlessingAcceptGivePicReq.proto
@@ -0,0 +1,34 @@
+// 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 BlessingAcceptGivePicReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2153;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 3;
+ uint32 index = 9;
+}
diff --git a/proto/BlessingAcceptGivePicRsp.proto b/proto/BlessingAcceptGivePicRsp.proto
new file mode 100644
index 00000000..9d47ff22
--- /dev/null
+++ b/proto/BlessingAcceptGivePicRsp.proto
@@ -0,0 +1,35 @@
+// 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 BlessingAcceptGivePicRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2010;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 index = 15;
+ uint32 pic_id = 12;
+ uint32 uid = 4;
+ int32 retcode = 8;
+}
diff --git a/proto/BlessingActivityDetailInfo.proto b/proto/BlessingActivityDetailInfo.proto
index 4b2b0f19..fb354b7e 100644
--- a/proto/BlessingActivityDetailInfo.proto
+++ b/proto/BlessingActivityDetailInfo.proto
@@ -20,12 +20,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BlessingActivityDetailInfo {
- uint32 cur_day_scan_type = 9;
- bool is_content_closed = 11;
- map pic_num_map = 15;
- uint32 content_close_time = 2;
- uint32 cur_day_scan_num = 4;
- uint32 redeem_reward_num = 1;
- bool is_activated = 13;
+ uint32 cur_day_scan_num = 10;
+ uint32 content_close_time = 8;
+ uint32 Unk3300_JLADHEKJPBP = 1;
uint32 next_refresh_time = 6;
+ bool is_activated = 5;
+ uint32 Unk3300_INOHLELBOAM = 7;
+ bool is_content_closed = 2;
+ map pic_num_map = 11;
}
diff --git a/proto/BlessingFriendPicData.proto b/proto/BlessingFriendPicData.proto
new file mode 100644
index 00000000..71fbc701
--- /dev/null
+++ b/proto/BlessingFriendPicData.proto
@@ -0,0 +1,32 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BlessingFriendPicData {
+ string remark_name = 8;
+ uint32 avatar_id = 4;
+ string signature = 13;
+ map pic_num_map = 5;
+ uint32 uid = 15;
+ string nickname = 9;
+ ProfilePicture profile_picture = 7;
+}
diff --git a/proto/BlessingGetAllRecvPicRecordListReq.proto b/proto/BlessingGetAllRecvPicRecordListReq.proto
new file mode 100644
index 00000000..d9dac228
--- /dev/null
+++ b/proto/BlessingGetAllRecvPicRecordListReq.proto
@@ -0,0 +1,31 @@
+// 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 BlessingGetAllRecvPicRecordListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2084;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BlessingGetAllRecvPicRecordListRsp.proto b/proto/BlessingGetAllRecvPicRecordListRsp.proto
new file mode 100644
index 00000000..29f4259c
--- /dev/null
+++ b/proto/BlessingGetAllRecvPicRecordListRsp.proto
@@ -0,0 +1,35 @@
+// 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 "BlessingRecvPicRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BlessingGetAllRecvPicRecordListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2058;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ repeated BlessingRecvPicRecord recv_pic_record_list = 6;
+}
diff --git a/proto/BlessingGetFriendPicListReq.proto b/proto/BlessingGetFriendPicListReq.proto
new file mode 100644
index 00000000..bd1c8e25
--- /dev/null
+++ b/proto/BlessingGetFriendPicListReq.proto
@@ -0,0 +1,31 @@
+// 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 BlessingGetFriendPicListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2190;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BlessingGetFriendPicListRsp.proto b/proto/BlessingGetFriendPicListRsp.proto
new file mode 100644
index 00000000..55d567c0
--- /dev/null
+++ b/proto/BlessingGetFriendPicListRsp.proto
@@ -0,0 +1,35 @@
+// 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 "BlessingFriendPicData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BlessingGetFriendPicListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2076;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ repeated BlessingFriendPicData friend_pic_data_list = 8;
+}
diff --git a/proto/BlessingGiveFriendPicReq.proto b/proto/BlessingGiveFriendPicReq.proto
new file mode 100644
index 00000000..b032e701
--- /dev/null
+++ b/proto/BlessingGiveFriendPicReq.proto
@@ -0,0 +1,34 @@
+// 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 BlessingGiveFriendPicReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2108;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 pic_id = 11;
+ uint32 uid = 10;
+}
diff --git a/proto/BlessingGiveFriendPicRsp.proto b/proto/BlessingGiveFriendPicRsp.proto
new file mode 100644
index 00000000..500960d7
--- /dev/null
+++ b/proto/BlessingGiveFriendPicRsp.proto
@@ -0,0 +1,34 @@
+// 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 BlessingGiveFriendPicRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2042;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 pic_id = 6;
+ uint32 uid = 9;
+}
diff --git a/proto/BlessingRecvFriendPicNotify.proto b/proto/BlessingRecvFriendPicNotify.proto
new file mode 100644
index 00000000..3054e68c
--- /dev/null
+++ b/proto/BlessingRecvFriendPicNotify.proto
@@ -0,0 +1,33 @@
+// 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 BlessingRecvFriendPicNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2107;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 pic_id = 4;
+ uint32 uid = 14;
+}
diff --git a/proto/BlessingRecvPicRecord.proto b/proto/BlessingRecvPicRecord.proto
new file mode 100644
index 00000000..c837aff1
--- /dev/null
+++ b/proto/BlessingRecvPicRecord.proto
@@ -0,0 +1,34 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BlessingRecvPicRecord {
+ bool is_recv = 2;
+ string nickname = 5;
+ uint32 avatar_id = 6;
+ ProfilePicture profile_picture = 9;
+ string signature = 10;
+ string remark_name = 8;
+ uint32 uid = 3;
+ uint32 pic_id = 12;
+ uint32 index = 11;
+}
diff --git a/proto/BlessingRedeemRewardReq.proto b/proto/BlessingRedeemRewardReq.proto
new file mode 100644
index 00000000..c70de283
--- /dev/null
+++ b/proto/BlessingRedeemRewardReq.proto
@@ -0,0 +1,31 @@
+// 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 BlessingRedeemRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2036;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BlessingRedeemRewardRsp.proto b/proto/BlessingRedeemRewardRsp.proto
new file mode 100644
index 00000000..fa82f461
--- /dev/null
+++ b/proto/BlessingRedeemRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 BlessingRedeemRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2013;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map pic_num_map = 10;
+ int32 retcode = 11;
+}
diff --git a/proto/BlessingScanReq.proto b/proto/BlessingScanReq.proto
new file mode 100644
index 00000000..aa4c4650
--- /dev/null
+++ b/proto/BlessingScanReq.proto
@@ -0,0 +1,33 @@
+// 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 BlessingScanReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2186;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 12;
+}
diff --git a/proto/BlessingScanRsp.proto b/proto/BlessingScanRsp.proto
new file mode 100644
index 00000000..c5a109b6
--- /dev/null
+++ b/proto/BlessingScanRsp.proto
@@ -0,0 +1,34 @@
+// 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 BlessingScanRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2166;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint32 cur_day_scan_num = 11;
+ uint32 scan_pic_id = 12;
+}
diff --git a/proto/BlitzRushActivityDetailInfo.proto b/proto/BlitzRushActivityDetailInfo.proto
index bdba9cd5..201f2b7c 100644
--- a/proto/BlitzRushActivityDetailInfo.proto
+++ b/proto/BlitzRushActivityDetailInfo.proto
@@ -23,8 +23,8 @@ import "ParkourLevelInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message BlitzRushActivityDetailInfo {
- repeated BlitzRushStage stage_list = 10;
- uint32 content_close_time = 14;
- bool is_content_closed = 2;
- repeated ParkourLevelInfo parkour_level_info_list = 6;
+ bool is_content_closed = 1;
+ uint32 content_close_time = 8;
+ repeated ParkourLevelInfo parkour_level_info_list = 4;
+ repeated BlitzRushStage stage_list = 6;
}
diff --git a/proto/BlitzRushParkourRestartReq.proto b/proto/BlitzRushParkourRestartReq.proto
new file mode 100644
index 00000000..2ded0c98
--- /dev/null
+++ b/proto/BlitzRushParkourRestartReq.proto
@@ -0,0 +1,34 @@
+// 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 BlitzRushParkourRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8986;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 14;
+ uint32 group_id = 2;
+}
diff --git a/proto/BlitzRushParkourRestartRsp.proto b/proto/BlitzRushParkourRestartRsp.proto
new file mode 100644
index 00000000..8a16335c
--- /dev/null
+++ b/proto/BlitzRushParkourRestartRsp.proto
@@ -0,0 +1,34 @@
+// 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 BlitzRushParkourRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8453;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 3;
+ uint32 group_id = 8;
+ int32 retcode = 6;
+}
diff --git a/proto/BlitzRushStage.proto b/proto/BlitzRushStage.proto
index 8d86e908..ddf70786 100644
--- a/proto/BlitzRushStage.proto
+++ b/proto/BlitzRushStage.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BlitzRushStage {
- bool is_open = 13;
- uint32 open_time = 11;
+ bool is_open = 8;
+ uint32 open_time = 12;
}
diff --git a/proto/BlossomBriefInfo.proto b/proto/BlossomBriefInfo.proto
index e5de208f..f148aff5 100644
--- a/proto/BlossomBriefInfo.proto
+++ b/proto/BlossomBriefInfo.proto
@@ -22,14 +22,14 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message BlossomBriefInfo {
- uint32 refresh_id = 13;
- uint32 reward_id = 5;
- uint32 city_id = 10;
- uint32 resin = 11;
- uint32 state = 7;
- bool is_guide_opened = 1;
- uint32 monster_level = 8;
- uint32 circle_camp_id = 15;
- Vector pos = 12;
- uint32 scene_id = 9;
+ Vector pos = 7;
+ bool is_guide_opened = 15;
+ uint32 reward_id = 3;
+ uint32 resin = 5;
+ uint32 city_id = 8;
+ uint32 circle_camp_id = 10;
+ uint32 state = 11;
+ uint32 monster_level = 1;
+ uint32 scene_id = 4;
+ uint32 refresh_id = 14;
}
diff --git a/proto/BlossomBriefInfoNotify.proto b/proto/BlossomBriefInfoNotify.proto
index d68a6732..3cc93629 100644
--- a/proto/BlossomBriefInfoNotify.proto
+++ b/proto/BlossomBriefInfoNotify.proto
@@ -21,10 +21,15 @@ import "BlossomBriefInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2712
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message BlossomBriefInfoNotify {
- repeated BlossomBriefInfo brief_info_list = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2756;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated BlossomBriefInfo brief_info_list = 8;
}
diff --git a/proto/BlossomChestCreateNotify.proto b/proto/BlossomChestCreateNotify.proto
new file mode 100644
index 00000000..5c2c1fbe
--- /dev/null
+++ b/proto/BlossomChestCreateNotify.proto
@@ -0,0 +1,34 @@
+// 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 BlossomChestCreateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2743;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 refresh_id = 7;
+ uint32 circle_camp_id = 15;
+}
diff --git a/proto/BlossomChestInfoNotify.proto b/proto/BlossomChestInfoNotify.proto
new file mode 100644
index 00000000..40d9daf5
--- /dev/null
+++ b/proto/BlossomChestInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 "BlossomChestInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BlossomChestInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 847;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ BlossomChestInfo blossom_chest_info = 13;
+ uint32 entity_id = 10;
+}
diff --git a/proto/BlossomScheduleInfo.proto b/proto/BlossomScheduleInfo.proto
new file mode 100644
index 00000000..ab6ea1eb
--- /dev/null
+++ b/proto/BlossomScheduleInfo.proto
@@ -0,0 +1,29 @@
+// 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 BlossomScheduleInfo {
+ uint32 progress = 1;
+ uint32 state = 5;
+ uint32 finish_progress = 10;
+ uint32 refresh_id = 12;
+ uint32 circle_camp_id = 2;
+ uint32 round = 14;
+}
diff --git a/proto/BonusActivityInfo.proto b/proto/BonusActivityInfo.proto
index af76b503..758a8dbf 100644
--- a/proto/BonusActivityInfo.proto
+++ b/proto/BonusActivityInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BonusActivityInfo {
- uint32 bonus_activity_id = 6;
- uint32 state = 3;
+ uint32 bonus_activity_id = 14;
+ uint32 state = 8;
}
diff --git a/proto/BonusActivityInfoReq.proto b/proto/BonusActivityInfoReq.proto
index 5746b42c..64ea99c8 100644
--- a/proto/BonusActivityInfoReq.proto
+++ b/proto/BonusActivityInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2548
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message BonusActivityInfoReq {}
+message BonusActivityInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2548;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BonusActivityInfoRsp.proto b/proto/BonusActivityInfoRsp.proto
index 338a3f5f..db5e66c1 100644
--- a/proto/BonusActivityInfoRsp.proto
+++ b/proto/BonusActivityInfoRsp.proto
@@ -21,10 +21,15 @@ import "BonusActivityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2597
-// EnetChannelId: 0
-// EnetIsReliable: true
message BonusActivityInfoRsp {
- repeated BonusActivityInfo bonus_activity_info_list = 2;
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2599;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ repeated BonusActivityInfo bonus_activity_info_list = 15;
}
diff --git a/proto/BonusActivityUpdateNotify.proto b/proto/BonusActivityUpdateNotify.proto
new file mode 100644
index 00000000..b8e8b6d7
--- /dev/null
+++ b/proto/BonusActivityUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "BonusActivityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BonusActivityUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2539;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated BonusActivityInfo bonus_activity_info_list = 7;
+}
diff --git a/proto/BonusOpActivityInfo.proto b/proto/BonusOpActivityInfo.proto
index d0a71698..038f0fde 100644
--- a/proto/BonusOpActivityInfo.proto
+++ b/proto/BonusOpActivityInfo.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BonusOpActivityInfo {
- uint32 left_bonus_count = 11;
+ uint32 left_bonus_count = 8;
}
diff --git a/proto/BossChestActivateNotify.proto b/proto/BossChestActivateNotify.proto
new file mode 100644
index 00000000..b21b7bef
--- /dev/null
+++ b/proto/BossChestActivateNotify.proto
@@ -0,0 +1,33 @@
+// 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 BossChestActivateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 861;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 15;
+ repeated uint32 qualify_uid_list = 7;
+}
diff --git a/proto/BounceConjuringActivityDetailInfo.proto b/proto/BounceConjuringActivityDetailInfo.proto
index 3abc1d2e..942f0674 100644
--- a/proto/BounceConjuringActivityDetailInfo.proto
+++ b/proto/BounceConjuringActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "BounceConjuringChapterInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message BounceConjuringActivityDetailInfo {
- repeated BounceConjuringChapterInfo chapter_info_list = 8;
- bool is_content_closed = 12;
- uint32 content_close_time = 7;
+ bool is_content_closed = 8;
+ repeated BounceConjuringChapterInfo chapter_info_list = 15;
+ uint32 content_close_time = 2;
}
diff --git a/proto/BounceConjuringChapterInfo.proto b/proto/BounceConjuringChapterInfo.proto
index 4829eb62..25742773 100644
--- a/proto/BounceConjuringChapterInfo.proto
+++ b/proto/BounceConjuringChapterInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BounceConjuringChapterInfo {
- uint32 best_score = 12;
- uint32 open_time = 9;
- uint32 chapter_id = 13;
+ uint32 best_score = 3;
+ uint32 open_time = 2;
+ uint32 chapter_id = 11;
}
diff --git a/proto/BounceConjuringGallerySettleInfo.proto b/proto/BounceConjuringGallerySettleInfo.proto
new file mode 100644
index 00000000..43e083d5
--- /dev/null
+++ b/proto/BounceConjuringGallerySettleInfo.proto
@@ -0,0 +1,35 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BounceConjuringGallerySettleInfo {
+ uint32 Unk3300_PELHBJDMKAE = 6;
+ uint32 score = 15;
+ map gadget_count_map = 3;
+ uint32 Unk3300_CNGOBOFDEOE = 11;
+ uint32 Unk3300_NKGFKLGDFAC = 1;
+ OnlinePlayerInfo player_info = 2;
+ float damage = 12;
+ uint32 Unk3300_BJHCDKNFDFN = 7;
+ repeated ExhibitionDisplayInfo card_list = 9;
+}
diff --git a/proto/BounceConjuringSettleNotify.proto b/proto/BounceConjuringSettleNotify.proto
new file mode 100644
index 00000000..bad8a9e0
--- /dev/null
+++ b/proto/BounceConjuringSettleNotify.proto
@@ -0,0 +1,37 @@
+// 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 "BounceConjuringGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BounceConjuringSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8653;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 4;
+ uint32 total_score = 11;
+ map settle_info_map = 10;
+ uint32 chapter_id = 7;
+}
diff --git a/proto/BreakoutAction.proto b/proto/BreakoutAction.proto
new file mode 100644
index 00000000..8930244c
--- /dev/null
+++ b/proto/BreakoutAction.proto
@@ -0,0 +1,51 @@
+// 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 "BreakoutVector2.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutAction {
+ enum BreakoutActionType {
+ BREAKOUT_ACTION_TYPE_NONE = 0;
+ BREAKOUT_ACTION_TYPE_LAUNCH_BALL = 1;
+ BREAKOUT_ACTION_TYPE_DESTROY_BALL = 2;
+ BREAKOUT_ACTION_TYPE_FALLING_OBJECT = 3;
+ BREAKOUT_ACTION_TYPE_MISSILE = 4;
+ }
+
+ BreakoutActionType action_type = 1;
+ uint64 client_game_time = 2;
+ uint64 server_game_time = 3;
+ bool is_failed = 4;
+ uint32 pre_index = 5;
+ uint32 new_index = 6;
+ BreakoutVector2 pos = 7;
+ BreakoutVector2 move_dir = 8;
+ int32 speed = 9;
+ uint32 peer_id = 10;
+ uint32 element_type = 11;
+ uint32 element_reaction_buff = 12;
+ uint32 speed_increase_count = 13;
+ bool has_extra_ball = 14;
+ BreakoutVector2 extra_ball_dir = 15;
+ uint32 extra_ball_index = 16;
+ int32 offset = 17;
+ uint64 Unk3300_AIEBGJHBOHL = 18;
+}
diff --git a/proto/BreakoutBrickInfo.proto b/proto/BreakoutBrickInfo.proto
new file mode 100644
index 00000000..4c0df736
--- /dev/null
+++ b/proto/BreakoutBrickInfo.proto
@@ -0,0 +1,25 @@
+// 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 BreakoutBrickInfo {
+ uint32 hp = 1;
+ uint32 element_type = 2;
+}
diff --git a/proto/BreakoutElementReactionCounter.proto b/proto/BreakoutElementReactionCounter.proto
new file mode 100644
index 00000000..69929ed3
--- /dev/null
+++ b/proto/BreakoutElementReactionCounter.proto
@@ -0,0 +1,25 @@
+// 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 BreakoutElementReactionCounter {
+ uint32 element_reaction = 1;
+ uint32 count = 2;
+}
diff --git a/proto/BreakoutPhysicalObject.proto b/proto/BreakoutPhysicalObject.proto
new file mode 100644
index 00000000..12ec287b
--- /dev/null
+++ b/proto/BreakoutPhysicalObject.proto
@@ -0,0 +1,43 @@
+// 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 "BreakoutBrickInfo.proto";
+import "BreakoutPhysicalObjectModifier.proto";
+import "BreakoutVector2.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutPhysicalObject {
+ uint32 id = 1;
+ uint32 index = 2;
+ bool is_active = 3;
+ BreakoutVector2 pos = 4;
+ BreakoutVector2 move_dir = 5;
+ int32 speed = 6;
+ uint32 init_peer_id = 7;
+ uint32 state = 8;
+ uint32 element_type = 9;
+ uint32 element_reaction_buff = 10;
+ repeated BreakoutPhysicalObjectModifier modifier_list = 11;
+ int32 total_rotation = 12;
+ repeated BreakoutBrickInfo info_list = 13;
+ uint32 last_hit_peer_id = 14;
+ uint32 speed_increase_count = 15;
+ int32 offset = 16;
+}
diff --git a/proto/BreakoutPhysicalObjectModifier.proto b/proto/BreakoutPhysicalObjectModifier.proto
new file mode 100644
index 00000000..3902826d
--- /dev/null
+++ b/proto/BreakoutPhysicalObjectModifier.proto
@@ -0,0 +1,39 @@
+// 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 BreakoutPhysicalObjectModifier {
+ uint32 type = 1;
+ uint32 id = 2;
+ int32 param1 = 3;
+ int32 param2 = 4;
+ int32 param3 = 5;
+ int32 param4 = 6;
+ int32 param5 = 7;
+ int32 param6 = 8;
+ bool bool1 = 9;
+ int32 duration = 10;
+ int32 end_time = 11;
+ uint32 combo = 12;
+ uint32 peer_id = 13;
+ uint32 skill_type = 14;
+ uint32 level = 15;
+ uint32 choose_player_count = 16;
+}
diff --git a/proto/BreakoutSnapShot.proto b/proto/BreakoutSnapShot.proto
new file mode 100644
index 00000000..a96b9f19
--- /dev/null
+++ b/proto/BreakoutSnapShot.proto
@@ -0,0 +1,49 @@
+// 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 "BreakoutAction.proto";
+import "BreakoutElementReactionCounter.proto";
+import "BreakoutPhysicalObject.proto";
+import "BreakoutSpawnPoint.proto";
+import "BreakoutSyncConnectUidInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutSnapShot {
+ uint64 client_game_time = 1;
+ uint64 server_game_time = 2;
+ repeated BreakoutPhysicalObject ball_list = 3;
+ repeated BreakoutPhysicalObject physical_object_list = 4;
+ repeated BreakoutAction action_list = 5;
+ uint32 wave_index = 6;
+ bool is_finish = 7;
+ uint32 score = 8;
+ uint32 combo = 9;
+ uint32 max_combo = 10;
+ uint32 life_count = 11;
+ uint32 wave_suite_index = 12;
+ repeated BreakoutSpawnPoint spawn_point_list = 13;
+ uint32 remaining_boss_hp = 14;
+ repeated BreakoutElementReactionCounter brick_element_reaction_list = 15;
+ repeated BreakoutElementReactionCounter ball_element_reaction_list = 16;
+ repeated BreakoutSyncConnectUidInfo uid_info_list = 17;
+ repeated BreakoutPhysicalObject dynamic_object_list = 18;
+ repeated uint32 id_index_list = 19;
+ int32 raw_client_game_time = 20;
+}
diff --git a/proto/BreakoutSpawnPoint.proto b/proto/BreakoutSpawnPoint.proto
new file mode 100644
index 00000000..ece2a58c
--- /dev/null
+++ b/proto/BreakoutSpawnPoint.proto
@@ -0,0 +1,28 @@
+// 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 "BreakoutPhysicalObject.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutSpawnPoint {
+ uint32 id = 1;
+ uint32 brick_suite_id = 2;
+ repeated BreakoutPhysicalObject spawned_brick_list = 3;
+}
diff --git a/proto/BreakoutSyncAction.proto b/proto/BreakoutSyncAction.proto
new file mode 100644
index 00000000..b1d83e5a
--- /dev/null
+++ b/proto/BreakoutSyncAction.proto
@@ -0,0 +1,26 @@
+// 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 "BreakoutAction.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutSyncAction {
+ BreakoutAction action = 15;
+}
diff --git a/proto/BreakoutSyncConnectUidInfo.proto b/proto/BreakoutSyncConnectUidInfo.proto
new file mode 100644
index 00000000..1ede36bc
--- /dev/null
+++ b/proto/BreakoutSyncConnectUidInfo.proto
@@ -0,0 +1,26 @@
+// 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 BreakoutSyncConnectUidInfo {
+ uint32 uid = 1;
+ repeated uint32 skill_id_list = 2;
+ repeated uint32 skill_level_list = 3;
+}
diff --git a/proto/BreakoutSyncCreateConnect.proto b/proto/BreakoutSyncCreateConnect.proto
new file mode 100644
index 00000000..1ac8756c
--- /dev/null
+++ b/proto/BreakoutSyncCreateConnect.proto
@@ -0,0 +1,26 @@
+// 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 "BreakoutSyncConnectUidInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutSyncCreateConnect {
+ repeated BreakoutSyncConnectUidInfo uid_info_list = 1;
+}
diff --git a/proto/BreakoutSyncFinishGame.proto b/proto/BreakoutSyncFinishGame.proto
new file mode 100644
index 00000000..35946b40
--- /dev/null
+++ b/proto/BreakoutSyncFinishGame.proto
@@ -0,0 +1,26 @@
+// 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 BreakoutSyncFinishGame {
+ uint64 server_game_time = 8;
+ bool is_win = 1;
+ bool is_stop_gallery = 2;
+}
diff --git a/proto/BreakoutSyncPing.proto b/proto/BreakoutSyncPing.proto
new file mode 100644
index 00000000..570b39b2
--- /dev/null
+++ b/proto/BreakoutSyncPing.proto
@@ -0,0 +1,25 @@
+// 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 BreakoutSyncPing {
+ uint64 client_game_time = 8;
+ uint64 server_game_time = 5;
+}
diff --git a/proto/BreakoutSyncSnapShot.proto b/proto/BreakoutSyncSnapShot.proto
new file mode 100644
index 00000000..a4067a5d
--- /dev/null
+++ b/proto/BreakoutSyncSnapShot.proto
@@ -0,0 +1,26 @@
+// 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 "BreakoutSnapShot.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BreakoutSyncSnapShot {
+ BreakoutSnapShot snap_shot = 14;
+}
diff --git a/proto/BreakoutVector2.proto b/proto/BreakoutVector2.proto
new file mode 100644
index 00000000..5279c683
--- /dev/null
+++ b/proto/BreakoutVector2.proto
@@ -0,0 +1,25 @@
+// 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 BreakoutVector2 {
+ int32 x = 1;
+ int32 y = 2;
+}
diff --git a/proto/BrickBreakerActivityStageInfo.proto b/proto/BrickBreakerActivityStageInfo.proto
new file mode 100644
index 00000000..b2089057
--- /dev/null
+++ b/proto/BrickBreakerActivityStageInfo.proto
@@ -0,0 +1,26 @@
+// 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 BrickBreakerActivityStageInfo {
+ uint32 stage_id = 3;
+ bool Unk3300_ALOGIKNHEIM = 2;
+ bool Unk3300_FFKIEDNGNGK = 10;
+}
diff --git a/proto/BrickBreakerDetailInfo.proto b/proto/BrickBreakerDetailInfo.proto
new file mode 100644
index 00000000..044f16fb
--- /dev/null
+++ b/proto/BrickBreakerDetailInfo.proto
@@ -0,0 +1,30 @@
+// 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 "BrickBreakerActivityStageInfo.proto";
+import "BrickBreakerLevelInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BrickBreakerDetailInfo {
+ repeated BrickBreakerActivityStageInfo stage_info_list = 13;
+ repeated BrickBreakerLevelInfo Unk3300_AIEGOACOINO = 9;
+ repeated BrickBreakerLevelInfo Unk3300_BCHEELFPNCD = 11;
+ map skill_info_map = 1;
+}
diff --git a/proto/BrickBreakerLevelInfo.proto b/proto/BrickBreakerLevelInfo.proto
new file mode 100644
index 00000000..38a6d104
--- /dev/null
+++ b/proto/BrickBreakerLevelInfo.proto
@@ -0,0 +1,29 @@
+// 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 BrickBreakerLevelInfo {
+ repeated uint32 chosen_avatar_list = 5;
+ uint32 level_id = 3;
+ bool is_finish = 13;
+ uint32 max_score = 8;
+ repeated uint32 chosen_skill_list = 14;
+ bool is_can_start = 1;
+}
diff --git a/proto/BrickBreakerPlayerBattleInfo.proto b/proto/BrickBreakerPlayerBattleInfo.proto
new file mode 100644
index 00000000..3042f030
--- /dev/null
+++ b/proto/BrickBreakerPlayerBattleInfo.proto
@@ -0,0 +1,30 @@
+// 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 BrickBreakerPlayerBattleInfo {
+ bool is_ready = 7;
+ repeated uint32 costume_id = 5;
+ string nickname = 2;
+ uint32 uid = 13;
+ repeated uint32 avatar_id = 9;
+ bool is_changing = 15;
+ repeated uint32 skill_list = 3;
+}
diff --git a/proto/BrickBreakerPlayerReadyNotify.proto b/proto/BrickBreakerPlayerReadyNotify.proto
new file mode 100644
index 00000000..b0ec6cd5
--- /dev/null
+++ b/proto/BrickBreakerPlayerReadyNotify.proto
@@ -0,0 +1,32 @@
+// 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 BrickBreakerPlayerReadyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5396;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 uid_list = 10;
+}
diff --git a/proto/BrickBreakerPlayerSetAvatarNotify.proto b/proto/BrickBreakerPlayerSetAvatarNotify.proto
new file mode 100644
index 00000000..fcb57d91
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetAvatarNotify.proto
@@ -0,0 +1,34 @@
+// 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 BrickBreakerPlayerSetAvatarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5362;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 avatar_id_list = 11;
+ repeated uint32 costume_id_list = 6;
+ uint32 uid = 12;
+}
diff --git a/proto/BrickBreakerPlayerSetChangingNotify.proto b/proto/BrickBreakerPlayerSetChangingNotify.proto
new file mode 100644
index 00000000..3bc1aa37
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetChangingNotify.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerPlayerSetChangingNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5370;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 3;
+ bool is_changing = 6;
+}
diff --git a/proto/BrickBreakerPlayerSetSkillNotify.proto b/proto/BrickBreakerPlayerSetSkillNotify.proto
new file mode 100644
index 00000000..154b58f9
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetSkillNotify.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerPlayerSetSkillNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5351;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 4;
+ repeated uint32 skill_id_list = 2;
+}
diff --git a/proto/BrickBreakerQuitReq.proto b/proto/BrickBreakerQuitReq.proto
new file mode 100644
index 00000000..2e762cb6
--- /dev/null
+++ b/proto/BrickBreakerQuitReq.proto
@@ -0,0 +1,31 @@
+// 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 BrickBreakerQuitReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24991;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BrickBreakerQuitRsp.proto b/proto/BrickBreakerQuitRsp.proto
new file mode 100644
index 00000000..69d39c0a
--- /dev/null
+++ b/proto/BrickBreakerQuitRsp.proto
@@ -0,0 +1,32 @@
+// 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 BrickBreakerQuitRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24959;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/BrickBreakerSelectAvatarReq.proto b/proto/BrickBreakerSelectAvatarReq.proto
new file mode 100644
index 00000000..9624f621
--- /dev/null
+++ b/proto/BrickBreakerSelectAvatarReq.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerSelectAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5368;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 avatar_id = 12;
+}
diff --git a/proto/BrickBreakerSelectAvatarRsp.proto b/proto/BrickBreakerSelectAvatarRsp.proto
new file mode 100644
index 00000000..5db374ed
--- /dev/null
+++ b/proto/BrickBreakerSelectAvatarRsp.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerSelectAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5359;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ repeated uint32 avatar_id = 9;
+}
diff --git a/proto/BrickBreakerSelectSkillReq.proto b/proto/BrickBreakerSelectSkillReq.proto
new file mode 100644
index 00000000..49016da7
--- /dev/null
+++ b/proto/BrickBreakerSelectSkillReq.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerSelectSkillReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5329;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 skill_id = 5;
+}
diff --git a/proto/BrickBreakerSelectSkillRsp.proto b/proto/BrickBreakerSelectSkillRsp.proto
new file mode 100644
index 00000000..53c986d2
--- /dev/null
+++ b/proto/BrickBreakerSelectSkillRsp.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerSelectSkillRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5386;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ repeated uint32 skill_id = 12;
+}
diff --git a/proto/BrickBreakerSetChangingReq.proto b/proto/BrickBreakerSetChangingReq.proto
new file mode 100644
index 00000000..c9ef1678
--- /dev/null
+++ b/proto/BrickBreakerSetChangingReq.proto
@@ -0,0 +1,33 @@
+// 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 BrickBreakerSetChangingReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5358;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_changing = 1;
+}
diff --git a/proto/BrickBreakerSetChangingRsp.proto b/proto/BrickBreakerSetChangingRsp.proto
new file mode 100644
index 00000000..e8a0ac2c
--- /dev/null
+++ b/proto/BrickBreakerSetChangingRsp.proto
@@ -0,0 +1,32 @@
+// 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 BrickBreakerSetChangingRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5314;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/BrickBreakerSetReadyReq.proto b/proto/BrickBreakerSetReadyReq.proto
new file mode 100644
index 00000000..8c9ead8a
--- /dev/null
+++ b/proto/BrickBreakerSetReadyReq.proto
@@ -0,0 +1,31 @@
+// 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 BrickBreakerSetReadyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5371;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BrickBreakerSetReadyRsp.proto b/proto/BrickBreakerSetReadyRsp.proto
new file mode 100644
index 00000000..75eacd51
--- /dev/null
+++ b/proto/BrickBreakerSetReadyRsp.proto
@@ -0,0 +1,32 @@
+// 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 BrickBreakerSetReadyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5332;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/BrickBreakerSettleNotify.proto b/proto/BrickBreakerSettleNotify.proto
new file mode 100644
index 00000000..c280abc9
--- /dev/null
+++ b/proto/BrickBreakerSettleNotify.proto
@@ -0,0 +1,50 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BrickBreakerSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23886;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum SettleReason {
+ SETTLE_REASON_TIME_OUT = 0;
+ SETTLE_REASON_PLAY_END = 1;
+ SETTLE_REASON_PLAYER_QUIT = 2;
+ SETTLE_REASON_LIFE_COUNT = 3;
+ }
+
+ uint32 time = 5;
+ bool is_single_mode = 15;
+ bool is_dungeon = 2;
+ uint32 score = 7;
+ uint32 combo = 12;
+ uint32 level_id = 11;
+ SettleReason reason = 1;
+ bool is_new_record = 3;
+ uint32 gallery_id = 13;
+ repeated Uint32Pair update_skill_list = 4;
+}
diff --git a/proto/BrickBreakerStageInfo.proto b/proto/BrickBreakerStageInfo.proto
new file mode 100644
index 00000000..ceac2ba2
--- /dev/null
+++ b/proto/BrickBreakerStageInfo.proto
@@ -0,0 +1,29 @@
+// 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 "BrickBreakerPlayerBattleInfo.proto";
+import "BrickBreakerStageType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BrickBreakerStageInfo {
+ uint32 level_id = 7;
+ repeated BrickBreakerPlayerBattleInfo battle_info_list = 3;
+ BrickBreakerStageType stage_type = 5;
+}
diff --git a/proto/BrickBreakerStageType.proto b/proto/BrickBreakerStageType.proto
new file mode 100644
index 00000000..7af0047e
--- /dev/null
+++ b/proto/BrickBreakerStageType.proto
@@ -0,0 +1,28 @@
+// 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 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..03c8824a
--- /dev/null
+++ b/proto/BrickBreakerTwiceStartReq.proto
@@ -0,0 +1,31 @@
+// 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 BrickBreakerTwiceStartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24700;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BrickBreakerTwiceStartRsp.proto b/proto/BrickBreakerTwiceStartRsp.proto
new file mode 100644
index 00000000..3733000e
--- /dev/null
+++ b/proto/BrickBreakerTwiceStartRsp.proto
@@ -0,0 +1,32 @@
+// 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 BrickBreakerTwiceStartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20232;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/BuildingInfo.proto b/proto/BuildingInfo.proto
new file mode 100644
index 00000000..3d09e6ee
--- /dev/null
+++ b/proto/BuildingInfo.proto
@@ -0,0 +1,30 @@
+// 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 BuildingInfo {
+ uint32 building_id = 1;
+ uint32 point_config_id = 2;
+ uint32 cost = 3;
+ uint32 refund = 5;
+ uint32 owner_uid = 6;
+ uint32 current_num = 7;
+ uint32 max_num = 8;
+}
diff --git a/proto/BundleInfo.proto b/proto/BundleInfo.proto
new file mode 100644
index 00000000..43fa14ff
--- /dev/null
+++ b/proto/BundleInfo.proto
@@ -0,0 +1,24 @@
+// 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 BundleInfo {
+ repeated uint32 Unk2700_OGNEAEGHCPM = 13;
+}
diff --git a/proto/BuoyantCombatDailyInfo.proto b/proto/BuoyantCombatDailyInfo.proto
index 0da5ff76..31c6cd7d 100644
--- a/proto/BuoyantCombatDailyInfo.proto
+++ b/proto/BuoyantCombatDailyInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BuoyantCombatDailyInfo {
- uint32 start_time = 2;
- uint32 best_score = 13;
+ uint32 best_score = 5;
+ uint32 start_time = 10;
}
diff --git a/proto/BuoyantCombatDetailInfo.proto b/proto/BuoyantCombatDetailInfo.proto
index 64a7cca1..e6830941 100644
--- a/proto/BuoyantCombatDetailInfo.proto
+++ b/proto/BuoyantCombatDetailInfo.proto
@@ -22,5 +22,5 @@ import "BuoyantCombatDailyInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message BuoyantCombatDetailInfo {
- repeated BuoyantCombatDailyInfo daily_info_list = 8;
+ repeated BuoyantCombatDailyInfo daily_info_list = 11;
}
diff --git a/proto/BuoyantCombatGallerySettleInfo.proto b/proto/BuoyantCombatGallerySettleInfo.proto
new file mode 100644
index 00000000..5469d34c
--- /dev/null
+++ b/proto/BuoyantCombatGallerySettleInfo.proto
@@ -0,0 +1,30 @@
+// 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 BuoyantCombatGallerySettleInfo {
+ uint32 gallery_level = 11;
+ uint32 kill_monster_count = 1;
+ uint32 kill_special_monster_count = 9;
+ uint32 Unk3300_HLFHLPEKOML = 7;
+ uint32 gallery_id = 2;
+ uint32 Unk3300_KPCJBOOGEMG = 10;
+ uint32 final_score = 12;
+}
diff --git a/proto/BuoyantCombatSettleInfo.proto b/proto/BuoyantCombatSettleInfo.proto
new file mode 100644
index 00000000..ff24e1dd
--- /dev/null
+++ b/proto/BuoyantCombatSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "BuoyantCombatGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BuoyantCombatSettleInfo {
+ BuoyantCombatGallerySettleInfo settle_info = 14;
+ bool is_new_record = 2;
+}
diff --git a/proto/BuoyantCombatSettleNotify.proto b/proto/BuoyantCombatSettleNotify.proto
new file mode 100644
index 00000000..d1c8fe05
--- /dev/null
+++ b/proto/BuoyantCombatSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "BuoyantCombatSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BuoyantCombatSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8751;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 8;
+ BuoyantCombatSettleInfo settle_info = 15;
+}
diff --git a/proto/BuyBattlePassLevelReq.proto b/proto/BuyBattlePassLevelReq.proto
index c9811eae..11bb294d 100644
--- a/proto/BuyBattlePassLevelReq.proto
+++ b/proto/BuyBattlePassLevelReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2647
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message BuyBattlePassLevelReq {
- uint32 buy_level = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2643;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 buy_level = 15;
}
diff --git a/proto/BuyBattlePassLevelRsp.proto b/proto/BuyBattlePassLevelRsp.proto
index c5878eb0..fde25816 100644
--- a/proto/BuyBattlePassLevelRsp.proto
+++ b/proto/BuyBattlePassLevelRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2637
-// EnetChannelId: 0
-// EnetIsReliable: true
message BuyBattlePassLevelRsp {
- int32 retcode = 5;
- uint32 buy_level = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2609;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 buy_level = 15;
}
diff --git a/proto/BuyGoodsParam.proto b/proto/BuyGoodsParam.proto
new file mode 100644
index 00000000..7dd18822
--- /dev/null
+++ b/proto/BuyGoodsParam.proto
@@ -0,0 +1,27 @@
+// 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 "ShopGoods.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message BuyGoodsParam {
+ ShopGoods goods = 14;
+ uint32 buy_count = 2;
+}
diff --git a/proto/BuyGoodsReq.proto b/proto/BuyGoodsReq.proto
index d1d18a8c..5235b979 100644
--- a/proto/BuyGoodsReq.proto
+++ b/proto/BuyGoodsReq.proto
@@ -21,12 +21,17 @@ import "ShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 712
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message BuyGoodsReq {
- uint32 buy_count = 14;
- ShopGoods goods = 15;
- uint32 shop_type = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 756;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 shop_type = 9;
+ ShopGoods goods = 10;
+ uint32 buy_count = 13;
}
diff --git a/proto/BuyGoodsRsp.proto b/proto/BuyGoodsRsp.proto
index 2f0a13f0..882fe9c9 100644
--- a/proto/BuyGoodsRsp.proto
+++ b/proto/BuyGoodsRsp.proto
@@ -21,13 +21,18 @@ import "ShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 735
-// EnetChannelId: 0
-// EnetIsReliable: true
message BuyGoodsRsp {
- uint32 buy_count = 14;
- ShopGoods goods = 12;
- uint32 shop_type = 11;
- int32 retcode = 2;
- repeated ShopGoods goods_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 719;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 shop_type = 15;
+ int32 retcode = 13;
+ repeated ShopGoods goods_list = 10;
+ ShopGoods goods = 7;
+ uint32 buy_count = 9;
}
diff --git a/proto/BuyResinReq.proto b/proto/BuyResinReq.proto
new file mode 100644
index 00000000..c7827c6a
--- /dev/null
+++ b/proto/BuyResinReq.proto
@@ -0,0 +1,31 @@
+// 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 BuyResinReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 693;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/BuyResinRsp.proto b/proto/BuyResinRsp.proto
new file mode 100644
index 00000000..45c00785
--- /dev/null
+++ b/proto/BuyResinRsp.proto
@@ -0,0 +1,34 @@
+// 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 BuyResinRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 654;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 cur_value = 7;
+ int32 retcode = 13;
+}
diff --git a/proto/CBJEDMGOBPL.proto b/proto/CBJEDMGOBPL.proto
new file mode 100644
index 00000000..7d8eb76a
--- /dev/null
+++ b/proto/CBJEDMGOBPL.proto
@@ -0,0 +1,11 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum CBJEDMGOBPL {
+ CBJEDMGOBPL_MBLDLJOKLBL = 0;
+ CBJEDMGOBPL_ILOMIKADKGD = 1;
+ CBJEDMGOBPL_HGHOEJGHMDH = 2;
+ CBJEDMGOBPL_PJCONIDJGOD = 3;
+}
diff --git a/proto/CalcWeaponUpgradeReturnItemsReq.proto b/proto/CalcWeaponUpgradeReturnItemsReq.proto
index 87b116ce..650451db 100644
--- a/proto/CalcWeaponUpgradeReturnItemsReq.proto
+++ b/proto/CalcWeaponUpgradeReturnItemsReq.proto
@@ -21,12 +21,17 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 633
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message CalcWeaponUpgradeReturnItemsReq {
- repeated uint64 food_weapon_guid_list = 15;
- uint64 target_weapon_guid = 12;
- repeated ItemParam item_param_list = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 666;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 food_weapon_guid_list = 12;
+ repeated ItemParam item_param_list = 8;
+ uint64 target_weapon_guid = 2;
}
diff --git a/proto/CalcWeaponUpgradeReturnItemsRsp.proto b/proto/CalcWeaponUpgradeReturnItemsRsp.proto
index ec96fe4f..0cc3d97c 100644
--- a/proto/CalcWeaponUpgradeReturnItemsRsp.proto
+++ b/proto/CalcWeaponUpgradeReturnItemsRsp.proto
@@ -21,11 +21,16 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 684
-// EnetChannelId: 0
-// EnetIsReliable: true
message CalcWeaponUpgradeReturnItemsRsp {
- repeated ItemParam item_param_list = 4;
- int32 retcode = 15;
- uint64 target_weapon_guid = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 652;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 target_weapon_guid = 3;
+ repeated ItemParam item_param_list = 10;
+ int32 retcode = 4;
}
diff --git a/proto/CanUseSkillNotify.proto b/proto/CanUseSkillNotify.proto
index 575bd528..07e94a9a 100644
--- a/proto/CanUseSkillNotify.proto
+++ b/proto/CanUseSkillNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1005
-// EnetChannelId: 0
-// EnetIsReliable: true
message CanUseSkillNotify {
- bool is_can_use_skill = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1042;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_can_use_skill = 12;
}
diff --git a/proto/CancelCityReputationRequestReq.proto b/proto/CancelCityReputationRequestReq.proto
new file mode 100644
index 00000000..217169c0
--- /dev/null
+++ b/proto/CancelCityReputationRequestReq.proto
@@ -0,0 +1,34 @@
+// 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 CancelCityReputationRequestReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2857;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 14;
+ uint32 request_id = 10;
+}
diff --git a/proto/CancelCityReputationRequestRsp.proto b/proto/CancelCityReputationRequestRsp.proto
new file mode 100644
index 00000000..48956489
--- /dev/null
+++ b/proto/CancelCityReputationRequestRsp.proto
@@ -0,0 +1,34 @@
+// 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 CancelCityReputationRequestRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2827;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 city_id = 7;
+ int32 retcode = 14;
+ uint32 request_id = 5;
+}
diff --git a/proto/CancelCoopTaskReq.proto b/proto/CancelCoopTaskReq.proto
new file mode 100644
index 00000000..a823f6b8
--- /dev/null
+++ b/proto/CancelCoopTaskReq.proto
@@ -0,0 +1,33 @@
+// 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 CancelCoopTaskReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1993;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 chapter_id = 6;
+}
diff --git a/proto/CancelCoopTaskRsp.proto b/proto/CancelCoopTaskRsp.proto
new file mode 100644
index 00000000..325e12a0
--- /dev/null
+++ b/proto/CancelCoopTaskRsp.proto
@@ -0,0 +1,33 @@
+// 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 CancelCoopTaskRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1959;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 chapter_id = 5;
+ int32 retcode = 14;
+}
diff --git a/proto/CancelFinishParentQuestNotify.proto b/proto/CancelFinishParentQuestNotify.proto
index 12ec401f..6ff25a2e 100644
--- a/proto/CancelFinishParentQuestNotify.proto
+++ b/proto/CancelFinishParentQuestNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 424
-// EnetChannelId: 0
-// EnetIsReliable: true
message CancelFinishParentQuestNotify {
- uint32 parent_quest_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 422;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 parent_quest_id = 14;
}
diff --git a/proto/CardProductRewardNotify.proto b/proto/CardProductRewardNotify.proto
index 5aff8f34..3ff0a0c1 100644
--- a/proto/CardProductRewardNotify.proto
+++ b/proto/CardProductRewardNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4107
-// EnetChannelId: 0
-// EnetIsReliable: true
message CardProductRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4135;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
uint32 hcoin = 6;
- string product_id = 14;
- uint32 remain_days = 1;
+ string product_id = 3;
+ uint32 remain_days = 4;
}
diff --git a/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto b/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
new file mode 100644
index 00000000..b4a1b783
--- /dev/null
+++ b/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CataLogGlobalWatcherFinishedData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CataLogFinishedGlobalWatcherAllDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6365;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CataLogGlobalWatcherFinishedData finished_global_watcher_data_list = 7;
+}
diff --git a/proto/CataLogGlobalWatcherFinishedData.proto b/proto/CataLogGlobalWatcherFinishedData.proto
new file mode 100644
index 00000000..47f136c1
--- /dev/null
+++ b/proto/CataLogGlobalWatcherFinishedData.proto
@@ -0,0 +1,25 @@
+// 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 CataLogGlobalWatcherFinishedData {
+ repeated uint32 finished_global_watcher_list = 15;
+ uint32 catalog_type = 2;
+}
diff --git a/proto/CataLogNewFinishedGlobalWatcherNotify.proto b/proto/CataLogNewFinishedGlobalWatcherNotify.proto
new file mode 100644
index 00000000..3c5083ed
--- /dev/null
+++ b/proto/CataLogNewFinishedGlobalWatcherNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CataLogGlobalWatcherFinishedData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CataLogNewFinishedGlobalWatcherNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6368;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CataLogGlobalWatcherFinishedData new_finished_global_watcher_data_list = 11;
+}
diff --git a/proto/CellInfo.proto b/proto/CellInfo.proto
new file mode 100644
index 00000000..716d1781
--- /dev/null
+++ b/proto/CellInfo.proto
@@ -0,0 +1,27 @@
+// 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 "SceneSurfaceMaterial.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CellInfo {
+ SceneSurfaceMaterial type = 1;
+ int32 y = 2;
+}
diff --git a/proto/ChallengeBrief.proto b/proto/ChallengeBrief.proto
index b7643b9a..686f1e61 100644
--- a/proto/ChallengeBrief.proto
+++ b/proto/ChallengeBrief.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChallengeBrief {
- uint32 cur_progress = 9;
- uint32 challenge_index = 10;
- bool is_success = 4;
- uint32 challenge_id = 8;
+ uint32 challenge_index = 5;
+ uint32 cur_progress = 15;
+ bool is_success = 12;
+ uint32 challenge_id = 1;
}
diff --git a/proto/ChallengeDataNotify.proto b/proto/ChallengeDataNotify.proto
index f68bf7e5..48afddb3 100644
--- a/proto/ChallengeDataNotify.proto
+++ b/proto/ChallengeDataNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 953
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChallengeDataNotify {
- uint32 value = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 973;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 param_index = 4;
uint32 challenge_index = 2;
- uint32 param_index = 9;
+ uint32 value = 3;
}
diff --git a/proto/ChallengeRecord.proto b/proto/ChallengeRecord.proto
new file mode 100644
index 00000000..0a5adfe7
--- /dev/null
+++ b/proto/ChallengeRecord.proto
@@ -0,0 +1,27 @@
+// 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 ChallengeRecord {
+ uint32 challenge_record_type = 2;
+ uint32 challenge_index = 3;
+ uint32 challenge_id = 9;
+ uint32 best_value = 4;
+}
diff --git a/proto/ChallengeRecordNotify.proto b/proto/ChallengeRecordNotify.proto
new file mode 100644
index 00000000..0560e92a
--- /dev/null
+++ b/proto/ChallengeRecordNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ChallengeRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChallengeRecordNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 907;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 15;
+ repeated ChallengeRecord challenge_record_list = 9;
+}
diff --git a/proto/ChangeAvatarReq.proto b/proto/ChangeAvatarReq.proto
index 226ec3ef..deb1c731 100644
--- a/proto/ChangeAvatarReq.proto
+++ b/proto/ChangeAvatarReq.proto
@@ -21,13 +21,18 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1640
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChangeAvatarReq {
- Vector move_pos = 15;
- uint32 skill_id = 2;
- uint64 guid = 7;
- bool is_move = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1682;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector move_pos = 9;
+ uint64 guid = 14;
+ bool is_move = 11;
+ uint32 skill_id = 4;
}
diff --git a/proto/ChangeAvatarRsp.proto b/proto/ChangeAvatarRsp.proto
index b67f097d..5a8a789f 100644
--- a/proto/ChangeAvatarRsp.proto
+++ b/proto/ChangeAvatarRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1607
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChangeAvatarRsp {
- uint32 skill_id = 3;
- int32 retcode = 10;
- uint64 cur_guid = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1699;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 cur_guid = 10;
+ uint32 skill_id = 1;
+ int32 retcode = 5;
}
diff --git a/proto/ChangeCustomDungeonRoomReq.proto b/proto/ChangeCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..8d71bd86
--- /dev/null
+++ b/proto/ChangeCustomDungeonRoomReq.proto
@@ -0,0 +1,33 @@
+// 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 ChangeCustomDungeonRoomReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6217;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 room_id = 8;
+}
diff --git a/proto/ChangeCustomDungeonRoomRsp.proto b/proto/ChangeCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..92902329
--- /dev/null
+++ b/proto/ChangeCustomDungeonRoomRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChangeCustomDungeonRoomRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6212;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 room_id = 8;
+ int32 retcode = 14;
+}
diff --git a/proto/ChangeGameTimeReq.proto b/proto/ChangeGameTimeReq.proto
index b2516d1d..0accd23a 100644
--- a/proto/ChangeGameTimeReq.proto
+++ b/proto/ChangeGameTimeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 173
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChangeGameTimeReq {
- uint32 game_time = 6;
- bool is_force_set = 11;
- uint32 extra_days = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 178;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 extra_days = 3;
+ uint32 game_time = 8;
+ bool is_force_set = 2;
}
diff --git a/proto/ChangeGameTimeRsp.proto b/proto/ChangeGameTimeRsp.proto
index 7f10c16e..b9e14d4f 100644
--- a/proto/ChangeGameTimeRsp.proto
+++ b/proto/ChangeGameTimeRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 199
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChangeGameTimeRsp {
- int32 retcode = 8;
- uint32 extra_days = 5;
- uint32 cur_game_time = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 157;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ uint32 extra_days = 2;
+ uint32 cur_game_time = 8;
}
diff --git a/proto/ChangeHpReason.proto b/proto/ChangeHpReason.proto
index 27a14859..28c784a3 100644
--- a/proto/ChangeHpReason.proto
+++ b/proto/ChangeHpReason.proto
@@ -49,5 +49,5 @@ enum ChangeHpReason {
CHANGE_HP_REASON_ADD_BACKGROUND = 106;
CHANGE_HP_REASON_ADD_GM = 107;
CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY = 108;
- CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING = 109;
+ CHANGE_HP_REASON_ADD_ROGUELIKE_SPRING = 109;
}
diff --git a/proto/ChangeMailStarNotify.proto b/proto/ChangeMailStarNotify.proto
index 36ec2819..8d41a971 100644
--- a/proto/ChangeMailStarNotify.proto
+++ b/proto/ChangeMailStarNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1448
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChangeMailStarNotify {
- bool is_star = 14;
- repeated uint32 mail_id_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1448;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 mail_id_list = 13;
+ bool is_star = 15;
}
diff --git a/proto/ChangeMpTeamAvatarReq.proto b/proto/ChangeMpTeamAvatarReq.proto
index 48878967..68689bcf 100644
--- a/proto/ChangeMpTeamAvatarReq.proto
+++ b/proto/ChangeMpTeamAvatarReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1708
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChangeMpTeamAvatarReq {
- uint64 cur_avatar_guid = 4;
- repeated uint64 avatar_guid_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1645;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 cur_avatar_guid = 3;
+ repeated uint64 avatar_guid_list = 14;
}
diff --git a/proto/ChangeMpTeamAvatarRsp.proto b/proto/ChangeMpTeamAvatarRsp.proto
index a4209d35..f926db57 100644
--- a/proto/ChangeMpTeamAvatarRsp.proto
+++ b/proto/ChangeMpTeamAvatarRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1753
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChangeMpTeamAvatarRsp {
- int32 retcode = 4;
- repeated uint64 avatar_guid_list = 3;
- uint64 cur_avatar_guid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1730;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 cur_avatar_guid = 12;
+ int32 retcode = 10;
+ repeated uint64 avatar_guid_list = 2;
}
diff --git a/proto/ChangeServerGlobalValueNotify.proto b/proto/ChangeServerGlobalValueNotify.proto
new file mode 100644
index 00000000..f94d0cb2
--- /dev/null
+++ b/proto/ChangeServerGlobalValueNotify.proto
@@ -0,0 +1,33 @@
+// 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 ChangeServerGlobalValueNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 17;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 5;
+}
diff --git a/proto/ChangeTeamNameReq.proto b/proto/ChangeTeamNameReq.proto
index ff0482a5..f6690758 100644
--- a/proto/ChangeTeamNameReq.proto
+++ b/proto/ChangeTeamNameReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1603
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChangeTeamNameReq {
- int32 team_id = 8;
- string team_name = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1706;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 team_id = 14;
+ string team_name = 15;
}
diff --git a/proto/ChangeTeamNameRsp.proto b/proto/ChangeTeamNameRsp.proto
index c57d9a21..f2588c5f 100644
--- a/proto/ChangeTeamNameRsp.proto
+++ b/proto/ChangeTeamNameRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1666
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChangeTeamNameRsp {
- int32 retcode = 11;
- string team_name = 2;
- int32 team_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1696;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ string team_name = 15;
+ int32 team_id = 5;
}
diff --git a/proto/ChangeWidgetBackgroundActiveStateReq.proto b/proto/ChangeWidgetBackgroundActiveStateReq.proto
new file mode 100644
index 00000000..badd3a90
--- /dev/null
+++ b/proto/ChangeWidgetBackgroundActiveStateReq.proto
@@ -0,0 +1,34 @@
+// 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 ChangeWidgetBackgroundActiveStateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5959;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_active = 6;
+ uint32 material_id = 13;
+}
diff --git a/proto/ChangeWidgetBackgroundActiveStateRsp.proto b/proto/ChangeWidgetBackgroundActiveStateRsp.proto
new file mode 100644
index 00000000..179e045f
--- /dev/null
+++ b/proto/ChangeWidgetBackgroundActiveStateRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChangeWidgetBackgroundActiveStateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5955;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 material_id = 7;
+ int32 retcode = 1;
+}
diff --git a/proto/ChangeWorldToSingleModeNotify.proto b/proto/ChangeWorldToSingleModeNotify.proto
new file mode 100644
index 00000000..ef88aad7
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeNotify.proto
@@ -0,0 +1,31 @@
+// 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 ChangeWorldToSingleModeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3461;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ChangeWorldToSingleModeReq.proto b/proto/ChangeWorldToSingleModeReq.proto
new file mode 100644
index 00000000..4168afe3
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeReq.proto
@@ -0,0 +1,31 @@
+// 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 ChangeWorldToSingleModeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3296;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ChangeWorldToSingleModeRsp.proto b/proto/ChangeWorldToSingleModeRsp.proto
new file mode 100644
index 00000000..6415d993
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChangeWorldToSingleModeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3258;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quit_mp_valid_time = 6;
+ int32 retcode = 14;
+}
diff --git a/proto/ChannelerSlabActivityDetailInfo.proto b/proto/ChannelerSlabActivityDetailInfo.proto
index fa399a78..d8abbffd 100644
--- a/proto/ChannelerSlabActivityDetailInfo.proto
+++ b/proto/ChannelerSlabActivityDetailInfo.proto
@@ -24,8 +24,8 @@ import "ChannelerSlabLoopDungeonStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabActivityDetailInfo {
- ChannelerSlabBuffInfo buff_info = 1;
- ChannelerSlabLoopDungeonStageInfo loop_dungeon_stage_info = 7;
- repeated ChannelerSlabChallengeStage stage_list = 15;
- uint32 play_end_time = 3;
+ ChannelerSlabLoopDungeonStageInfo loop_dungeon_stage_info = 2;
+ ChannelerSlabBuffInfo buff_info = 9;
+ repeated ChannelerSlabChallengeStage stage_list = 8;
+ uint32 play_end_time = 14;
}
diff --git a/proto/ChannelerSlabAssistInfo.proto b/proto/ChannelerSlabAssistInfo.proto
index dbd0ee6c..0848fe6f 100644
--- a/proto/ChannelerSlabAssistInfo.proto
+++ b/proto/ChannelerSlabAssistInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabAssistInfo {
- uint32 uid = 10;
- uint32 avatar_level = 12;
+ uint32 avatar_level = 10;
+ uint32 uid = 11;
uint32 avatar_id = 6;
}
diff --git a/proto/ChannelerSlabBuffInfo.proto b/proto/ChannelerSlabBuffInfo.proto
index 1445fa8b..e5e54785 100644
--- a/proto/ChannelerSlabBuffInfo.proto
+++ b/proto/ChannelerSlabBuffInfo.proto
@@ -23,8 +23,8 @@ import "ChannelerSlabBuffSchemeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabBuffInfo {
- ChannelerSlabBuffSchemeInfo mp_buff_scheme_info = 6;
- repeated uint32 buff_id_list = 8;
- ChannelerSlabBuffSchemeInfo single_buff_scheme_info = 7;
- repeated ChannelerSlabAssistInfo assist_info_list = 15;
+ repeated ChannelerSlabAssistInfo assist_info_list = 11;
+ ChannelerSlabBuffSchemeInfo Unk3300_CDFLIONGKCH = 8;
+ ChannelerSlabBuffSchemeInfo Unk3300_ANENHMAADLN = 14;
+ repeated uint32 buff_id_list = 6;
}
diff --git a/proto/ChannelerSlabBuffSchemeInfo.proto b/proto/ChannelerSlabBuffSchemeInfo.proto
index 1739e732..b98cc344 100644
--- a/proto/ChannelerSlabBuffSchemeInfo.proto
+++ b/proto/ChannelerSlabBuffSchemeInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabBuffSchemeInfo {
- map slot_map = 9;
- uint32 total_energy = 13;
- uint32 self_energy = 15;
+ uint32 Unk3300_NCMDDAFNENO = 9;
+ map slot_map = 11;
+ uint32 Unk3300_CKMNFOCNMGL = 5;
}
diff --git a/proto/ChannelerSlabCamp.proto b/proto/ChannelerSlabCamp.proto
index 6356efe4..56677774 100644
--- a/proto/ChannelerSlabCamp.proto
+++ b/proto/ChannelerSlabCamp.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabCamp {
- uint32 reward_id = 11;
- Vector pos = 8;
- uint32 buff_num = 7;
- uint32 group_id = 3;
+ uint32 buff_num = 11;
+ uint32 reward_id = 9;
+ uint32 group_id = 8;
+ Vector pos = 15;
}
diff --git a/proto/ChannelerSlabChallenge.proto b/proto/ChannelerSlabChallenge.proto
index c35a88f9..80f516ba 100644
--- a/proto/ChannelerSlabChallenge.proto
+++ b/proto/ChannelerSlabChallenge.proto
@@ -22,6 +22,6 @@ import "ChannelerSlabCamp.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabChallenge {
- uint32 active_camp_index = 5;
+ uint32 active_camp_index = 1;
repeated ChannelerSlabCamp camp_list = 14;
}
diff --git a/proto/ChannelerSlabChallengeStage.proto b/proto/ChannelerSlabChallengeStage.proto
index bf12e9f1..82f013bb 100644
--- a/proto/ChannelerSlabChallengeStage.proto
+++ b/proto/ChannelerSlabChallengeStage.proto
@@ -23,9 +23,9 @@ import "ChannelerSlabOneofDungeon.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabChallengeStage {
- uint32 open_time = 3;
- repeated ChannelerSlabChallenge challenge_list = 14;
- bool is_open = 7;
- uint32 stage_id = 9;
- ChannelerSlabOneofDungeon dungeon_info = 13;
+ bool is_open = 4;
+ ChannelerSlabOneofDungeon dungeon_info = 12;
+ uint32 open_time = 13;
+ uint32 stage_id = 1;
+ repeated ChannelerSlabChallenge challenge_list = 2;
}
diff --git a/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto b/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..48e8378a
--- /dev/null
+++ b/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 ChannelerSlabCheckEnterLoopDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8286;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto b/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..d23f0bfc
--- /dev/null
+++ b/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 ChannelerSlabCheckEnterLoopDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8631;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/ChannelerSlabEnterLoopDungeonReq.proto b/proto/ChannelerSlabEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..a0b3a2d7
--- /dev/null
+++ b/proto/ChannelerSlabEnterLoopDungeonReq.proto
@@ -0,0 +1,36 @@
+// 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 ChannelerSlabEnterLoopDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8564;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficulty_id = 2;
+ repeated uint32 condition_id_list = 10;
+ uint32 point_id = 1;
+ uint32 dungeon_index = 3;
+}
diff --git a/proto/ChannelerSlabEnterLoopDungeonRsp.proto b/proto/ChannelerSlabEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..fc8188c6
--- /dev/null
+++ b/proto/ChannelerSlabEnterLoopDungeonRsp.proto
@@ -0,0 +1,36 @@
+// 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 ChannelerSlabEnterLoopDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8526;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 point_id = 14;
+ int32 retcode = 9;
+ uint32 difficulty_id = 8;
+ uint32 dungeon_index = 13;
+ repeated uint32 condition_id_list = 7;
+}
diff --git a/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto b/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto
new file mode 100644
index 00000000..7f4aedb1
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 ChannelerSlabLoopDungeonChallengeInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8576;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 scheme_buff_id_list = 6;
+ uint32 dungeon_index = 10;
+ repeated uint32 condition_id_list = 8;
+ uint32 difficulty_id = 13;
+ uint32 challenge_score = 3;
+}
diff --git a/proto/ChannelerSlabLoopDungeonInfo.proto b/proto/ChannelerSlabLoopDungeonInfo.proto
index b5926045..5261b021 100644
--- a/proto/ChannelerSlabLoopDungeonInfo.proto
+++ b/proto/ChannelerSlabLoopDungeonInfo.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabLoopDungeonInfo {
- uint32 score = 7;
- uint32 dungeon_index = 4;
- uint32 open_time = 12;
bool is_first_pass_reward_taken = 9;
- repeated uint32 last_condition_id_list = 14;
- bool is_open = 1;
+ uint32 score = 7;
+ repeated uint32 last_condition_id_list = 10;
+ uint32 dungeon_index = 1;
+ bool is_open = 4;
+ uint32 open_time = 13;
}
diff --git a/proto/ChannelerSlabLoopDungeonResultInfo.proto b/proto/ChannelerSlabLoopDungeonResultInfo.proto
index 948e358b..f8402f31 100644
--- a/proto/ChannelerSlabLoopDungeonResultInfo.proto
+++ b/proto/ChannelerSlabLoopDungeonResultInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabLoopDungeonResultInfo {
- bool is_success = 11;
- uint32 challenge_max_score = 8;
uint32 dungeon_index = 7;
- bool is_in_time_limit = 10;
- uint32 challenge_score = 12;
+ uint32 challenge_score = 5;
+ bool is_in_time_limit = 8;
+ bool is_success = 12;
+ uint32 challenge_max_score = 13;
}
diff --git a/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto b/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto
new file mode 100644
index 00000000..6e0bea89
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabLoopDungeonSelectConditionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8659;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_index = 7;
+ repeated uint32 condition_id_list = 15;
+ uint32 difficulty_id = 11;
+}
diff --git a/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto b/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto
new file mode 100644
index 00000000..7a9a5eef
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabLoopDungeonSelectConditionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8858;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_index = 1;
+ repeated uint32 condition_id_list = 10;
+ uint32 difficulty_id = 5;
+ int32 retcode = 7;
+}
diff --git a/proto/ChannelerSlabLoopDungeonStageInfo.proto b/proto/ChannelerSlabLoopDungeonStageInfo.proto
index 5c30e8cc..521b5f16 100644
--- a/proto/ChannelerSlabLoopDungeonStageInfo.proto
+++ b/proto/ChannelerSlabLoopDungeonStageInfo.proto
@@ -22,9 +22,9 @@ import "ChannelerSlabLoopDungeonInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabLoopDungeonStageInfo {
- repeated ChannelerSlabLoopDungeonInfo dungeon_info_list = 15;
repeated uint32 taken_reward_index_list = 5;
- bool is_open = 11;
+ bool is_open = 9;
+ uint32 open_time = 7;
+ repeated ChannelerSlabLoopDungeonInfo dungeon_info_list = 3;
uint32 last_difficulty_id = 6;
- uint32 open_time = 3;
}
diff --git a/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto b/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
new file mode 100644
index 00000000..2c2fa04e
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabLoopDungeonTakeFirstPassRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8498;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_index = 7;
+}
diff --git a/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto b/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
new file mode 100644
index 00000000..b69fd4c7
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabLoopDungeonTakeFirstPassRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8824;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint32 dungeon_index = 9;
+}
diff --git a/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto b/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
new file mode 100644
index 00000000..f431c89c
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabLoopDungeonTakeScoreRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8348;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_index = 13;
+}
diff --git a/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto b/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..8ca2e52a
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabLoopDungeonTakeScoreRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8369;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 reward_index = 8;
+}
diff --git a/proto/ChannelerSlabOneOfDungeonInfoNotify.proto b/proto/ChannelerSlabOneOfDungeonInfoNotify.proto
new file mode 100644
index 00000000..e661746b
--- /dev/null
+++ b/proto/ChannelerSlabOneOfDungeonInfoNotify.proto
@@ -0,0 +1,32 @@
+// 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 ChannelerSlabOneOfDungeonInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8015;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 scheme_buff_id_list = 8;
+}
diff --git a/proto/ChannelerSlabOneOfDungeonInfoReq.proto b/proto/ChannelerSlabOneOfDungeonInfoReq.proto
new file mode 100644
index 00000000..f7a347d7
--- /dev/null
+++ b/proto/ChannelerSlabOneOfDungeonInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 ChannelerSlabOneOfDungeonInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8877;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ChannelerSlabOneOfDungeonInfoRsp.proto b/proto/ChannelerSlabOneOfDungeonInfoRsp.proto
new file mode 100644
index 00000000..189ffc65
--- /dev/null
+++ b/proto/ChannelerSlabOneOfDungeonInfoRsp.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabOneOfDungeonInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8270;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 scheme_buff_id_list = 10;
+ int32 retcode = 5;
+}
diff --git a/proto/ChannelerSlabOneOffDungeonInfoNotify.proto b/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
new file mode 100644
index 00000000..3225e330
--- /dev/null
+++ b/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8729
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabOneOffDungeonInfoNotify {
+ repeated uint32 scheme_buff_id_list = 6;
+}
diff --git a/proto/ChannelerSlabOneOffDungeonInfoReq.proto b/proto/ChannelerSlabOneOffDungeonInfoReq.proto
new file mode 100644
index 00000000..3f92f3d9
--- /dev/null
+++ b/proto/ChannelerSlabOneOffDungeonInfoReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8409
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabOneOffDungeonInfoReq {}
diff --git a/proto/ChannelerSlabOneOffDungeonInfoRsp.proto b/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
new file mode 100644
index 00000000..fa301395
--- /dev/null
+++ b/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8268
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabOneOffDungeonInfoRsp {
+ repeated uint32 scheme_buff_id_list = 3;
+ int32 retcode = 15;
+}
diff --git a/proto/ChannelerSlabOneofDungeon.proto b/proto/ChannelerSlabOneofDungeon.proto
index 748f300d..5405b978 100644
--- a/proto/ChannelerSlabOneofDungeon.proto
+++ b/proto/ChannelerSlabOneofDungeon.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabOneofDungeon {
- bool is_done = 8;
- uint32 dungeon_id = 12;
- uint32 reward_id = 13;
+ uint32 dungeon_id = 6;
+ bool is_done = 1;
+ uint32 reward_id = 5;
}
diff --git a/proto/ChannelerSlabSaveAssistInfoReq.proto b/proto/ChannelerSlabSaveAssistInfoReq.proto
new file mode 100644
index 00000000..03e767ab
--- /dev/null
+++ b/proto/ChannelerSlabSaveAssistInfoReq.proto
@@ -0,0 +1,35 @@
+// 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 "ChannelerSlabAssistInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChannelerSlabSaveAssistInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8039;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ChannelerSlabAssistInfo assist_info_list = 14;
+}
diff --git a/proto/ChannelerSlabSaveAssistInfoRsp.proto b/proto/ChannelerSlabSaveAssistInfoRsp.proto
new file mode 100644
index 00000000..733fb56b
--- /dev/null
+++ b/proto/ChannelerSlabSaveAssistInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ChannelerSlabAssistInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChannelerSlabSaveAssistInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8071;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ChannelerSlabAssistInfo assist_info_list = 2;
+ int32 retcode = 7;
+}
diff --git a/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto b/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
new file mode 100644
index 00000000..e0a519ab
--- /dev/null
+++ b/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
@@ -0,0 +1,34 @@
+// 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 ChannelerSlabStageActiveChallengeIndexNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8857;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_index = 1;
+ uint32 active_camp_index = 14;
+ uint32 stage_id = 10;
+}
diff --git a/proto/ChannelerSlabStageOneofDungeonNotify.proto b/proto/ChannelerSlabStageOneofDungeonNotify.proto
new file mode 100644
index 00000000..7595e194
--- /dev/null
+++ b/proto/ChannelerSlabStageOneofDungeonNotify.proto
@@ -0,0 +1,33 @@
+// 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 ChannelerSlabStageOneofDungeonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8692;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_done = 6;
+ uint32 stage_id = 13;
+}
diff --git a/proto/ChannelerSlabTakeoffBuffReq.proto b/proto/ChannelerSlabTakeoffBuffReq.proto
new file mode 100644
index 00000000..67b8d06d
--- /dev/null
+++ b/proto/ChannelerSlabTakeoffBuffReq.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabTakeoffBuffReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8299;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slot_id = 3;
+ uint32 buff_id = 12;
+ bool is_mp = 10;
+}
diff --git a/proto/ChannelerSlabTakeoffBuffRsp.proto b/proto/ChannelerSlabTakeoffBuffRsp.proto
new file mode 100644
index 00000000..2de02ab2
--- /dev/null
+++ b/proto/ChannelerSlabTakeoffBuffRsp.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabTakeoffBuffRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8034;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 slot_id = 2;
+ int32 retcode = 8;
+ uint32 buff_id = 12;
+ bool is_mp = 10;
+}
diff --git a/proto/ChannelerSlabWearBuffReq.proto b/proto/ChannelerSlabWearBuffReq.proto
new file mode 100644
index 00000000..a1150a40
--- /dev/null
+++ b/proto/ChannelerSlabWearBuffReq.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabWearBuffReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8664;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slot_id = 13;
+ bool is_mp = 6;
+ uint32 buff_id = 1;
+}
diff --git a/proto/ChannelerSlabWearBuffRsp.proto b/proto/ChannelerSlabWearBuffRsp.proto
new file mode 100644
index 00000000..2325ce56
--- /dev/null
+++ b/proto/ChannelerSlabWearBuffRsp.proto
@@ -0,0 +1,35 @@
+// 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 ChannelerSlabWearBuffRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8285;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_mp = 7;
+ uint32 buff_id = 8;
+ uint32 slot_id = 11;
+ int32 retcode = 13;
+}
diff --git a/proto/ChannellerSlabLoopDungeonResultInfo.proto b/proto/ChannellerSlabLoopDungeonResultInfo.proto
new file mode 100644
index 00000000..e421825e
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonResultInfo.proto
@@ -0,0 +1,13 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+message ChannellerSlabLoopDungeonResultInfo {
+ uint32 dungeon_index = 1;
+ bool is_success = 2;
+ uint32 challenge_score = 3;
+ uint32 challenge_max_score = 4;
+ bool is_in_time_limit = 5;
+}
diff --git a/proto/ChapterStateNotify.proto b/proto/ChapterStateNotify.proto
index aeb04530..f270a883 100644
--- a/proto/ChapterStateNotify.proto
+++ b/proto/ChapterStateNotify.proto
@@ -21,22 +21,27 @@ import "ChapterState.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 405
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChapterStateNotify {
- ChapterState chapter_state = 9;
- NeedPlayerLevel need_player_level = 10;
- NeedBeginTime need_begin_time = 1;
- uint32 chapter_id = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 442;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
message NeedPlayerLevel {
- bool is_limit = 2;
- uint32 config_need_player_level = 11;
+ bool is_limit = 12;
+ uint32 config_need_player_level = 3;
}
message NeedBeginTime {
- uint32 config_need_begin_time = 3;
- bool is_limit = 7;
+ bool is_limit = 4;
+ uint32 config_need_begin_time = 14;
}
+
+ uint32 chapter_id = 9;
+ NeedBeginTime need_begin_time = 13;
+ ChapterState chapter_state = 1;
+ NeedPlayerLevel need_player_level = 5;
}
diff --git a/proto/CharAmusementAvatarInfo.proto b/proto/CharAmusementAvatarInfo.proto
index 2ab19388..174afca3 100644
--- a/proto/CharAmusementAvatarInfo.proto
+++ b/proto/CharAmusementAvatarInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CharAmusementAvatarInfo {
- uint32 uid = 11;
- uint32 punish_time = 7;
- repeated uint32 avatar_id_list = 10;
+ uint32 uid = 14;
+ repeated uint32 avatar_id_list = 4;
+ uint32 punish_time = 5;
}
diff --git a/proto/CharAmusementDetailInfo.proto b/proto/CharAmusementDetailInfo.proto
index 884d0bcb..5ecc31c4 100644
--- a/proto/CharAmusementDetailInfo.proto
+++ b/proto/CharAmusementDetailInfo.proto
@@ -22,5 +22,5 @@ import "CharAmusementStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message CharAmusementDetailInfo {
- repeated CharAmusementStageData stage_data_list = 1;
+ repeated CharAmusementStageData stage_data_list = 12;
}
diff --git a/proto/CharAmusementInfo.proto b/proto/CharAmusementInfo.proto
new file mode 100644
index 00000000..6f043f7b
--- /dev/null
+++ b/proto/CharAmusementInfo.proto
@@ -0,0 +1,30 @@
+// 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 "CharAmusementAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CharAmusementInfo {
+ uint32 level_id = 12;
+ uint32 total_cost_time = 2;
+ uint32 preview_stage_index = 1;
+ repeated CharAmusementAvatarInfo avatar_info_list = 5;
+ uint32 stage_id = 4;
+}
diff --git a/proto/CharAmusementSettleNotify.proto b/proto/CharAmusementSettleNotify.proto
new file mode 100644
index 00000000..215c5665
--- /dev/null
+++ b/proto/CharAmusementSettleNotify.proto
@@ -0,0 +1,34 @@
+// 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 CharAmusementSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23128;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 10;
+ uint32 finish_time = 2;
+ bool is_succ = 12;
+}
diff --git a/proto/CharAmusementStageData.proto b/proto/CharAmusementStageData.proto
index 49b129af..9f9ce857 100644
--- a/proto/CharAmusementStageData.proto
+++ b/proto/CharAmusementStageData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CharAmusementStageData {
- uint32 finish_time = 15;
- bool is_open = 12;
- uint32 stage_id = 6;
+ uint32 finish_time = 3;
+ bool is_open = 6;
+ uint32 stage_id = 4;
}
diff --git a/proto/ChatChannelDataNotify.proto b/proto/ChatChannelDataNotify.proto
new file mode 100644
index 00000000..6eefdfad
--- /dev/null
+++ b/proto/ChatChannelDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ChatChannelInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChatChannelDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4998;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ChatChannelInfo channel_info_list = 5;
+ repeated uint32 channel_list = 3;
+}
diff --git a/proto/ChatChannelInfo.proto b/proto/ChatChannelInfo.proto
new file mode 100644
index 00000000..bf88fa5e
--- /dev/null
+++ b/proto/ChatChannelInfo.proto
@@ -0,0 +1,25 @@
+// 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 ChatChannelInfo {
+ bool is_shield = 1;
+ uint32 channel_id = 8;
+}
diff --git a/proto/ChatChannelInfoNotify.proto b/proto/ChatChannelInfoNotify.proto
new file mode 100644
index 00000000..ab8e0ac9
--- /dev/null
+++ b/proto/ChatChannelInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ChatChannelInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChatChannelInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4975;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChatChannelInfo channel_info = 7;
+}
diff --git a/proto/ChatChannelShieldNotify.proto b/proto/ChatChannelShieldNotify.proto
new file mode 100644
index 00000000..f0659b79
--- /dev/null
+++ b/proto/ChatChannelShieldNotify.proto
@@ -0,0 +1,34 @@
+// 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 ChatChannelShieldNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5049;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_shield = 2;
+ uint32 channel_id = 5;
+}
diff --git a/proto/ChatChannelUpdateNotify.proto b/proto/ChatChannelUpdateNotify.proto
new file mode 100644
index 00000000..3dea479d
--- /dev/null
+++ b/proto/ChatChannelUpdateNotify.proto
@@ -0,0 +1,36 @@
+// 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 "ChatChannelInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChatChannelUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4989;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 channel_id = 2;
+ ChatChannelInfo channel_info = 5;
+ bool is_create = 15;
+}
diff --git a/proto/ChatHistoryNotify.proto b/proto/ChatHistoryNotify.proto
new file mode 100644
index 00000000..bdc40458
--- /dev/null
+++ b/proto/ChatHistoryNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ChatInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChatHistoryNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3309;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 channel_id = 1;
+ repeated ChatInfo chat_info = 9;
+}
diff --git a/proto/ChatInfo.proto b/proto/ChatInfo.proto
index 6fd1e6a7..04536c2c 100644
--- a/proto/ChatInfo.proto
+++ b/proto/ChatInfo.proto
@@ -20,17 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChatInfo {
- uint32 time = 13;
- uint32 sequence = 10;
- uint32 to_uid = 7;
- uint32 uid = 15;
- bool is_read = 5;
- oneof content {
- string text = 1946;
- uint32 icon = 914;
- SystemHint system_hint = 1753;
- }
-
enum SystemHintType {
SYSTEM_HINT_TYPE_CHAT_NONE = 0;
SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD = 1;
@@ -38,6 +27,17 @@ message ChatInfo {
}
message SystemHint {
- uint32 type = 14;
+ uint32 type = 15;
+ }
+
+ bool is_read = 3;
+ uint32 time = 1;
+ uint32 Unk3300_HENLDIJMIOE = 10;
+ uint32 uid = 11;
+ uint32 Unk3300_PHBEHIGHOCD = 5;
+ oneof content {
+ string text = 909;
+ uint32 icon = 990;
+ SystemHint system_hint = 799;
}
}
diff --git a/proto/CheckAddItemExceedLimitNotify.proto b/proto/CheckAddItemExceedLimitNotify.proto
index 78e3bc92..a4abc9a0 100644
--- a/proto/CheckAddItemExceedLimitNotify.proto
+++ b/proto/CheckAddItemExceedLimitNotify.proto
@@ -19,15 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 692
-// EnetChannelId: 0
-// EnetIsReliable: true
message CheckAddItemExceedLimitNotify {
- bool is_drop = 5;
- ItemExceedLimitMsgType msg_type = 4;
- repeated uint32 exceeded_item_type_list = 10;
- repeated uint32 exceeded_item_list = 12;
- uint32 reason = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 697;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum ItemExceedLimitMsgType {
ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT = 0;
@@ -35,4 +34,10 @@ message CheckAddItemExceedLimitNotify {
ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG = 2;
ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG_NONBLOCK = 3;
}
+
+ repeated uint32 Unk3300_PKJMEJKAPBI = 4;
+ repeated uint32 Unk3300_GPDPCJLHBDE = 11;
+ uint32 reason = 9;
+ bool is_drop = 14;
+ ItemExceedLimitMsgType msg_type = 6;
}
diff --git a/proto/CheckGroupReplacedReq.proto b/proto/CheckGroupReplacedReq.proto
new file mode 100644
index 00000000..140af198
--- /dev/null
+++ b/proto/CheckGroupReplacedReq.proto
@@ -0,0 +1,33 @@
+// 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 CheckGroupReplacedReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3056;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 group_id_list = 7;
+}
diff --git a/proto/CheckGroupReplacedRsp.proto b/proto/CheckGroupReplacedRsp.proto
new file mode 100644
index 00000000..b5388c7e
--- /dev/null
+++ b/proto/CheckGroupReplacedRsp.proto
@@ -0,0 +1,33 @@
+// 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 CheckGroupReplacedRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3411;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ repeated uint32 replaced_group_id_list = 10;
+}
diff --git a/proto/CheckSegmentCRCNotify.proto b/proto/CheckSegmentCRCNotify.proto
new file mode 100644
index 00000000..0370e9df
--- /dev/null
+++ b/proto/CheckSegmentCRCNotify.proto
@@ -0,0 +1,34 @@
+// 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 "SegmentInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CheckSegmentCRCNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 16;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated SegmentInfo info_list = 6;
+}
diff --git a/proto/CheckSegmentCRCReq.proto b/proto/CheckSegmentCRCReq.proto
new file mode 100644
index 00000000..949b509e
--- /dev/null
+++ b/proto/CheckSegmentCRCReq.proto
@@ -0,0 +1,35 @@
+// 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 "SegmentCRCInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CheckSegmentCRCReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 73;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated SegmentCRCInfo info_list = 4;
+}
diff --git a/proto/CheckUgcStateReq.proto b/proto/CheckUgcStateReq.proto
new file mode 100644
index 00000000..4ee599b6
--- /dev/null
+++ b/proto/CheckUgcStateReq.proto
@@ -0,0 +1,31 @@
+// 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 CheckUgcStateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6345;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/CheckUgcStateRsp.proto b/proto/CheckUgcStateRsp.proto
new file mode 100644
index 00000000..4cbce7a1
--- /dev/null
+++ b/proto/CheckUgcStateRsp.proto
@@ -0,0 +1,32 @@
+// 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 CheckUgcStateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6302;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/CheckUgcUpdateReq.proto b/proto/CheckUgcUpdateReq.proto
new file mode 100644
index 00000000..5281c8d4
--- /dev/null
+++ b/proto/CheckUgcUpdateReq.proto
@@ -0,0 +1,35 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CheckUgcUpdateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6315;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ UgcType ugc_type = 3;
+}
diff --git a/proto/CheckUgcUpdateRsp.proto b/proto/CheckUgcUpdateRsp.proto
new file mode 100644
index 00000000..968cc47e
--- /dev/null
+++ b/proto/CheckUgcUpdateRsp.proto
@@ -0,0 +1,36 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CheckUgcUpdateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6318;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ UgcType ugc_type = 6;
+ repeated uint64 update_ugc_guid_list = 3;
+ int32 retcode = 7;
+}
diff --git a/proto/ChessActivityDetailInfo.proto b/proto/ChessActivityDetailInfo.proto
index 3539704a..f2adcaaf 100644
--- a/proto/ChessActivityDetailInfo.proto
+++ b/proto/ChessActivityDetailInfo.proto
@@ -20,13 +20,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChessActivityDetailInfo {
- uint32 level = 4;
- bool is_teach_dungeon_finished = 9;
- uint32 content_close_time = 14;
- uint32 obtained_exp = 8;
+ uint32 punish_over_time = 9;
+ uint32 Unk3300_LPDDFGGKGBP = 4;
+ uint32 level = 14;
+ uint32 exp = 6;
+ uint32 Unk3300_HBGEGIPIANG = 15;
+ uint32 content_close_time = 1;
+ bool is_teach_dungeon_finished = 11;
bool is_content_closed = 5;
- uint32 available_exp = 2;
- uint32 exp = 13;
- repeated uint32 finished_map_id_list = 1;
- uint32 punish_over_time = 3;
+ repeated uint32 finished_map_id_list = 13;
}
diff --git a/proto/ChessCardInfo.proto b/proto/ChessCardInfo.proto
new file mode 100644
index 00000000..97e48d3c
--- /dev/null
+++ b/proto/ChessCardInfo.proto
@@ -0,0 +1,25 @@
+// 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 ChessCardInfo {
+ uint32 card_id = 12;
+ uint32 effect_stack = 8;
+}
diff --git a/proto/ChessEntranceDetailInfo.proto b/proto/ChessEntranceDetailInfo.proto
new file mode 100644
index 00000000..75050e35
--- /dev/null
+++ b/proto/ChessEntranceDetailInfo.proto
@@ -0,0 +1,26 @@
+// 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 "ChessEntranceInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessEntranceDetailInfo {
+ repeated ChessEntranceInfo info_list = 9;
+}
diff --git a/proto/ChessEntranceInfo.proto b/proto/ChessEntranceInfo.proto
new file mode 100644
index 00000000..8143c74b
--- /dev/null
+++ b/proto/ChessEntranceInfo.proto
@@ -0,0 +1,28 @@
+// 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 "ChessMonsterInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessEntranceInfo {
+ repeated ChessMonsterInfo monster_info_list = 15;
+ uint32 entrance_index = 9;
+ uint32 entrance_point_id = 12;
+}
diff --git a/proto/ChessEscapedMonstersNotify.proto b/proto/ChessEscapedMonstersNotify.proto
new file mode 100644
index 00000000..a75fef77
--- /dev/null
+++ b/proto/ChessEscapedMonstersNotify.proto
@@ -0,0 +1,32 @@
+// 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 ChessEscapedMonstersNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5341;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 escaped_monsters = 14;
+}
diff --git a/proto/ChessLeftMonstersNotify.proto b/proto/ChessLeftMonstersNotify.proto
new file mode 100644
index 00000000..1e5be320
--- /dev/null
+++ b/proto/ChessLeftMonstersNotify.proto
@@ -0,0 +1,32 @@
+// 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 ChessLeftMonstersNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5336;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 left_monsters = 5;
+}
diff --git a/proto/ChessManualRefreshCardsReq.proto b/proto/ChessManualRefreshCardsReq.proto
new file mode 100644
index 00000000..ddd9b2c8
--- /dev/null
+++ b/proto/ChessManualRefreshCardsReq.proto
@@ -0,0 +1,31 @@
+// 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 ChessManualRefreshCardsReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5326;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ChessManualRefreshCardsRsp.proto b/proto/ChessManualRefreshCardsRsp.proto
new file mode 100644
index 00000000..0f9346d4
--- /dev/null
+++ b/proto/ChessManualRefreshCardsRsp.proto
@@ -0,0 +1,32 @@
+// 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 ChessManualRefreshCardsRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5377;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+}
diff --git a/proto/ChessMonsterInfo.proto b/proto/ChessMonsterInfo.proto
new file mode 100644
index 00000000..a9045f25
--- /dev/null
+++ b/proto/ChessMonsterInfo.proto
@@ -0,0 +1,26 @@
+// 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 ChessMonsterInfo {
+ uint32 monster_id = 9;
+ uint32 level = 15;
+ repeated uint32 affix_list = 13;
+}
diff --git a/proto/ChessMysteryInfo.proto b/proto/ChessMysteryInfo.proto
new file mode 100644
index 00000000..a3950d75
--- /dev/null
+++ b/proto/ChessMysteryInfo.proto
@@ -0,0 +1,28 @@
+// 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 "ChessEntranceDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessMysteryInfo {
+ repeated uint32 exit_point_id_list = 15;
+ map entrance_point_map = 10;
+ map detail_info_map = 8;
+}
diff --git a/proto/ChessNormalCardInfo.proto b/proto/ChessNormalCardInfo.proto
new file mode 100644
index 00000000..7aa19b4b
--- /dev/null
+++ b/proto/ChessNormalCardInfo.proto
@@ -0,0 +1,26 @@
+// 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 ChessNormalCardInfo {
+ uint32 cost_points = 3;
+ uint32 card_id = 2;
+ bool is_attach_curse = 4;
+}
diff --git a/proto/ChessPickCardNotify.proto b/proto/ChessPickCardNotify.proto
new file mode 100644
index 00000000..a4e48923
--- /dev/null
+++ b/proto/ChessPickCardNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ChessNormalCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessPickCardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5374;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChessNormalCardInfo normal_card_info = 8;
+ uint32 curse_card_id = 6;
+}
diff --git a/proto/ChessPickCardReq.proto b/proto/ChessPickCardReq.proto
new file mode 100644
index 00000000..78c89080
--- /dev/null
+++ b/proto/ChessPickCardReq.proto
@@ -0,0 +1,34 @@
+// 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 ChessPickCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5366;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_id = 5;
+ uint32 card_index = 3;
+}
diff --git a/proto/ChessPickCardRsp.proto b/proto/ChessPickCardRsp.proto
new file mode 100644
index 00000000..2f8c2006
--- /dev/null
+++ b/proto/ChessPickCardRsp.proto
@@ -0,0 +1,34 @@
+// 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 ChessPickCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5352;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 card_index = 4;
+ uint32 card_id = 13;
+}
diff --git a/proto/ChessPlayerInfo.proto b/proto/ChessPlayerInfo.proto
new file mode 100644
index 00000000..bc1cfb85
--- /dev/null
+++ b/proto/ChessPlayerInfo.proto
@@ -0,0 +1,32 @@
+// 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 "ChessNormalCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessPlayerInfo {
+ repeated ChessNormalCardInfo candidate_card_info_list = 1;
+ uint32 uid = 5;
+ uint32 Unk3300_AOCJHOKCDDM = 2;
+ uint32 Unk3300_GPNDNCCLHKE = 10;
+ uint32 building_points = 8;
+ uint32 Unk3300_PPFBGIDKCDJ = 12;
+ uint32 Unk3300_PPFPEAGBHLP = 13;
+}
diff --git a/proto/ChessPlayerInfoNotify.proto b/proto/ChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..99cf9824
--- /dev/null
+++ b/proto/ChessPlayerInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ChessPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessPlayerInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5365;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChessPlayerInfo player_info = 12;
+}
diff --git a/proto/ChessSelectedCardsNotify.proto b/proto/ChessSelectedCardsNotify.proto
new file mode 100644
index 00000000..cf931a55
--- /dev/null
+++ b/proto/ChessSelectedCardsNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ChessCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ChessSelectedCardsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5397;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ChessCardInfo selected_card_info_list = 9;
+}
diff --git a/proto/ChildQuest.proto b/proto/ChildQuest.proto
index e4180de6..92841972 100644
--- a/proto/ChildQuest.proto
+++ b/proto/ChildQuest.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChildQuest {
- uint32 quest_config_id = 8;
- uint32 state = 4;
- uint32 quest_id = 15;
+ uint32 state = 15;
+ uint32 quest_config_id = 9;
+ uint32 quest_id = 13;
}
diff --git a/proto/ChooseCurAvatarTeamReq.proto b/proto/ChooseCurAvatarTeamReq.proto
index ce2592ec..e894c3cb 100644
--- a/proto/ChooseCurAvatarTeamReq.proto
+++ b/proto/ChooseCurAvatarTeamReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1796
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ChooseCurAvatarTeamReq {
- uint32 team_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1738;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 team_id = 10;
}
diff --git a/proto/ChooseCurAvatarTeamRsp.proto b/proto/ChooseCurAvatarTeamRsp.proto
index c617489d..5cf004a6 100644
--- a/proto/ChooseCurAvatarTeamRsp.proto
+++ b/proto/ChooseCurAvatarTeamRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1661
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChooseCurAvatarTeamRsp {
- uint32 cur_team_id = 1;
- int32 retcode = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1778;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 cur_team_id = 11;
}
diff --git a/proto/CityInfo.proto b/proto/CityInfo.proto
index 17ccacf2..5a19d4f8 100644
--- a/proto/CityInfo.proto
+++ b/proto/CityInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CityInfo {
- uint32 city_id = 15;
- uint32 crystal_num = 3;
- uint32 level = 4;
+ uint32 city_id = 9;
+ uint32 level = 12;
+ uint32 crystal_num = 2;
}
diff --git a/proto/CityReputationDataNotify.proto b/proto/CityReputationDataNotify.proto
new file mode 100644
index 00000000..48113d7a
--- /dev/null
+++ b/proto/CityReputationDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CityReputationSimpleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CityReputationDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2842;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CityReputationSimpleInfo simple_info_list = 13;
+}
diff --git a/proto/CityReputationExploreInfo.proto b/proto/CityReputationExploreInfo.proto
new file mode 100644
index 00000000..7f0cc763
--- /dev/null
+++ b/proto/CityReputationExploreInfo.proto
@@ -0,0 +1,26 @@
+// 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 CityReputationExploreInfo {
+ uint32 explore_percent = 1;
+ repeated uint32 taken_explore_reward_list = 15;
+ bool is_open = 13;
+}
diff --git a/proto/CityReputationHuntInfo.proto b/proto/CityReputationHuntInfo.proto
new file mode 100644
index 00000000..06a11a14
--- /dev/null
+++ b/proto/CityReputationHuntInfo.proto
@@ -0,0 +1,26 @@
+// 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 CityReputationHuntInfo {
+ uint32 cur_week_finish_num = 1;
+ bool is_open = 7;
+ bool has_reward = 15;
+}
diff --git a/proto/CityReputationInfo.proto b/proto/CityReputationInfo.proto
new file mode 100644
index 00000000..7d0ec0f9
--- /dev/null
+++ b/proto/CityReputationInfo.proto
@@ -0,0 +1,37 @@
+// 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 "CityReputationExploreInfo.proto";
+import "CityReputationHuntInfo.proto";
+import "CityReputationQuestInfo.proto";
+import "CityReputationRequestInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CityReputationInfo {
+ uint32 exp = 8;
+ CityReputationQuestInfo quest_info = 9;
+ repeated uint32 taken_level_reward_list = 10;
+ CityReputationRequestInfo request_info = 5;
+ uint32 next_refresh_time = 11;
+ uint32 total_accept_request_num = 12;
+ CityReputationHuntInfo hunt_info = 15;
+ CityReputationExploreInfo explore_info = 3;
+ uint32 level = 2;
+}
diff --git a/proto/CityReputationLevelupNotify.proto b/proto/CityReputationLevelupNotify.proto
new file mode 100644
index 00000000..84faccc1
--- /dev/null
+++ b/proto/CityReputationLevelupNotify.proto
@@ -0,0 +1,33 @@
+// 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 CityReputationLevelupNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2900;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level = 5;
+ uint32 city_id = 6;
+}
diff --git a/proto/CityReputationQuestInfo.proto b/proto/CityReputationQuestInfo.proto
index 04e63d02..7fecf841 100644
--- a/proto/CityReputationQuestInfo.proto
+++ b/proto/CityReputationQuestInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CityReputationQuestInfo {
- bool is_open = 2;
- repeated uint32 taken_parent_quest_reward_list = 12;
- repeated uint32 finished_parent_quest_list = 7;
+ repeated uint32 Unk3300_IMLDPDMHJBJ = 12;
+ repeated uint32 Unk3300_OMGMGDIHDOH = 10;
+ bool is_open = 4;
}
diff --git a/proto/CityReputationRequestInfo.proto b/proto/CityReputationRequestInfo.proto
new file mode 100644
index 00000000..577d9291
--- /dev/null
+++ b/proto/CityReputationRequestInfo.proto
@@ -0,0 +1,31 @@
+// 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 CityReputationRequestInfo {
+ message RequestInfo {
+ bool is_taken_reward = 4;
+ uint32 request_id = 8;
+ uint32 quest_id = 11;
+ }
+
+ repeated RequestInfo request_info_list = 4;
+ bool is_open = 14;
+}
diff --git a/proto/CityReputationSimpleInfo.proto b/proto/CityReputationSimpleInfo.proto
new file mode 100644
index 00000000..51bf02c2
--- /dev/null
+++ b/proto/CityReputationSimpleInfo.proto
@@ -0,0 +1,25 @@
+// 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 CityReputationSimpleInfo {
+ uint32 city_id = 14;
+ uint32 level = 8;
+}
diff --git a/proto/ClearRoguelikeCurseNotify.proto b/proto/ClearRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..9be0b7b7
--- /dev/null
+++ b/proto/ClearRoguelikeCurseNotify.proto
@@ -0,0 +1,35 @@
+// 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 ClearRoguelikeCurseNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8038;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_clear_all = 11;
+ map clear_curse_map = 5;
+ uint32 card_id = 9;
+ bool is_curse_all_clear = 4;
+}
diff --git a/proto/ClientAIStateNotify.proto b/proto/ClientAIStateNotify.proto
new file mode 100644
index 00000000..8670df94
--- /dev/null
+++ b/proto/ClientAIStateNotify.proto
@@ -0,0 +1,34 @@
+// 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 ClientAIStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1125;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 13;
+ uint32 cur_tactic = 3;
+}
diff --git a/proto/ClientAbilitiesInitFinishCombineNotify.proto b/proto/ClientAbilitiesInitFinishCombineNotify.proto
new file mode 100644
index 00000000..457bf9f1
--- /dev/null
+++ b/proto/ClientAbilitiesInitFinishCombineNotify.proto
@@ -0,0 +1,35 @@
+// 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 "EntityAbilityInvokeEntry.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientAbilitiesInitFinishCombineNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1161;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated EntityAbilityInvokeEntry entity_invoke_list = 10;
+}
diff --git a/proto/ClientAbilityChangeNotify.proto b/proto/ClientAbilityChangeNotify.proto
index 70bb803c..dd62444e 100644
--- a/proto/ClientAbilityChangeNotify.proto
+++ b/proto/ClientAbilityChangeNotify.proto
@@ -21,12 +21,17 @@ import "AbilityInvokeEntry.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1175
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ClientAbilityChangeNotify {
- bool is_init_hash = 9;
- uint32 entity_id = 2;
- repeated AbilityInvokeEntry invokes = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1139;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_init_hash = 10;
+ repeated AbilityInvokeEntry invokes = 14;
+ uint32 entity_id = 11;
}
diff --git a/proto/ClientAbilityInitBeginNotify.proto b/proto/ClientAbilityInitBeginNotify.proto
new file mode 100644
index 00000000..2a9ac9ce
--- /dev/null
+++ b/proto/ClientAbilityInitBeginNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientAbilityInitBeginNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1156;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 10;
+}
diff --git a/proto/ClientAbilityInitFinishNotify.proto b/proto/ClientAbilityInitFinishNotify.proto
index d1a29983..75cc7d0d 100644
--- a/proto/ClientAbilityInitFinishNotify.proto
+++ b/proto/ClientAbilityInitFinishNotify.proto
@@ -21,11 +21,16 @@ import "AbilityInvokeEntry.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1135
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ClientAbilityInitFinishNotify {
- repeated AbilityInvokeEntry invokes = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint32 entity_id = 11;
+ repeated AbilityInvokeEntry invokes = 9;
}
diff --git a/proto/ClientBulletCreateNotify.proto b/proto/ClientBulletCreateNotify.proto
new file mode 100644
index 00000000..22076e4d
--- /dev/null
+++ b/proto/ClientBulletCreateNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientBulletCreateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 44;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 param = 2;
+}
diff --git a/proto/ClientCollectorData.proto b/proto/ClientCollectorData.proto
index e81eeef2..ff6a65d3 100644
--- a/proto/ClientCollectorData.proto
+++ b/proto/ClientCollectorData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ClientCollectorData {
- uint32 material_id = 10;
- uint32 max_points = 8;
- uint32 curr_points = 13;
+ uint32 Unk3300_PPAOJCGAAEA = 2;
+ uint32 Unk3300_MFCHJHPJALD = 3;
+ uint32 material_id = 9;
}
diff --git a/proto/ClientCollectorDataNotify.proto b/proto/ClientCollectorDataNotify.proto
new file mode 100644
index 00000000..16e6969f
--- /dev/null
+++ b/proto/ClientCollectorDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ClientCollectorData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientCollectorDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4252;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ClientCollectorData client_collector_data_list = 1;
+}
diff --git a/proto/ClientHashDebugNotify.proto b/proto/ClientHashDebugNotify.proto
new file mode 100644
index 00000000..84579a0d
--- /dev/null
+++ b/proto/ClientHashDebugNotify.proto
@@ -0,0 +1,32 @@
+// 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 ClientHashDebugNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3287;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 job_id = 15;
+}
diff --git a/proto/ClientInputType.proto b/proto/ClientInputType.proto
index 487cb400..c3eb29ec 100644
--- a/proto/ClientInputType.proto
+++ b/proto/ClientInputType.proto
@@ -21,7 +21,7 @@ option java_package = "emu.grasscutter.net.proto";
enum ClientInputType {
CLIENT_INPUT_TYPE_NONE = 0;
- CLIENT_INPUT_TYPE_KEYBORD_MOUSE = 1;
+ CLIENT_INPUT_TYPE_KEYBOARD_MOUSE = 1;
CLIENT_INPUT_TYPE_GAMEPAD = 2;
CLIENT_INPUT_TYPE_TOUCH_PANEL = 3;
}
diff --git a/proto/ClientLoadingCostumeVerificationNotify.proto b/proto/ClientLoadingCostumeVerificationNotify.proto
new file mode 100644
index 00000000..f51848a3
--- /dev/null
+++ b/proto/ClientLoadingCostumeVerificationNotify.proto
@@ -0,0 +1,35 @@
+// 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 ClientLoadingCostumeVerificationNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3269;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 prefab_hash = 5;
+ uint64 guid = 1;
+ uint32 costume_id = 7;
+}
diff --git a/proto/ClientLockGameTimeNotify.proto b/proto/ClientLockGameTimeNotify.proto
new file mode 100644
index 00000000..89de291f
--- /dev/null
+++ b/proto/ClientLockGameTimeNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientLockGameTimeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 141;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_lock = 11;
+}
diff --git a/proto/ClientLogBodyLogin.proto b/proto/ClientLogBodyLogin.proto
new file mode 100644
index 00000000..10b5cd7d
--- /dev/null
+++ b/proto/ClientLogBodyLogin.proto
@@ -0,0 +1,29 @@
+// 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 ClientLogBodyLogin {
+ string action_type = 1;
+ string action_result = 2;
+ uint32 action_time = 3;
+ string xg = 4;
+ uint32 signal_level = 5;
+ string dns = 6;
+}
diff --git a/proto/ClientLogBodyPing.proto b/proto/ClientLogBodyPing.proto
new file mode 100644
index 00000000..9739ed0f
--- /dev/null
+++ b/proto/ClientLogBodyPing.proto
@@ -0,0 +1,32 @@
+// 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 ClientLogBodyPing {
+ string xg = 1;
+ uint32 signal_level = 2;
+ uint32 ping = 3;
+ string servertype = 4;
+ string serverip = 5;
+ string serverport = 6;
+ uint32 pcount = 7;
+ uint32 plost = 8;
+ string dns = 9;
+}
diff --git a/proto/ClientLogHead.proto b/proto/ClientLogHead.proto
new file mode 100644
index 00000000..af4eb04c
--- /dev/null
+++ b/proto/ClientLogHead.proto
@@ -0,0 +1,37 @@
+// 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 ClientLogHead {
+ string event_time = 1;
+ string log_serial_number = 2;
+ uint32 action_id = 3;
+ string action_name = 4;
+ string upload_ip = 5;
+ string product_id = 6;
+ string channel_id = 7;
+ string region_name = 8;
+ string game_version = 9;
+ string device_type = 10;
+ string device_uuid = 11;
+ string mac_addr = 12;
+ string account_name = 13;
+ string account_uuid = 14;
+}
diff --git a/proto/ClientMassiveEntity.proto b/proto/ClientMassiveEntity.proto
new file mode 100644
index 00000000..8fe306a8
--- /dev/null
+++ b/proto/ClientMassiveEntity.proto
@@ -0,0 +1,35 @@
+// 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 "MassiveBoxInfo.proto";
+import "MassiveGrassInfo.proto";
+import "MassiveWaterInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientMassiveEntity {
+ uint32 entity_type = 1;
+ uint32 config_id = 2;
+ int64 obj_id = 3;
+ oneof entity_info {
+ MassiveWaterInfo water_info = 4;
+ MassiveGrassInfo grass_info = 5;
+ MassiveBoxInfo box_info = 6;
+ }
+}
diff --git a/proto/ClientNewMailNotify.proto b/proto/ClientNewMailNotify.proto
new file mode 100644
index 00000000..1ba3631c
--- /dev/null
+++ b/proto/ClientNewMailNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientNewMailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1457;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_FBDGCFAALFN = 13;
+ uint32 Unk3300_MANJMCPELLJ = 2;
+}
diff --git a/proto/ClientPauseNotify.proto b/proto/ClientPauseNotify.proto
new file mode 100644
index 00000000..dc2ebdf6
--- /dev/null
+++ b/proto/ClientPauseNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientPauseNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 236;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_open = 8;
+}
diff --git a/proto/ClientReconnectNotify.proto b/proto/ClientReconnectNotify.proto
new file mode 100644
index 00000000..0f6a1694
--- /dev/null
+++ b/proto/ClientReconnectNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ClientReconnectReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientReconnectNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 39;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ClientReconnectReason reason = 1;
+}
diff --git a/proto/ClientReconnectReason.proto b/proto/ClientReconnectReason.proto
new file mode 100644
index 00000000..33389e0d
--- /dev/null
+++ b/proto/ClientReconnectReason.proto
@@ -0,0 +1,25 @@
+// 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 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..216294b2
--- /dev/null
+++ b/proto/ClientRemoveCombatEndModifierNotify.proto
@@ -0,0 +1,33 @@
+// 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 ClientRemoveCombatEndModifierNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1190;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 combat_end_type_list = 10;
+}
diff --git a/proto/ClientReportNotify.proto b/proto/ClientReportNotify.proto
new file mode 100644
index 00000000..8f0e2329
--- /dev/null
+++ b/proto/ClientReportNotify.proto
@@ -0,0 +1,34 @@
+// 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 ClientReportNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 25;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string Unk3300_JHJDJEBAFCM = 15;
+ string Unk3300_AMLEAJLJDFO = 10;
+}
diff --git a/proto/ClientScriptEventNotify.proto b/proto/ClientScriptEventNotify.proto
new file mode 100644
index 00000000..423f21b0
--- /dev/null
+++ b/proto/ClientScriptEventNotify.proto
@@ -0,0 +1,36 @@
+// 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 ClientScriptEventNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 260;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 source_entity_id = 1;
+ uint32 event_type = 8;
+ uint32 target_entity_id = 4;
+ repeated int32 param_list = 6;
+}
diff --git a/proto/ClientTransmitReq.proto b/proto/ClientTransmitReq.proto
new file mode 100644
index 00000000..a9bf14e8
--- /dev/null
+++ b/proto/ClientTransmitReq.proto
@@ -0,0 +1,39 @@
+// 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 "TransmitReason.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientTransmitReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 221;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ TransmitReason reason = 3;
+ uint32 scene_id = 9;
+ Vector rot = 6;
+ Vector pos = 4;
+}
diff --git a/proto/ClientTransmitRsp.proto b/proto/ClientTransmitRsp.proto
new file mode 100644
index 00000000..6738fc9f
--- /dev/null
+++ b/proto/ClientTransmitRsp.proto
@@ -0,0 +1,35 @@
+// 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 "TransmitReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientTransmitRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 222;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TransmitReason reason = 11;
+ int32 retcode = 13;
+}
diff --git a/proto/ClientTriggerEventNotify.proto b/proto/ClientTriggerEventNotify.proto
new file mode 100644
index 00000000..5245a856
--- /dev/null
+++ b/proto/ClientTriggerEventNotify.proto
@@ -0,0 +1,36 @@
+// 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 "EventTriggerType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ClientTriggerEventNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 148;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 force_id = 10;
+ EventTriggerType event_type = 15;
+}
diff --git a/proto/CloseCommonTipsNotify.proto b/proto/CloseCommonTipsNotify.proto
new file mode 100644
index 00000000..8a02d5b0
--- /dev/null
+++ b/proto/CloseCommonTipsNotify.proto
@@ -0,0 +1,30 @@
+// 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 CloseCommonTipsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3273;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/ClosedItemNotify.proto b/proto/ClosedItemNotify.proto
index 87985fb2..6a5c1876 100644
--- a/proto/ClosedItemNotify.proto
+++ b/proto/ClosedItemNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 614
-// EnetChannelId: 0
-// EnetIsReliable: true
message ClosedItemNotify {
- repeated uint32 item_id_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 641;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 item_id_list = 10;
}
diff --git a/proto/CodexDataFullNotify.proto b/proto/CodexDataFullNotify.proto
index f9fe0ad9..d595f3a0 100644
--- a/proto/CodexDataFullNotify.proto
+++ b/proto/CodexDataFullNotify.proto
@@ -21,12 +21,17 @@ import "CodexTypeData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4205
-// EnetChannelId: 0
-// EnetIsReliable: true
message CodexDataFullNotify {
- uint32 last_read_pushtips_codex_id = 4;
- repeated uint32 recent_viewed_pushtips_list = 2;
- uint32 last_read_pushtips_type_id = 3;
- repeated CodexTypeData type_data_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4201;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CodexTypeData type_data_list = 14;
+ uint32 Unk3300_ODPDLGEKIEM = 4;
+ uint32 Unk3300_DCMJLCIFCEH = 13;
+ repeated uint32 recent_viewed_pushtips_list = 1;
}
diff --git a/proto/CodexDataUpdateNotify.proto b/proto/CodexDataUpdateNotify.proto
index 8a83a7df..7ab55c24 100644
--- a/proto/CodexDataUpdateNotify.proto
+++ b/proto/CodexDataUpdateNotify.proto
@@ -21,11 +21,16 @@ import "CodexType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4207
-// EnetChannelId: 0
-// EnetIsReliable: true
message CodexDataUpdateNotify {
- uint32 id = 8;
- uint32 weapon_max_promote_level = 15;
- CodexType type = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4203;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 weapon_max_promote_level = 10;
+ CodexType type = 5;
+ uint32 id = 3;
}
diff --git a/proto/CodexTypeComparer.proto b/proto/CodexTypeComparer.proto
new file mode 100644
index 00000000..09b7213a
--- /dev/null
+++ b/proto/CodexTypeComparer.proto
@@ -0,0 +1,8 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+message CodexTypeComparer {
+}
diff --git a/proto/CodexTypeData.proto b/proto/CodexTypeData.proto
index ef5c5fcf..d2cf3f9a 100644
--- a/proto/CodexTypeData.proto
+++ b/proto/CodexTypeData.proto
@@ -22,8 +22,8 @@ import "CodexType.proto";
option java_package = "emu.grasscutter.net.proto";
message CodexTypeData {
- repeated uint32 codex_id_list = 14;
- map weapon_max_promote_level_map = 4;
- CodexType type = 13;
- repeated bool have_viewed_list = 5;
+ repeated bool have_viewed_list = 13;
+ repeated uint32 codex_id_list = 9;
+ map weapon_max_promote_level_map = 12;
+ CodexType type = 14;
}
diff --git a/proto/CoinCollectCheckDoubleStartPlayReq.proto b/proto/CoinCollectCheckDoubleStartPlayReq.proto
new file mode 100644
index 00000000..46ae3961
--- /dev/null
+++ b/proto/CoinCollectCheckDoubleStartPlayReq.proto
@@ -0,0 +1,33 @@
+// 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 CoinCollectCheckDoubleStartPlayReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22424;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 9;
+}
diff --git a/proto/CoinCollectCheckDoubleStartPlayRsp.proto b/proto/CoinCollectCheckDoubleStartPlayRsp.proto
new file mode 100644
index 00000000..28813690
--- /dev/null
+++ b/proto/CoinCollectCheckDoubleStartPlayRsp.proto
@@ -0,0 +1,33 @@
+// 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 CoinCollectCheckDoubleStartPlayRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24124;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ uint32 level_id = 6;
+}
diff --git a/proto/CoinCollectChooseSkillReq.proto b/proto/CoinCollectChooseSkillReq.proto
new file mode 100644
index 00000000..145afd61
--- /dev/null
+++ b/proto/CoinCollectChooseSkillReq.proto
@@ -0,0 +1,34 @@
+// 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 CoinCollectChooseSkillReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21667;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 choose_skill_no = 14;
+ uint32 level_id = 9;
+}
diff --git a/proto/CoinCollectChooseSkillRsp.proto b/proto/CoinCollectChooseSkillRsp.proto
new file mode 100644
index 00000000..719ef2d6
--- /dev/null
+++ b/proto/CoinCollectChooseSkillRsp.proto
@@ -0,0 +1,34 @@
+// 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 CoinCollectChooseSkillRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23416;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 13;
+ uint32 choose_skill_no = 10;
+ int32 retcode = 7;
+}
diff --git a/proto/CoinCollectDetailInfo.proto b/proto/CoinCollectDetailInfo.proto
new file mode 100644
index 00000000..11328292
--- /dev/null
+++ b/proto/CoinCollectDetailInfo.proto
@@ -0,0 +1,26 @@
+// 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 "CoinCollectLevelData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoinCollectDetailInfo {
+ repeated CoinCollectLevelData level_data_list = 2;
+}
diff --git a/proto/CoinCollectGallerySettleNotify.proto b/proto/CoinCollectGallerySettleNotify.proto
new file mode 100644
index 00000000..ed1ec291
--- /dev/null
+++ b/proto/CoinCollectGallerySettleNotify.proto
@@ -0,0 +1,37 @@
+// 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 CoinCollectGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5546;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 2;
+ uint32 Unk3300_DKBJMLJGLIB = 13;
+ uint32 Unk3300_KDHDMOGJDNL = 14;
+ uint32 multistage_play_index = 8;
+ uint32 Unk3300_CPLDPCMBHOE = 6;
+ bool is_new_record = 15;
+}
diff --git a/proto/CoinCollectInterruptPlayReq.proto b/proto/CoinCollectInterruptPlayReq.proto
new file mode 100644
index 00000000..fad98ca4
--- /dev/null
+++ b/proto/CoinCollectInterruptPlayReq.proto
@@ -0,0 +1,33 @@
+// 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 CoinCollectInterruptPlayReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20562;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 11;
+}
diff --git a/proto/CoinCollectInterruptPlayRsp.proto b/proto/CoinCollectInterruptPlayRsp.proto
new file mode 100644
index 00000000..07c61fd1
--- /dev/null
+++ b/proto/CoinCollectInterruptPlayRsp.proto
@@ -0,0 +1,33 @@
+// 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 CoinCollectInterruptPlayRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23589;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 3;
+ int32 retcode = 15;
+}
diff --git a/proto/CoinCollectLevelData.proto b/proto/CoinCollectLevelData.proto
new file mode 100644
index 00000000..e9dc317a
--- /dev/null
+++ b/proto/CoinCollectLevelData.proto
@@ -0,0 +1,37 @@
+// 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 "CoinCollectTeamInfoData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoinCollectLevelData {
+ bool is_level_open = 6;
+ uint32 Unk3300_GNFGEFHKHEF = 14;
+ uint32 level_id = 7;
+ uint32 Unk3300_ONPKNIAHPHM = 4;
+ bool Unk3300_GDKMJJNFIPP = 13;
+ CoinCollectTeamInfoData single_best_team_info = 8;
+ uint32 Unk3300_HINHOCILNJC = 1;
+ uint32 Unk3300_ALILGJBDOMD = 3;
+ bool Unk3300_OLNMJJHJAGK = 10;
+ uint32 Unk3300_LOPHGLMNDCP = 11;
+ repeated CoinCollectTeamInfoData double_best_team_info_list = 2;
+ bool Unk3300_JDBOOHBJFCP = 9;
+}
diff --git a/proto/CoinCollectOperatorInfo.proto b/proto/CoinCollectOperatorInfo.proto
new file mode 100644
index 00000000..841e20a7
--- /dev/null
+++ b/proto/CoinCollectOperatorInfo.proto
@@ -0,0 +1,24 @@
+// 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 CoinCollectOperatorInfo {
+ uint32 level_id = 1;
+}
diff --git a/proto/CoinCollectPlayerInfo.proto b/proto/CoinCollectPlayerInfo.proto
new file mode 100644
index 00000000..43c1edae
--- /dev/null
+++ b/proto/CoinCollectPlayerInfo.proto
@@ -0,0 +1,30 @@
+// 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 "CoinCollectTeamAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoinCollectPlayerInfo {
+ uint32 player_uid = 15;
+ bool is_prepare = 7;
+ uint32 choose_skill_no = 10;
+ repeated CoinCollectTeamAvatarInfo avatar_info_list = 2;
+ string player_name = 6;
+}
diff --git a/proto/CoinCollectPrepareReq.proto b/proto/CoinCollectPrepareReq.proto
new file mode 100644
index 00000000..f9ce64f9
--- /dev/null
+++ b/proto/CoinCollectPrepareReq.proto
@@ -0,0 +1,31 @@
+// 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 CoinCollectPrepareReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23071;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/CoinCollectPrepareRsp.proto b/proto/CoinCollectPrepareRsp.proto
new file mode 100644
index 00000000..3da3e1d8
--- /dev/null
+++ b/proto/CoinCollectPrepareRsp.proto
@@ -0,0 +1,32 @@
+// 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 CoinCollectPrepareRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23817;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/CoinCollectPrepareStageNotify.proto b/proto/CoinCollectPrepareStageNotify.proto
new file mode 100644
index 00000000..2386cbd9
--- /dev/null
+++ b/proto/CoinCollectPrepareStageNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CoinCollectStageInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoinCollectPrepareStageNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6408;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CoinCollectStageInfo coin_collect_info = 11;
+}
diff --git a/proto/CoinCollectStageInfo.proto b/proto/CoinCollectStageInfo.proto
new file mode 100644
index 00000000..2e7a6c98
--- /dev/null
+++ b/proto/CoinCollectStageInfo.proto
@@ -0,0 +1,28 @@
+// 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 "CoinCollectPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoinCollectStageInfo {
+ uint32 play_index = 9;
+ repeated CoinCollectPlayerInfo player_info_list = 11;
+ uint32 level_id = 5;
+}
diff --git a/proto/CoinCollectTeamAvatarInfo.proto b/proto/CoinCollectTeamAvatarInfo.proto
new file mode 100644
index 00000000..9f8c3e16
--- /dev/null
+++ b/proto/CoinCollectTeamAvatarInfo.proto
@@ -0,0 +1,25 @@
+// 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 CoinCollectTeamAvatarInfo {
+ uint32 avatar_id = 5;
+ uint32 costume_id = 1;
+}
diff --git a/proto/CoinCollectTeamInfoData.proto b/proto/CoinCollectTeamInfoData.proto
new file mode 100644
index 00000000..44107d35
--- /dev/null
+++ b/proto/CoinCollectTeamInfoData.proto
@@ -0,0 +1,29 @@
+// 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 CoinCollectTeamInfoData {
+ repeated uint32 Unk3300_CPDGJEIOJAB = 2;
+ uint32 choose_skill_no = 11;
+ repeated uint32 Unk3300_IFBDFEOGOLH = 15;
+ bool is_host = 13;
+ uint32 player_uid = 6;
+ repeated uint32 avatar_id_list = 7;
+}
diff --git a/proto/CombatInvocationsNotify.proto b/proto/CombatInvocationsNotify.proto
index 489b6bb0..ff641437 100644
--- a/proto/CombatInvocationsNotify.proto
+++ b/proto/CombatInvocationsNotify.proto
@@ -21,10 +21,15 @@ import "CombatInvokeEntry.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 319
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message CombatInvocationsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 354;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
repeated CombatInvokeEntry invoke_list = 14;
}
diff --git a/proto/CombatInvokeEntry.proto b/proto/CombatInvokeEntry.proto
index a61f693a..0e840d01 100644
--- a/proto/CombatInvokeEntry.proto
+++ b/proto/CombatInvokeEntry.proto
@@ -23,7 +23,7 @@ import "ForwardType.proto";
option java_package = "emu.grasscutter.net.proto";
message CombatInvokeEntry {
- bytes combat_data = 12;
- ForwardType forward_type = 10;
- CombatTypeArgument argument_type = 11;
+ ForwardType forward_type = 11;
+ CombatTypeArgument argument_type = 9;
+ bytes combat_data = 7;
}
diff --git a/proto/CombineDataNotify.proto b/proto/CombineDataNotify.proto
index 190edfe0..df57e109 100644
--- a/proto/CombineDataNotify.proto
+++ b/proto/CombineDataNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 659
-// EnetChannelId: 0
-// EnetIsReliable: true
message CombineDataNotify {
- repeated uint32 combine_id_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 677;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 combine_id_list = 7;
}
diff --git a/proto/CombineFormulaDataNotify.proto b/proto/CombineFormulaDataNotify.proto
index 03084f8e..0df19136 100644
--- a/proto/CombineFormulaDataNotify.proto
+++ b/proto/CombineFormulaDataNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 632
-// EnetChannelId: 0
-// EnetIsReliable: true
message CombineFormulaDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 665;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
uint32 combine_id = 6;
- bool is_locked = 3;
+ bool is_locked = 8;
}
diff --git a/proto/CombineReq.proto b/proto/CombineReq.proto
index 962b839b..ccddb56c 100644
--- a/proto/CombineReq.proto
+++ b/proto/CombineReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 643
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message CombineReq {
- uint32 combine_count = 12;
- uint32 combine_id = 9;
- uint64 avatar_guid = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 675;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 6;
+ uint32 combine_id = 5;
+ uint32 combine_count = 15;
}
diff --git a/proto/CombineRsp.proto b/proto/CombineRsp.proto
index faba40f2..ac5ee9cf 100644
--- a/proto/CombineRsp.proto
+++ b/proto/CombineRsp.proto
@@ -21,17 +21,22 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 674
-// EnetChannelId: 0
-// EnetIsReliable: true
message CombineRsp {
- repeated ItemParam cost_item_list = 3;
- int32 retcode = 7;
- repeated ItemParam total_extra_item_list = 6;
- uint32 combine_id = 11;
- repeated ItemParam total_random_item_list = 9;
- repeated ItemParam result_item_list = 2;
- uint32 combine_count = 13;
- repeated ItemParam total_return_item_list = 12;
- uint64 avatar_guid = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 634;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam Unk3300_IAMGGFHOMEC = 11;
+ repeated ItemParam Unk3300_BAKPEKIFJOA = 13;
+ repeated ItemParam Unk3300_CDAFJDFHLKI = 6;
+ uint64 avatar_guid = 7;
+ uint32 combine_count = 2;
+ uint32 combine_id = 10;
+ repeated ItemParam cost_item_list = 15;
+ int32 retcode = 1;
+ repeated ItemParam Unk3300_FLHNPFGNNBM = 4;
}
diff --git a/proto/CommonPlayerTipsNotify.proto b/proto/CommonPlayerTipsNotify.proto
new file mode 100644
index 00000000..e13bc53d
--- /dev/null
+++ b/proto/CommonPlayerTipsNotify.proto
@@ -0,0 +1,33 @@
+// 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 CommonPlayerTipsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8167;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 notify_type = 15;
+ repeated string text_map_id_list = 8;
+}
diff --git a/proto/CompoundDataNotify.proto b/proto/CompoundDataNotify.proto
index a8565fc9..4d8a9197 100644
--- a/proto/CompoundDataNotify.proto
+++ b/proto/CompoundDataNotify.proto
@@ -21,10 +21,15 @@ import "CompoundQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 146
-// EnetChannelId: 0
-// EnetIsReliable: true
message CompoundDataNotify {
- repeated uint32 unlock_compound_list = 1;
- repeated CompoundQueueData compound_que_data_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 164;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CompoundQueueData compound_queue_data_list = 7;
+ repeated uint32 unlock_compound_list = 11;
}
diff --git a/proto/CompoundQueueData.proto b/proto/CompoundQueueData.proto
index bb01f259..19493310 100644
--- a/proto/CompoundQueueData.proto
+++ b/proto/CompoundQueueData.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CompoundQueueData {
- uint32 output_count = 1;
- uint32 compound_id = 4;
- uint32 output_time = 14;
- uint32 wait_count = 8;
+ uint32 Unk3300_NCEHJAAHOKM = 5;
+ uint32 Unk3300_COMIGCMIPLE = 14;
+ uint32 Unk3300_JHJNOPCPPAD = 10;
+ uint32 compound_id = 12;
}
diff --git a/proto/CompoundUnlockNotify.proto b/proto/CompoundUnlockNotify.proto
new file mode 100644
index 00000000..69cac3ef
--- /dev/null
+++ b/proto/CompoundUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 CompoundUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 106;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 compound_id = 7;
+}
diff --git a/proto/ContentAuditAuxiliaryField.proto b/proto/ContentAuditAuxiliaryField.proto
new file mode 100644
index 00000000..87247285
--- /dev/null
+++ b/proto/ContentAuditAuxiliaryField.proto
@@ -0,0 +1,25 @@
+// 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 ContentAuditAuxiliaryField {
+ string name = 1;
+ string value = 2;
+}
diff --git a/proto/ContentAuditData.proto b/proto/ContentAuditData.proto
new file mode 100644
index 00000000..edb95081
--- /dev/null
+++ b/proto/ContentAuditData.proto
@@ -0,0 +1,26 @@
+// 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 ContentAuditData {
+ string type = 1;
+ string content = 2;
+ uint32 auto_pass_time = 3;
+}
diff --git a/proto/ContentAuditField.proto b/proto/ContentAuditField.proto
new file mode 100644
index 00000000..1a00e21c
--- /dev/null
+++ b/proto/ContentAuditField.proto
@@ -0,0 +1,27 @@
+// 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 "ContentAuditData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ContentAuditField {
+ repeated ContentAuditData segment_list = 1;
+ string name = 2;
+}
diff --git a/proto/ContentAuditInfo.proto b/proto/ContentAuditInfo.proto
new file mode 100644
index 00000000..9ec735e3
--- /dev/null
+++ b/proto/ContentAuditInfo.proto
@@ -0,0 +1,30 @@
+// 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 "AuditState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ContentAuditInfo {
+ bool is_open = 1;
+ string content = 2;
+ uint32 submit_count = 3;
+ AuditState audit_state = 4;
+ uint32 submit_limit = 5;
+}
diff --git a/proto/CookDataNotify.proto b/proto/CookDataNotify.proto
index a823e12c..85a5a683 100644
--- a/proto/CookDataNotify.proto
+++ b/proto/CookDataNotify.proto
@@ -21,10 +21,15 @@ import "CookRecipeData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 195
-// EnetChannelId: 0
-// EnetIsReliable: true
message CookDataNotify {
- repeated CookRecipeData recipe_data_list = 2;
- uint32 grade = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 133;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CookRecipeData recipe_data_list = 15;
+ uint32 grade = 9;
}
diff --git a/proto/CookGradeDataNotify.proto b/proto/CookGradeDataNotify.proto
new file mode 100644
index 00000000..69c80695
--- /dev/null
+++ b/proto/CookGradeDataNotify.proto
@@ -0,0 +1,32 @@
+// 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 CookGradeDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 180;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 grade = 13;
+}
diff --git a/proto/CookRecipeData.proto b/proto/CookRecipeData.proto
index 53943781..aedb4ebf 100644
--- a/proto/CookRecipeData.proto
+++ b/proto/CookRecipeData.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CookRecipeData {
- uint32 proficiency = 13;
- uint32 recipe_id = 9;
+ uint32 proficiency = 8;
+ uint32 recipe_id = 14;
}
diff --git a/proto/CookRecipeDataNotify.proto b/proto/CookRecipeDataNotify.proto
index 9b7f32f1..096775c1 100644
--- a/proto/CookRecipeDataNotify.proto
+++ b/proto/CookRecipeDataNotify.proto
@@ -21,9 +21,14 @@ import "CookRecipeData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 106
-// EnetChannelId: 0
-// EnetIsReliable: true
message CookRecipeDataNotify {
- CookRecipeData recipe_data = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 110;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CookRecipeData recipe_data = 1;
}
diff --git a/proto/CoopCg.proto b/proto/CoopCg.proto
new file mode 100644
index 00000000..a09d2bff
--- /dev/null
+++ b/proto/CoopCg.proto
@@ -0,0 +1,25 @@
+// 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 CoopCg {
+ uint32 id = 5;
+ bool is_unlock = 7;
+}
diff --git a/proto/CoopCgShowNotify.proto b/proto/CoopCgShowNotify.proto
new file mode 100644
index 00000000..9caea4ab
--- /dev/null
+++ b/proto/CoopCgShowNotify.proto
@@ -0,0 +1,32 @@
+// 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 CoopCgShowNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1951;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 cg_list = 14;
+}
diff --git a/proto/CoopCgUpdateNotify.proto b/proto/CoopCgUpdateNotify.proto
new file mode 100644
index 00000000..a04747c7
--- /dev/null
+++ b/proto/CoopCgUpdateNotify.proto
@@ -0,0 +1,32 @@
+// 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 CoopCgUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1962;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 cg_list = 8;
+}
diff --git a/proto/CoopChapter.proto b/proto/CoopChapter.proto
new file mode 100644
index 00000000..78fa54ea
--- /dev/null
+++ b/proto/CoopChapter.proto
@@ -0,0 +1,44 @@
+// 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 "CoopCg.proto";
+import "CoopPoint.proto";
+import "CoopReward.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoopChapter {
+ enum State {
+ STATE_CLOSE = 0;
+ STATE_COND_NOT_MEET = 1;
+ STATE_COND_MEET = 2;
+ STATE_ACCEPT = 3;
+ }
+
+ uint32 id = 9;
+ repeated CoopPoint coop_point_list = 12;
+ repeated uint32 Unk3300_MOOKBLFKOLC = 6;
+ State state = 7;
+ uint32 Unk3300_KDLGLOIIINH = 11;
+ repeated CoopReward coop_reward_list = 3;
+ repeated uint32 Unk3300_MJLMJBMGJPP = 4;
+ repeated CoopCg coop_cg_list = 2;
+ map seen_ending_map = 15;
+ uint32 Unk3300_KMJHIMBIGJF = 8;
+}
diff --git a/proto/CoopChapterUpdateNotify.proto b/proto/CoopChapterUpdateNotify.proto
new file mode 100644
index 00000000..672df534
--- /dev/null
+++ b/proto/CoopChapterUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CoopChapter.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoopChapterUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1967;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CoopChapter chapter_list = 4;
+}
diff --git a/proto/CoopDataNotify.proto b/proto/CoopDataNotify.proto
new file mode 100644
index 00000000..1908da99
--- /dev/null
+++ b/proto/CoopDataNotify.proto
@@ -0,0 +1,37 @@
+// 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 "CoopChapter.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoopDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1994;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_have_progress = 11;
+ uint32 cur_coop_point = 1;
+ repeated uint32 viewed_chapter_list = 6;
+ repeated CoopChapter chapter_list = 3;
+}
diff --git a/proto/CoopPoint.proto b/proto/CoopPoint.proto
new file mode 100644
index 00000000..1781203f
--- /dev/null
+++ b/proto/CoopPoint.proto
@@ -0,0 +1,32 @@
+// 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 CoopPoint {
+ enum State {
+ STATE_UNSTARTED = 0;
+ STATE_STARTED = 1;
+ STATE_FINISHED = 2;
+ }
+
+ uint32 self_confidence = 6;
+ State state = 14;
+ uint32 id = 4;
+}
diff --git a/proto/CoopPointState.proto b/proto/CoopPointState.proto
new file mode 100644
index 00000000..9559205a
--- /dev/null
+++ b/proto/CoopPointState.proto
@@ -0,0 +1,10 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum CoopPointState {
+ Unstarted = 0;
+ Started = 1;
+ Finished = 2;
+}
diff --git a/proto/CoopPointUpdateNotify.proto b/proto/CoopPointUpdateNotify.proto
new file mode 100644
index 00000000..f4c89751
--- /dev/null
+++ b/proto/CoopPointUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CoopPoint.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoopPointUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1958;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CoopPoint coop_point = 8;
+}
diff --git a/proto/CoopProgressUpdateNotify.proto b/proto/CoopProgressUpdateNotify.proto
new file mode 100644
index 00000000..369c79c4
--- /dev/null
+++ b/proto/CoopProgressUpdateNotify.proto
@@ -0,0 +1,33 @@
+// 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 CoopProgressUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1987;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_coop_point = 4;
+ bool is_have_progress = 8;
+}
diff --git a/proto/CoopReward.proto b/proto/CoopReward.proto
new file mode 100644
index 00000000..0482418d
--- /dev/null
+++ b/proto/CoopReward.proto
@@ -0,0 +1,31 @@
+// 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 CoopReward {
+ enum State {
+ STATE_UNLOCK = 0;
+ STATE_LOCK = 1;
+ STATE_TAKEN = 2;
+ }
+
+ uint32 id = 5;
+ State state = 6;
+}
diff --git a/proto/CoopRewardState.proto b/proto/CoopRewardState.proto
new file mode 100644
index 00000000..b19598ac
--- /dev/null
+++ b/proto/CoopRewardState.proto
@@ -0,0 +1,10 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum CoopRewardState {
+ Unlock = 0;
+ Lock = 1;
+ Taken = 2;
+}
diff --git a/proto/CoopRewardUpdateNotify.proto b/proto/CoopRewardUpdateNotify.proto
new file mode 100644
index 00000000..828703fb
--- /dev/null
+++ b/proto/CoopRewardUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CoopReward.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CoopRewardUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1984;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CoopReward reward_list = 14;
+}
diff --git a/proto/CountDownDelete.proto b/proto/CountDownDelete.proto
new file mode 100644
index 00000000..e51fe268
--- /dev/null
+++ b/proto/CountDownDelete.proto
@@ -0,0 +1,8 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CountDownDelete {
+
+}
diff --git a/proto/CreateGadgetInfo.proto b/proto/CreateGadgetInfo.proto
index 0e5e1cb3..bf6405bb 100644
--- a/proto/CreateGadgetInfo.proto
+++ b/proto/CreateGadgetInfo.proto
@@ -22,11 +22,11 @@ import "GadgetBornType.proto";
option java_package = "emu.grasscutter.net.proto";
message CreateGadgetInfo {
- GadgetBornType born_type = 1;
- Chest chest = 2;
-
message Chest {
uint32 chest_drop_id = 1;
bool is_show_cutscene = 2;
}
+
+ GadgetBornType born_type = 1;
+ Chest chest = 2;
}
diff --git a/proto/CreateMassiveEntityNotify.proto b/proto/CreateMassiveEntityNotify.proto
new file mode 100644
index 00000000..a8814c7a
--- /dev/null
+++ b/proto/CreateMassiveEntityNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ServerMassiveEntity.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CreateMassiveEntityNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 353;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ServerMassiveEntity massive_entity_list = 3;
+}
diff --git a/proto/CreateMassiveEntityReq.proto b/proto/CreateMassiveEntityReq.proto
new file mode 100644
index 00000000..fe9022ac
--- /dev/null
+++ b/proto/CreateMassiveEntityReq.proto
@@ -0,0 +1,35 @@
+// 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 "ClientMassiveEntity.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CreateMassiveEntityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 311;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ClientMassiveEntity massive_entity_list = 3;
+}
diff --git a/proto/CreateMassiveEntityRsp.proto b/proto/CreateMassiveEntityRsp.proto
new file mode 100644
index 00000000..488ca02f
--- /dev/null
+++ b/proto/CreateMassiveEntityRsp.proto
@@ -0,0 +1,32 @@
+// 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 CreateMassiveEntityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 350;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+}
diff --git a/proto/CreateReason.proto b/proto/CreateReason.proto
new file mode 100644
index 00000000..9d7d9fda
--- /dev/null
+++ b/proto/CreateReason.proto
@@ -0,0 +1,26 @@
+// 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 CreateReason {
+ CREATE_REASON_NONE = 0;
+ CREATE_REASON_QUEST = 1;
+ CREATE_REASON_ENERGY = 2;
+}
diff --git a/proto/CreateVehicleReq.proto b/proto/CreateVehicleReq.proto
index 5f31ced5..5546b193 100644
--- a/proto/CreateVehicleReq.proto
+++ b/proto/CreateVehicleReq.proto
@@ -21,13 +21,18 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 893
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message CreateVehicleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 807;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
Vector pos = 11;
- uint32 vehicle_id = 2;
- uint32 scene_point_id = 7;
- Vector rot = 5;
+ uint32 vehicle_id = 4;
+ uint32 scene_point_id = 3;
+ Vector rot = 6;
}
diff --git a/proto/CreateVehicleRsp.proto b/proto/CreateVehicleRsp.proto
index 3fdd559c..b03543b9 100644
--- a/proto/CreateVehicleRsp.proto
+++ b/proto/CreateVehicleRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 827
-// EnetChannelId: 0
-// EnetIsReliable: true
message CreateVehicleRsp {
- int32 retcode = 10;
- uint32 vehicle_id = 9;
- uint32 entity_id = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 817;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 5;
+ uint32 vehicle_id = 8;
+ int32 retcode = 2;
}
diff --git a/proto/CrucibleActivityDetailInfo.proto b/proto/CrucibleActivityDetailInfo.proto
index 541b2198..d68d6dde 100644
--- a/proto/CrucibleActivityDetailInfo.proto
+++ b/proto/CrucibleActivityDetailInfo.proto
@@ -23,8 +23,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message CrucibleActivityDetailInfo {
- uint32 cost_time = 5;
- uint32 battle_world_level = 12;
- repeated CrucibleBattleUidInfo uid_info_list = 3;
+ uint32 battle_world_level = 5;
+ uint32 cost_time = 7;
Vector pos = 9;
+ repeated CrucibleBattleUidInfo uid_info_list = 11;
}
diff --git a/proto/CrucibleBattleUidInfo.proto b/proto/CrucibleBattleUidInfo.proto
index 871599f0..014b0f66 100644
--- a/proto/CrucibleBattleUidInfo.proto
+++ b/proto/CrucibleBattleUidInfo.proto
@@ -22,9 +22,9 @@ import "ProfilePicture.proto";
option java_package = "emu.grasscutter.net.proto";
message CrucibleBattleUidInfo {
- ProfilePicture profile_picture = 15;
- uint32 uid = 4;
- string nickname = 5;
+ ProfilePicture profile_picture = 8;
+ uint32 uid = 14;
+ uint32 icon = 4;
string online_id = 13;
- uint32 icon = 11;
+ string nickname = 3;
}
diff --git a/proto/CrystalLinkActivityDetailInfo.proto b/proto/CrystalLinkActivityDetailInfo.proto
index 4c14b5e7..84678e5f 100644
--- a/proto/CrystalLinkActivityDetailInfo.proto
+++ b/proto/CrystalLinkActivityDetailInfo.proto
@@ -22,6 +22,6 @@ import "CrystalLinkLevelInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkActivityDetailInfo {
- repeated CrystalLinkLevelInfo level_info_list = 3;
- uint32 difficulty_id = 7;
+ repeated CrystalLinkLevelInfo level_info_list = 5;
+ uint32 difficulty_id = 12;
}
diff --git a/proto/CrystalLinkAvatarInfo.proto b/proto/CrystalLinkAvatarInfo.proto
index 240e792f..c4279e9b 100644
--- a/proto/CrystalLinkAvatarInfo.proto
+++ b/proto/CrystalLinkAvatarInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkAvatarInfo {
- uint64 avatar_id = 3;
- bool is_trial = 13;
+ uint64 avatar_id = 10;
+ bool is_trial = 15;
}
diff --git a/proto/CrystalLinkBuffInfo.proto b/proto/CrystalLinkBuffInfo.proto
index 5afe1570..5597ee96 100644
--- a/proto/CrystalLinkBuffInfo.proto
+++ b/proto/CrystalLinkBuffInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkBuffInfo {
- uint32 effect_buff_id = 1;
- uint32 cond_buff_id = 10;
+ uint32 Unk3300_BGKLAFCBNOA = 6;
+ uint32 Unk3300_PFLAOCMEFIL = 4;
}
diff --git a/proto/CrystalLinkDungeonAvatarInfo.proto b/proto/CrystalLinkDungeonAvatarInfo.proto
index 2be2e131..d5921017 100644
--- a/proto/CrystalLinkDungeonAvatarInfo.proto
+++ b/proto/CrystalLinkDungeonAvatarInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkDungeonAvatarInfo {
- bool is_trial = 8;
- uint64 avatar_guid = 11;
+ uint64 avatar_guid = 4;
+ bool is_trial = 5;
}
diff --git a/proto/CrystalLinkDungeonInfoNotify.proto b/proto/CrystalLinkDungeonInfoNotify.proto
new file mode 100644
index 00000000..a11f1286
--- /dev/null
+++ b/proto/CrystalLinkDungeonInfoNotify.proto
@@ -0,0 +1,40 @@
+// 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 "CrystalLinkBuffInfo.proto";
+import "CrystalLinkDungeonAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CrystalLinkDungeonInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8408;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CrystalLinkBuffInfo buff_info_list = 11;
+ uint32 level_id = 5;
+ bool is_upper_part = 13;
+ uint32 difficulty_id = 14;
+ repeated CrystalLinkDungeonAvatarInfo dungeon_avatar_info_list = 12;
+ uint32 init_gallery_progress = 4;
+}
diff --git a/proto/CrystalLinkDungeonSettleInfo.proto b/proto/CrystalLinkDungeonSettleInfo.proto
new file mode 100644
index 00000000..eb4f1b35
--- /dev/null
+++ b/proto/CrystalLinkDungeonSettleInfo.proto
@@ -0,0 +1,29 @@
+// 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 CrystalLinkDungeonSettleInfo {
+ uint32 level_id = 9;
+ uint32 final_score = 12;
+ uint32 kill_normal_monster_num = 8;
+ uint32 difficulty_id = 3;
+ uint32 kill_elite_monster_num = 2;
+ bool is_new_record = 10;
+}
diff --git a/proto/CrystalLinkEnterDungeonReq.proto b/proto/CrystalLinkEnterDungeonReq.proto
new file mode 100644
index 00000000..bf9982ca
--- /dev/null
+++ b/proto/CrystalLinkEnterDungeonReq.proto
@@ -0,0 +1,37 @@
+// 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 "CrystalLinkTeamInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CrystalLinkEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated CrystalLinkTeamInfo team_info_list = 13;
+ uint32 difficulty_id = 5;
+ uint32 level_id = 6;
+}
diff --git a/proto/CrystalLinkEnterDungeonRsp.proto b/proto/CrystalLinkEnterDungeonRsp.proto
new file mode 100644
index 00000000..f1d5826d
--- /dev/null
+++ b/proto/CrystalLinkEnterDungeonRsp.proto
@@ -0,0 +1,37 @@
+// 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 "CrystalLinkTeamInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CrystalLinkEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8628;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 difficulty_id = 15;
+ uint32 level_id = 7;
+ repeated CrystalLinkTeamInfo team_info_list = 12;
+}
diff --git a/proto/CrystalLinkLevelInfo.proto b/proto/CrystalLinkLevelInfo.proto
index 1b160607..5a73781c 100644
--- a/proto/CrystalLinkLevelInfo.proto
+++ b/proto/CrystalLinkLevelInfo.proto
@@ -22,8 +22,8 @@ import "CrystalLinkTeamInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkLevelInfo {
- repeated CrystalLinkTeamInfo team_info_list = 10;
- bool is_open = 9;
+ bool is_open = 4;
+ repeated CrystalLinkTeamInfo team_info_list = 3;
uint32 level_id = 14;
- uint32 best_score = 5;
+ uint32 best_score = 7;
}
diff --git a/proto/CrystalLinkRestartDungeonReq.proto b/proto/CrystalLinkRestartDungeonReq.proto
new file mode 100644
index 00000000..cee450a1
--- /dev/null
+++ b/proto/CrystalLinkRestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 CrystalLinkRestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8177;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/CrystalLinkRestartDungeonRsp.proto b/proto/CrystalLinkRestartDungeonRsp.proto
new file mode 100644
index 00000000..47e89c75
--- /dev/null
+++ b/proto/CrystalLinkRestartDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 CrystalLinkRestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8741;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/CrystalLinkTeamInfo.proto b/proto/CrystalLinkTeamInfo.proto
index bb131595..7b2f1990 100644
--- a/proto/CrystalLinkTeamInfo.proto
+++ b/proto/CrystalLinkTeamInfo.proto
@@ -23,6 +23,6 @@ import "CrystalLinkBuffInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message CrystalLinkTeamInfo {
- repeated CrystalLinkBuffInfo buff_info_list = 2;
- repeated CrystalLinkAvatarInfo avatar_info_list = 11;
+ repeated CrystalLinkAvatarInfo avatar_info_list = 14;
+ repeated CrystalLinkBuffInfo buff_info_list = 12;
}
diff --git a/proto/CustomDungeon.proto b/proto/CustomDungeon.proto
new file mode 100644
index 00000000..dcf800ba
--- /dev/null
+++ b/proto/CustomDungeon.proto
@@ -0,0 +1,30 @@
+// 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 "CustomDungeonRoom.proto";
+import "CustomDungeonSetting.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeon {
+ uint32 dungeon_id = 2;
+ repeated CustomDungeonRoom room_list = 7;
+ CustomDungeonSetting setting = 8;
+ uint64 dungeon_guid = 3;
+}
diff --git a/proto/CustomDungeonAbstract.proto b/proto/CustomDungeonAbstract.proto
new file mode 100644
index 00000000..0c47ac78
--- /dev/null
+++ b/proto/CustomDungeonAbstract.proto
@@ -0,0 +1,28 @@
+// 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 CustomDungeonAbstract {
+ uint32 Unk3300_EJGBHGHLFPI = 7;
+ uint32 last_publish_time = 12;
+ map brick_statistics_map = 2;
+ uint32 first_publish_time = 8;
+ uint32 Unk3300_JPFIHKECLMF = 4;
+}
diff --git a/proto/CustomDungeonAbstractMuipData.proto b/proto/CustomDungeonAbstractMuipData.proto
new file mode 100644
index 00000000..040c82b9
--- /dev/null
+++ b/proto/CustomDungeonAbstractMuipData.proto
@@ -0,0 +1,26 @@
+// 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 CustomDungeonAbstractMuipData {
+ uint32 first_publish_time = 1;
+ uint32 last_publish_time = 2;
+ map brick_statistics_map = 3;
+}
diff --git a/proto/CustomDungeonBanInfo.proto b/proto/CustomDungeonBanInfo.proto
new file mode 100644
index 00000000..c2bfe03b
--- /dev/null
+++ b/proto/CustomDungeonBanInfo.proto
@@ -0,0 +1,28 @@
+// 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 "CustomDungeonBanType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonBanInfo {
+ uint32 expire_time = 15;
+ CustomDungeonBanType ban_type = 2;
+ uint64 dungeon_guid = 13;
+}
diff --git a/proto/CustomDungeonBanType.proto b/proto/CustomDungeonBanType.proto
new file mode 100644
index 00000000..518b66f9
--- /dev/null
+++ b/proto/CustomDungeonBanType.proto
@@ -0,0 +1,25 @@
+// 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 CustomDungeonBanType {
+ CUSTOM_DUNGEON_BAN_TYPE_NONE = 0;
+ CUSTOM_DUNGEON_BAN_TYPE_LAYOUT = 1;
+}
diff --git a/proto/CustomDungeonBatchBriefMuipData.proto b/proto/CustomDungeonBatchBriefMuipData.proto
new file mode 100644
index 00000000..5f2056d0
--- /dev/null
+++ b/proto/CustomDungeonBatchBriefMuipData.proto
@@ -0,0 +1,26 @@
+// 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 "CustomDungeonBriefMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonBatchBriefMuipData {
+ repeated CustomDungeonBriefMuipData brief_list = 1;
+}
diff --git a/proto/CustomDungeonBattleRecordMuipData.proto b/proto/CustomDungeonBattleRecordMuipData.proto
new file mode 100644
index 00000000..2a900a6c
--- /dev/null
+++ b/proto/CustomDungeonBattleRecordMuipData.proto
@@ -0,0 +1,25 @@
+// 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 CustomDungeonBattleRecordMuipData {
+ uint64 dungeon_guid = 1;
+ uint32 min_cost_time = 2;
+}
diff --git a/proto/CustomDungeonBattleRecordNotify.proto b/proto/CustomDungeonBattleRecordNotify.proto
new file mode 100644
index 00000000..291b62ee
--- /dev/null
+++ b/proto/CustomDungeonBattleRecordNotify.proto
@@ -0,0 +1,34 @@
+// 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 CustomDungeonBattleRecordNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6225;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 dungeon_guid = 1;
+ uint32 min_cost_time = 12;
+}
diff --git a/proto/CustomDungeonBlock.proto b/proto/CustomDungeonBlock.proto
new file mode 100644
index 00000000..8ed0e183
--- /dev/null
+++ b/proto/CustomDungeonBlock.proto
@@ -0,0 +1,29 @@
+// 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 CustomDungeonBlock {
+ uint32 block_id = 6;
+ Vector rot = 12;
+ Vector pos = 13;
+ uint32 guid = 15;
+}
diff --git a/proto/CustomDungeonBrief.proto b/proto/CustomDungeonBrief.proto
new file mode 100644
index 00000000..8a860f0d
--- /dev/null
+++ b/proto/CustomDungeonBrief.proto
@@ -0,0 +1,38 @@
+// 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 "CustomDungeonAbstract.proto";
+import "CustomDungeonSetting.proto";
+import "CustomDungeonSocial.proto";
+import "CustomDungeonState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonBrief {
+ uint64 dungeon_guid = 14;
+ CustomDungeonAbstract abstract = 8;
+ repeated uint32 tag_list = 4;
+ bool is_psn_platform = 9;
+ CustomDungeonSocial social = 10;
+ CustomDungeonState state = 2;
+ uint32 battle_min_cost_time = 15;
+ uint32 dungeon_id = 3;
+ CustomDungeonSetting setting = 7;
+ uint32 last_save_time = 12;
+}
diff --git a/proto/CustomDungeonBriefMuipData.proto b/proto/CustomDungeonBriefMuipData.proto
new file mode 100644
index 00000000..5b6ae9a8
--- /dev/null
+++ b/proto/CustomDungeonBriefMuipData.proto
@@ -0,0 +1,34 @@
+// 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 "CustomDungeonAbstractMuipData.proto";
+import "CustomDungeonSettingMuipData.proto";
+import "CustomDungeonSocialMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonBriefMuipData {
+ uint64 dungeon_guid = 1;
+ uint32 dungeon_id = 2;
+ string creator_nickname = 3;
+ repeated uint32 tag_list = 4;
+ CustomDungeonSettingMuipData setting = 5;
+ CustomDungeonAbstractMuipData abstract = 6;
+ CustomDungeonSocialMuipData social = 7;
+}
diff --git a/proto/CustomDungeonOfficialNotify.proto b/proto/CustomDungeonOfficialNotify.proto
new file mode 100644
index 00000000..cb74c76a
--- /dev/null
+++ b/proto/CustomDungeonOfficialNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EnterCustomDungeonType.proto";
+import "TryCustomDungeonType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonOfficialNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6236;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TryCustomDungeonType try_type = 2;
+ EnterCustomDungeonType enter_type = 1;
+ repeated uint32 official_black_coin_list = 5;
+}
diff --git a/proto/CustomDungeonRecoverNotify.proto b/proto/CustomDungeonRecoverNotify.proto
new file mode 100644
index 00000000..0a872802
--- /dev/null
+++ b/proto/CustomDungeonRecoverNotify.proto
@@ -0,0 +1,39 @@
+// 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 "CustomDungeon.proto";
+import "EnterCustomDungeonType.proto";
+import "TryCustomDungeonType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonRecoverNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6228;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CustomDungeon custom_dungeon = 15;
+ EnterCustomDungeonType enter_type = 1;
+ TryCustomDungeonType try_type = 8;
+ repeated uint32 official_black_coin_list = 3;
+}
diff --git a/proto/CustomDungeonResultInfo.proto b/proto/CustomDungeonResultInfo.proto
index 546df8fd..a751e877 100644
--- a/proto/CustomDungeonResultInfo.proto
+++ b/proto/CustomDungeonResultInfo.proto
@@ -23,12 +23,12 @@ import "CustomDungeonFinishType.proto";
option java_package = "emu.grasscutter.net.proto";
message CustomDungeonResultInfo {
- bool is_liked = 12;
- uint32 got_coin_num = 9;
- repeated ChallengeBrief child_challenge_list = 6;
- uint64 dungeon_guid = 3;
- CustomDungeonFinishType finish_type = 7;
- uint32 time_cost = 11;
+ bool is_liked = 13;
bool is_arrive_finish = 2;
- bool is_stored = 14;
+ uint64 dungeon_guid = 5;
+ CustomDungeonFinishType finish_type = 8;
+ repeated ChallengeBrief child_challenge_list = 1;
+ bool is_stored = 6;
+ uint32 time_cost = 9;
+ uint32 got_coin_num = 4;
}
diff --git a/proto/CustomDungeonRoom.proto b/proto/CustomDungeonRoom.proto
new file mode 100644
index 00000000..e046ce11
--- /dev/null
+++ b/proto/CustomDungeonRoom.proto
@@ -0,0 +1,27 @@
+// 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 "CustomDungeonBlock.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonRoom {
+ uint32 room_id = 15;
+ repeated CustomDungeonBlock block_list = 11;
+}
diff --git a/proto/CustomDungeonSetting.proto b/proto/CustomDungeonSetting.proto
new file mode 100644
index 00000000..e2f5f8d5
--- /dev/null
+++ b/proto/CustomDungeonSetting.proto
@@ -0,0 +1,30 @@
+// 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 CustomDungeonSetting {
+ uint32 start_room_id = 3;
+ uint32 time_limit = 9;
+ repeated uint32 open_room_list = 14;
+ uint32 coin_limit = 5;
+ bool is_forbid_skill = 7;
+ bool is_arrive_finish = 6;
+ uint32 life_num = 8;
+}
diff --git a/proto/CustomDungeonSettingMuipData.proto b/proto/CustomDungeonSettingMuipData.proto
new file mode 100644
index 00000000..faea366f
--- /dev/null
+++ b/proto/CustomDungeonSettingMuipData.proto
@@ -0,0 +1,28 @@
+// 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 CustomDungeonSettingMuipData {
+ bool is_arrive_finish = 1;
+ uint32 coin_limit = 2;
+ uint32 time_limit = 3;
+ bool is_forbid_skill = 4;
+ uint32 life_num = 5;
+}
diff --git a/proto/CustomDungeonSocial.proto b/proto/CustomDungeonSocial.proto
new file mode 100644
index 00000000..969822b1
--- /dev/null
+++ b/proto/CustomDungeonSocial.proto
@@ -0,0 +1,27 @@
+// 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 CustomDungeonSocial {
+ uint32 win_num = 3;
+ uint32 play_num = 11;
+ uint32 like_num = 15;
+ uint32 store_num = 14;
+}
diff --git a/proto/CustomDungeonSocialMuipData.proto b/proto/CustomDungeonSocialMuipData.proto
new file mode 100644
index 00000000..f3372dee
--- /dev/null
+++ b/proto/CustomDungeonSocialMuipData.proto
@@ -0,0 +1,27 @@
+// 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 CustomDungeonSocialMuipData {
+ uint32 play_num = 1;
+ uint32 like_num = 2;
+ uint32 store_num = 3;
+ uint32 win_num = 4;
+}
diff --git a/proto/CustomDungeonState.proto b/proto/CustomDungeonState.proto
new file mode 100644
index 00000000..43393d37
--- /dev/null
+++ b/proto/CustomDungeonState.proto
@@ -0,0 +1,26 @@
+// 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 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..53d2f634
--- /dev/null
+++ b/proto/CustomDungeonUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "CustomDungeonBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CustomDungeonUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6230;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CustomDungeonBrief dungeon_brief = 15;
+}
diff --git a/proto/CustomDungeonVerify.proto b/proto/CustomDungeonVerify.proto
new file mode 100644
index 00000000..9eee9b24
--- /dev/null
+++ b/proto/CustomDungeonVerify.proto
@@ -0,0 +1,28 @@
+// 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 CustomDungeonVerify {
+ uint32 uid = 3;
+ string region = 13;
+ uint32 timestamp = 5;
+ uint64 dungeon_guid = 1;
+ uint32 lang = 6;
+}
diff --git a/proto/CutSceneBeginNotify.proto b/proto/CutSceneBeginNotify.proto
new file mode 100644
index 00000000..1935d1ef
--- /dev/null
+++ b/proto/CutSceneBeginNotify.proto
@@ -0,0 +1,36 @@
+// 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 "CutSceneExtraParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message CutSceneBeginNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 283;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cutscene_id = 14;
+ repeated CutSceneExtraParam extra_param_list = 13;
+ bool is_wait_others = 1;
+}
diff --git a/proto/CutSceneEndNotify.proto b/proto/CutSceneEndNotify.proto
new file mode 100644
index 00000000..35ac31aa
--- /dev/null
+++ b/proto/CutSceneEndNotify.proto
@@ -0,0 +1,33 @@
+// 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 CutSceneEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 281;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cutscene_id = 4;
+ int32 retcode = 11;
+}
diff --git a/proto/CutSceneExtraParam.proto b/proto/CutSceneExtraParam.proto
new file mode 100644
index 00000000..f594a061
--- /dev/null
+++ b/proto/CutSceneExtraParam.proto
@@ -0,0 +1,24 @@
+// 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 CutSceneExtraParam {
+ repeated double detail_param_list = 13;
+}
diff --git a/proto/CutSceneFinishNotify.proto b/proto/CutSceneFinishNotify.proto
new file mode 100644
index 00000000..2929b34d
--- /dev/null
+++ b/proto/CutSceneFinishNotify.proto
@@ -0,0 +1,33 @@
+// 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 CutSceneFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 284;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 cutscene_id = 5;
+}
diff --git a/proto/CylinderRegionSize.proto b/proto/CylinderRegionSize.proto
new file mode 100644
index 00000000..71f1273a
--- /dev/null
+++ b/proto/CylinderRegionSize.proto
@@ -0,0 +1,25 @@
+// 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 CylinderRegionSize {
+ float radius = 7;
+ float height = 15;
+}
diff --git a/proto/DailyDungeonEntryInfo.proto b/proto/DailyDungeonEntryInfo.proto
index c8cae478..50d2b872 100644
--- a/proto/DailyDungeonEntryInfo.proto
+++ b/proto/DailyDungeonEntryInfo.proto
@@ -22,8 +22,8 @@ import "DungeonEntryInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message DailyDungeonEntryInfo {
- uint32 dungeon_entry_config_id = 12;
- uint32 dungeon_entry_id = 15;
- DungeonEntryInfo recommend_dungeon_entry_info = 1;
- uint32 recommend_dungeon_id = 4;
+ DungeonEntryInfo recommend_dungeon_entry_info = 6;
+ uint32 dungeon_entry_config_id = 10;
+ uint32 recommend_dungeon_id = 5;
+ uint32 dungeon_entry_id = 12;
}
diff --git a/proto/DailyTaskDataNotify.proto b/proto/DailyTaskDataNotify.proto
index b1af086d..daa5d92d 100644
--- a/proto/DailyTaskDataNotify.proto
+++ b/proto/DailyTaskDataNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 158
-// EnetChannelId: 0
-// EnetIsReliable: true
message DailyTaskDataNotify {
- uint32 score_reward_id = 11;
- uint32 finished_num = 4;
- bool is_taken_score_reward = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 124;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 score_reward_id = 13;
+ uint32 finished_num = 8;
+ bool is_taken_score_reward = 5;
}
diff --git a/proto/DailyTaskFilterCityReq.proto b/proto/DailyTaskFilterCityReq.proto
index 94152f16..c35769e9 100644
--- a/proto/DailyTaskFilterCityReq.proto
+++ b/proto/DailyTaskFilterCityReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 111
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DailyTaskFilterCityReq {
- uint32 city_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 101;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 7;
}
diff --git a/proto/DailyTaskFilterCityRsp.proto b/proto/DailyTaskFilterCityRsp.proto
index 741e6d14..ce5ea028 100644
--- a/proto/DailyTaskFilterCityRsp.proto
+++ b/proto/DailyTaskFilterCityRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 144
-// EnetChannelId: 0
-// EnetIsReliable: true
message DailyTaskFilterCityRsp {
- int32 retcode = 5;
- uint32 city_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 138;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 city_id = 7;
+ int32 retcode = 6;
}
diff --git a/proto/DailyTaskInfo.proto b/proto/DailyTaskInfo.proto
index 7c61c608..6a1a3861 100644
--- a/proto/DailyTaskInfo.proto
+++ b/proto/DailyTaskInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message DailyTaskInfo {
- uint32 reward_id = 3;
- uint32 progress = 13;
- uint32 finish_progress = 10;
- uint32 daily_task_id = 4;
- bool is_finished = 14;
+ uint32 reward_id = 7;
+ uint32 finish_progress = 12;
+ bool is_finished = 2;
+ uint32 daily_task_id = 5;
+ uint32 progress = 10;
}
diff --git a/proto/DailyTaskProgressNotify.proto b/proto/DailyTaskProgressNotify.proto
index c048bc92..aed53881 100644
--- a/proto/DailyTaskProgressNotify.proto
+++ b/proto/DailyTaskProgressNotify.proto
@@ -21,9 +21,14 @@ import "DailyTaskInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 170
-// EnetChannelId: 0
-// EnetIsReliable: true
message DailyTaskProgressNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 149;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
DailyTaskInfo info = 12;
}
diff --git a/proto/DailyTaskScoreRewardNotify.proto b/proto/DailyTaskScoreRewardNotify.proto
new file mode 100644
index 00000000..9f787cbd
--- /dev/null
+++ b/proto/DailyTaskScoreRewardNotify.proto
@@ -0,0 +1,32 @@
+// 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 DailyTaskScoreRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 191;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reward_id = 8;
+}
diff --git a/proto/DailyTaskUnlockedCitiesNotify.proto b/proto/DailyTaskUnlockedCitiesNotify.proto
index b4f5f253..227200c1 100644
--- a/proto/DailyTaskUnlockedCitiesNotify.proto
+++ b/proto/DailyTaskUnlockedCitiesNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 186
-// EnetChannelId: 0
-// EnetIsReliable: true
message DailyTaskUnlockedCitiesNotify {
- repeated uint32 unlocked_city_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 169;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 unlocked_city_list = 15;
}
diff --git a/proto/DataResVersionNotify.proto b/proto/DataResVersionNotify.proto
new file mode 100644
index 00000000..9d48c2b5
--- /dev/null
+++ b/proto/DataResVersionNotify.proto
@@ -0,0 +1,48 @@
+// 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 "ResVersionConfig.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DataResVersionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 153;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum DataResVersionOpType {
+ DATA_RES_VERSION_OP_TYPE_NONE = 0;
+ DATA_RES_VERSION_OP_TYPE_RELOGIN = 1;
+ DATA_RES_VERSION_OP_TYPE_MP_RELOGIN = 2;
+ }
+
+ uint32 client_silence_data_version = 13;
+ DataResVersionOpType op_type = 6;
+ string client_silence_version_suffix = 3;
+ string client_version_suffix = 9;
+ bool is_data_need_relogin = 15;
+ string Unk3300_HMGCPAGLDHB = 12;
+ uint32 client_data_version = 5;
+ string Unk3300_OPGDBOLKLJA = 2;
+ ResVersionConfig res_version_config = 7;
+}
diff --git a/proto/DateTimeDelete.proto b/proto/DateTimeDelete.proto
new file mode 100644
index 00000000..359e7938
--- /dev/null
+++ b/proto/DateTimeDelete.proto
@@ -0,0 +1,8 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DateTimeDelete {
+
+}
diff --git a/proto/DealAddFriendReq.proto b/proto/DealAddFriendReq.proto
index b0164949..90231682 100644
--- a/proto/DealAddFriendReq.proto
+++ b/proto/DealAddFriendReq.proto
@@ -21,11 +21,16 @@ import "DealAddFriendResultType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4003
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DealAddFriendReq {
- DealAddFriendResultType deal_add_friend_result = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4061;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ DealAddFriendResultType deal_add_friend_result = 7;
uint32 target_uid = 10;
}
diff --git a/proto/DealAddFriendRsp.proto b/proto/DealAddFriendRsp.proto
index fc4fcffd..2c2b2559 100644
--- a/proto/DealAddFriendRsp.proto
+++ b/proto/DealAddFriendRsp.proto
@@ -21,12 +21,17 @@ import "DealAddFriendResultType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4090
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DealAddFriendRsp {
- int32 retcode = 1;
- uint32 target_uid = 5;
- DealAddFriendResultType deal_add_friend_result = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4047;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 15;
+ DealAddFriendResultType deal_add_friend_result = 4;
+ int32 retcode = 11;
}
diff --git a/proto/DeathZoneInfo.proto b/proto/DeathZoneInfo.proto
new file mode 100644
index 00000000..d6cc4681
--- /dev/null
+++ b/proto/DeathZoneInfo.proto
@@ -0,0 +1,25 @@
+// 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 DeathZoneInfo {
+ uint32 id = 3;
+ bool is_open = 12;
+}
diff --git a/proto/DeathZoneInfoNotify.proto b/proto/DeathZoneInfoNotify.proto
new file mode 100644
index 00000000..f4cac912
--- /dev/null
+++ b/proto/DeathZoneInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "DeathZoneInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DeathZoneInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6291;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated DeathZoneInfo death_zone_info_list = 15;
+}
diff --git a/proto/DeathZoneObserveNotify.proto b/proto/DeathZoneObserveNotify.proto
new file mode 100644
index 00000000..6d06ec76
--- /dev/null
+++ b/proto/DeathZoneObserveNotify.proto
@@ -0,0 +1,34 @@
+// 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 DeathZoneObserveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3062;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 source_entity_id = 2;
+ uint32 target_entity_id = 5;
+}
diff --git a/proto/DebugNotify.proto b/proto/DebugNotify.proto
new file mode 100644
index 00000000..f27fa48d
--- /dev/null
+++ b/proto/DebugNotify.proto
@@ -0,0 +1,40 @@
+// 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 DebugNotify {
+ // enum Enum {
+ // option allow_alias = true;
+ // ZREO = 0;
+ // CMD_ID = 101;
+ // TARGET_SERVICE = 101;
+ // ENET_CHANNEL_ID = 2;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum Retcode {
+ RETCODE_SUCC = 0;
+ RETCODE_FAIL = 1;
+ }
+
+ uint32 id = 1;
+ string name = 2;
+ Retcode retcode = 3;
+}
diff --git a/proto/DelBackupAvatarTeamReq.proto b/proto/DelBackupAvatarTeamReq.proto
index ba0bc76c..b5226f1c 100644
--- a/proto/DelBackupAvatarTeamReq.proto
+++ b/proto/DelBackupAvatarTeamReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1731
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DelBackupAvatarTeamReq {
- uint32 backup_avatar_team_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1698;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 backup_avatar_team_id = 10;
}
diff --git a/proto/DelBackupAvatarTeamRsp.proto b/proto/DelBackupAvatarTeamRsp.proto
index 9742322f..b0d71c0e 100644
--- a/proto/DelBackupAvatarTeamRsp.proto
+++ b/proto/DelBackupAvatarTeamRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1729
-// EnetChannelId: 0
-// EnetIsReliable: true
message DelBackupAvatarTeamRsp {
- uint32 backup_avatar_team_id = 15;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1666;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 backup_avatar_team_id = 9;
+ int32 retcode = 3;
}
diff --git a/proto/DelMailReq.proto b/proto/DelMailReq.proto
index ae1f08d1..a61bde71 100644
--- a/proto/DelMailReq.proto
+++ b/proto/DelMailReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1421
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DelMailReq {
- repeated uint32 mail_id_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1443;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 mail_id_list = 2;
}
diff --git a/proto/DelMailRsp.proto b/proto/DelMailRsp.proto
index eef5b9bc..a8e70ec2 100644
--- a/proto/DelMailRsp.proto
+++ b/proto/DelMailRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1403
-// EnetChannelId: 0
-// EnetIsReliable: true
message DelMailRsp {
- int32 retcode = 11;
- repeated uint32 mail_id_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1461;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ repeated uint32 mail_id_list = 11;
}
diff --git a/proto/DelScenePlayTeamEntityNotify.proto b/proto/DelScenePlayTeamEntityNotify.proto
new file mode 100644
index 00000000..0514649e
--- /dev/null
+++ b/proto/DelScenePlayTeamEntityNotify.proto
@@ -0,0 +1,33 @@
+// 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 DelScenePlayTeamEntityNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3237;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 del_entity_id_list = 5;
+ uint32 scene_id = 10;
+}
diff --git a/proto/DelTeamEntityNotify.proto b/proto/DelTeamEntityNotify.proto
index f338f212..ce7f3f06 100644
--- a/proto/DelTeamEntityNotify.proto
+++ b/proto/DelTeamEntityNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 302
-// EnetChannelId: 0
-// EnetIsReliable: true
message DelTeamEntityNotify {
- repeated uint32 del_entity_id_list = 15;
- uint32 scene_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 393;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 del_entity_id_list = 14;
+ uint32 scene_id = 10;
}
diff --git a/proto/DelayWeekCountDownDelete.proto b/proto/DelayWeekCountDownDelete.proto
new file mode 100644
index 00000000..82555f75
--- /dev/null
+++ b/proto/DelayWeekCountDownDelete.proto
@@ -0,0 +1,8 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DelayWeekCountDownDelete {
+
+}
diff --git a/proto/DeleteFriendNotify.proto b/proto/DeleteFriendNotify.proto
index a3e0d594..708c577f 100644
--- a/proto/DeleteFriendNotify.proto
+++ b/proto/DeleteFriendNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4053
-// EnetChannelId: 0
-// EnetIsReliable: true
message DeleteFriendNotify {
- uint32 target_uid = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4073;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 5;
}
diff --git a/proto/DeleteFriendReq.proto b/proto/DeleteFriendReq.proto
index 8b85e784..9279d2d8 100644
--- a/proto/DeleteFriendReq.proto
+++ b/proto/DeleteFriendReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4031
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DeleteFriendReq {
- uint32 target_uid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4027;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 6;
}
diff --git a/proto/DeleteFriendRsp.proto b/proto/DeleteFriendRsp.proto
index 19161b9f..08a4c9ee 100644
--- a/proto/DeleteFriendRsp.proto
+++ b/proto/DeleteFriendRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4075
-// EnetChannelId: 0
-// EnetIsReliable: true
message DeleteFriendRsp {
- uint32 target_uid = 14;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4039;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 12;
+ int32 retcode = 2;
}
diff --git a/proto/DeliveryActivityDetailInfo.proto b/proto/DeliveryActivityDetailInfo.proto
index 6c2e1ae5..1060bfc6 100644
--- a/proto/DeliveryActivityDetailInfo.proto
+++ b/proto/DeliveryActivityDetailInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message DeliveryActivityDetailInfo {
- uint32 day_index = 14;
- bool is_taken_reward = 13;
+ uint32 day_index = 1;
+ bool is_taken_reward = 11;
repeated uint32 finished_delivery_quest_index = 4;
}
diff --git a/proto/DeshretObeliskChestInfo.proto b/proto/DeshretObeliskChestInfo.proto
new file mode 100644
index 00000000..6a316ab3
--- /dev/null
+++ b/proto/DeshretObeliskChestInfo.proto
@@ -0,0 +1,29 @@
+// 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 DeshretObeliskChestInfo {
+ uint32 group_id = 9;
+ uint32 config_id = 8;
+ uint32 scene_id = 7;
+ Vector pos = 3;
+}
diff --git a/proto/DeshretObeliskChestInfoNotify.proto b/proto/DeshretObeliskChestInfoNotify.proto
new file mode 100644
index 00000000..1092b111
--- /dev/null
+++ b/proto/DeshretObeliskChestInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "DeshretObeliskChestInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DeshretObeliskChestInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 867;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated DeshretObeliskChestInfo chest_info_list = 6;
+}
diff --git a/proto/DestroyMassiveEntityNotify.proto b/proto/DestroyMassiveEntityNotify.proto
new file mode 100644
index 00000000..9fa2d7b9
--- /dev/null
+++ b/proto/DestroyMassiveEntityNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ClientMassiveEntity.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DestroyMassiveEntityNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 324;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ClientMassiveEntity massive_entity_list = 15;
+}
diff --git a/proto/DestroyMaterialReq.proto b/proto/DestroyMaterialReq.proto
index 52457fda..04a4b4ab 100644
--- a/proto/DestroyMaterialReq.proto
+++ b/proto/DestroyMaterialReq.proto
@@ -21,10 +21,15 @@ import "MaterialInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 640
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DestroyMaterialReq {
- repeated MaterialInfo material_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 685;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated MaterialInfo material_list = 1;
}
diff --git a/proto/DestroyMaterialRsp.proto b/proto/DestroyMaterialRsp.proto
index 74a9cdf6..3e024cfd 100644
--- a/proto/DestroyMaterialRsp.proto
+++ b/proto/DestroyMaterialRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 618
-// EnetChannelId: 0
-// EnetIsReliable: true
message DestroyMaterialRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 608;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 item_id_list = 10;
repeated uint32 item_count_list = 12;
- repeated uint32 item_id_list = 13;
- int32 retcode = 11;
+ int32 retcode = 13;
}
diff --git a/proto/DigActivityChangeGadgetStateReq.proto b/proto/DigActivityChangeGadgetStateReq.proto
new file mode 100644
index 00000000..c27994b5
--- /dev/null
+++ b/proto/DigActivityChangeGadgetStateReq.proto
@@ -0,0 +1,33 @@
+// 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 DigActivityChangeGadgetStateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8372;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 10;
+}
diff --git a/proto/DigActivityChangeGadgetStateRsp.proto b/proto/DigActivityChangeGadgetStateRsp.proto
new file mode 100644
index 00000000..8748f09d
--- /dev/null
+++ b/proto/DigActivityChangeGadgetStateRsp.proto
@@ -0,0 +1,33 @@
+// 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 DigActivityChangeGadgetStateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8289;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint32 entity_id = 14;
+}
diff --git a/proto/DigActivityDetailInfo.proto b/proto/DigActivityDetailInfo.proto
index 99f50fcb..e1ec987b 100644
--- a/proto/DigActivityDetailInfo.proto
+++ b/proto/DigActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "DigMarkPoint.proto";
option java_package = "emu.grasscutter.net.proto";
message DigActivityDetailInfo {
- repeated uint32 stage_id_list = 15;
- repeated DigMarkPoint dig_mark_point_list = 11;
- uint32 stage_id = 8;
+ uint32 stage_id = 3;
+ repeated DigMarkPoint dig_mark_point_list = 12;
+ repeated uint32 stage_id_list = 5;
}
diff --git a/proto/DigActivityMarkPointChangeNotify.proto b/proto/DigActivityMarkPointChangeNotify.proto
new file mode 100644
index 00000000..2a28d7be
--- /dev/null
+++ b/proto/DigActivityMarkPointChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "DigMarkPoint.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DigActivityMarkPointChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8871;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated DigMarkPoint dig_mark_point_list = 1;
+}
diff --git a/proto/DigMarkPoint.proto b/proto/DigMarkPoint.proto
index be14507a..040f1a66 100644
--- a/proto/DigMarkPoint.proto
+++ b/proto/DigMarkPoint.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message DigMarkPoint {
- Vector pos = 1;
- uint32 bundle_id = 13;
- Vector rot = 3;
+ Vector pos = 11;
+ uint32 bundle_id = 3;
+ Vector rot = 14;
}
diff --git a/proto/DisableRoguelikeTrapNotify.proto b/proto/DisableRoguelikeTrapNotify.proto
new file mode 100644
index 00000000..a8f2b2c5
--- /dev/null
+++ b/proto/DisableRoguelikeTrapNotify.proto
@@ -0,0 +1,32 @@
+// 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 DisableRoguelikeTrapNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8839;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 11;
+}
diff --git a/proto/DoGachaReq.proto b/proto/DoGachaReq.proto
index 0416acdc..07163062 100644
--- a/proto/DoGachaReq.proto
+++ b/proto/DoGachaReq.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1512
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DoGachaReq {
- uint32 gacha_times = 10;
- uint32 gacha_schedule_id = 7;
- uint32 gacha_type = 14;
- uint32 gacha_random = 13;
- string gacha_tag = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1556;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string gacha_tag = 14;
+ uint32 gacha_schedule_id = 6;
+ uint32 gacha_type = 1;
+ uint32 gacha_random = 9;
+ uint32 gacha_times = 3;
}
diff --git a/proto/DoGachaRsp.proto b/proto/DoGachaRsp.proto
index 788eafa5..ae1a5841 100644
--- a/proto/DoGachaRsp.proto
+++ b/proto/DoGachaRsp.proto
@@ -21,27 +21,32 @@ import "GachaItem.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1535
-// EnetChannelId: 0
-// EnetIsReliable: true
message DoGachaRsp {
- uint32 cur_schedule_daily_gacha_times = 155;
- uint32 cost_item_num = 10;
- uint32 wish_max_progress = 9;
- uint32 wish_item_id = 8;
- int32 retcode = 13;
- uint32 ten_cost_item_num = 3;
- uint32 wish_progress = 2;
- repeated GachaItem gacha_item_list = 15;
- uint32 ten_cost_item_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1519;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_OHFMHIHJHPJ = 1812;
+ uint32 Unk3300_JLELMHELIDC = 3;
+ repeated GachaItem gacha_item_list = 9;
+ bool Unk3300_HBILIAEIHNK = 1887;
+ uint32 gacha_type = 10;
+ uint32 Unk3300_OPGAHAGHEPF = 6;
+ uint32 Unk3300_NMOKGFGDFFC = 1;
+ uint32 Unk3300_BLLMPAJNCPI = 5;
uint32 gacha_times = 4;
- bool is_under_minors_restrict = 1435;
- bool is_under_general_restrict = 1868;
- uint32 gacha_type = 12;
- uint32 gacha_times_limit = 1;
- uint32 cost_item_id = 14;
- uint32 daily_gacha_times = 1240;
- uint32 left_gacha_times = 6;
- uint32 new_gacha_random = 11;
- uint32 gacha_schedule_id = 5;
+ uint32 Unk3300_GLPMIEMBGGL = 15;
+ uint32 Unk3300_KEIJFMKAKDH = 12;
+ uint32 Unk3300_DBFMKAMNPCL = 13;
+ uint32 Unk3300_JLBFLPEMAPP = 8;
+ uint32 Unk3300_MEDMCPFCIOO = 2;
+ uint32 Unk3300_HLANONBCBLM = 1550;
+ uint32 Unk3300_PLFMMOFNGAG = 7;
+ uint32 gacha_schedule_id = 14;
+ uint32 daily_gacha_times = 467;
+ int32 retcode = 11;
}
diff --git a/proto/DoRoguelikeDungeonCardGachaReq.proto b/proto/DoRoguelikeDungeonCardGachaReq.proto
new file mode 100644
index 00000000..8e293b67
--- /dev/null
+++ b/proto/DoRoguelikeDungeonCardGachaReq.proto
@@ -0,0 +1,34 @@
+// 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 DoRoguelikeDungeonCardGachaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8740;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 cell_id = 5;
+ uint32 dungeon_id = 8;
+}
diff --git a/proto/DoRoguelikeDungeonCardGachaRsp.proto b/proto/DoRoguelikeDungeonCardGachaRsp.proto
new file mode 100644
index 00000000..558fa5ab
--- /dev/null
+++ b/proto/DoRoguelikeDungeonCardGachaRsp.proto
@@ -0,0 +1,34 @@
+// 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 DoRoguelikeDungeonCardGachaRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8144;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ bool is_can_refresh = 6;
+ repeated uint32 card_list = 15;
+}
diff --git a/proto/DoSetPlayerBornDataNotify.proto b/proto/DoSetPlayerBornDataNotify.proto
index 55f42fbb..c270c79a 100644
--- a/proto/DoSetPlayerBornDataNotify.proto
+++ b/proto/DoSetPlayerBornDataNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 147
-// EnetChannelId: 0
-// EnetIsReliable: true
-message DoSetPlayerBornDataNotify {}
+message DoSetPlayerBornDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 176;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/DraftGuestReplyInviteNotify.proto b/proto/DraftGuestReplyInviteNotify.proto
new file mode 100644
index 00000000..5faf8870
--- /dev/null
+++ b/proto/DraftGuestReplyInviteNotify.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5447;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 1;
+ uint32 guest_uid = 13;
+ uint32 draft_id = 2;
+}
diff --git a/proto/DraftGuestReplyInviteReq.proto b/proto/DraftGuestReplyInviteReq.proto
new file mode 100644
index 00000000..c7490c06
--- /dev/null
+++ b/proto/DraftGuestReplyInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5443;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_agree = 4;
+ uint32 draft_id = 10;
+}
diff --git a/proto/DraftGuestReplyInviteRsp.proto b/proto/DraftGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..d8268b58
--- /dev/null
+++ b/proto/DraftGuestReplyInviteRsp.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5461;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 draft_id = 13;
+ bool is_agree = 8;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmNotify.proto b/proto/DraftGuestReplyTwiceConfirmNotify.proto
new file mode 100644
index 00000000..300417d6
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmNotify.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyTwiceConfirmNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5499;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 14;
+ uint32 draft_id = 15;
+ uint32 guest_uid = 11;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmReq.proto b/proto/DraftGuestReplyTwiceConfirmReq.proto
new file mode 100644
index 00000000..c85505c5
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmReq.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyTwiceConfirmReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_agree = 8;
+ uint32 draft_id = 13;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmRsp.proto b/proto/DraftGuestReplyTwiceConfirmRsp.proto
new file mode 100644
index 00000000..95b021f1
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmRsp.proto
@@ -0,0 +1,34 @@
+// 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 DraftGuestReplyTwiceConfirmRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5439;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 draft_id = 5;
+ int32 retcode = 11;
+ bool is_agree = 1;
+}
diff --git a/proto/DraftInviteFailInfo.proto b/proto/DraftInviteFailInfo.proto
new file mode 100644
index 00000000..baddbfa9
--- /dev/null
+++ b/proto/DraftInviteFailInfo.proto
@@ -0,0 +1,27 @@
+// 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 "DraftInviteFailReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DraftInviteFailInfo {
+ DraftInviteFailReason reason = 6;
+ uint32 uid = 10;
+}
diff --git a/proto/DraftInviteFailReason.proto b/proto/DraftInviteFailReason.proto
new file mode 100644
index 00000000..a94966c1
--- /dev/null
+++ b/proto/DraftInviteFailReason.proto
@@ -0,0 +1,29 @@
+// 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 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..f5fb739c
--- /dev/null
+++ b/proto/DraftInviteResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 DraftInviteResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5478;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_all_agree = 11;
+ uint32 draft_id = 12;
+}
diff --git a/proto/DraftOwnerInviteNotify.proto b/proto/DraftOwnerInviteNotify.proto
new file mode 100644
index 00000000..8956ef44
--- /dev/null
+++ b/proto/DraftOwnerInviteNotify.proto
@@ -0,0 +1,33 @@
+// 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 DraftOwnerInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5500;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 invite_deadline_time = 5;
+ uint32 draft_id = 7;
+}
diff --git a/proto/DraftOwnerStartInviteReq.proto b/proto/DraftOwnerStartInviteReq.proto
new file mode 100644
index 00000000..9dce3515
--- /dev/null
+++ b/proto/DraftOwnerStartInviteReq.proto
@@ -0,0 +1,33 @@
+// 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 DraftOwnerStartInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5456;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 draft_id = 14;
+}
diff --git a/proto/DraftOwnerStartInviteRsp.proto b/proto/DraftOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..077e6a3f
--- /dev/null
+++ b/proto/DraftOwnerStartInviteRsp.proto
@@ -0,0 +1,38 @@
+// 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 "DraftInviteFailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DraftOwnerStartInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5419;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated DraftInviteFailInfo invite_fail_info_list = 12;
+ uint32 draft_id = 4;
+ int32 retcode = 2;
+ uint32 wrong_uid = 6;
+}
diff --git a/proto/DraftOwnerTwiceConfirmNotify.proto b/proto/DraftOwnerTwiceConfirmNotify.proto
new file mode 100644
index 00000000..ea3379cf
--- /dev/null
+++ b/proto/DraftOwnerTwiceConfirmNotify.proto
@@ -0,0 +1,33 @@
+// 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 DraftOwnerTwiceConfirmNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5457;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 draft_id = 6;
+ uint32 twice_confirm_deadline_time = 5;
+}
diff --git a/proto/DraftTwiceConfirmResultNotify.proto b/proto/DraftTwiceConfirmResultNotify.proto
new file mode 100644
index 00000000..1915a098
--- /dev/null
+++ b/proto/DraftTwiceConfirmResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 DraftTwiceConfirmResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5448;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_all_agree = 14;
+ uint32 draft_id = 1;
+}
diff --git a/proto/DragonSpineActivityDetailInfo.proto b/proto/DragonSpineActivityDetailInfo.proto
index a81c4b63..f244f603 100644
--- a/proto/DragonSpineActivityDetailInfo.proto
+++ b/proto/DragonSpineActivityDetailInfo.proto
@@ -22,11 +22,11 @@ import "DragonSpineChapterInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message DragonSpineActivityDetailInfo {
- bool is_content_closed = 10;
- repeated DragonSpineChapterInfo chapter_info_list = 4;
- uint32 weapon_enhance_level = 2;
- uint32 content_finish_time = 15;
- uint32 shimmering_essence = 13;
- uint32 warm_essence = 11;
- uint32 wondrous_essence = 7;
+ bool is_content_closed = 9;
+ uint32 Unk3300_FOHJDGCAKEK = 3;
+ uint32 Unk3300_PPABOFMIGNM = 10;
+ repeated DragonSpineChapterInfo chapter_info_list = 7;
+ uint32 Unk3300_NEOCMGJCEOJ = 4;
+ uint32 Unk3300_IMLKIJAOADF = 12;
+ uint32 weapon_enhance_level = 8;
}
diff --git a/proto/DragonSpineChapterFinishNotify.proto b/proto/DragonSpineChapterFinishNotify.proto
new file mode 100644
index 00000000..248d0f59
--- /dev/null
+++ b/proto/DragonSpineChapterFinishNotify.proto
@@ -0,0 +1,34 @@
+// 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 DragonSpineChapterFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2149;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 chapter_id = 14;
+ uint32 weapon_enhance_level = 12;
+ uint32 schedule_id = 5;
+}
diff --git a/proto/DragonSpineChapterInfo.proto b/proto/DragonSpineChapterInfo.proto
index 0ed9c9ef..79eaddee 100644
--- a/proto/DragonSpineChapterInfo.proto
+++ b/proto/DragonSpineChapterInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message DragonSpineChapterInfo {
- uint32 progress = 14;
- uint32 open_time = 6;
- bool is_open = 11;
- uint32 chapter_id = 9;
- uint32 finished_mission_num = 10;
+ uint32 open_time = 1;
+ uint32 progress = 12;
+ uint32 chapter_id = 6;
+ uint32 finished_mission_num = 5;
+ bool is_open = 2;
}
diff --git a/proto/DragonSpineChapterOpenNotify.proto b/proto/DragonSpineChapterOpenNotify.proto
new file mode 100644
index 00000000..78c8129f
--- /dev/null
+++ b/proto/DragonSpineChapterOpenNotify.proto
@@ -0,0 +1,33 @@
+// 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 DragonSpineChapterOpenNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2123;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 9;
+ uint32 chapter_id = 11;
+}
diff --git a/proto/DragonSpineChapterProgressChangeNotify.proto b/proto/DragonSpineChapterProgressChangeNotify.proto
new file mode 100644
index 00000000..1e44ed11
--- /dev/null
+++ b/proto/DragonSpineChapterProgressChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 DragonSpineChapterProgressChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2035;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 chapter_id = 9;
+ uint32 schedule_id = 3;
+ uint32 cur_progress = 11;
+}
diff --git a/proto/DragonSpineCoinChangeNotify.proto b/proto/DragonSpineCoinChangeNotify.proto
new file mode 100644
index 00000000..39f36a42
--- /dev/null
+++ b/proto/DragonSpineCoinChangeNotify.proto
@@ -0,0 +1,35 @@
+// 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 DragonSpineCoinChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2086;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_IMLKIJAOADF = 11;
+ uint32 schedule_id = 15;
+ uint32 Unk3300_FOHJDGCAKEK = 3;
+ uint32 Unk3300_NEOCMGJCEOJ = 2;
+}
diff --git a/proto/DropHintNotify.proto b/proto/DropHintNotify.proto
index bd88fb87..a48f8a3a 100644
--- a/proto/DropHintNotify.proto
+++ b/proto/DropHintNotify.proto
@@ -21,10 +21,15 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 650
-// EnetChannelId: 0
-// EnetIsReliable: true
message DropHintNotify {
- Vector position = 7;
- repeated uint32 item_id_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 646;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 item_id_list = 12;
+ Vector position = 9;
}
diff --git a/proto/DropItemReq.proto b/proto/DropItemReq.proto
index 228c6a76..a444378e 100644
--- a/proto/DropItemReq.proto
+++ b/proto/DropItemReq.proto
@@ -22,13 +22,18 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 699
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DropItemReq {
- Vector pos = 11;
- StoreType store_type = 1;
- uint32 count = 2;
- uint64 guid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 657;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector pos = 12;
+ StoreType store_type = 13;
+ uint32 count = 4;
+ uint64 guid = 9;
}
diff --git a/proto/DropItemRsp.proto b/proto/DropItemRsp.proto
index aa8f49d5..8b5909f0 100644
--- a/proto/DropItemRsp.proto
+++ b/proto/DropItemRsp.proto
@@ -21,11 +21,16 @@ import "StoreType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 631
-// EnetChannelId: 0
-// EnetIsReliable: true
message DropItemRsp {
- int32 retcode = 9;
- uint64 guid = 1;
- StoreType store_type = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 627;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 guid = 6;
+ int32 retcode = 4;
+ StoreType store_type = 2;
}
diff --git a/proto/DropSubfieldType.proto b/proto/DropSubfieldType.proto
new file mode 100644
index 00000000..a44bec7a
--- /dev/null
+++ b/proto/DropSubfieldType.proto
@@ -0,0 +1,28 @@
+// 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 DropSubfieldType {
+ DROP_SUBFIELD_TYPE_NONE = 0;
+ DROP_SUBFIELD_TYPE_ONE = 1;
+ DROP_SUBFIELD_TYPE_Unk2700_NNGMHCEADHE = 2;
+ DROP_SUBFIELD_TYPE_Unk2700_MKIJPEHKAJI = 3;
+ DROP_SUBFIELD_TYPE_Unk2700_DJDNENLGIEB = 4;
+}
diff --git a/proto/DungeonCandidateTeamAvatar.proto b/proto/DungeonCandidateTeamAvatar.proto
new file mode 100644
index 00000000..d92eaa72
--- /dev/null
+++ b/proto/DungeonCandidateTeamAvatar.proto
@@ -0,0 +1,27 @@
+// 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 "AvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonCandidateTeamAvatar {
+ AvatarInfo avatar_info = 6;
+ uint32 player_uid = 7;
+}
diff --git a/proto/DungeonCandidateTeamChangeAvatarReq.proto b/proto/DungeonCandidateTeamChangeAvatarReq.proto
index 693dc489..ee828bdf 100644
--- a/proto/DungeonCandidateTeamChangeAvatarReq.proto
+++ b/proto/DungeonCandidateTeamChangeAvatarReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 956
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DungeonCandidateTeamChangeAvatarReq {
- repeated uint64 avatar_guid_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 982;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 avatar_guid_list = 7;
}
diff --git a/proto/DungeonCandidateTeamChangeAvatarRsp.proto b/proto/DungeonCandidateTeamChangeAvatarRsp.proto
index d14d15d7..deb29431 100644
--- a/proto/DungeonCandidateTeamChangeAvatarRsp.proto
+++ b/proto/DungeonCandidateTeamChangeAvatarRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 942
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonCandidateTeamChangeAvatarRsp {
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 911;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
}
diff --git a/proto/DungeonCandidateTeamCreateReq.proto b/proto/DungeonCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..aa39033f
--- /dev/null
+++ b/proto/DungeonCandidateTeamCreateReq.proto
@@ -0,0 +1,34 @@
+// 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 DungeonCandidateTeamCreateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 933;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 3;
+ uint32 point_id = 1;
+}
diff --git a/proto/DungeonCandidateTeamCreateRsp.proto b/proto/DungeonCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..12de8762
--- /dev/null
+++ b/proto/DungeonCandidateTeamCreateRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamCreateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 910;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/DungeonCandidateTeamDismissNotify.proto b/proto/DungeonCandidateTeamDismissNotify.proto
new file mode 100644
index 00000000..218f6606
--- /dev/null
+++ b/proto/DungeonCandidateTeamDismissNotify.proto
@@ -0,0 +1,35 @@
+// 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 "DungeonCandidateTeamPlayerDismissReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonCandidateTeamDismissNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 903;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ DungeonCandidateTeamPlayerDismissReason reason = 7;
+ uint32 player_uid = 1;
+}
diff --git a/proto/DungeonCandidateTeamDismissReason.proto b/proto/DungeonCandidateTeamDismissReason.proto
new file mode 100644
index 00000000..56943851
--- /dev/null
+++ b/proto/DungeonCandidateTeamDismissReason.proto
@@ -0,0 +1,26 @@
+// 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 DungeonCandidateTeamDismissReason {
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL = 0;
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DIE = 1;
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DISCONNECT = 2;
+}
diff --git a/proto/DungeonCandidateTeamInfoNotify.proto b/proto/DungeonCandidateTeamInfoNotify.proto
new file mode 100644
index 00000000..1008ef04
--- /dev/null
+++ b/proto/DungeonCandidateTeamInfoNotify.proto
@@ -0,0 +1,39 @@
+// 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 "DungeonCandidateTeamAvatar.proto";
+import "DungeonCandidateTeamPlayerState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonCandidateTeamInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 917;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 ready_player_uid = 2;
+ uint32 match_type = 12;
+ uint32 dungeon_id = 8;
+ repeated DungeonCandidateTeamAvatar avatar_list = 1;
+ map player_state_map = 10;
+}
diff --git a/proto/DungeonCandidateTeamInviteNotify.proto b/proto/DungeonCandidateTeamInviteNotify.proto
new file mode 100644
index 00000000..b4d7e3b7
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteNotify.proto
@@ -0,0 +1,34 @@
+// 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 DungeonCandidateTeamInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 905;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 valid_deadline_time_sec = 11;
+ uint32 player_uid = 4;
+ uint32 dungeon_id = 13;
+}
diff --git a/proto/DungeonCandidateTeamInviteReq.proto b/proto/DungeonCandidateTeamInviteReq.proto
new file mode 100644
index 00000000..86fb3767
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 980;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 player_uids = 4;
+}
diff --git a/proto/DungeonCandidateTeamInviteRsp.proto b/proto/DungeonCandidateTeamInviteRsp.proto
new file mode 100644
index 00000000..eecb1f01
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteRsp.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 946;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 invalid_player_uids = 11;
+ int32 retcode = 4;
+}
diff --git a/proto/DungeonCandidateTeamKickReq.proto b/proto/DungeonCandidateTeamKickReq.proto
new file mode 100644
index 00000000..13fdb35b
--- /dev/null
+++ b/proto/DungeonCandidateTeamKickReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamKickReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 975;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 player_uid = 7;
+}
diff --git a/proto/DungeonCandidateTeamKickRsp.proto b/proto/DungeonCandidateTeamKickRsp.proto
new file mode 100644
index 00000000..c82f1bbf
--- /dev/null
+++ b/proto/DungeonCandidateTeamKickRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamKickRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 934;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+}
diff --git a/proto/DungeonCandidateTeamLeaveReq.proto b/proto/DungeonCandidateTeamLeaveReq.proto
new file mode 100644
index 00000000..5fbc89cb
--- /dev/null
+++ b/proto/DungeonCandidateTeamLeaveReq.proto
@@ -0,0 +1,31 @@
+// 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 DungeonCandidateTeamLeaveReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 995;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/DungeonCandidateTeamLeaveRsp.proto b/proto/DungeonCandidateTeamLeaveRsp.proto
new file mode 100644
index 00000000..71553a6a
--- /dev/null
+++ b/proto/DungeonCandidateTeamLeaveRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamLeaveRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 964;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/DungeonCandidateTeamPlayerDismissReason.proto b/proto/DungeonCandidateTeamPlayerDismissReason.proto
new file mode 100644
index 00000000..c977922e
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerDismissReason.proto
@@ -0,0 +1,26 @@
+// 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 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..b5d2d724
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
@@ -0,0 +1,35 @@
+// 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 "DungeonCandidateTeamPlayerLeaveReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonCandidateTeamPlayerLeaveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 972;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 player_uid = 7;
+ DungeonCandidateTeamPlayerLeaveReason reason = 1;
+}
diff --git a/proto/DungeonCandidateTeamPlayerLeaveReason.proto b/proto/DungeonCandidateTeamPlayerLeaveReason.proto
new file mode 100644
index 00000000..6dfb2210
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerLeaveReason.proto
@@ -0,0 +1,27 @@
+// 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 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..f697ef9d
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerState.proto
@@ -0,0 +1,26 @@
+// 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 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..cdd74d7d
--- /dev/null
+++ b/proto/DungeonCandidateTeamRefuseNotify.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamRefuseNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 994;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 player_uid = 8;
+}
diff --git a/proto/DungeonCandidateTeamReplyInviteReq.proto b/proto/DungeonCandidateTeamReplyInviteReq.proto
new file mode 100644
index 00000000..be9f8e67
--- /dev/null
+++ b/proto/DungeonCandidateTeamReplyInviteReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamReplyInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 967;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_accept = 1;
+}
diff --git a/proto/DungeonCandidateTeamReplyInviteRsp.proto b/proto/DungeonCandidateTeamReplyInviteRsp.proto
new file mode 100644
index 00000000..690fd503
--- /dev/null
+++ b/proto/DungeonCandidateTeamReplyInviteRsp.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamReplyInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 915;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_trans_point = 1;
+ int32 retcode = 5;
+}
diff --git a/proto/DungeonCandidateTeamSetChangingAvatarReq.proto b/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
new file mode 100644
index 00000000..89a7fbc5
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamSetChangingAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 908;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_changing_avatar = 11;
+}
diff --git a/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto b/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
new file mode 100644
index 00000000..80f8a039
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamSetChangingAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 909;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/DungeonCandidateTeamSetReadyReq.proto b/proto/DungeonCandidateTeamSetReadyReq.proto
new file mode 100644
index 00000000..2282de8b
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetReadyReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonCandidateTeamSetReadyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 921;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_ready = 12;
+}
diff --git a/proto/DungeonCandidateTeamSetReadyRsp.proto b/proto/DungeonCandidateTeamSetReadyRsp.proto
new file mode 100644
index 00000000..d6e1f8d1
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetReadyRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonCandidateTeamSetReadyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 922;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/DungeonChallengeBeginNotify.proto b/proto/DungeonChallengeBeginNotify.proto
index c5fea947..9539b77d 100644
--- a/proto/DungeonChallengeBeginNotify.proto
+++ b/proto/DungeonChallengeBeginNotify.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 947
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonChallengeBeginNotify {
- uint32 father_index = 5;
- repeated uint32 param_list = 14;
- uint32 challenge_index = 6;
- uint32 challenge_id = 1;
- uint32 group_id = 4;
- repeated uint32 uid_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 976;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_index = 3;
+ uint32 father_index = 13;
+ uint32 group_id = 15;
+ repeated uint32 uid_list = 8;
+ uint32 challenge_id = 7;
+ repeated uint32 param_list = 2;
}
diff --git a/proto/DungeonChallengeFinishNotify.proto b/proto/DungeonChallengeFinishNotify.proto
index 56e1a62b..5c370857 100644
--- a/proto/DungeonChallengeFinishNotify.proto
+++ b/proto/DungeonChallengeFinishNotify.proto
@@ -26,22 +26,27 @@ import "StrengthenPointData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 939
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonChallengeFinishNotify {
- map strengthen_point_data_map = 13;
- ChallengeFinishType finish_type = 9;
- bool is_new_record = 10;
- uint32 challenge_record_type = 7;
- uint32 time_cost = 4;
- uint32 current_value = 15;
- bool is_success = 3;
- uint32 challenge_index = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 916;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 9;
+ uint32 current_value = 5;
+ ChallengeFinishType finish_type = 3;
+ map strengthen_point_data_map = 11;
+ uint32 challenge_record_type = 2;
+ bool is_success = 8;
+ uint32 challenge_index = 12;
+ uint32 time_cost = 7;
oneof detail {
- ChannelerSlabLoopDungeonResultInfo channeler_slab_loop_dungeon_result_info = 1521;
- EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1627;
- PotionDungeonResultInfo potion_dungeon_result_info = 1824;
- CustomDungeonResultInfo custom_dungeon_result_info = 1664;
+ ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1545;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 76;
+ PotionDungeonResultInfo potion_dungeon_result_info = 216;
+ CustomDungeonResultInfo custom_dungeon_result_info = 1678;
}
}
diff --git a/proto/DungeonDataNotify.proto b/proto/DungeonDataNotify.proto
new file mode 100644
index 00000000..14985ba1
--- /dev/null
+++ b/proto/DungeonDataNotify.proto
@@ -0,0 +1,32 @@
+// 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 DungeonDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 990;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map dungeon_data_map = 7;
+}
diff --git a/proto/DungeonDieOptionReq.proto b/proto/DungeonDieOptionReq.proto
new file mode 100644
index 00000000..98a018bd
--- /dev/null
+++ b/proto/DungeonDieOptionReq.proto
@@ -0,0 +1,36 @@
+// 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 "PlayerDieOption.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonDieOptionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 939;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ PlayerDieOption die_option = 5;
+ bool is_quit_immediately = 14;
+}
diff --git a/proto/DungeonDieOptionRsp.proto b/proto/DungeonDieOptionRsp.proto
new file mode 100644
index 00000000..4b8688d4
--- /dev/null
+++ b/proto/DungeonDieOptionRsp.proto
@@ -0,0 +1,36 @@
+// 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 "PlayerDieOption.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonDieOptionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 948;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 revive_count = 2;
+ PlayerDieOption die_option = 7;
+ int32 retcode = 13;
+}
diff --git a/proto/DungeonEnterPosInfo.proto b/proto/DungeonEnterPosInfo.proto
index 8e4985db..567c30dc 100644
--- a/proto/DungeonEnterPosInfo.proto
+++ b/proto/DungeonEnterPosInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message DungeonEnterPosInfo {
- uint32 quest_id = 13;
- uint32 point_id = 6;
+ uint32 quest_id = 6;
+ uint32 point_id = 14;
}
diff --git a/proto/DungeonEntryBlockReason.proto b/proto/DungeonEntryBlockReason.proto
new file mode 100644
index 00000000..b231987a
--- /dev/null
+++ b/proto/DungeonEntryBlockReason.proto
@@ -0,0 +1,27 @@
+// 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 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..c87061a7
--- /dev/null
+++ b/proto/DungeonEntryCond.proto
@@ -0,0 +1,27 @@
+// 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 "DungeonEntryBlockReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonEntryCond {
+ DungeonEntryBlockReason cond_reason = 2;
+ uint32 param1 = 1;
+}
diff --git a/proto/DungeonEntryInfo.proto b/proto/DungeonEntryInfo.proto
index 158d9fe2..91b1c87b 100644
--- a/proto/DungeonEntryInfo.proto
+++ b/proto/DungeonEntryInfo.proto
@@ -22,13 +22,13 @@ import "WeeklyBossResinDiscountInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message DungeonEntryInfo {
- uint32 end_time = 6;
- uint32 dungeon_id = 5;
- uint32 boss_chest_num = 12;
- uint32 max_boss_chest_num = 13;
- uint32 next_refresh_time = 11;
- WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 9;
- uint32 start_time = 15;
- bool is_passed = 4;
- uint32 left_times = 7;
+ uint32 end_time = 14;
+ uint32 Unk3300_KNKFCOKMECI = 9;
+ bool is_passed = 13;
+ WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 6;
+ uint32 dungeon_id = 8;
+ uint32 Unk3300_IDMPGPKMMEH = 5;
+ uint32 next_refresh_time = 10;
+ uint32 Unk3300_ONLALCCKIEE = 3;
+ uint32 start_time = 11;
}
diff --git a/proto/DungeonEntryInfoReq.proto b/proto/DungeonEntryInfoReq.proto
index 63b8cd0b..91f6c07a 100644
--- a/proto/DungeonEntryInfoReq.proto
+++ b/proto/DungeonEntryInfoReq.proto
@@ -21,12 +21,17 @@ import "Uint32Pair.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 972
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DungeonEntryInfoReq {
- uint32 point_id = 2;
- uint32 scene_id = 9;
- repeated Uint32Pair scene_point_id_list = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 979;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 2;
+ repeated Uint32Pair scene_point_id_list = 3;
+ uint32 point_id = 14;
}
diff --git a/proto/DungeonEntryInfoRsp.proto b/proto/DungeonEntryInfoRsp.proto
index bb378473..0e8899d5 100644
--- a/proto/DungeonEntryInfoRsp.proto
+++ b/proto/DungeonEntryInfoRsp.proto
@@ -22,13 +22,18 @@ import "DungeonEntryPointInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 998
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonEntryInfoRsp {
- repeated DungeonEntryInfo dungeon_entry_list = 12;
- uint32 point_id = 15;
- repeated DungeonEntryPointInfo dungeon_entry_point_list = 4;
- uint32 recommend_dungeon_id = 14;
- int32 retcode = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 930;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated DungeonEntryInfo dungeon_entry_list = 8;
+ uint32 recommend_dungeon_id = 15;
+ repeated DungeonEntryPointInfo dungeon_entry_point_list = 10;
+ int32 retcode = 14;
+ uint32 point_id = 12;
}
diff --git a/proto/DungeonEntryPointInfo.proto b/proto/DungeonEntryPointInfo.proto
index e364abe9..62f83b9b 100644
--- a/proto/DungeonEntryPointInfo.proto
+++ b/proto/DungeonEntryPointInfo.proto
@@ -23,7 +23,7 @@ option java_package = "emu.grasscutter.net.proto";
message DungeonEntryPointInfo {
uint32 scene_id = 12;
- uint32 point_id = 6;
- repeated DungeonEntryInfo dungeon_entry_list = 1;
- uint32 recommend_dungeon_id = 8;
+ repeated DungeonEntryInfo dungeon_entry_list = 14;
+ uint32 recommend_dungeon_id = 4;
+ uint32 point_id = 1;
}
diff --git a/proto/DungeonEntryToBeExploreNotify.proto b/proto/DungeonEntryToBeExploreNotify.proto
new file mode 100644
index 00000000..2077ba2c
--- /dev/null
+++ b/proto/DungeonEntryToBeExploreNotify.proto
@@ -0,0 +1,34 @@
+// 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 DungeonEntryToBeExploreNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3196;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 6;
+ uint32 dungeon_entry_scene_point_id = 3;
+ uint32 dungeon_entry_config_id = 2;
+}
diff --git a/proto/DungeonFollowNotify.proto b/proto/DungeonFollowNotify.proto
new file mode 100644
index 00000000..4d8d23fb
--- /dev/null
+++ b/proto/DungeonFollowNotify.proto
@@ -0,0 +1,32 @@
+// 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 DungeonFollowNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 937;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 5;
+}
diff --git a/proto/DungeonGetStatueDropReq.proto b/proto/DungeonGetStatueDropReq.proto
new file mode 100644
index 00000000..172b27f5
--- /dev/null
+++ b/proto/DungeonGetStatueDropReq.proto
@@ -0,0 +1,31 @@
+// 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 DungeonGetStatueDropReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 989;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/DungeonGetStatueDropRsp.proto b/proto/DungeonGetStatueDropRsp.proto
new file mode 100644
index 00000000..dadca860
--- /dev/null
+++ b/proto/DungeonGetStatueDropRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonGetStatueDropRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 944;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/DungeonInterruptChallengeReq.proto b/proto/DungeonInterruptChallengeReq.proto
new file mode 100644
index 00000000..8fc885b2
--- /dev/null
+++ b/proto/DungeonInterruptChallengeReq.proto
@@ -0,0 +1,35 @@
+// 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 DungeonInterruptChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 991;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_id = 12;
+ uint32 group_id = 5;
+ uint32 challenge_index = 10;
+}
diff --git a/proto/DungeonInterruptChallengeRsp.proto b/proto/DungeonInterruptChallengeRsp.proto
new file mode 100644
index 00000000..ea87c9ed
--- /dev/null
+++ b/proto/DungeonInterruptChallengeRsp.proto
@@ -0,0 +1,35 @@
+// 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 DungeonInterruptChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 993;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 10;
+ uint32 challenge_id = 5;
+ int32 retcode = 12;
+ uint32 challenge_index = 14;
+}
diff --git a/proto/DungeonPlayerDieNotify.proto b/proto/DungeonPlayerDieNotify.proto
new file mode 100644
index 00000000..7a03893d
--- /dev/null
+++ b/proto/DungeonPlayerDieNotify.proto
@@ -0,0 +1,44 @@
+// 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 "PlayerDieType.proto";
+import "StrengthenPointData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonPlayerDieNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 927;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map strengthen_point_data_map = 7;
+ PlayerDieType die_type = 8;
+ uint32 revive_count = 3;
+ uint32 wait_time = 4;
+ uint32 dungeon_id = 6;
+ uint32 murderer_entity_id = 11;
+ oneof entity {
+ uint32 monster_id = 10;
+ uint32 gadget_id = 14;
+ }
+}
diff --git a/proto/DungeonPlayerDieReq.proto b/proto/DungeonPlayerDieReq.proto
new file mode 100644
index 00000000..b4d7da6d
--- /dev/null
+++ b/proto/DungeonPlayerDieReq.proto
@@ -0,0 +1,36 @@
+// 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 "PlayerDieType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DungeonPlayerDieReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 925;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ PlayerDieType die_type = 4;
+ uint32 dungeon_id = 6;
+}
diff --git a/proto/DungeonPlayerDieRsp.proto b/proto/DungeonPlayerDieRsp.proto
new file mode 100644
index 00000000..ddd5440a
--- /dev/null
+++ b/proto/DungeonPlayerDieRsp.proto
@@ -0,0 +1,32 @@
+// 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 DungeonPlayerDieRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 942;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/DungeonRestartInviteNotify.proto b/proto/DungeonRestartInviteNotify.proto
new file mode 100644
index 00000000..de950738
--- /dev/null
+++ b/proto/DungeonRestartInviteNotify.proto
@@ -0,0 +1,36 @@
+// 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 DungeonRestartInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 963;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 8;
+ uint32 cd = 5;
+ uint32 player_uid = 6;
+ uint32 point_id = 12;
+}
diff --git a/proto/DungeonRestartInviteReplyNotify.proto b/proto/DungeonRestartInviteReplyNotify.proto
new file mode 100644
index 00000000..58ddbd42
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyNotify.proto
@@ -0,0 +1,34 @@
+// 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 DungeonRestartInviteReplyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 987;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 player_uid = 11;
+ bool is_accept = 12;
+}
diff --git a/proto/DungeonRestartInviteReplyReq.proto b/proto/DungeonRestartInviteReplyReq.proto
new file mode 100644
index 00000000..a972ab10
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyReq.proto
@@ -0,0 +1,33 @@
+// 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 DungeonRestartInviteReplyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 904;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_accept = 2;
+}
diff --git a/proto/DungeonRestartInviteReplyRsp.proto b/proto/DungeonRestartInviteReplyRsp.proto
new file mode 100644
index 00000000..8e33682a
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyRsp.proto
@@ -0,0 +1,34 @@
+// 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 DungeonRestartInviteReplyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 923;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_trans_point = 14;
+ int32 retcode = 10;
+ bool is_accept = 6;
+}
diff --git a/proto/DungeonRestartReq.proto b/proto/DungeonRestartReq.proto
new file mode 100644
index 00000000..c590ed11
--- /dev/null
+++ b/proto/DungeonRestartReq.proto
@@ -0,0 +1,31 @@
+// 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 DungeonRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 998;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/DungeonRestartResultNotify.proto b/proto/DungeonRestartResultNotify.proto
new file mode 100644
index 00000000..277046d4
--- /dev/null
+++ b/proto/DungeonRestartResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 DungeonRestartResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 985;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_add_accept = 9;
+}
diff --git a/proto/DungeonRestartRsp.proto b/proto/DungeonRestartRsp.proto
new file mode 100644
index 00000000..07794f52
--- /dev/null
+++ b/proto/DungeonRestartRsp.proto
@@ -0,0 +1,34 @@
+// 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 DungeonRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 920;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 13;
+ int32 retcode = 3;
+ uint32 point_id = 11;
+}
diff --git a/proto/DungeonReviseLevelNotify.proto b/proto/DungeonReviseLevelNotify.proto
new file mode 100644
index 00000000..405774ee
--- /dev/null
+++ b/proto/DungeonReviseLevelNotify.proto
@@ -0,0 +1,35 @@
+// 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 DungeonReviseLevelNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 966;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 2;
+ uint32 Unk3300_ALMECLCHHFA = 3;
+ uint32 Unk3300_DKIMMKIHDCK = 15;
+}
diff --git a/proto/DungeonSettleExhibitionInfo.proto b/proto/DungeonSettleExhibitionInfo.proto
index a06fc4a9..c68b272c 100644
--- a/proto/DungeonSettleExhibitionInfo.proto
+++ b/proto/DungeonSettleExhibitionInfo.proto
@@ -23,6 +23,6 @@ import "OnlinePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message DungeonSettleExhibitionInfo {
- OnlinePlayerInfo player_info = 3;
+ OnlinePlayerInfo player_info = 14;
repeated ExhibitionDisplayInfo card_list = 13;
}
diff --git a/proto/DungeonSettleNotify.proto b/proto/DungeonSettleNotify.proto
index 110e9968..2bd42355 100644
--- a/proto/DungeonSettleNotify.proto
+++ b/proto/DungeonSettleNotify.proto
@@ -18,11 +18,11 @@
syntax = "proto3";
import "ChannelerSlabLoopDungeonResultInfo.proto";
-import "CrystalLinkSettleInfo.proto";
+import "CrystalLinkDungeonSettleInfo.proto";
import "DungeonSettleExhibitionInfo.proto";
import "EffigyChallengeDungeonResultInfo.proto";
import "EffigyChallengeV2SettleInfo.proto";
-import "InstableSpraySettleInfo.proto";
+import "InstableSprayDungeonSettleInfo.proto";
import "ParamList.proto";
import "RoguelikeDungeonSettleInfo.proto";
import "StrengthenPointData.proto";
@@ -33,30 +33,35 @@ import "WindFieldDungeonSettleInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 999
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonSettleNotify {
- uint32 result = 10;
- uint32 dungeon_id = 13;
- map strengthen_point_data_map = 14;
- repeated DungeonSettleExhibitionInfo exhibition_info_list = 8;
- uint32 create_player_uid = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 957;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map settle_show = 6;
+ map strengthen_point_data_map = 7;
+ repeated DungeonSettleExhibitionInfo exhibition_info_list = 12;
+ uint32 use_time = 14;
+ bool is_success = 10;
+ uint32 close_time = 15;
+ uint32 dungeon_id = 9;
+ uint32 result = 5;
repeated uint32 fail_cond_list = 11;
- uint32 use_time = 1;
- uint32 close_time = 4;
- bool is_success = 7;
- map settle_show = 5;
+ uint32 create_player_uid = 2;
oneof detail {
- TowerLevelEndNotify tower_level_end_notify = 351;
- TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 635;
- ChannelerSlabLoopDungeonResultInfo channeler_slab_loop_dungeon_result_info = 686;
- EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 328;
- RoguelikeDungeonSettleInfo roguelike_dungeon_settle_info = 1482;
- CrystalLinkSettleInfo crystal_link_settle_info = 112;
- SummerTimeV2DungeonSettleInfo summer_time_v2_dungeon_settle_info = 1882;
- InstableSpraySettleInfo instable_spray_settle_info = 193;
- WindFieldDungeonSettleInfo wind_field_dungeon_settle_info = 1825;
- EffigyChallengeV2SettleInfo effigy_challenge_v2_settle_info = 1802;
+ TowerLevelEndNotify tower_level_end_notify = 1089;
+ TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1117;
+ ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1394;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 254;
+ RoguelikeDungeonSettleInfo roguelike_dungeon_settle_info = 1888;
+ CrystalLinkDungeonSettleInfo crystal_link_settle_info = 1840;
+ SummerTimeV2DungeonSettleInfo summer_time_v2_dungeon_settle_info = 285;
+ InstableSprayDungeonSettleInfo instable_spray_settle_info = 1794;
+ WindFieldDungeonSettleInfo wind_field_dungeon_settle_info = 1522;
+ EffigyChallengeV2SettleInfo effigy_challenge_v2_settle_info = 1913;
}
}
diff --git a/proto/DungeonShowReminderNotify.proto b/proto/DungeonShowReminderNotify.proto
index 2a92036c..a4666fe4 100644
--- a/proto/DungeonShowReminderNotify.proto
+++ b/proto/DungeonShowReminderNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 997
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonShowReminderNotify {
- uint32 reminder_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 999;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reminder_id = 12;
}
diff --git a/proto/DungeonSlipRevivePointActivateReq.proto b/proto/DungeonSlipRevivePointActivateReq.proto
index c8399112..25f58cec 100644
--- a/proto/DungeonSlipRevivePointActivateReq.proto
+++ b/proto/DungeonSlipRevivePointActivateReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 958
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DungeonSlipRevivePointActivateReq {
- uint32 slip_revive_point_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 924;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slip_revive_point_id = 8;
}
diff --git a/proto/DungeonSlipRevivePointActivateRsp.proto b/proto/DungeonSlipRevivePointActivateRsp.proto
index 6d9e6f7d..a2d335d0 100644
--- a/proto/DungeonSlipRevivePointActivateRsp.proto
+++ b/proto/DungeonSlipRevivePointActivateRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 970
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonSlipRevivePointActivateRsp {
- uint32 slip_revive_point_id = 14;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 949;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 slip_revive_point_id = 13;
}
diff --git a/proto/DungeonWayPointActivateReq.proto b/proto/DungeonWayPointActivateReq.proto
index 9eed640a..bb4eb9f8 100644
--- a/proto/DungeonWayPointActivateReq.proto
+++ b/proto/DungeonWayPointActivateReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 990
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message DungeonWayPointActivateReq {
- uint32 way_point_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 947;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 way_point_id = 14;
}
diff --git a/proto/DungeonWayPointActivateRsp.proto b/proto/DungeonWayPointActivateRsp.proto
index eb84c79c..64e370b6 100644
--- a/proto/DungeonWayPointActivateRsp.proto
+++ b/proto/DungeonWayPointActivateRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 973
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonWayPointActivateRsp {
- int32 retcode = 6;
- uint32 way_point_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 978;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ uint32 way_point_id = 10;
}
diff --git a/proto/DungeonWayPointNotify.proto b/proto/DungeonWayPointNotify.proto
index 4de92007..f9bcd259 100644
--- a/proto/DungeonWayPointNotify.proto
+++ b/proto/DungeonWayPointNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 903
-// EnetChannelId: 0
-// EnetIsReliable: true
message DungeonWayPointNotify {
- bool is_add = 9;
- repeated uint32 active_way_point_list = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 961;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_add = 12;
+ repeated uint32 active_way_point_list = 2;
}
diff --git a/proto/DynamicLayerNodes.proto b/proto/DynamicLayerNodes.proto
new file mode 100644
index 00000000..20001c58
--- /dev/null
+++ b/proto/DynamicLayerNodes.proto
@@ -0,0 +1,27 @@
+// 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 "DynamicSVONode.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DynamicLayerNodes {
+ int32 level = 7;
+ repeated DynamicSVONode nodes = 4;
+}
diff --git a/proto/DynamicNodes.proto b/proto/DynamicNodes.proto
new file mode 100644
index 00000000..89a74b1e
--- /dev/null
+++ b/proto/DynamicNodes.proto
@@ -0,0 +1,26 @@
+// 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 "DynamicLayerNodes.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message DynamicNodes {
+ repeated DynamicLayerNodes nodes = 4;
+}
diff --git a/proto/DynamicSVONode.proto b/proto/DynamicSVONode.proto
new file mode 100644
index 00000000..6a9d8673
--- /dev/null
+++ b/proto/DynamicSVONode.proto
@@ -0,0 +1,28 @@
+// 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 DynamicSVONode {
+ int32 area = 3;
+ Vector refer_pos = 15;
+ int64 index = 2;
+}
diff --git a/proto/EchoNotify.proto b/proto/EchoNotify.proto
new file mode 100644
index 00000000..ce0730e5
--- /dev/null
+++ b/proto/EchoNotify.proto
@@ -0,0 +1,33 @@
+// 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 EchoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 89;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string content = 2;
+ uint32 seq_id = 3;
+}
diff --git a/proto/EchoShellDetailInfo.proto b/proto/EchoShellDetailInfo.proto
index 9c5dd2b1..1720c24f 100644
--- a/proto/EchoShellDetailInfo.proto
+++ b/proto/EchoShellDetailInfo.proto
@@ -22,8 +22,8 @@ import "SummerTimeDungeonInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message EchoShellDetailInfo {
- repeated SummerTimeDungeonInfo summer_time_dungeon_list = 8;
- repeated uint32 shell_list = 13;
- repeated uint32 pass_dungeon_list = 4;
- repeated uint32 taken_reward_list = 2;
+ repeated uint32 Unk3300_OOCDFANFFDG = 6;
+ repeated uint32 taken_reward_list = 5;
+ repeated SummerTimeDungeonInfo summer_time_dungeon_list = 3;
+ repeated uint32 Unk3300_NEFBJPKBEHF = 10;
}
diff --git a/proto/EchoShellTakeRewardReq.proto b/proto/EchoShellTakeRewardReq.proto
new file mode 100644
index 00000000..3ec6f30c
--- /dev/null
+++ b/proto/EchoShellTakeRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 EchoShellTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8049;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_id = 4;
+}
diff --git a/proto/EchoShellTakeRewardRsp.proto b/proto/EchoShellTakeRewardRsp.proto
new file mode 100644
index 00000000..36271375
--- /dev/null
+++ b/proto/EchoShellTakeRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 EchoShellTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8265;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 reward_id = 5;
+}
diff --git a/proto/EchoShellUpdateNotify.proto b/proto/EchoShellUpdateNotify.proto
new file mode 100644
index 00000000..0a6d0630
--- /dev/null
+++ b/proto/EchoShellUpdateNotify.proto
@@ -0,0 +1,32 @@
+// 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 EchoShellUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8891;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 shell_id = 10;
+}
diff --git a/proto/EffigyActivityDetailInfo.proto b/proto/EffigyActivityDetailInfo.proto
index f573b319..bb12c785 100644
--- a/proto/EffigyActivityDetailInfo.proto
+++ b/proto/EffigyActivityDetailInfo.proto
@@ -22,8 +22,8 @@ import "EffigyDailyInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message EffigyActivityDetailInfo {
+ uint32 last_difficulty_id = 8;
+ repeated uint32 taken_reward_index_list = 13;
uint32 cur_score = 5;
- repeated EffigyDailyInfo daily_info_list = 14;
- uint32 last_difficulty_id = 9;
- repeated uint32 taken_reward_index_list = 2;
+ repeated EffigyDailyInfo daily_info_list = 4;
}
diff --git a/proto/EffigyChallengeDungeonResultInfo.proto b/proto/EffigyChallengeDungeonResultInfo.proto
index 5fbdff87..3b2a9957 100644
--- a/proto/EffigyChallengeDungeonResultInfo.proto
+++ b/proto/EffigyChallengeDungeonResultInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message EffigyChallengeDungeonResultInfo {
- uint32 challenge_score = 7;
- bool is_in_time_limit = 8;
- uint32 challenge_id = 6;
- bool is_success = 15;
- uint32 challenge_max_score = 13;
+ uint32 challenge_score = 12;
+ uint32 challenge_max_score = 8;
+ bool is_success = 2;
+ bool is_in_time_limit = 1;
+ uint32 challenge_id = 15;
}
diff --git a/proto/EffigyChallengeInfoNotify.proto b/proto/EffigyChallengeInfoNotify.proto
new file mode 100644
index 00000000..da63f145
--- /dev/null
+++ b/proto/EffigyChallengeInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 EffigyChallengeInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2113;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_id = 6;
+ uint32 difficulty_id = 2;
+ uint32 challenge_score = 11;
+ repeated uint32 condition_id_list = 7;
+}
diff --git a/proto/EffigyChallengeResultNotify.proto b/proto/EffigyChallengeResultNotify.proto
new file mode 100644
index 00000000..16c62e32
--- /dev/null
+++ b/proto/EffigyChallengeResultNotify.proto
@@ -0,0 +1,35 @@
+// 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 EffigyChallengeResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2022;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_score = 8;
+ bool is_success = 4;
+ uint32 challenge_id = 13;
+ uint32 challenge_max_score = 6;
+}
diff --git a/proto/EffigyChallengeV2ChooseSkillReq.proto b/proto/EffigyChallengeV2ChooseSkillReq.proto
new file mode 100644
index 00000000..58f09bab
--- /dev/null
+++ b/proto/EffigyChallengeV2ChooseSkillReq.proto
@@ -0,0 +1,34 @@
+// 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 EffigyChallengeV2ChooseSkillReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23748;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_mode_skill_no = 10;
+ uint32 level_id = 7;
+}
diff --git a/proto/EffigyChallengeV2ChooseSkillRsp.proto b/proto/EffigyChallengeV2ChooseSkillRsp.proto
new file mode 100644
index 00000000..7d5a4274
--- /dev/null
+++ b/proto/EffigyChallengeV2ChooseSkillRsp.proto
@@ -0,0 +1,34 @@
+// 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 EffigyChallengeV2ChooseSkillRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23618;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_mode_skill_no = 12;
+ int32 retcode = 1;
+ uint32 level_id = 10;
+}
diff --git a/proto/EffigyChallengeV2DetailInfo.proto b/proto/EffigyChallengeV2DetailInfo.proto
index 68011153..725d2d4d 100644
--- a/proto/EffigyChallengeV2DetailInfo.proto
+++ b/proto/EffigyChallengeV2DetailInfo.proto
@@ -22,5 +22,5 @@ import "EffigyChallengeV2LevelData.proto";
option java_package = "emu.grasscutter.net.proto";
message EffigyChallengeV2DetailInfo {
- repeated EffigyChallengeV2LevelData level_data_list = 3;
+ repeated EffigyChallengeV2LevelData level_data_list = 1;
}
diff --git a/proto/EffigyChallengeV2DungeonInfoNotify.proto b/proto/EffigyChallengeV2DungeonInfoNotify.proto
new file mode 100644
index 00000000..ec3e7161
--- /dev/null
+++ b/proto/EffigyChallengeV2DungeonInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 EffigyChallengeV2DungeonInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24761;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_mode_difficulty = 13;
+ uint32 skill_no = 15;
+ uint32 level_id = 2;
+}
diff --git a/proto/EffigyChallengeV2EnterDungeonReq.proto b/proto/EffigyChallengeV2EnterDungeonReq.proto
new file mode 100644
index 00000000..ee4bc82c
--- /dev/null
+++ b/proto/EffigyChallengeV2EnterDungeonReq.proto
@@ -0,0 +1,35 @@
+// 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 EffigyChallengeV2EnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21069;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_mode_skill_no = 10;
+ uint32 challenge_mode_difficulty = 4;
+ uint32 level_id = 11;
+}
diff --git a/proto/EffigyChallengeV2EnterDungeonRsp.proto b/proto/EffigyChallengeV2EnterDungeonRsp.proto
new file mode 100644
index 00000000..aa7e050e
--- /dev/null
+++ b/proto/EffigyChallengeV2EnterDungeonRsp.proto
@@ -0,0 +1,35 @@
+// 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 EffigyChallengeV2EnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22024;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_mode_difficulty = 3;
+ uint32 challenge_mode_skill_no = 7;
+ uint32 level_id = 10;
+ int32 retcode = 15;
+}
diff --git a/proto/EffigyChallengeV2LevelData.proto b/proto/EffigyChallengeV2LevelData.proto
index f3613508..31a5caa9 100644
--- a/proto/EffigyChallengeV2LevelData.proto
+++ b/proto/EffigyChallengeV2LevelData.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message EffigyChallengeV2LevelData {
- uint32 challenge_mode_difficulty_pass = 1;
- uint32 level_id = 5;
- uint32 challenge_mode_last_choose_skill_no = 10;
- uint32 best_cost_time = 12;
- bool is_level_open = 7;
- uint32 challenge_mode_difficulty_open = 13;
+ uint32 Unk3300_PPOEMEILBIA = 13;
+ bool is_level_open = 4;
+ uint32 Unk3300_KJEOADDMJMI = 9;
+ uint32 Unk3300_JMGACODMJLG = 2;
+ uint32 Unk3300_IJAGOAKOABH = 7;
+ uint32 level_id = 12;
}
diff --git a/proto/EffigyChallengeV2RestartDungeonReq.proto b/proto/EffigyChallengeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..7b429a41
--- /dev/null
+++ b/proto/EffigyChallengeV2RestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 EffigyChallengeV2RestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21293;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/EffigyChallengeV2RestartDungeonRsp.proto b/proto/EffigyChallengeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..1e953683
--- /dev/null
+++ b/proto/EffigyChallengeV2RestartDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 EffigyChallengeV2RestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23467;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/EffigyChallengeV2SettleInfo.proto b/proto/EffigyChallengeV2SettleInfo.proto
index 75aace33..778832f3 100644
--- a/proto/EffigyChallengeV2SettleInfo.proto
+++ b/proto/EffigyChallengeV2SettleInfo.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message EffigyChallengeV2SettleInfo {
- bool is_challenge_highest_difficulty = 7;
- uint32 create_dungeon_player_uid = 4;
- uint32 challenge_mode_difficulty = 6;
- bool is_new_record_time = 1;
- uint32 record_time = 12;
- uint32 first_time_finish_difficulty = 5;
+ uint32 challenge_mode_difficulty = 13;
+ uint32 Unk3300_MHOIIPJKAMN = 14;
+ uint32 Unk3300_PHEIMLOKIJG = 11;
+ uint32 Unk3300_ONKPGFOLDFL = 12;
+ bool Unk3300_NGBKNDHJPCP = 5;
+ bool Unk3300_AKMPCDIKBJD = 9;
}
diff --git a/proto/EffigyDailyInfo.proto b/proto/EffigyDailyInfo.proto
index 9d7523c8..5f5e851c 100644
--- a/proto/EffigyDailyInfo.proto
+++ b/proto/EffigyDailyInfo.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message EffigyDailyInfo {
- uint32 challenge_max_score = 6;
- bool is_first_pass_reward_taken = 12;
- uint32 challenge_total_score = 15;
- uint32 challenge_id = 1;
- uint32 challenge_count = 3;
- uint32 day_index = 14;
- uint32 begin_time = 2;
+ bool is_first_pass_reward_taken = 7;
+ uint32 Unk3300_NNHICCGELHP = 2;
+ uint32 Unk3300_NEBCDALEFEC = 11;
+ uint32 challenge_max_score = 12;
+ uint32 begin_time = 8;
+ uint32 challenge_id = 6;
+ uint32 day_index = 9;
}
diff --git a/proto/EndCameraSceneLookNotify.proto b/proto/EndCameraSceneLookNotify.proto
index f0377f3c..fc0f1039 100644
--- a/proto/EndCameraSceneLookNotify.proto
+++ b/proto/EndCameraSceneLookNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 217
-// EnetChannelId: 0
-// EnetIsReliable: true
-message EndCameraSceneLookNotify {}
+message EndCameraSceneLookNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 291;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/EndCoinCollectPlaySingleModeReq.proto b/proto/EndCoinCollectPlaySingleModeReq.proto
new file mode 100644
index 00000000..16483bd5
--- /dev/null
+++ b/proto/EndCoinCollectPlaySingleModeReq.proto
@@ -0,0 +1,33 @@
+// 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 EndCoinCollectPlaySingleModeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23963;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 multistage_play_index = 1;
+}
diff --git a/proto/EndCoinCollectPlaySingleModeRsp.proto b/proto/EndCoinCollectPlaySingleModeRsp.proto
new file mode 100644
index 00000000..4669cdf6
--- /dev/null
+++ b/proto/EndCoinCollectPlaySingleModeRsp.proto
@@ -0,0 +1,32 @@
+// 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 EndCoinCollectPlaySingleModeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21015;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+}
diff --git a/proto/EnterChessDungeonReq.proto b/proto/EnterChessDungeonReq.proto
new file mode 100644
index 00000000..8c1fc007
--- /dev/null
+++ b/proto/EnterChessDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 EnterChessDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8855;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 map_id = 14;
+}
diff --git a/proto/EnterChessDungeonRsp.proto b/proto/EnterChessDungeonRsp.proto
new file mode 100644
index 00000000..8432f0eb
--- /dev/null
+++ b/proto/EnterChessDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 EnterChessDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8293;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 map_id = 12;
+}
diff --git a/proto/EnterCustomDungeonReq.proto b/proto/EnterCustomDungeonReq.proto
new file mode 100644
index 00000000..f98b1016
--- /dev/null
+++ b/proto/EnterCustomDungeonReq.proto
@@ -0,0 +1,37 @@
+// 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 "EnterCustomDungeonType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EnterCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6242;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 7;
+ EnterCustomDungeonType enter_type = 8;
+ uint64 dungeon_guid = 4;
+}
diff --git a/proto/EnterCustomDungeonRsp.proto b/proto/EnterCustomDungeonRsp.proto
new file mode 100644
index 00000000..75412206
--- /dev/null
+++ b/proto/EnterCustomDungeonRsp.proto
@@ -0,0 +1,38 @@
+// 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 "CustomDungeon.proto";
+import "EnterCustomDungeonType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EnterCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6241;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map room_cost_map = 3;
+ EnterCustomDungeonType enter_type = 15;
+ CustomDungeon custom_dungeon = 12;
+ int32 retcode = 8;
+}
diff --git a/proto/EnterCustomDungeonType.proto b/proto/EnterCustomDungeonType.proto
new file mode 100644
index 00000000..71bcf855
--- /dev/null
+++ b/proto/EnterCustomDungeonType.proto
@@ -0,0 +1,27 @@
+// 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 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..933ee34f
--- /dev/null
+++ b/proto/EnterFishingReq.proto
@@ -0,0 +1,33 @@
+// 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 EnterFishingReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5842;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 fish_pool_id = 7;
+}
diff --git a/proto/EnterFishingRsp.proto b/proto/EnterFishingRsp.proto
new file mode 100644
index 00000000..d053c325
--- /dev/null
+++ b/proto/EnterFishingRsp.proto
@@ -0,0 +1,33 @@
+// 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 EnterFishingRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5841;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ uint32 fish_pool_id = 9;
+}
diff --git a/proto/EnterFungusFighterPlotDungeonReq.proto b/proto/EnterFungusFighterPlotDungeonReq.proto
new file mode 100644
index 00000000..444d2100
--- /dev/null
+++ b/proto/EnterFungusFighterPlotDungeonReq.proto
@@ -0,0 +1,34 @@
+// 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 EnterFungusFighterPlotDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23768;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 fungus_id_list = 11;
+ uint32 dungeon_id = 15;
+}
diff --git a/proto/EnterFungusFighterPlotDungeonRsp.proto b/proto/EnterFungusFighterPlotDungeonRsp.proto
new file mode 100644
index 00000000..ce1a6637
--- /dev/null
+++ b/proto/EnterFungusFighterPlotDungeonRsp.proto
@@ -0,0 +1,34 @@
+// 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 EnterFungusFighterPlotDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20791;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 fungus_id_list = 14;
+ uint32 dungeon_id = 8;
+ int32 retcode = 4;
+}
diff --git a/proto/EnterFungusFighterTrainingDungeonReq.proto b/proto/EnterFungusFighterTrainingDungeonReq.proto
new file mode 100644
index 00000000..9772cc0c
--- /dev/null
+++ b/proto/EnterFungusFighterTrainingDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 EnterFungusFighterTrainingDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23992;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 12;
+}
diff --git a/proto/EnterFungusFighterTrainingDungeonRsp.proto b/proto/EnterFungusFighterTrainingDungeonRsp.proto
new file mode 100644
index 00000000..4b1a353c
--- /dev/null
+++ b/proto/EnterFungusFighterTrainingDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 EnterFungusFighterTrainingDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22876;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 12;
+ int32 retcode = 7;
+}
diff --git a/proto/EnterIrodoriChessDungeonReq.proto b/proto/EnterIrodoriChessDungeonReq.proto
new file mode 100644
index 00000000..cd903abd
--- /dev/null
+++ b/proto/EnterIrodoriChessDungeonReq.proto
@@ -0,0 +1,34 @@
+// 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 EnterIrodoriChessDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8592;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_hard_map = 12;
+ uint32 level_id = 10;
+}
diff --git a/proto/EnterIrodoriChessDungeonRsp.proto b/proto/EnterIrodoriChessDungeonRsp.proto
new file mode 100644
index 00000000..c655595e
--- /dev/null
+++ b/proto/EnterIrodoriChessDungeonRsp.proto
@@ -0,0 +1,34 @@
+// 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 EnterIrodoriChessDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8238;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_hard_map = 5;
+ uint32 level_id = 15;
+ int32 retcode = 8;
+}
diff --git a/proto/EnterMechanicusDungeonReq.proto b/proto/EnterMechanicusDungeonReq.proto
new file mode 100644
index 00000000..911763e1
--- /dev/null
+++ b/proto/EnterMechanicusDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 EnterMechanicusDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3927;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficult_level = 5;
+}
diff --git a/proto/EnterMechanicusDungeonRsp.proto b/proto/EnterMechanicusDungeonRsp.proto
new file mode 100644
index 00000000..3c7ebc88
--- /dev/null
+++ b/proto/EnterMechanicusDungeonRsp.proto
@@ -0,0 +1,35 @@
+// 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 EnterMechanicusDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3939;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 wrong_uid = 13;
+ uint32 difficult_level = 15;
+ int32 retcode = 12;
+ uint32 dungeon_id = 10;
+}
diff --git a/proto/EnterRogueDiaryDungeonReq.proto b/proto/EnterRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..81abee79
--- /dev/null
+++ b/proto/EnterRogueDiaryDungeonReq.proto
@@ -0,0 +1,36 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EnterRogueDiaryDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8627;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 chosen_card_list = 5;
+ repeated RogueDiaryAvatar chosen_avatar_list = 9;
+}
diff --git a/proto/EnterRogueDiaryDungeonRsp.proto b/proto/EnterRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..0e1ac581
--- /dev/null
+++ b/proto/EnterRogueDiaryDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 EnterRogueDiaryDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8152;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/EnterRoguelikeDungeonNotify.proto b/proto/EnterRoguelikeDungeonNotify.proto
new file mode 100644
index 00000000..5458642f
--- /dev/null
+++ b/proto/EnterRoguelikeDungeonNotify.proto
@@ -0,0 +1,50 @@
+// 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 "RogueCellInfo.proto";
+import "RoguelikeRuneRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EnterRoguelikeDungeonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8657;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ float bonus_resource_prop = 11;
+ uint32 Unk3300_DBDABNIINEL = 4;
+ repeated RoguelikeRuneRecord rune_record_list = 12;
+ uint32 cur_level = 9;
+ uint32 dungeon_id = 5;
+ uint32 revise_monster_level = 1188;
+ bool Unk3300_PKPOKOAAOKF = 1469;
+ repeated uint32 explored_cell_list = 2;
+ repeated uint64 onstage_avatar_guid_list = 15;
+ uint32 stage_id = 6;
+ uint32 Unk3300_KLFDKOCGAHN = 2046;
+ bool Unk3300_GBHHLEDAGAM = 3;
+ uint32 Unk3300_IIIJDDNJEBB = 1;
+ repeated uint64 backstage_avatar_guid_list = 7;
+ uint32 Unk3300_PKDLOJADIPA = 10;
+ map cell_info_map = 14;
+}
diff --git a/proto/EnterSceneDoneReq.proto b/proto/EnterSceneDoneReq.proto
index 91baa5cc..67581a86 100644
--- a/proto/EnterSceneDoneReq.proto
+++ b/proto/EnterSceneDoneReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 277
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EnterSceneDoneReq {
- uint32 enter_scene_token = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 232;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 enter_scene_token = 10;
}
diff --git a/proto/EnterSceneDoneRsp.proto b/proto/EnterSceneDoneRsp.proto
index 491aec9c..22c22bb6 100644
--- a/proto/EnterSceneDoneRsp.proto
+++ b/proto/EnterSceneDoneRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 237
-// EnetChannelId: 0
-// EnetIsReliable: true
message EnterSceneDoneRsp {
- uint32 enter_scene_token = 15;
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 268;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 enter_scene_token = 1;
+ int32 retcode = 13;
}
diff --git a/proto/EnterScenePeerNotify.proto b/proto/EnterScenePeerNotify.proto
index 05e36fe0..94dcf592 100644
--- a/proto/EnterScenePeerNotify.proto
+++ b/proto/EnterScenePeerNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 252
-// EnetChannelId: 0
-// EnetIsReliable: true
message EnterScenePeerNotify {
- uint32 dest_scene_id = 12;
- uint32 enter_scene_token = 11;
- uint32 host_peer_id = 14;
- uint32 peer_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 271;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 enter_scene_token = 7;
+ uint32 host_peer_id = 12;
+ uint32 peer_id = 14;
+ uint32 dest_scene_id = 2;
}
diff --git a/proto/EnterSceneReadyReq.proto b/proto/EnterSceneReadyReq.proto
index aa243399..c28307d6 100644
--- a/proto/EnterSceneReadyReq.proto
+++ b/proto/EnterSceneReadyReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 208
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EnterSceneReadyReq {
- uint32 enter_scene_token = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 262;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 enter_scene_token = 12;
}
diff --git a/proto/EnterSceneReadyRsp.proto b/proto/EnterSceneReadyRsp.proto
index 43ddc613..610f1a6f 100644
--- a/proto/EnterSceneReadyRsp.proto
+++ b/proto/EnterSceneReadyRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 209
-// EnetChannelId: 0
-// EnetIsReliable: true
message EnterSceneReadyRsp {
- uint32 enter_scene_token = 1;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 251;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 enter_scene_token = 11;
+ int32 retcode = 8;
}
diff --git a/proto/EnterSceneWeatherAreaNotify.proto b/proto/EnterSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..61bb8f0a
--- /dev/null
+++ b/proto/EnterSceneWeatherAreaNotify.proto
@@ -0,0 +1,33 @@
+// 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 EnterSceneWeatherAreaNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 282;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 weather_gadget_id = 1;
+}
diff --git a/proto/EnterTransPointRegionNotify.proto b/proto/EnterTransPointRegionNotify.proto
index 71009238..523db811 100644
--- a/proto/EnterTransPointRegionNotify.proto
+++ b/proto/EnterTransPointRegionNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 205
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EnterTransPointRegionNotify {
- uint32 scene_id = 8;
- uint32 point_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 242;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 point_id = 1;
+ uint32 scene_id = 15;
}
diff --git a/proto/EnterTrialAvatarActivityDungeonReq.proto b/proto/EnterTrialAvatarActivityDungeonReq.proto
new file mode 100644
index 00000000..531bc01f
--- /dev/null
+++ b/proto/EnterTrialAvatarActivityDungeonReq.proto
@@ -0,0 +1,35 @@
+// 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 EnterTrialAvatarActivityDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2142;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 enter_point_id = 7;
+ uint32 activity_id = 1;
+ uint32 trial_avatar_index_id = 5;
+}
diff --git a/proto/EnterTrialAvatarActivityDungeonRsp.proto b/proto/EnterTrialAvatarActivityDungeonRsp.proto
new file mode 100644
index 00000000..c1f0db72
--- /dev/null
+++ b/proto/EnterTrialAvatarActivityDungeonRsp.proto
@@ -0,0 +1,34 @@
+// 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 EnterTrialAvatarActivityDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2176;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_avatar_index_id = 2;
+ int32 retcode = 1;
+ uint32 activity_id = 15;
+}
diff --git a/proto/EnterWorldAreaReq.proto b/proto/EnterWorldAreaReq.proto
index 970525f1..f3a55615 100644
--- a/proto/EnterWorldAreaReq.proto
+++ b/proto/EnterWorldAreaReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 250
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EnterWorldAreaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 246;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint32 area_type = 8;
- uint32 area_id = 1;
+ uint32 area_id = 10;
}
diff --git a/proto/EnterWorldAreaRsp.proto b/proto/EnterWorldAreaRsp.proto
index 17acb6b5..d05b9a3c 100644
--- a/proto/EnterWorldAreaRsp.proto
+++ b/proto/EnterWorldAreaRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 243
-// EnetChannelId: 0
-// EnetIsReliable: true
message EnterWorldAreaRsp {
- uint32 area_type = 1;
- uint32 area_id = 7;
- int32 retcode = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 275;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 area_type = 15;
+ int32 retcode = 11;
+ uint32 area_id = 1;
}
diff --git a/proto/EntityAbilityInvokeEntry.proto b/proto/EntityAbilityInvokeEntry.proto
index d423c160..7b98870b 100644
--- a/proto/EntityAbilityInvokeEntry.proto
+++ b/proto/EntityAbilityInvokeEntry.proto
@@ -22,6 +22,6 @@ import "AbilityInvokeEntry.proto";
option java_package = "emu.grasscutter.net.proto";
message EntityAbilityInvokeEntry {
- uint32 entity_id = 8;
- repeated AbilityInvokeEntry invokes = 1;
+ repeated AbilityInvokeEntry invokes = 14;
+ uint32 entity_id = 7;
}
diff --git a/proto/EntityAiKillSelfNotify.proto b/proto/EntityAiKillSelfNotify.proto
new file mode 100644
index 00000000..d0ab8d94
--- /dev/null
+++ b/proto/EntityAiKillSelfNotify.proto
@@ -0,0 +1,33 @@
+// 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 EntityAiKillSelfNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 385;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 7;
+}
diff --git a/proto/EntityAiSyncNotify.proto b/proto/EntityAiSyncNotify.proto
index ae364f09..95e9436b 100644
--- a/proto/EntityAiSyncNotify.proto
+++ b/proto/EntityAiSyncNotify.proto
@@ -21,11 +21,16 @@ import "AiSyncInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 400
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EntityAiSyncNotify {
- repeated uint32 local_avatar_alerted_monster_list = 15;
- repeated AiSyncInfo info_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 304;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated AiSyncInfo info_list = 14;
+ repeated uint32 local_avatar_alerted_monster_list = 13;
}
diff --git a/proto/EntityAuthorityChangeNotify.proto b/proto/EntityAuthorityChangeNotify.proto
new file mode 100644
index 00000000..25235cb2
--- /dev/null
+++ b/proto/EntityAuthorityChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AuthorityChange.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityAuthorityChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 305;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AuthorityChange authority_change_list = 8;
+}
diff --git a/proto/EntityConfigHashEntry.proto b/proto/EntityConfigHashEntry.proto
new file mode 100644
index 00000000..0e5c2cfa
--- /dev/null
+++ b/proto/EntityConfigHashEntry.proto
@@ -0,0 +1,26 @@
+// 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 EntityConfigHashEntry {
+ uint32 entity_id = 4;
+ int32 hash_value = 1;
+ uint32 job_id = 6;
+}
diff --git a/proto/EntityConfigHashNotify.proto b/proto/EntityConfigHashNotify.proto
new file mode 100644
index 00000000..dbd64bce
--- /dev/null
+++ b/proto/EntityConfigHashNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EntityConfigHashEntry.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityConfigHashNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3332;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated EntityConfigHashEntry Unk3300_NAMDIKJILAI = 1;
+ repeated EntityConfigHashEntry Unk3300_BLBEKMDGCMB = 2;
+ repeated EntityConfigHashEntry Unk3300_NLMPHBGMOEN = 9;
+}
diff --git a/proto/EntityFightPropChangeReasonNotify.proto b/proto/EntityFightPropChangeReasonNotify.proto
index 6f47f60a..e94232c3 100644
--- a/proto/EntityFightPropChangeReasonNotify.proto
+++ b/proto/EntityFightPropChangeReasonNotify.proto
@@ -23,15 +23,20 @@ import "PropChangeReason.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1203
-// EnetChannelId: 0
-// EnetIsReliable: true
message EntityFightPropChangeReasonNotify {
- repeated uint32 param_list = 10;
- float prop_delta = 1;
- ChangeHpReason change_hp_reason = 14;
- PropChangeReason reason = 6;
- uint32 entity_id = 5;
- ChangeEnergyReason change_energy_reson = 15;
- uint32 prop_type = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1261;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 prop_type = 5;
+ repeated uint32 param_list = 7;
+ uint32 entity_id = 8;
+ PropChangeReason reason = 2;
+ ChangeHpReason change_hp_reason = 9;
+ ChangeEnergyReason change_energy_reason = 12;
+ float prop_delta = 10;
}
diff --git a/proto/EntityFightPropNotify.proto b/proto/EntityFightPropNotify.proto
new file mode 100644
index 00000000..b0dc5998
--- /dev/null
+++ b/proto/EntityFightPropNotify.proto
@@ -0,0 +1,33 @@
+// 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 EntityFightPropNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1256;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map fight_prop_map = 9;
+ uint32 entity_id = 10;
+}
diff --git a/proto/EntityFightPropUpdateNotify.proto b/proto/EntityFightPropUpdateNotify.proto
index 9d4ebfd6..bc1e29bf 100644
--- a/proto/EntityFightPropUpdateNotify.proto
+++ b/proto/EntityFightPropUpdateNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1235
-// EnetChannelId: 0
-// EnetIsReliable: true
message EntityFightPropUpdateNotify {
- map fight_prop_map = 15;
- uint32 entity_id = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1219;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 15;
+ map fight_prop_map = 7;
}
diff --git a/proto/EntityForceSyncReq.proto b/proto/EntityForceSyncReq.proto
new file mode 100644
index 00000000..060607fc
--- /dev/null
+++ b/proto/EntityForceSyncReq.proto
@@ -0,0 +1,38 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityForceSyncReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 234;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_time = 13;
+ MotionInfo motion_info = 10;
+ uint32 entity_id = 5;
+ uint32 room_id = 11;
+}
diff --git a/proto/EntityForceSyncRsp.proto b/proto/EntityForceSyncRsp.proto
new file mode 100644
index 00000000..f216fa18
--- /dev/null
+++ b/proto/EntityForceSyncRsp.proto
@@ -0,0 +1,37 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityForceSyncRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 295;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 12;
+ uint32 scene_time = 2;
+ MotionInfo fail_motion = 11;
+ int32 retcode = 8;
+}
diff --git a/proto/EntityJumpNotify.proto b/proto/EntityJumpNotify.proto
new file mode 100644
index 00000000..29061e50
--- /dev/null
+++ b/proto/EntityJumpNotify.proto
@@ -0,0 +1,43 @@
+// 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 EntityJumpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 237;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum Type {
+ TYPE_NULL = 0;
+ TYPE_ACTIVE = 1;
+ TYPE_PASSIVE = 2;
+ }
+
+ Vector pos = 6;
+ Type jump_type = 2;
+ uint32 entity_id = 4;
+ Vector rot = 9;
+}
diff --git a/proto/EntityMoveFailInfo.proto b/proto/EntityMoveFailInfo.proto
new file mode 100644
index 00000000..96efcc97
--- /dev/null
+++ b/proto/EntityMoveFailInfo.proto
@@ -0,0 +1,30 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityMoveFailInfo {
+ uint32 scene_time = 8;
+ int32 retcode = 9;
+ uint32 reliable_seq = 2;
+ MotionInfo fail_motion = 4;
+ uint32 entity_id = 5;
+}
diff --git a/proto/EntityMoveRoomNotify.proto b/proto/EntityMoveRoomNotify.proto
new file mode 100644
index 00000000..21926c4e
--- /dev/null
+++ b/proto/EntityMoveRoomNotify.proto
@@ -0,0 +1,34 @@
+// 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 EntityMoveRoomNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3337;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dest_room_id = 1;
+ uint32 entity_id = 4;
+}
diff --git a/proto/EntityPropNotify.proto b/proto/EntityPropNotify.proto
new file mode 100644
index 00000000..cc82b876
--- /dev/null
+++ b/proto/EntityPropNotify.proto
@@ -0,0 +1,35 @@
+// 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 "PropValue.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EntityPropNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1279;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 13;
+ map prop_map = 9;
+}
diff --git a/proto/EntityTagChangeNotify.proto b/proto/EntityTagChangeNotify.proto
new file mode 100644
index 00000000..c029ad3b
--- /dev/null
+++ b/proto/EntityTagChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 EntityTagChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3192;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string tag = 3;
+ uint32 entity_id = 11;
+ bool is_add = 2;
+}
diff --git a/proto/EquipRoguelikeRuneReq.proto b/proto/EquipRoguelikeRuneReq.proto
index ce242fd3..c9f7d324 100644
--- a/proto/EquipRoguelikeRuneReq.proto
+++ b/proto/EquipRoguelikeRuneReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8306
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EquipRoguelikeRuneReq {
- repeated uint32 rune_list = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8357;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 rune_list = 2;
}
diff --git a/proto/EquipRoguelikeRuneRsp.proto b/proto/EquipRoguelikeRuneRsp.proto
index 6a287536..44dda17a 100644
--- a/proto/EquipRoguelikeRuneRsp.proto
+++ b/proto/EquipRoguelikeRuneRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8705
-// EnetChannelId: 0
-// EnetIsReliable: true
message EquipRoguelikeRuneRsp {
- int32 retcode = 14;
- repeated uint32 rune_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8815;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 rune_list = 6;
+ int32 retcode = 5;
}
diff --git a/proto/EventTriggerType.proto b/proto/EventTriggerType.proto
new file mode 100644
index 00000000..c828dbf7
--- /dev/null
+++ b/proto/EventTriggerType.proto
@@ -0,0 +1,25 @@
+// 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 EventTriggerType {
+ EVENT_TRIGGER_TYPE_NONE = 0;
+ EVENT_TRIGGER_TYPE_ENTER_FORCE = 1;
+}
diff --git a/proto/EvtAiSyncCombatThreatInfoNotify.proto b/proto/EvtAiSyncCombatThreatInfoNotify.proto
index 46d29fec..f32ef653 100644
--- a/proto/EvtAiSyncCombatThreatInfoNotify.proto
+++ b/proto/EvtAiSyncCombatThreatInfoNotify.proto
@@ -21,10 +21,15 @@ import "AiThreatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 329
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtAiSyncCombatThreatInfoNotify {
- map combat_threat_info_map = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 320;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map combat_threat_info_map = 11;
}
diff --git a/proto/EvtAiSyncSkillCdNotify.proto b/proto/EvtAiSyncSkillCdNotify.proto
index e4bc2f62..690ccac0 100644
--- a/proto/EvtAiSyncSkillCdNotify.proto
+++ b/proto/EvtAiSyncSkillCdNotify.proto
@@ -21,10 +21,15 @@ import "AiSkillCdInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 376
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtAiSyncSkillCdNotify {
- map ai_cd_map = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 395;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map ai_cd_map = 14;
}
diff --git a/proto/EvtAnimatorParameterInfo.proto b/proto/EvtAnimatorParameterInfo.proto
index b3c2c8b8..0e3dbe0f 100644
--- a/proto/EvtAnimatorParameterInfo.proto
+++ b/proto/EvtAnimatorParameterInfo.proto
@@ -22,8 +22,8 @@ import "AnimatorParameterValueInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message EvtAnimatorParameterInfo {
- uint32 entity_id = 4;
- bool is_server_cache = 5;
+ int32 name_id = 10;
AnimatorParameterValueInfo value = 7;
- int32 name_id = 15;
+ uint32 entity_id = 14;
+ bool is_server_cache = 9;
}
diff --git a/proto/EvtAnimatorParameterNotify.proto b/proto/EvtAnimatorParameterNotify.proto
new file mode 100644
index 00000000..5b75dc4a
--- /dev/null
+++ b/proto/EvtAnimatorParameterNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtAnimatorParameterInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtAnimatorParameterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 330;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 9;
+ EvtAnimatorParameterInfo animator_param_info = 13;
+}
diff --git a/proto/EvtAnimatorStateChangedInfo.proto b/proto/EvtAnimatorStateChangedInfo.proto
new file mode 100644
index 00000000..0a4a3733
--- /dev/null
+++ b/proto/EvtAnimatorStateChangedInfo.proto
@@ -0,0 +1,34 @@
+// 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 EvtAnimatorStateChangedInfo {
+ float fade_duration = 4;
+ uint32 Unk3300_BKBPGIAOBEL = 11;
+ uint32 Unk3300_NMCCLIKMOEN = 1;
+ Vector pos = 5;
+ bool Unk3300_KLMEKMGFGPD = 3;
+ uint32 normalized_time_compact = 6;
+ bool Unk3300_MEOPKEDJCIN = 7;
+ int32 face_angle_compact = 15;
+ uint32 entity_id = 2;
+}
diff --git a/proto/EvtAnimatorStateChangedNotify.proto b/proto/EvtAnimatorStateChangedNotify.proto
new file mode 100644
index 00000000..bf50657e
--- /dev/null
+++ b/proto/EvtAnimatorStateChangedNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtAnimatorStateChangedInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtAnimatorStateChangedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 327;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 14;
+ EvtAnimatorStateChangedInfo evt_animator_state_changed_info = 2;
+}
diff --git a/proto/EvtAvatarEnterFocusNotify.proto b/proto/EvtAvatarEnterFocusNotify.proto
new file mode 100644
index 00000000..079f978f
--- /dev/null
+++ b/proto/EvtAvatarEnterFocusNotify.proto
@@ -0,0 +1,48 @@
+// 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 "ForwardType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtAvatarEnterFocusNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 344;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 14;
+ bool Unk3300_NPBLDGPCDOC = 15;
+ bool Unk3300_IJHHDFDIJMA = 4;
+ bool Unk3300_NALGJBLGNJI = 13;
+ bool Unk3300_OOOPPHEJKDI = 2;
+ bool Unk3300_KMAFBMKJDAK = 9;
+ bool Unk3300_LNLOOKDHJGF = 8;
+ uint32 entity_id = 1;
+ bool Unk3300_GGHCEGJEHND = 11;
+ bool Unk3300_NLNIBJAFADG = 7;
+ Vector focus_forward = 3;
+ bool Unk3300_CDAJJHIPIKH = 12;
+ bool Unk3300_FHHDDNENEDD = 6;
+}
diff --git a/proto/EvtAvatarExitFocusNotify.proto b/proto/EvtAvatarExitFocusNotify.proto
new file mode 100644
index 00000000..d4aab35f
--- /dev/null
+++ b/proto/EvtAvatarExitFocusNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ForwardType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtAvatarExitFocusNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 307;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 7;
+ ForwardType forward_type = 8;
+ Vector finish_forward = 2;
+}
diff --git a/proto/EvtAvatarLockChairReq.proto b/proto/EvtAvatarLockChairReq.proto
index 08c5b6f1..98d35e61 100644
--- a/proto/EvtAvatarLockChairReq.proto
+++ b/proto/EvtAvatarLockChairReq.proto
@@ -21,11 +21,16 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 318
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtAvatarLockChairReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 308;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector position = 2;
uint64 chair_id = 5;
- Vector position = 8;
}
diff --git a/proto/EvtAvatarLockChairRsp.proto b/proto/EvtAvatarLockChairRsp.proto
index 27c1d4af..e39eba49 100644
--- a/proto/EvtAvatarLockChairRsp.proto
+++ b/proto/EvtAvatarLockChairRsp.proto
@@ -21,12 +21,17 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 366
-// EnetChannelId: 0
-// EnetIsReliable: true
message EvtAvatarLockChairRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 309;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
uint64 chair_id = 14;
- uint32 entity_id = 15;
- Vector position = 4;
- int32 retcode = 12;
+ uint32 entity_id = 9;
+ Vector position = 15;
}
diff --git a/proto/EvtAvatarSitDownNotify.proto b/proto/EvtAvatarSitDownNotify.proto
index 02dc8fbf..79dcccfa 100644
--- a/proto/EvtAvatarSitDownNotify.proto
+++ b/proto/EvtAvatarSitDownNotify.proto
@@ -21,12 +21,17 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 324
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtAvatarSitDownNotify {
- Vector position = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 322;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 chair_id = 15;
+ Vector position = 14;
uint32 entity_id = 4;
- uint64 chair_id = 6;
}
diff --git a/proto/EvtAvatarStandUpNotify.proto b/proto/EvtAvatarStandUpNotify.proto
index 980d0a97..1bd882dd 100644
--- a/proto/EvtAvatarStandUpNotify.proto
+++ b/proto/EvtAvatarStandUpNotify.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 356
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtAvatarStandUpNotify {
- uint64 chair_id = 11;
- int32 perform_id = 6;
- int32 direction = 1;
- uint32 entity_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 382;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 Unk3300_EBPACPNPKKJ = 13;
+ uint64 chair_id = 3;
+ uint32 entity_id = 5;
+ int32 Unk3300_IMNGNLLMEFJ = 11;
}
diff --git a/proto/EvtAvatarUpdateFocusNotify.proto b/proto/EvtAvatarUpdateFocusNotify.proto
new file mode 100644
index 00000000..ba919523
--- /dev/null
+++ b/proto/EvtAvatarUpdateFocusNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ForwardType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtAvatarUpdateFocusNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 317;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 4;
+ uint32 entity_id = 3;
+ Vector focus_forward = 6;
+}
diff --git a/proto/EvtBeingHealedNotify.proto b/proto/EvtBeingHealedNotify.proto
new file mode 100644
index 00000000..bee761ef
--- /dev/null
+++ b/proto/EvtBeingHealedNotify.proto
@@ -0,0 +1,35 @@
+// 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 EvtBeingHealedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 366;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ float Unk3300_LCLOFCCIJKH = 2;
+ float Unk3300_ECNBKHHADDJ = 3;
+ uint32 target_id = 4;
+ uint32 source_id = 6;
+}
diff --git a/proto/EvtBeingHitInfo.proto b/proto/EvtBeingHitInfo.proto
index 3bc70dfc..c9e22882 100644
--- a/proto/EvtBeingHitInfo.proto
+++ b/proto/EvtBeingHitInfo.proto
@@ -22,7 +22,7 @@ import "AttackResult.proto";
option java_package = "emu.grasscutter.net.proto";
message EvtBeingHitInfo {
- uint32 peer_id = 6;
- AttackResult attack_result = 7;
- uint32 frame_num = 4;
+ uint32 frame_num = 11;
+ uint32 peer_id = 2;
+ AttackResult attack_result = 6;
}
diff --git a/proto/EvtBeingHitNotify.proto b/proto/EvtBeingHitNotify.proto
new file mode 100644
index 00000000..ac9c65b8
--- /dev/null
+++ b/proto/EvtBeingHitNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtBeingHitInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtBeingHitNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 379;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ EvtBeingHitInfo being_hit_info = 12;
+ ForwardType forward_type = 11;
+}
diff --git a/proto/EvtBeingHitsCombineNotify.proto b/proto/EvtBeingHitsCombineNotify.proto
new file mode 100644
index 00000000..80f2e16d
--- /dev/null
+++ b/proto/EvtBeingHitsCombineNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtBeingHitInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtBeingHitsCombineNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 364;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated EvtBeingHitInfo evt_being_hit_info_list = 9;
+ ForwardType forward_type = 7;
+}
diff --git a/proto/EvtBulletDeactiveNotify.proto b/proto/EvtBulletDeactiveNotify.proto
new file mode 100644
index 00000000..5a00e807
--- /dev/null
+++ b/proto/EvtBulletDeactiveNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ForwardType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtBulletDeactiveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 399;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector disappear_pos = 12;
+ ForwardType forward_type = 11;
+ uint32 entity_id = 1;
+}
diff --git a/proto/EvtBulletHitNotify.proto b/proto/EvtBulletHitNotify.proto
new file mode 100644
index 00000000..109d80e4
--- /dev/null
+++ b/proto/EvtBulletHitNotify.proto
@@ -0,0 +1,45 @@
+// 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 "ForwardType.proto";
+import "HitColliderType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtBulletHitNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 348;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 2;
+ uint32 Unk3300_ELNFDKNGHFP = 4;
+ Vector hit_normal = 9;
+ uint32 Unk3300_KANAJBJHCLG = 6;
+ Vector hit_point = 8;
+ HitColliderType hit_collider_type = 10;
+ uint32 entity_id = 14;
+ uint32 forward_peer = 3;
+ int32 hit_box_index = 1;
+}
diff --git a/proto/EvtBulletMoveNotify.proto b/proto/EvtBulletMoveNotify.proto
new file mode 100644
index 00000000..fdd0c902
--- /dev/null
+++ b/proto/EvtBulletMoveNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ForwardType.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtBulletMoveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 389;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 5;
+ Vector cur_pos = 4;
+ uint32 entity_id = 13;
+}
diff --git a/proto/EvtCombatForceSetPosInfo.proto b/proto/EvtCombatForceSetPosInfo.proto
new file mode 100644
index 00000000..a9c0e315
--- /dev/null
+++ b/proto/EvtCombatForceSetPosInfo.proto
@@ -0,0 +1,29 @@
+// 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 EvtCombatForceSetPosInfo {
+ uint32 Unk3300_LGGMBNLMGHB = 8;
+ uint32 Unk3300_IALIGDPAMFL = 7;
+ Vector target_pos = 1;
+ uint32 entity_id = 10;
+}
diff --git a/proto/EvtCombatSteerMotionInfo.proto b/proto/EvtCombatSteerMotionInfo.proto
index 8aa11047..c918b3f0 100644
--- a/proto/EvtCombatSteerMotionInfo.proto
+++ b/proto/EvtCombatSteerMotionInfo.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message EvtCombatSteerMotionInfo {
- Vector pos = 12;
- Vector velocity = 10;
- uint32 entity_id = 4;
- Vector face_dir = 1;
+ Vector face_dir = 5;
+ Vector pos = 1;
+ Vector velocity = 8;
+ uint32 entity_id = 11;
}
diff --git a/proto/EvtCompensatePosDiffInfo.proto b/proto/EvtCompensatePosDiffInfo.proto
new file mode 100644
index 00000000..00fff92a
--- /dev/null
+++ b/proto/EvtCompensatePosDiffInfo.proto
@@ -0,0 +1,30 @@
+// 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 EvtCompensatePosDiffInfo {
+ uint32 entity_id = 12;
+ uint32 normalized_time_compact = 5;
+ uint32 cur_hash = 7;
+ int32 face_angle_compact = 11;
+ Vector cur_pos = 6;
+}
diff --git a/proto/EvtCostStaminaNotify.proto b/proto/EvtCostStaminaNotify.proto
new file mode 100644
index 00000000..f577e0df
--- /dev/null
+++ b/proto/EvtCostStaminaNotify.proto
@@ -0,0 +1,34 @@
+// 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 EvtCostStaminaNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 378;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ float cost_stamina = 4;
+ uint32 skill_id = 1;
+}
diff --git a/proto/EvtCreateGadgetNotify.proto b/proto/EvtCreateGadgetNotify.proto
index 90b009ec..1ad2a995 100644
--- a/proto/EvtCreateGadgetNotify.proto
+++ b/proto/EvtCreateGadgetNotify.proto
@@ -22,28 +22,33 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 307
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtCreateGadgetNotify {
- bool is_async_load = 8;
- uint32 camp_type = 5;
- bool sight_group_with_owner = 10;
- repeated uint32 target_entity_id_list = 889;
- ForwardType forward_type = 12;
- uint32 entity_id = 2;
- uint32 target_entity_id = 3;
- uint32 camp_id = 15;
- uint64 guid = 6;
- Vector init_euler_angles = 13;
- uint32 target_lock_point_index = 11;
- repeated uint32 target_lock_point_index_list = 1920;
- Vector init_pos = 4;
- uint32 owner_entity_id = 9;
- uint32 room_id = 7;
- bool is_peer_id_from_player = 25;
- uint32 prop_owner_entity_id = 1;
- bool is_true_life_time_by_owner = 379;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 400;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 target_entity_id_list = 1652;
+ Vector init_pos = 9;
+ bool Unk3300_DLBIJFOONBA = 15;
+ uint32 owner_entity_id = 2;
+ ForwardType forward_type = 3;
+ repeated uint32 target_lock_point_index_list = 414;
+ uint32 prop_owner_entity_id = 6;
+ uint32 target_lock_point_index = 4;
+ bool Unk3300_OJHDJGAFDNN = 1433;
+ uint32 camp_id = 10;
+ bool Unk3300_EJNBIGLGMII = 8;
+ Vector init_euler_angles = 12;
+ bool is_peer_id_from_player = 609;
+ uint32 room_id = 5;
uint32 config_id = 14;
+ uint32 camp_type = 13;
+ uint64 guid = 7;
+ uint32 entity_id = 1;
+ uint32 target_entity_id = 11;
}
diff --git a/proto/EvtDestroyGadgetNotify.proto b/proto/EvtDestroyGadgetNotify.proto
index 07d73e71..dbe8eee3 100644
--- a/proto/EvtDestroyGadgetNotify.proto
+++ b/proto/EvtDestroyGadgetNotify.proto
@@ -21,11 +21,16 @@ import "ForwardType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 321
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtDestroyGadgetNotify {
- ForwardType forward_type = 5;
- uint32 entity_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 343;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 8;
+ ForwardType forward_type = 10;
}
diff --git a/proto/EvtDestroyServerGadgetNotify.proto b/proto/EvtDestroyServerGadgetNotify.proto
new file mode 100644
index 00000000..15afc7fc
--- /dev/null
+++ b/proto/EvtDestroyServerGadgetNotify.proto
@@ -0,0 +1,33 @@
+// 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 EvtDestroyServerGadgetNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 387;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 3;
+}
diff --git a/proto/EvtDoSkillSuccNotify.proto b/proto/EvtDoSkillSuccNotify.proto
index 2c63c011..f99085a4 100644
--- a/proto/EvtDoSkillSuccNotify.proto
+++ b/proto/EvtDoSkillSuccNotify.proto
@@ -22,13 +22,18 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 335
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtDoSkillSuccNotify {
- uint32 caster_id = 13;
- ForwardType forward_type = 10;
- Vector forward = 15;
- uint32 skill_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 319;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 caster_id = 15;
+ ForwardType forward_type = 9;
+ uint32 skill_id = 14;
+ Vector forward = 13;
}
diff --git a/proto/EvtEntityRenderersChangedNotify.proto b/proto/EvtEntityRenderersChangedNotify.proto
index 34eb23e5..03984204 100644
--- a/proto/EvtEntityRenderersChangedNotify.proto
+++ b/proto/EvtEntityRenderersChangedNotify.proto
@@ -22,13 +22,18 @@ import "ForwardType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 343
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message EvtEntityRenderersChangedNotify {
- ForwardType forward_type = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 375;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ForwardType forward_type = 5;
+ uint32 entity_id = 1;
bool is_server_cache = 3;
- EntityRendererChangedInfo renderer_changed_info = 5;
- uint32 entity_id = 15;
+ EntityRendererChangedInfo renderer_changed_info = 15;
}
diff --git a/proto/EvtEntityStartDieEndNotify.proto b/proto/EvtEntityStartDieEndNotify.proto
new file mode 100644
index 00000000..b866cdd7
--- /dev/null
+++ b/proto/EvtEntityStartDieEndNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtEntityStartDieEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 325;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool immediately = 9;
+ ForwardType forward_type = 2;
+ uint32 die_state_flag = 4;
+ uint32 entity_id = 6;
+}
diff --git a/proto/EvtFaceToDirInfo.proto b/proto/EvtFaceToDirInfo.proto
new file mode 100644
index 00000000..12ec0726
--- /dev/null
+++ b/proto/EvtFaceToDirInfo.proto
@@ -0,0 +1,27 @@
+// 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 EvtFaceToDirInfo {
+ Vector face_dir = 2;
+ uint32 entity_id = 5;
+}
diff --git a/proto/EvtFaceToDirNotify.proto b/proto/EvtFaceToDirNotify.proto
new file mode 100644
index 00000000..20d2666d
--- /dev/null
+++ b/proto/EvtFaceToDirNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtFaceToDirInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtFaceToDirNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 347;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ EvtFaceToDirInfo evt_face_to_dir_info = 2;
+ ForwardType forward_type = 9;
+}
diff --git a/proto/EvtFaceToEntityNotify.proto b/proto/EvtFaceToEntityNotify.proto
new file mode 100644
index 00000000..65589007
--- /dev/null
+++ b/proto/EvtFaceToEntityNotify.proto
@@ -0,0 +1,37 @@
+// 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 "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtFaceToEntityNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 361;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 10;
+ ForwardType forward_type = 8;
+ uint32 face_entity_id = 4;
+}
diff --git a/proto/EvtFixedRushMove.proto b/proto/EvtFixedRushMove.proto
new file mode 100644
index 00000000..62c49c18
--- /dev/null
+++ b/proto/EvtFixedRushMove.proto
@@ -0,0 +1,32 @@
+// 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 EvtFixedRushMove {
+ uint32 entity_id = 13;
+ string override_collider = 7;
+ Vector target_pos = 14;
+ bool Unk3300_BGOLPLHGGPO = 8;
+ repeated uint32 animator_state_id_list = 9;
+ bool Unk3300_BKEELCGOLLN = 12;
+ float speed = 10;
+}
diff --git a/proto/EvtGrapplingHookMove.proto b/proto/EvtGrapplingHookMove.proto
new file mode 100644
index 00000000..29b4c36d
--- /dev/null
+++ b/proto/EvtGrapplingHookMove.proto
@@ -0,0 +1,34 @@
+// 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 EvtGrapplingHookMove {
+ Vector target_pos = 4;
+ uint32 entity_id = 10;
+ float speed = 2;
+ float Unk3300_NDMHKNFMPCJ = 5;
+ repeated uint32 animator_state_id_list = 11;
+ bool Unk3300_BGOLPLHGGPO = 1;
+ float Unk3300_MJAOALPCJML = 9;
+ bool Unk3300_BKEELCGOLLN = 15;
+ string override_collider = 3;
+}
diff --git a/proto/EvtHittingOtherInfo.proto b/proto/EvtHittingOtherInfo.proto
new file mode 100644
index 00000000..a6caacd1
--- /dev/null
+++ b/proto/EvtHittingOtherInfo.proto
@@ -0,0 +1,27 @@
+// 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 "AttackResult.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtHittingOtherInfo {
+ uint32 peer_id = 2;
+ AttackResult attack_result = 7;
+}
diff --git a/proto/EvtLightCoreMove.proto b/proto/EvtLightCoreMove.proto
new file mode 100644
index 00000000..046ccf51
--- /dev/null
+++ b/proto/EvtLightCoreMove.proto
@@ -0,0 +1,30 @@
+// 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 EvtLightCoreMove {
+ float speed = 4;
+ uint32 entity_id = 12;
+ float Unk3300_BLNIJMMNAGH = 1;
+ float Unk3300_NHPEDPJMCOL = 5;
+ Vector target_pos = 11;
+}
diff --git a/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto b/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
new file mode 100644
index 00000000..3fda2a11
--- /dev/null
+++ b/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
@@ -0,0 +1,32 @@
+// 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 EvtLocalGadgetOwnerLeaveSceneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 352;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 1;
+}
diff --git a/proto/EvtMonsterDoBlink.proto b/proto/EvtMonsterDoBlink.proto
new file mode 100644
index 00000000..28505e01
--- /dev/null
+++ b/proto/EvtMonsterDoBlink.proto
@@ -0,0 +1,28 @@
+// 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 EvtMonsterDoBlink {
+ uint32 entity_id = 14;
+ Vector target_pos = 9;
+ Vector target_rot = 5;
+}
diff --git a/proto/EvtMotionInfoDuringSteerAttack.proto b/proto/EvtMotionInfoDuringSteerAttack.proto
index 95d97813..59a9025f 100644
--- a/proto/EvtMotionInfoDuringSteerAttack.proto
+++ b/proto/EvtMotionInfoDuringSteerAttack.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message EvtMotionInfoDuringSteerAttack {
- Vector face_dir = 4;
- Vector velocity = 3;
- Vector pos = 1;
- uint32 entity_id = 6;
+ 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..d0b60042
--- /dev/null
+++ b/proto/EvtRushMoveInfo.proto
@@ -0,0 +1,33 @@
+// 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 EvtRushMoveInfo {
+ Vector velocity = 8;
+ int32 state_name_hash = 4;
+ uint32 entity_id = 12;
+ Vector pos = 7;
+ int32 face_angle_compact = 1;
+ float time_range = 13;
+ Vector Unk3300_NEBMDDGPBON = 15;
+ Vector Unk3300_FGAPBJIPJFG = 5;
+}
diff --git a/proto/EvtRushMoveNotify.proto b/proto/EvtRushMoveNotify.proto
new file mode 100644
index 00000000..59b3d65e
--- /dev/null
+++ b/proto/EvtRushMoveNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtRushMoveInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtRushMoveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 339;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ EvtRushMoveInfo evt_rush_move_info = 1;
+ ForwardType forward_type = 10;
+}
diff --git a/proto/EvtSetAttackTargetInfo.proto b/proto/EvtSetAttackTargetInfo.proto
new file mode 100644
index 00000000..e2f40c63
--- /dev/null
+++ b/proto/EvtSetAttackTargetInfo.proto
@@ -0,0 +1,26 @@
+// 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 EvtSetAttackTargetInfo {
+ uint32 attack_target_id = 6;
+ uint32 select_point_index = 3;
+ uint32 entity_id = 2;
+}
diff --git a/proto/EvtSetAttackTargetNotify.proto b/proto/EvtSetAttackTargetNotify.proto
new file mode 100644
index 00000000..b6daca05
--- /dev/null
+++ b/proto/EvtSetAttackTargetNotify.proto
@@ -0,0 +1,37 @@
+// 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 "EvtSetAttackTargetInfo.proto";
+import "ForwardType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message EvtSetAttackTargetNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 357;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ EvtSetAttackTargetInfo evt_set_attack_target_info = 13;
+ ForwardType forward_type = 6;
+}
diff --git a/proto/EvtSyncEntityPositionInfo.proto b/proto/EvtSyncEntityPositionInfo.proto
new file mode 100644
index 00000000..c6ac96da
--- /dev/null
+++ b/proto/EvtSyncEntityPositionInfo.proto
@@ -0,0 +1,30 @@
+// 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 EvtSyncEntityPositionInfo {
+ uint32 state_hash = 10;
+ int32 face_angle_compact = 4;
+ Vector pos = 14;
+ uint32 entity_id = 1;
+ uint32 normalized_time_compact = 13;
+}
diff --git a/proto/EvtSyncSkillAnchorPosition.proto b/proto/EvtSyncSkillAnchorPosition.proto
new file mode 100644
index 00000000..7306a4d7
--- /dev/null
+++ b/proto/EvtSyncSkillAnchorPosition.proto
@@ -0,0 +1,27 @@
+// 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 EvtSyncSkillAnchorPosition {
+ Vector skill_anchor_position = 12;
+ uint32 entity_id = 7;
+}
diff --git a/proto/EvtSyncTransform.proto b/proto/EvtSyncTransform.proto
new file mode 100644
index 00000000..609439c2
--- /dev/null
+++ b/proto/EvtSyncTransform.proto
@@ -0,0 +1,28 @@
+// 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 EvtSyncTransform {
+ Vector Unk3300_JAMKLNFBBAD = 15;
+ uint32 entity_id = 13;
+ Vector Unk3300_PMHFLCOPFBC = 9;
+}
diff --git a/proto/ExclusiveRuleInfo.proto b/proto/ExclusiveRuleInfo.proto
new file mode 100644
index 00000000..5f58aa79
--- /dev/null
+++ b/proto/ExclusiveRuleInfo.proto
@@ -0,0 +1,25 @@
+// 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 ExclusiveRuleInfo {
+ uint32 rule_type = 2;
+ repeated uint32 object_id_list = 15;
+}
diff --git a/proto/ExclusiveRuleNotify.proto b/proto/ExclusiveRuleNotify.proto
new file mode 100644
index 00000000..7ca09db4
--- /dev/null
+++ b/proto/ExclusiveRuleNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ExclusiveRuleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ExclusiveRuleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 118;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ExclusiveRuleInfo rule_info_list = 15;
+}
diff --git a/proto/ExecuteGadgetLuaReq.proto b/proto/ExecuteGadgetLuaReq.proto
new file mode 100644
index 00000000..d00f92ea
--- /dev/null
+++ b/proto/ExecuteGadgetLuaReq.proto
@@ -0,0 +1,36 @@
+// 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 ExecuteGadgetLuaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 235;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 param3 = 1;
+ int32 param2 = 14;
+ uint32 source_entity_id = 15;
+ int32 param1 = 13;
+}
diff --git a/proto/ExecuteGadgetLuaRsp.proto b/proto/ExecuteGadgetLuaRsp.proto
new file mode 100644
index 00000000..0803d0a6
--- /dev/null
+++ b/proto/ExecuteGadgetLuaRsp.proto
@@ -0,0 +1,32 @@
+// 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 ExecuteGadgetLuaRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 240;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/ExecuteGroupTriggerReq.proto b/proto/ExecuteGroupTriggerReq.proto
new file mode 100644
index 00000000..bf9c65a0
--- /dev/null
+++ b/proto/ExecuteGroupTriggerReq.proto
@@ -0,0 +1,38 @@
+// 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 ExecuteGroupTriggerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 263;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 source_entity_id = 7;
+ int32 param3 = 6;
+ int32 param1 = 9;
+ string source_name = 8;
+ uint32 target_entity_id = 15;
+ int32 param2 = 4;
+}
diff --git a/proto/ExecuteGroupTriggerRsp.proto b/proto/ExecuteGroupTriggerRsp.proto
new file mode 100644
index 00000000..7afc4884
--- /dev/null
+++ b/proto/ExecuteGroupTriggerRsp.proto
@@ -0,0 +1,32 @@
+// 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 ExecuteGroupTriggerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 204;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/ExitCustomDungeonTryReq.proto b/proto/ExitCustomDungeonTryReq.proto
new file mode 100644
index 00000000..a84f2bfe
--- /dev/null
+++ b/proto/ExitCustomDungeonTryReq.proto
@@ -0,0 +1,31 @@
+// 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 ExitCustomDungeonTryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6243;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ExitCustomDungeonTryRsp.proto b/proto/ExitCustomDungeonTryRsp.proto
new file mode 100644
index 00000000..a5725d8d
--- /dev/null
+++ b/proto/ExitCustomDungeonTryRsp.proto
@@ -0,0 +1,32 @@
+// 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 ExitCustomDungeonTryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6209;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/ExitFishingReq.proto b/proto/ExitFishingReq.proto
new file mode 100644
index 00000000..aa4c4125
--- /dev/null
+++ b/proto/ExitFishingReq.proto
@@ -0,0 +1,31 @@
+// 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 ExitFishingReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5802;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ExitFishingRsp.proto b/proto/ExitFishingRsp.proto
new file mode 100644
index 00000000..945cb9bc
--- /dev/null
+++ b/proto/ExitFishingRsp.proto
@@ -0,0 +1,32 @@
+// 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 ExitFishingRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5843;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/ExitSceneWeatherAreaNotify.proto b/proto/ExitSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..c060f585
--- /dev/null
+++ b/proto/ExitSceneWeatherAreaNotify.proto
@@ -0,0 +1,33 @@
+// 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 ExitSceneWeatherAreaNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 211;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 weather_gadget_id = 13;
+}
diff --git a/proto/ExitTransPointRegionNotify.proto b/proto/ExitTransPointRegionNotify.proto
index 0201af4f..9c8dc61f 100644
--- a/proto/ExitTransPointRegionNotify.proto
+++ b/proto/ExitTransPointRegionNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 282
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ExitTransPointRegionNotify {
- uint32 point_id = 1;
- uint32 scene_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 290;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 point_id = 4;
+ uint32 scene_id = 1;
}
diff --git a/proto/ExpeditionActivityDetailInfo.proto b/proto/ExpeditionActivityDetailInfo.proto
index 9199e9dc..79dad7f8 100644
--- a/proto/ExpeditionActivityDetailInfo.proto
+++ b/proto/ExpeditionActivityDetailInfo.proto
@@ -23,10 +23,10 @@ import "ExpeditionPathInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ExpeditionActivityDetailInfo {
- uint32 cur_challenge_id = 5;
- repeated ExpeditionChallengeInfo challenge_info_list = 10;
- uint32 expedition_count = 2;
- uint32 content_close_time = 4;
- bool is_content_closed = 8;
- repeated ExpeditionPathInfo path_info_list = 15;
+ uint32 Unk3300_GJLCAJOFCKL = 9;
+ repeated ExpeditionChallengeInfo challenge_info_list = 15;
+ uint32 Unk3300_MNPBCNEDKAJ = 3;
+ repeated ExpeditionPathInfo path_info_list = 11;
+ bool is_content_closed = 4;
+ uint32 content_close_time = 6;
}
diff --git a/proto/ExpeditionAssistInfo.proto b/proto/ExpeditionAssistInfo.proto
new file mode 100644
index 00000000..d2bf4ac2
--- /dev/null
+++ b/proto/ExpeditionAssistInfo.proto
@@ -0,0 +1,28 @@
+// 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 ExpeditionAssistInfo {
+ string target_nick_name = 1;
+ uint32 costume_id = 7;
+ uint32 assist_time = 12;
+ uint32 avatar_id = 5;
+ string online_id = 13;
+}
diff --git a/proto/ExpeditionChallengeEnterRegionNotify.proto b/proto/ExpeditionChallengeEnterRegionNotify.proto
new file mode 100644
index 00000000..30a443e1
--- /dev/null
+++ b/proto/ExpeditionChallengeEnterRegionNotify.proto
@@ -0,0 +1,33 @@
+// 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 ExpeditionChallengeEnterRegionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2027;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_puzzle_finished = 1;
+ uint32 id = 10;
+}
diff --git a/proto/ExpeditionChallengeFinishedNotify.proto b/proto/ExpeditionChallengeFinishedNotify.proto
new file mode 100644
index 00000000..08dff711
--- /dev/null
+++ b/proto/ExpeditionChallengeFinishedNotify.proto
@@ -0,0 +1,32 @@
+// 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 ExpeditionChallengeFinishedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2074;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 id = 11;
+}
diff --git a/proto/ExpeditionChallengeInfo.proto b/proto/ExpeditionChallengeInfo.proto
index 5456a2b6..7765a5e8 100644
--- a/proto/ExpeditionChallengeInfo.proto
+++ b/proto/ExpeditionChallengeInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ExpeditionChallengeInfo {
- bool is_finished = 5;
- uint32 id = 11;
- uint32 open_time = 9;
+ uint32 id = 5;
+ bool is_finished = 2;
+ uint32 open_time = 12;
}
diff --git a/proto/ExpeditionPathInfo.proto b/proto/ExpeditionPathInfo.proto
index d63f7337..f0cc3949 100644
--- a/proto/ExpeditionPathInfo.proto
+++ b/proto/ExpeditionPathInfo.proto
@@ -22,14 +22,14 @@ import "ExpeditionState.proto";
option java_package = "emu.grasscutter.net.proto";
message ExpeditionPathInfo {
- uint32 mark_id = 12;
- uint32 start_time = 9;
- uint32 assist_avatar_id = 7;
- float bonus_probability = 4;
- ExpeditionState state = 15;
- repeated uint32 avatar_id_list = 2;
- uint32 assist_costume_id = 5;
- uint32 path_id = 8;
- uint32 challenge_id = 11;
- uint32 assist_uid = 10;
+ uint32 start_time = 10;
+ float bonus_probability = 12;
+ repeated uint32 avatar_id_list = 8;
+ uint32 path_id = 11;
+ uint32 Unk3300_AIEJKADFLKG = 6;
+ uint32 Unk3300_LKAHOEBNBBI = 14;
+ uint32 Unk3300_AFGPGIIGAKA = 7;
+ uint32 Unk3300_LFIFDGAGFDC = 5;
+ ExpeditionState state = 13;
+ uint32 challenge_id = 9;
}
diff --git a/proto/ExpeditionRecallReq.proto b/proto/ExpeditionRecallReq.proto
new file mode 100644
index 00000000..dcc81670
--- /dev/null
+++ b/proto/ExpeditionRecallReq.proto
@@ -0,0 +1,33 @@
+// 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 ExpeditionRecallReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2098;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 path_id = 12;
+}
diff --git a/proto/ExpeditionRecallRsp.proto b/proto/ExpeditionRecallRsp.proto
new file mode 100644
index 00000000..3b66ee78
--- /dev/null
+++ b/proto/ExpeditionRecallRsp.proto
@@ -0,0 +1,33 @@
+// 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 ExpeditionRecallRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2066;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 path_id = 2;
+ int32 retcode = 4;
+}
diff --git a/proto/ExpeditionStartReq.proto b/proto/ExpeditionStartReq.proto
new file mode 100644
index 00000000..1d5e7ed1
--- /dev/null
+++ b/proto/ExpeditionStartReq.proto
@@ -0,0 +1,36 @@
+// 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 ExpeditionStartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2016;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_AIEJKADFLKG = 10;
+ uint32 path_id = 3;
+ uint32 Unk3300_AFGPGIIGAKA = 14;
+ repeated uint32 avatar_id_list = 7;
+}
diff --git a/proto/ExpeditionStartRsp.proto b/proto/ExpeditionStartRsp.proto
new file mode 100644
index 00000000..e97c52d8
--- /dev/null
+++ b/proto/ExpeditionStartRsp.proto
@@ -0,0 +1,36 @@
+// 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 ExpeditionStartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2182;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_AIEJKADFLKG = 5;
+ uint32 path_id = 3;
+ int32 retcode = 6;
+ repeated uint32 avatar_id_list = 4;
+ uint32 Unk3300_AFGPGIIGAKA = 10;
+}
diff --git a/proto/ExpeditionTakeRewardReq.proto b/proto/ExpeditionTakeRewardReq.proto
new file mode 100644
index 00000000..a6ebffe8
--- /dev/null
+++ b/proto/ExpeditionTakeRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 ExpeditionTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2015;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 path_id = 5;
+}
diff --git a/proto/ExpeditionTakeRewardRsp.proto b/proto/ExpeditionTakeRewardRsp.proto
new file mode 100644
index 00000000..88ca15a9
--- /dev/null
+++ b/proto/ExpeditionTakeRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 ExpeditionTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2197;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 reward_level = 13;
+ uint32 path_id = 12;
+ bool is_bonus = 10;
+}
diff --git a/proto/FallPlayerBrief.proto b/proto/FallPlayerBrief.proto
new file mode 100644
index 00000000..f206d40b
--- /dev/null
+++ b/proto/FallPlayerBrief.proto
@@ -0,0 +1,26 @@
+// 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 FallPlayerBrief {
+ bool is_ground = 7;
+ uint32 uid = 2;
+ uint32 score = 12;
+}
diff --git a/proto/FallPlayerInfo.proto b/proto/FallPlayerInfo.proto
new file mode 100644
index 00000000..664135ec
--- /dev/null
+++ b/proto/FallPlayerInfo.proto
@@ -0,0 +1,28 @@
+// 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 FallPlayerInfo {
+ uint32 cur_score = 3;
+ bool is_ground = 11;
+ map ball_catch_count_map = 1;
+ uint32 uid = 5;
+ uint32 time_cost = 8;
+}
diff --git a/proto/FallSettleInfo.proto b/proto/FallSettleInfo.proto
new file mode 100644
index 00000000..a4c5cacb
--- /dev/null
+++ b/proto/FallSettleInfo.proto
@@ -0,0 +1,31 @@
+// 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 "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FallSettleInfo {
+ uint32 final_score = 14;
+ OnlinePlayerInfo player_info = 9;
+ map flower_ring_catch_count_map = 13;
+ uint32 uid = 2;
+ uint32 catch_count = 1;
+ uint32 remain_time = 6;
+}
diff --git a/proto/FindHilichurlAcceptQuestNotify.proto b/proto/FindHilichurlAcceptQuestNotify.proto
index cca29f61..5fc2659f 100644
--- a/proto/FindHilichurlAcceptQuestNotify.proto
+++ b/proto/FindHilichurlAcceptQuestNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8659
-// EnetChannelId: 0
-// EnetIsReliable: true
-message FindHilichurlAcceptQuestNotify {}
+message FindHilichurlAcceptQuestNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8893;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/FindHilichurlDayContentInfo.proto b/proto/FindHilichurlDayContentInfo.proto
index 71c14870..13260559 100644
--- a/proto/FindHilichurlDayContentInfo.proto
+++ b/proto/FindHilichurlDayContentInfo.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FindHilichurlDayContentInfo {
- uint32 start_time = 1;
+ uint32 start_time = 13;
}
diff --git a/proto/FindHilichurlDetailInfo.proto b/proto/FindHilichurlDetailInfo.proto
index 84b564a7..b3677d8c 100644
--- a/proto/FindHilichurlDetailInfo.proto
+++ b/proto/FindHilichurlDetailInfo.proto
@@ -22,11 +22,11 @@ import "FindHilichurlDayContentInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message FindHilichurlDetailInfo {
- repeated FindHilichurlDayContentInfo day_content_info_list = 1;
- uint32 min_open_player_level = 12;
- bool is_end_quest_accept = 7;
- uint32 content_close_time = 6;
- bool is_content_closed = 9;
- uint32 player_day_index = 4;
- uint32 day_index = 15;
+ uint32 day_index = 8;
+ bool is_content_closed = 12;
+ uint32 min_open_player_level = 2;
+ repeated FindHilichurlDayContentInfo day_content_info_list = 4;
+ uint32 content_close_time = 7;
+ bool is_end_quest_accept = 5;
+ uint32 player_day_index = 14;
}
diff --git a/proto/FindHilichurlFinishSecondQuestNotify.proto b/proto/FindHilichurlFinishSecondQuestNotify.proto
index 1423e24c..63ab5965 100644
--- a/proto/FindHilichurlFinishSecondQuestNotify.proto
+++ b/proto/FindHilichurlFinishSecondQuestNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8901
-// EnetChannelId: 0
-// EnetIsReliable: true
message FindHilichurlFinishSecondQuestNotify {
- uint32 day_index = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8644;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 day_index = 4;
}
diff --git a/proto/FinishDeliveryNotify.proto b/proto/FinishDeliveryNotify.proto
new file mode 100644
index 00000000..da2799b3
--- /dev/null
+++ b/proto/FinishDeliveryNotify.proto
@@ -0,0 +1,34 @@
+// 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 FinishDeliveryNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2030;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 finished_quest_index = 12;
+ uint32 day_index = 7;
+ uint32 schedule_id = 6;
+}
diff --git a/proto/FinishLanternProjectionReq.proto b/proto/FinishLanternProjectionReq.proto
new file mode 100644
index 00000000..02b9c32f
--- /dev/null
+++ b/proto/FinishLanternProjectionReq.proto
@@ -0,0 +1,34 @@
+// 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 FinishLanternProjectionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8932;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 finish_time = 8;
+ uint32 level_id = 15;
+}
diff --git a/proto/FinishLanternProjectionRsp.proto b/proto/FinishLanternProjectionRsp.proto
new file mode 100644
index 00000000..d3d0fd90
--- /dev/null
+++ b/proto/FinishLanternProjectionRsp.proto
@@ -0,0 +1,32 @@
+// 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 FinishLanternProjectionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8971;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+}
diff --git a/proto/FinishMainCoopReq.proto b/proto/FinishMainCoopReq.proto
new file mode 100644
index 00000000..402265b6
--- /dev/null
+++ b/proto/FinishMainCoopReq.proto
@@ -0,0 +1,34 @@
+// 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 FinishMainCoopReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1977;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 id = 14;
+ uint32 ending_save_point_id = 3;
+}
diff --git a/proto/FinishMainCoopRsp.proto b/proto/FinishMainCoopRsp.proto
new file mode 100644
index 00000000..6d16d734
--- /dev/null
+++ b/proto/FinishMainCoopRsp.proto
@@ -0,0 +1,34 @@
+// 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 FinishMainCoopRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1981;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 ending_save_point_id = 4;
+ int32 retcode = 1;
+ uint32 id = 13;
+}
diff --git a/proto/FinishedParentQuestNotify.proto b/proto/FinishedParentQuestNotify.proto
index 775a65e5..6333b56c 100644
--- a/proto/FinishedParentQuestNotify.proto
+++ b/proto/FinishedParentQuestNotify.proto
@@ -21,9 +21,14 @@ import "ParentQuest.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 435
-// EnetChannelId: 0
-// EnetIsReliable: true
message FinishedParentQuestNotify {
- repeated ParentQuest parent_quest_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 419;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ParentQuest parent_quest_list = 13;
}
diff --git a/proto/FinishedParentQuestUpdateNotify.proto b/proto/FinishedParentQuestUpdateNotify.proto
index 276a8eb5..66176f1f 100644
--- a/proto/FinishedParentQuestUpdateNotify.proto
+++ b/proto/FinishedParentQuestUpdateNotify.proto
@@ -21,9 +21,14 @@ import "ParentQuest.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 407
-// EnetChannelId: 0
-// EnetIsReliable: true
message FinishedParentQuestUpdateNotify {
- repeated ParentQuest parent_quest_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 500;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ParentQuest parent_quest_list = 3;
}
diff --git a/proto/FinishedTalkIdListNotify.proto b/proto/FinishedTalkIdListNotify.proto
new file mode 100644
index 00000000..310b1eb6
--- /dev/null
+++ b/proto/FinishedTalkIdListNotify.proto
@@ -0,0 +1,32 @@
+// 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 FinishedTalkIdListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 578;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 finished_talk_id_list = 13;
+}
diff --git a/proto/FireWorkRsp.proto b/proto/FireWorkRsp.proto
new file mode 100644
index 00000000..750c9bd9
--- /dev/null
+++ b/proto/FireWorkRsp.proto
@@ -0,0 +1,11 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5918
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FireWorkRsp {
+ int32 retcode = 10;
+}
diff --git a/proto/FireworksLaunchDataNotify.proto b/proto/FireworksLaunchDataNotify.proto
new file mode 100644
index 00000000..228033e9
--- /dev/null
+++ b/proto/FireworksLaunchDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FireworksLaunchSchemeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksLaunchDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5917;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FireworksLaunchSchemeData scheme_data_list = 8;
+ uint32 last_use_scheme_id = 15;
+}
diff --git a/proto/FireworksLaunchParam.proto b/proto/FireworksLaunchParam.proto
new file mode 100644
index 00000000..514d6722
--- /dev/null
+++ b/proto/FireworksLaunchParam.proto
@@ -0,0 +1,27 @@
+// 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 "FireworksLaunchParamType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksLaunchParam {
+ FireworksLaunchParamType type = 4;
+ int32 value = 2;
+}
diff --git a/proto/FireworksLaunchParamType.proto b/proto/FireworksLaunchParamType.proto
new file mode 100644
index 00000000..02f3d635
--- /dev/null
+++ b/proto/FireworksLaunchParamType.proto
@@ -0,0 +1,29 @@
+// 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 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..78c709aa
--- /dev/null
+++ b/proto/FireworksLaunchSchemeData.proto
@@ -0,0 +1,28 @@
+// 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 "FireworksLaunchParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksLaunchSchemeData {
+ repeated FireworksLaunchParam launch_param_list = 8;
+ repeated uint32 fireworks_id_list = 12;
+ uint32 scheme_id = 2;
+}
diff --git a/proto/FireworksReformData.proto b/proto/FireworksReformData.proto
new file mode 100644
index 00000000..7e3399ed
--- /dev/null
+++ b/proto/FireworksReformData.proto
@@ -0,0 +1,27 @@
+// 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 "FireworksReformParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksReformData {
+ repeated FireworksReformParam reform_param_list = 8;
+ uint32 id = 12;
+}
diff --git a/proto/FireworksReformDataNotify.proto b/proto/FireworksReformDataNotify.proto
new file mode 100644
index 00000000..e5eceaf5
--- /dev/null
+++ b/proto/FireworksReformDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "FireworksReformData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksReformDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5908;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FireworksReformData fireworks_reform_data_list = 9;
+}
diff --git a/proto/FireworksReformParam.proto b/proto/FireworksReformParam.proto
new file mode 100644
index 00000000..be6ca45d
--- /dev/null
+++ b/proto/FireworksReformParam.proto
@@ -0,0 +1,27 @@
+// 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 "FireworksReformParamType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FireworksReformParam {
+ int32 value = 1;
+ FireworksReformParamType type = 5;
+}
diff --git a/proto/FireworksReformParamType.proto b/proto/FireworksReformParamType.proto
new file mode 100644
index 00000000..41eecb50
--- /dev/null
+++ b/proto/FireworksReformParamType.proto
@@ -0,0 +1,29 @@
+// 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 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_ROTATION = 5;
+}
diff --git a/proto/FishAttractNotify.proto b/proto/FishAttractNotify.proto
new file mode 100644
index 00000000..5199f657
--- /dev/null
+++ b/proto/FishAttractNotify.proto
@@ -0,0 +1,36 @@
+// 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 FishAttractNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5809;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector pos = 2;
+ repeated uint32 fish_id_list = 14;
+ uint32 uid = 13;
+}
diff --git a/proto/FishBaitGoneNotify.proto b/proto/FishBaitGoneNotify.proto
new file mode 100644
index 00000000..3e411f81
--- /dev/null
+++ b/proto/FishBaitGoneNotify.proto
@@ -0,0 +1,32 @@
+// 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 FishBaitGoneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5830;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 11;
+}
diff --git a/proto/FishBattleBeginReq.proto b/proto/FishBattleBeginReq.proto
new file mode 100644
index 00000000..52d5cc67
--- /dev/null
+++ b/proto/FishBattleBeginReq.proto
@@ -0,0 +1,31 @@
+// 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 FishBattleBeginReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5815;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/FishBattleBeginRsp.proto b/proto/FishBattleBeginRsp.proto
new file mode 100644
index 00000000..2464e88e
--- /dev/null
+++ b/proto/FishBattleBeginRsp.proto
@@ -0,0 +1,32 @@
+// 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 FishBattleBeginRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5818;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/FishBattleEndReq.proto b/proto/FishBattleEndReq.proto
new file mode 100644
index 00000000..b20a155d
--- /dev/null
+++ b/proto/FishBattleEndReq.proto
@@ -0,0 +1,37 @@
+// 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 "FishBattleResult.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FishBattleEndReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5808;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ FishBattleResult battle_result = 11;
+ bool is_always_bonus = 3;
+ uint32 max_bonus_time = 2;
+}
diff --git a/proto/FishBattleEndRsp.proto b/proto/FishBattleEndRsp.proto
new file mode 100644
index 00000000..784dffef
--- /dev/null
+++ b/proto/FishBattleEndRsp.proto
@@ -0,0 +1,48 @@
+// 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 "FishBattleResult.proto";
+import "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FishBattleEndRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5845;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ 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;
+ }
+
+ FishBattleResult battle_result = 6;
+ FishNoRewardReason no_reward_reason = 2;
+ int32 retcode = 9;
+ repeated ItemParam Unk3300_ABBBGOBDJEC = 12;
+ bool is_got_reward = 8;
+ repeated ItemParam Unk3300_MDCKKPGNKGL = 1;
+ repeated ItemParam reward_item_list = 15;
+}
diff --git a/proto/FishBattleResult.proto b/proto/FishBattleResult.proto
new file mode 100644
index 00000000..42c81171
--- /dev/null
+++ b/proto/FishBattleResult.proto
@@ -0,0 +1,29 @@
+// 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 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;
+}
diff --git a/proto/FishBiteReq.proto b/proto/FishBiteReq.proto
new file mode 100644
index 00000000..7d601622
--- /dev/null
+++ b/proto/FishBiteReq.proto
@@ -0,0 +1,31 @@
+// 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 FishBiteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5812;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/FishBiteRsp.proto b/proto/FishBiteRsp.proto
new file mode 100644
index 00000000..53377d86
--- /dev/null
+++ b/proto/FishBiteRsp.proto
@@ -0,0 +1,32 @@
+// 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 FishBiteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5834;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+}
diff --git a/proto/FishCastRodReq.proto b/proto/FishCastRodReq.proto
new file mode 100644
index 00000000..de816fbd
--- /dev/null
+++ b/proto/FishCastRodReq.proto
@@ -0,0 +1,38 @@
+// 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 FishCastRodReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5827;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_PJFHEDDFOBM = 7;
+ uint32 Unk3300_ICALEIBJCDA = 13;
+ Vector pos = 11;
+ uint32 rod_entity_id = 8;
+}
diff --git a/proto/FishCastRodRsp.proto b/proto/FishCastRodRsp.proto
new file mode 100644
index 00000000..df91cce9
--- /dev/null
+++ b/proto/FishCastRodRsp.proto
@@ -0,0 +1,32 @@
+// 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 FishCastRodRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5831;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/FishChosenNotify.proto b/proto/FishChosenNotify.proto
new file mode 100644
index 00000000..57fabfaf
--- /dev/null
+++ b/proto/FishChosenNotify.proto
@@ -0,0 +1,32 @@
+// 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 FishChosenNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5844;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 fish_id = 4;
+}
diff --git a/proto/FishEscapeNotify.proto b/proto/FishEscapeNotify.proto
new file mode 100644
index 00000000..84d4dc84
--- /dev/null
+++ b/proto/FishEscapeNotify.proto
@@ -0,0 +1,38 @@
+// 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 "FishEscapeReason.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FishEscapeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5817;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 2;
+ Vector pos = 11;
+ repeated uint32 fish_id_list = 9;
+ FishEscapeReason reason = 12;
+}
diff --git a/proto/FishEscapeReason.proto b/proto/FishEscapeReason.proto
new file mode 100644
index 00000000..32690221
--- /dev/null
+++ b/proto/FishEscapeReason.proto
@@ -0,0 +1,26 @@
+// 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 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..678e7239
--- /dev/null
+++ b/proto/FishInfo.proto
@@ -0,0 +1,25 @@
+// 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 FishInfo {
+ uint32 Unk3300_AKFBFEDCELN = 14;
+ uint32 Unk3300_FIICLBEFHLL = 7;
+}
diff --git a/proto/FishPoolDataNotify.proto b/proto/FishPoolDataNotify.proto
new file mode 100644
index 00000000..8d6cf83f
--- /dev/null
+++ b/proto/FishPoolDataNotify.proto
@@ -0,0 +1,33 @@
+// 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 FishPoolDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5837;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 3;
+ uint32 today_fish_num = 12;
+}
diff --git a/proto/FishingGallerySettleInfo.proto b/proto/FishingGallerySettleInfo.proto
new file mode 100644
index 00000000..9f0515c9
--- /dev/null
+++ b/proto/FishingGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// 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 "FishInfo.proto";
+import "FishingScore.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FishingGallerySettleInfo {
+ repeated FishingScore fishing_score_list = 15;
+ map fish_map = 10;
+}
diff --git a/proto/FishingGallerySettleNotify.proto b/proto/FishingGallerySettleNotify.proto
new file mode 100644
index 00000000..7297a1a4
--- /dev/null
+++ b/proto/FishingGallerySettleNotify.proto
@@ -0,0 +1,36 @@
+// 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 "FishingGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FishingGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8464;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 5;
+ FishingGallerySettleInfo settle_info = 4;
+ uint32 level_id = 12;
+}
diff --git a/proto/FishingScore.proto b/proto/FishingScore.proto
new file mode 100644
index 00000000..b4e24cdf
--- /dev/null
+++ b/proto/FishingScore.proto
@@ -0,0 +1,25 @@
+// 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 FishingScore {
+ uint32 fishing_score = 11;
+ bool is_new_record = 10;
+}
diff --git a/proto/FleurFairActivityDetailInfo.proto b/proto/FleurFairActivityDetailInfo.proto
index 914c009b..b95002e0 100644
--- a/proto/FleurFairActivityDetailInfo.proto
+++ b/proto/FleurFairActivityDetailInfo.proto
@@ -24,12 +24,12 @@ import "FleurFairMinigameInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message FleurFairActivityDetailInfo {
- bool is_content_closed = 4;
- uint32 dungeon_punish_over_time = 6;
- uint32 content_close_time = 15;
- uint32 obtained_token = 13;
- repeated FleurFairChapterInfo chapter_info_list = 14;
- map minigame_info_map = 9;
- map dungeon_section_info_map = 3;
- bool is_dungeon_unlocked = 11;
+ uint32 Unk3300_KONOCAMIIIE = 3;
+ repeated FleurFairChapterInfo chapter_info_list = 5;
+ bool is_dungeon_unlocked = 6;
+ map Unk3300_HNFNMCKHAJK = 8;
+ bool is_content_closed = 13;
+ map Unk3300_FICFGHJNCOA = 9;
+ uint32 Unk3300_LOFLGOOIMNH = 10;
+ uint32 content_close_time = 4;
}
diff --git a/proto/FleurFairBalloonSettleInfo.proto b/proto/FleurFairBalloonSettleInfo.proto
new file mode 100644
index 00000000..91f70372
--- /dev/null
+++ b/proto/FleurFairBalloonSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "BalloonSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairBalloonSettleInfo {
+ BalloonSettleInfo settle_info = 5;
+ bool is_new_record = 15;
+}
diff --git a/proto/FleurFairBalloonSettleNotify.proto b/proto/FleurFairBalloonSettleNotify.proto
new file mode 100644
index 00000000..7d9f5534
--- /dev/null
+++ b/proto/FleurFairBalloonSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FleurFairBalloonSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairBalloonSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2159;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 minigame_id = 1;
+ map settle_info_map = 6;
+}
diff --git a/proto/FleurFairBossSettleInfo.proto b/proto/FleurFairBossSettleInfo.proto
new file mode 100644
index 00000000..18f14292
--- /dev/null
+++ b/proto/FleurFairBossSettleInfo.proto
@@ -0,0 +1,30 @@
+// 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 "FleurFairPlayerStatInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairBossSettleInfo {
+ uint32 cost_time = 14;
+ repeated FleurFairPlayerStatInfo stat_info_list = 11;
+ uint32 energy = 4;
+ bool is_success = 2;
+ uint32 reward_token_num = 15;
+}
diff --git a/proto/FleurFairBuffEnergyNotify.proto b/proto/FleurFairBuffEnergyNotify.proto
new file mode 100644
index 00000000..f13e66f7
--- /dev/null
+++ b/proto/FleurFairBuffEnergyNotify.proto
@@ -0,0 +1,32 @@
+// 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 FleurFairBuffEnergyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5322;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 energy = 13;
+}
diff --git a/proto/FleurFairChapterInfo.proto b/proto/FleurFairChapterInfo.proto
index ce0a2b9c..018be6f9 100644
--- a/proto/FleurFairChapterInfo.proto
+++ b/proto/FleurFairChapterInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FleurFairChapterInfo {
- uint32 open_time = 15;
- uint32 chapter_id = 11;
+ uint32 chapter_id = 12;
+ uint32 open_time = 7;
}
diff --git a/proto/FleurFairDungeonSectionInfo.proto b/proto/FleurFairDungeonSectionInfo.proto
index 60cd5e2f..11069bd2 100644
--- a/proto/FleurFairDungeonSectionInfo.proto
+++ b/proto/FleurFairDungeonSectionInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FleurFairDungeonSectionInfo {
- uint32 section_id = 10;
- uint32 open_time = 13;
- bool is_open = 1;
+ bool is_open = 6;
+ uint32 section_id = 14;
+ uint32 open_time = 15;
}
diff --git a/proto/FleurFairFallInfo.proto b/proto/FleurFairFallInfo.proto
index cf4286ca..12aaaacf 100644
--- a/proto/FleurFairFallInfo.proto
+++ b/proto/FleurFairFallInfo.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FleurFairFallInfo {
- uint32 best_score = 10;
+ uint32 best_score = 11;
}
diff --git a/proto/FleurFairFallSettleInfo.proto b/proto/FleurFairFallSettleInfo.proto
new file mode 100644
index 00000000..5bd2ca67
--- /dev/null
+++ b/proto/FleurFairFallSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "FallSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairFallSettleInfo {
+ FallSettleInfo settle_info = 3;
+ bool is_new_record = 9;
+}
diff --git a/proto/FleurFairFallSettleNotify.proto b/proto/FleurFairFallSettleNotify.proto
new file mode 100644
index 00000000..3e611a79
--- /dev/null
+++ b/proto/FleurFairFallSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FleurFairFallSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairFallSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2136;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 minigame_id = 2;
+ map settle_info_map = 13;
+}
diff --git a/proto/FleurFairFinishGalleryStageNotify.proto b/proto/FleurFairFinishGalleryStageNotify.proto
new file mode 100644
index 00000000..121fdf56
--- /dev/null
+++ b/proto/FleurFairFinishGalleryStageNotify.proto
@@ -0,0 +1,30 @@
+// 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 FleurFairFinishGalleryStageNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5311;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/FleurFairGallerySettleInfo.proto b/proto/FleurFairGallerySettleInfo.proto
new file mode 100644
index 00000000..d8a949ff
--- /dev/null
+++ b/proto/FleurFairGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// 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 FleurFairGallerySettleInfo {
+ bool is_success = 8;
+ map energy_stat_map = 2;
+ uint32 energy = 3;
+ uint32 gallery_stage_index = 6;
+ uint32 gallery_stage_count = 15;
+}
diff --git a/proto/FleurFairMinigameInfo.proto b/proto/FleurFairMinigameInfo.proto
index b33a6cab..3bc0f9a9 100644
--- a/proto/FleurFairMinigameInfo.proto
+++ b/proto/FleurFairMinigameInfo.proto
@@ -24,12 +24,12 @@ import "FleurFairMusicGameInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message FleurFairMinigameInfo {
- uint32 minigame_id = 13;
- bool is_open = 8;
- uint32 open_time = 15;
+ uint32 minigame_id = 3;
+ bool is_open = 15;
+ uint32 open_time = 13;
oneof detail {
- FleurFairBalloonInfo balloon_info = 12;
- FleurFairFallInfo fall_info = 11;
- FleurFairMusicGameInfo music_info = 9;
+ FleurFairBalloonInfo balloon_info = 1;
+ FleurFairFallInfo fall_info = 10;
+ FleurFairMusicGameInfo music_info = 14;
}
}
diff --git a/proto/FleurFairMusicGameInfo.proto b/proto/FleurFairMusicGameInfo.proto
index 79986386..aa5439c9 100644
--- a/proto/FleurFairMusicGameInfo.proto
+++ b/proto/FleurFairMusicGameInfo.proto
@@ -22,5 +22,5 @@ import "FleurFairMusicRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message FleurFairMusicGameInfo {
- map music_record_map = 10;
+ map music_record_map = 6;
}
diff --git a/proto/FleurFairMusicGameSettleReq.proto b/proto/FleurFairMusicGameSettleReq.proto
index d618a1f4..aaf0ef61 100644
--- a/proto/FleurFairMusicGameSettleReq.proto
+++ b/proto/FleurFairMusicGameSettleReq.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2194
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message FleurFairMusicGameSettleReq {
- uint32 score = 3;
- uint32 combo = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2111;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 score = 1;
uint32 correct_hit = 10;
- uint32 music_basic_id = 11;
+ uint32 combo = 3;
+ uint32 music_basic_id = 14;
}
diff --git a/proto/FleurFairMusicGameSettleRsp.proto b/proto/FleurFairMusicGameSettleRsp.proto
index 67255f65..22e3d672 100644
--- a/proto/FleurFairMusicGameSettleRsp.proto
+++ b/proto/FleurFairMusicGameSettleRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2113
-// EnetChannelId: 0
-// EnetIsReliable: true
message FleurFairMusicGameSettleRsp {
- bool is_unlock_next_level = 4;
- bool is_new_record = 12;
- int32 retcode = 5;
- uint32 music_basic_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2156;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 15;
+ bool is_unlock_next_level = 7;
+ uint32 music_basic_id = 4;
+ int32 retcode = 9;
}
diff --git a/proto/FleurFairMusicGameStartReq.proto b/proto/FleurFairMusicGameStartReq.proto
index 2491429f..c1386ab2 100644
--- a/proto/FleurFairMusicGameStartReq.proto
+++ b/proto/FleurFairMusicGameStartReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2167
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message FleurFairMusicGameStartReq {
- uint32 music_basic_id = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2070;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 music_basic_id = 5;
}
diff --git a/proto/FleurFairMusicGameStartRsp.proto b/proto/FleurFairMusicGameStartRsp.proto
index 4084062d..7adf7912 100644
--- a/proto/FleurFairMusicGameStartRsp.proto
+++ b/proto/FleurFairMusicGameStartRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2079
-// EnetChannelId: 0
-// EnetIsReliable: true
message FleurFairMusicGameStartRsp {
- int32 retcode = 3;
- uint32 music_basic_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2146;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 music_basic_id = 11;
+ int32 retcode = 5;
}
diff --git a/proto/FleurFairMusicRecord.proto b/proto/FleurFairMusicRecord.proto
index cc5acc48..2426a6c2 100644
--- a/proto/FleurFairMusicRecord.proto
+++ b/proto/FleurFairMusicRecord.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FleurFairMusicRecord {
- uint32 max_combo = 1;
uint32 max_score = 11;
- bool is_unlock = 12;
+ bool is_unlock = 10;
+ uint32 max_combo = 6;
}
diff --git a/proto/FleurFairPlayerStatInfo.proto b/proto/FleurFairPlayerStatInfo.proto
new file mode 100644
index 00000000..811c8e86
--- /dev/null
+++ b/proto/FleurFairPlayerStatInfo.proto
@@ -0,0 +1,32 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairPlayerStatInfo {
+ ProfilePicture profile_picture = 5;
+ uint32 stat_id = 4;
+ uint32 head_image = 6;
+ int32 param = 8;
+ uint32 uid = 9;
+ string nick_name = 2;
+ string online_id = 11;
+}
diff --git a/proto/FleurFairReplayMiniGameReq.proto b/proto/FleurFairReplayMiniGameReq.proto
new file mode 100644
index 00000000..74bb2561
--- /dev/null
+++ b/proto/FleurFairReplayMiniGameReq.proto
@@ -0,0 +1,33 @@
+// 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 FleurFairReplayMiniGameReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 minigame_id = 3;
+}
diff --git a/proto/FleurFairReplayMiniGameRsp.proto b/proto/FleurFairReplayMiniGameRsp.proto
new file mode 100644
index 00000000..eb2f4fb0
--- /dev/null
+++ b/proto/FleurFairReplayMiniGameRsp.proto
@@ -0,0 +1,33 @@
+// 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 FleurFairReplayMiniGameRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2061;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 minigame_id = 6;
+ int32 retcode = 5;
+}
diff --git a/proto/FleurFairStageSettleNotify.proto b/proto/FleurFairStageSettleNotify.proto
new file mode 100644
index 00000000..ccc16682
--- /dev/null
+++ b/proto/FleurFairStageSettleNotify.proto
@@ -0,0 +1,39 @@
+// 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 "FleurFairBossSettleInfo.proto";
+import "FleurFairGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FleurFairStageSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5382;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_type = 7;
+ oneof detail {
+ FleurFairGallerySettleInfo gallery_settle_info = 1;
+ FleurFairBossSettleInfo boss_settle_info = 12;
+ }
+}
diff --git a/proto/FlightActivityDetailInfo.proto b/proto/FlightActivityDetailInfo.proto
index 97caf1cb..b3e512df 100644
--- a/proto/FlightActivityDetailInfo.proto
+++ b/proto/FlightActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "FlightDailyRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message FlightActivityDetailInfo {
- uint32 preview_reward_id = 15;
- uint32 min_open_player_level = 11;
- repeated FlightDailyRecord daily_record_list = 1;
+ repeated FlightDailyRecord daily_record_list = 12;
+ uint32 preview_reward_id = 1;
+ uint32 min_open_player_level = 4;
}
diff --git a/proto/FlightActivityRestartReq.proto b/proto/FlightActivityRestartReq.proto
new file mode 100644
index 00000000..00dfe971
--- /dev/null
+++ b/proto/FlightActivityRestartReq.proto
@@ -0,0 +1,34 @@
+// 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 FlightActivityRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2152;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_id = 3;
+ uint32 schedule_id = 7;
+}
diff --git a/proto/FlightActivityRestartRsp.proto b/proto/FlightActivityRestartRsp.proto
new file mode 100644
index 00000000..0563ca3f
--- /dev/null
+++ b/proto/FlightActivityRestartRsp.proto
@@ -0,0 +1,34 @@
+// 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 FlightActivityRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2158;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 group_id = 10;
+ uint32 schedule_id = 11;
+}
diff --git a/proto/FlightActivitySettleNotify.proto b/proto/FlightActivitySettleNotify.proto
new file mode 100644
index 00000000..55084771
--- /dev/null
+++ b/proto/FlightActivitySettleNotify.proto
@@ -0,0 +1,39 @@
+// 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 FlightActivitySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2143;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 left_time = 10;
+ uint32 total_num = 6;
+ uint32 group_id = 13;
+ uint32 score = 15;
+ uint32 Unk3300_MEEKFJJIOKE = 9;
+ bool is_new_record = 4;
+ bool is_success = 1;
+ uint32 Unk3300_PLFMJPNPPLI = 11;
+}
diff --git a/proto/FlightDailyRecord.proto b/proto/FlightDailyRecord.proto
index 9d21350a..3710ec0b 100644
--- a/proto/FlightDailyRecord.proto
+++ b/proto/FlightDailyRecord.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FlightDailyRecord {
- uint32 group_id = 4;
- bool is_touched = 1;
- repeated uint32 watcher_id_list = 11;
- uint32 best_score = 7;
- uint32 start_time = 3;
+ uint32 best_score = 15;
+ uint32 group_id = 13;
+ bool is_touched = 5;
+ uint32 start_time = 6;
+ repeated uint32 watcher_id_list = 7;
}
diff --git a/proto/FocusAvatarReq.proto b/proto/FocusAvatarReq.proto
new file mode 100644
index 00000000..1b0479ed
--- /dev/null
+++ b/proto/FocusAvatarReq.proto
@@ -0,0 +1,34 @@
+// 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 FocusAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1793;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 5;
+ bool is_focus = 11;
+}
diff --git a/proto/FocusAvatarRsp.proto b/proto/FocusAvatarRsp.proto
new file mode 100644
index 00000000..edd1d4d3
--- /dev/null
+++ b/proto/FocusAvatarRsp.proto
@@ -0,0 +1,34 @@
+// 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 FocusAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1786;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_focus = 2;
+ uint64 avatar_guid = 4;
+ int32 retcode = 15;
+}
diff --git a/proto/ForceAddPlayerFriendReq.proto b/proto/ForceAddPlayerFriendReq.proto
new file mode 100644
index 00000000..d1e1c4e1
--- /dev/null
+++ b/proto/ForceAddPlayerFriendReq.proto
@@ -0,0 +1,32 @@
+// 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 ForceAddPlayerFriendReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4063;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 3;
+}
diff --git a/proto/ForceAddPlayerFriendRsp.proto b/proto/ForceAddPlayerFriendRsp.proto
new file mode 100644
index 00000000..41195f2c
--- /dev/null
+++ b/proto/ForceAddPlayerFriendRsp.proto
@@ -0,0 +1,36 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ForceAddPlayerFriendRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4004;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FriendBrief target_friend_brief = 3;
+ int32 retcode = 13;
+ uint32 target_uid = 8;
+}
diff --git a/proto/ForceDragAvatarNotify.proto b/proto/ForceDragAvatarNotify.proto
new file mode 100644
index 00000000..6f41b91a
--- /dev/null
+++ b/proto/ForceDragAvatarNotify.proto
@@ -0,0 +1,39 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ForceDragAvatarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3008;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 Unk3300_IMFNNPGHKJJ = 3;
+ MotionInfo motion_info = 9;
+ bool is_first_valid = 7;
+ uint32 scene_time = 12;
+ uint32 entity_id = 10;
+ uint64 Unk3300_AFLCLLFDPBD = 5;
+}
diff --git a/proto/ForceDragBackTransferNotify.proto b/proto/ForceDragBackTransferNotify.proto
new file mode 100644
index 00000000..dd119627
--- /dev/null
+++ b/proto/ForceDragBackTransferNotify.proto
@@ -0,0 +1,31 @@
+// 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 ForceDragBackTransferNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3494;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ForgeDataNotify.proto b/proto/ForgeDataNotify.proto
index 6f9e7582..25f3a458 100644
--- a/proto/ForgeDataNotify.proto
+++ b/proto/ForgeDataNotify.proto
@@ -21,11 +21,16 @@ import "ForgeQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 680
-// EnetChannelId: 0
-// EnetIsReliable: true
message ForgeDataNotify {
- repeated uint32 forge_id_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 674;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 forge_id_list = 13;
map forge_queue_map = 8;
- uint32 max_queue_num = 14;
+ uint32 max_queue_num = 11;
}
diff --git a/proto/ForgeFormulaDataNotify.proto b/proto/ForgeFormulaDataNotify.proto
index dc226c43..8156d0ca 100644
--- a/proto/ForgeFormulaDataNotify.proto
+++ b/proto/ForgeFormulaDataNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 689
-// EnetChannelId: 0
-// EnetIsReliable: true
message ForgeFormulaDataNotify {
- bool is_locked = 15;
- uint32 forge_id = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 626;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_locked = 4;
+ uint32 forge_id = 3;
}
diff --git a/proto/ForgeGetQueueDataReq.proto b/proto/ForgeGetQueueDataReq.proto
index 44406e07..7e8e7a6c 100644
--- a/proto/ForgeGetQueueDataReq.proto
+++ b/proto/ForgeGetQueueDataReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 646
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message ForgeGetQueueDataReq {}
+message ForgeGetQueueDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 664;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ForgeGetQueueDataRsp.proto b/proto/ForgeGetQueueDataRsp.proto
index f60253ef..8e86ca1e 100644
--- a/proto/ForgeGetQueueDataRsp.proto
+++ b/proto/ForgeGetQueueDataRsp.proto
@@ -21,11 +21,16 @@ import "ForgeQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 641
-// EnetChannelId: 0
-// EnetIsReliable: true
message ForgeGetQueueDataRsp {
- map forge_queue_map = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 667;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 max_queue_num = 4;
+ map forge_queue_map = 9;
int32 retcode = 15;
- uint32 max_queue_num = 6;
}
diff --git a/proto/ForgeQueueData.proto b/proto/ForgeQueueData.proto
index ce66d42a..947c2b00 100644
--- a/proto/ForgeQueueData.proto
+++ b/proto/ForgeQueueData.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ForgeQueueData {
- uint32 finish_count = 13;
- uint32 total_finish_timestamp = 14;
- uint32 avatar_id = 7;
- uint32 queue_id = 1;
- uint32 unfinish_count = 10;
- uint32 next_finish_timestamp = 11;
- uint32 forge_id = 15;
+ uint32 Unk3300_KDIPLNBHGDH = 1;
+ uint32 forge_id = 5;
+ uint32 Unk3300_GJEECHKDEBD = 7;
+ uint32 Unk3300_OOOJNABGHOM = 4;
+ uint32 Unk3300_PJCKFNNIMNM = 15;
+ uint32 avatar_id = 12;
+ uint32 Unk3300_PJKHPCIMAID = 3;
}
diff --git a/proto/ForgeQueueDataNotify.proto b/proto/ForgeQueueDataNotify.proto
index 9d9ed07d..b81b4885 100644
--- a/proto/ForgeQueueDataNotify.proto
+++ b/proto/ForgeQueueDataNotify.proto
@@ -21,11 +21,16 @@ import "ForgeQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 676
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ForgeQueueDataNotify {
- map forge_queue_map = 7;
- repeated uint32 removed_forge_queue_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 695;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map forge_queue_map = 1;
+ repeated uint32 removed_forge_queue_list = 15;
}
diff --git a/proto/ForgeQueueManipulateReq.proto b/proto/ForgeQueueManipulateReq.proto
index 3b044603..988f4aee 100644
--- a/proto/ForgeQueueManipulateReq.proto
+++ b/proto/ForgeQueueManipulateReq.proto
@@ -21,11 +21,16 @@ import "ForgeQueueManipulateType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 624
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ForgeQueueManipulateReq {
- uint32 forge_queue_id = 5;
- ForgeQueueManipulateType manipulate_type = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 622;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 forge_queue_id = 3;
+ ForgeQueueManipulateType manipulate_type = 4;
}
diff --git a/proto/ForgeQueueManipulateRsp.proto b/proto/ForgeQueueManipulateRsp.proto
index 7ddfadfd..9a6eaebc 100644
--- a/proto/ForgeQueueManipulateRsp.proto
+++ b/proto/ForgeQueueManipulateRsp.proto
@@ -22,13 +22,18 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 656
-// EnetChannelId: 0
-// EnetIsReliable: true
message ForgeQueueManipulateRsp {
- ForgeQueueManipulateType manipulate_type = 4;
- repeated ItemParam extra_output_item_list = 13;
- repeated ItemParam return_item_list = 10;
- int32 retcode = 1;
- repeated ItemParam output_item_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 682;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam extra_output_item_list = 3;
+ ForgeQueueManipulateType manipulate_type = 12;
+ repeated ItemParam Unk3300_JDHFPCBOGFH = 4;
+ repeated ItemParam Unk3300_EOLDJAMHDHM = 14;
+ int32 retcode = 11;
}
diff --git a/proto/ForgeStartReq.proto b/proto/ForgeStartReq.proto
index d595c441..e6064231 100644
--- a/proto/ForgeStartReq.proto
+++ b/proto/ForgeStartReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 649
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ForgeStartReq {
- uint32 avatar_id = 7;
- uint32 forge_id = 4;
- uint32 forge_count = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 615;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 forge_id = 8;
+ uint32 avatar_id = 1;
+ uint32 forge_count = 10;
}
diff --git a/proto/ForgeStartRsp.proto b/proto/ForgeStartRsp.proto
index 038afaad..2131fea1 100644
--- a/proto/ForgeStartRsp.proto
+++ b/proto/ForgeStartRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 691
-// EnetChannelId: 0
-// EnetIsReliable: true
message ForgeStartRsp {
- int32 retcode = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 621;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
}
diff --git a/proto/FoundationInfo.proto b/proto/FoundationInfo.proto
index 3f3ed6f7..bb089560 100644
--- a/proto/FoundationInfo.proto
+++ b/proto/FoundationInfo.proto
@@ -25,5 +25,5 @@ message FoundationInfo {
FoundationStatus status = 1;
repeated uint32 uid_list = 2;
uint32 current_building_id = 3;
- uint32 begin_build_time_ms = 4;
+ uint32 locked_by_uid = 4;
}
diff --git a/proto/FoundationNotify.proto b/proto/FoundationNotify.proto
new file mode 100644
index 00000000..ac12fc69
--- /dev/null
+++ b/proto/FoundationNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FoundationInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FoundationNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 876;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FoundationInfo info = 6;
+ uint32 gadget_entity_id = 14;
+}
diff --git a/proto/FoundationOpType.proto b/proto/FoundationOpType.proto
new file mode 100644
index 00000000..2136fbd2
--- /dev/null
+++ b/proto/FoundationOpType.proto
@@ -0,0 +1,30 @@
+// 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 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..f6abc69a
--- /dev/null
+++ b/proto/FoundationReq.proto
@@ -0,0 +1,38 @@
+// 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 "FoundationOpType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FoundationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 842;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gadget_entity_id = 1;
+ uint32 building_id = 11;
+ uint32 point_config_id = 10;
+ FoundationOpType op_type = 6;
+}
diff --git a/proto/FoundationRsp.proto b/proto/FoundationRsp.proto
new file mode 100644
index 00000000..752cc6f6
--- /dev/null
+++ b/proto/FoundationRsp.proto
@@ -0,0 +1,38 @@
+// 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 "FoundationOpType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FoundationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 890;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 building_id = 10;
+ FoundationOpType op_type = 14;
+ uint32 gadget_entity_id = 2;
+ uint32 point_config_id = 6;
+}
diff --git a/proto/FriendInfoChangeNotify.proto b/proto/FriendInfoChangeNotify.proto
new file mode 100644
index 00000000..9bbd5b52
--- /dev/null
+++ b/proto/FriendInfoChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 FriendInfoChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4065;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 6;
+ string online_id = 3;
+}
diff --git a/proto/FriendOnlineState.proto b/proto/FriendOnlineState.proto
index e64d666d..1047b706 100644
--- a/proto/FriendOnlineState.proto
+++ b/proto/FriendOnlineState.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
enum FriendOnlineState {
- FRIEND_ONLINE_STATE_FREIEND_DISCONNECT = 0;
+ FRIEND_ONLINE_STATE_DISCONNECT = 0;
FRIEND_ONLINE_STATE_ONLINE = 1;
}
diff --git a/proto/FungusCaptureSettleNotify.proto b/proto/FungusCaptureSettleNotify.proto
new file mode 100644
index 00000000..6d63eb68
--- /dev/null
+++ b/proto/FungusCaptureSettleNotify.proto
@@ -0,0 +1,32 @@
+// 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 FungusCaptureSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5510;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_success = 14;
+}
diff --git a/proto/FungusCultivateReq.proto b/proto/FungusCultivateReq.proto
new file mode 100644
index 00000000..b1608ad8
--- /dev/null
+++ b/proto/FungusCultivateReq.proto
@@ -0,0 +1,40 @@
+// 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 FungusCultivateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23545;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_IOANLJBMBAI = 1;
+ uint32 Unk3300_DJEGJDACDEF = 6;
+ uint32 Unk3300_IMEGFNOLDCE = 2;
+ uint32 Unk3300_PGJKEICFKLL = 5;
+ uint32 Unk3300_MBPLICBFAGL = 7;
+ uint32 cultivate_id = 12;
+ uint32 time = 15;
+ uint32 Unk3300_AEGCNHLOPEP = 8;
+}
diff --git a/proto/FungusCultivateRsp.proto b/proto/FungusCultivateRsp.proto
new file mode 100644
index 00000000..733e77cf
--- /dev/null
+++ b/proto/FungusCultivateRsp.proto
@@ -0,0 +1,34 @@
+// 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 FungusCultivateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20883;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 cultivate_id = 12;
+ bool is_new_record = 13;
+}
diff --git a/proto/FungusDetail.proto b/proto/FungusDetail.proto
index 496a5a1a..b918ba6f 100644
--- a/proto/FungusDetail.proto
+++ b/proto/FungusDetail.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FungusDetail {
- bool is_cultivate = 5;
- uint32 capture_order = 6;
- uint32 name_id = 14;
- uint32 min_cultivate_step = 1;
- uint32 fungus_id = 9;
+ uint32 name_id = 8;
+ uint32 Unk3300_EHNBDJPANKL = 2;
+ uint32 fungus_id = 3;
+ bool is_cultivate = 7;
+ uint32 Unk3300_GCLBPDJDEDN = 13;
}
diff --git a/proto/FungusFighterClearTrainingRuntimeDataReq.proto b/proto/FungusFighterClearTrainingRuntimeDataReq.proto
new file mode 100644
index 00000000..bd4da860
--- /dev/null
+++ b/proto/FungusFighterClearTrainingRuntimeDataReq.proto
@@ -0,0 +1,33 @@
+// 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 FungusFighterClearTrainingRuntimeDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24267;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 4;
+}
diff --git a/proto/FungusFighterClearTrainingRuntimeDataRsp.proto b/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
new file mode 100644
index 00000000..5356509f
--- /dev/null
+++ b/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
@@ -0,0 +1,32 @@
+// 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 FungusFighterClearTrainingRuntimeDataRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20749;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/FungusFighterDetailInfo.proto b/proto/FungusFighterDetailInfo.proto
index e51748ed..e4edbfbf 100644
--- a/proto/FungusFighterDetailInfo.proto
+++ b/proto/FungusFighterDetailInfo.proto
@@ -25,11 +25,11 @@ import "FungusTrainingProgressDetail.proto";
option java_package = "emu.grasscutter.net.proto";
message FungusFighterDetailInfo {
- repeated FungusPlotStageDetail plot_stage_detail_list = 6;
- repeated FungusDetail fungus_detail_list = 4;
- repeated uint32 unlock_camp_id_list = 12;
+ repeated FungusDetail fungus_detail_list = 6;
+ repeated uint32 Unk3300_GIHAKKAJHDH = 1;
+ repeated uint32 Unk3300_KGKFJJHFHAB = 8;
repeated FungusTrainingProgressDetail training_dungeon_progress_detail_list = 3;
- repeated FungusTrainingDungeonDetail training_dungeon_detail_list = 15;
- repeated uint32 finish_camp_id_list = 1;
- repeated uint32 unlock_cultivate_id_list = 8;
+ repeated uint32 Unk3300_HPDOJOBPFMJ = 9;
+ repeated FungusPlotStageDetail plot_stage_detail_list = 11;
+ repeated FungusTrainingDungeonDetail training_dungeon_detail_list = 2;
}
diff --git a/proto/FungusFighterMonsterDetail.proto b/proto/FungusFighterMonsterDetail.proto
index 84eb0a4f..a2fbc9fc 100644
--- a/proto/FungusFighterMonsterDetail.proto
+++ b/proto/FungusFighterMonsterDetail.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FungusFighterMonsterDetail {
- uint32 fungus_id = 2;
- float cur_hp_percentage = 7;
- bool is_alive = 9;
+ float cur_hp_percentage = 9;
+ bool is_alive = 10;
+ uint32 fungus_id = 13;
}
diff --git a/proto/FungusFighterPlotInfoNotify.proto b/proto/FungusFighterPlotInfoNotify.proto
new file mode 100644
index 00000000..fb2ddd57
--- /dev/null
+++ b/proto/FungusFighterPlotInfoNotify.proto
@@ -0,0 +1,33 @@
+// 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 FungusFighterPlotInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23920;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 12;
+ repeated uint32 fungus_id_list = 8;
+}
diff --git a/proto/FungusFighterRestartTrainingDungeonReq.proto b/proto/FungusFighterRestartTrainingDungeonReq.proto
new file mode 100644
index 00000000..466603ba
--- /dev/null
+++ b/proto/FungusFighterRestartTrainingDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 FungusFighterRestartTrainingDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24273;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/FungusFighterRestartTrainingDungeonRsp.proto b/proto/FungusFighterRestartTrainingDungeonRsp.proto
new file mode 100644
index 00000000..0e6155f0
--- /dev/null
+++ b/proto/FungusFighterRestartTrainingDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 FungusFighterRestartTrainingDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/FungusFighterRestartTraningDungeonReq.proto b/proto/FungusFighterRestartTraningDungeonReq.proto
new file mode 100644
index 00000000..6d8f040a
--- /dev/null
+++ b/proto/FungusFighterRestartTraningDungeonReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 23980
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusFighterRestartTraningDungeonReq {}
diff --git a/proto/FungusFighterRestartTraningDungeonRsp.proto b/proto/FungusFighterRestartTraningDungeonRsp.proto
new file mode 100644
index 00000000..d3c259b9
--- /dev/null
+++ b/proto/FungusFighterRestartTraningDungeonRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 22890
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterRestartTraningDungeonRsp {
+ int32 retcode = 11;
+}
diff --git a/proto/FungusFighterRuntimeDataNotify.proto b/proto/FungusFighterRuntimeDataNotify.proto
new file mode 100644
index 00000000..eee80f4a
--- /dev/null
+++ b/proto/FungusFighterRuntimeDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "FungusTrainingProgressDetail.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FungusFighterRuntimeDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20567;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FungusTrainingProgressDetail progress_detail = 7;
+}
diff --git a/proto/FungusFighterTrainingGallerySettleNotify.proto b/proto/FungusFighterTrainingGallerySettleNotify.proto
new file mode 100644
index 00000000..390736e5
--- /dev/null
+++ b/proto/FungusFighterTrainingGallerySettleNotify.proto
@@ -0,0 +1,41 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FungusFighterTrainingGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23475;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GalleryStopReason reason = 3;
+ bool is_final_settle = 2;
+ uint32 total_used_time = 14;
+ bool is_new_record = 11;
+ uint32 Unk3300_KKFBMHLOLFC = 10;
+ uint32 Unk3300_BHOMHPHLOHL = 13;
+ uint32 Unk3300_POCDEGBHJEA = 15;
+ uint32 final_score = 5;
+}
diff --git a/proto/FungusFighterTrainingInfoNotify.proto b/proto/FungusFighterTrainingInfoNotify.proto
new file mode 100644
index 00000000..449f2013
--- /dev/null
+++ b/proto/FungusFighterTrainingInfoNotify.proto
@@ -0,0 +1,38 @@
+// 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 FungusFighterTrainingInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5533;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 buff_id = 14;
+ uint32 Unk3300_IOEELCAMDCK = 10;
+ uint32 Unk3300_HGPGNCMNDJN = 4;
+ uint32 Unk3300_EDHANEGNMJM = 3;
+ uint32 Unk3300_GMLIPFDMDOG = 6;
+ uint32 Unk3300_EKAMCPNGCGH = 13;
+ uint32 max_monster_count = 9;
+}
diff --git a/proto/FungusFighterTrainingSelectFungusReq.proto b/proto/FungusFighterTrainingSelectFungusReq.proto
new file mode 100644
index 00000000..a7310b8c
--- /dev/null
+++ b/proto/FungusFighterTrainingSelectFungusReq.proto
@@ -0,0 +1,34 @@
+// 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 FungusFighterTrainingSelectFungusReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24249;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 backup_fungus_id_list = 3;
+ repeated uint32 fight_fungus_id_list = 9;
+}
diff --git a/proto/FungusFighterTrainingSelectFungusRsp.proto b/proto/FungusFighterTrainingSelectFungusRsp.proto
new file mode 100644
index 00000000..e6e82f7e
--- /dev/null
+++ b/proto/FungusFighterTrainingSelectFungusRsp.proto
@@ -0,0 +1,32 @@
+// 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 FungusFighterTrainingSelectFungusRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23309;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+}
diff --git a/proto/FungusFighterTrainingSettleInfo.proto b/proto/FungusFighterTrainingSettleInfo.proto
new file mode 100644
index 00000000..5e63b00c
--- /dev/null
+++ b/proto/FungusFighterTrainingSettleInfo.proto
@@ -0,0 +1,28 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message FungusFighterTrainingSettleInfo {
+ uint32 used_time = 13;
+ GalleryStopReason reason = 4;
+ string transaction = 3;
+}
diff --git a/proto/FungusFighterUseBackupFungusReq.proto b/proto/FungusFighterUseBackupFungusReq.proto
new file mode 100644
index 00000000..4f7393f5
--- /dev/null
+++ b/proto/FungusFighterUseBackupFungusReq.proto
@@ -0,0 +1,33 @@
+// 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 FungusFighterUseBackupFungusReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22075;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 backup_fungus_id_list = 8;
+}
diff --git a/proto/FungusFighterUseBackupFungusRsp.proto b/proto/FungusFighterUseBackupFungusRsp.proto
new file mode 100644
index 00000000..36086208
--- /dev/null
+++ b/proto/FungusFighterUseBackupFungusRsp.proto
@@ -0,0 +1,32 @@
+// 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 FungusFighterUseBackupFungusRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21089;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+}
diff --git a/proto/FungusPlotStageDetail.proto b/proto/FungusPlotStageDetail.proto
index dcec54d4..fc19e0bf 100644
--- a/proto/FungusPlotStageDetail.proto
+++ b/proto/FungusPlotStageDetail.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FungusPlotStageDetail {
- bool is_open = 3;
- uint32 stage_id = 15;
+ bool is_open = 13;
+ uint32 stage_id = 10;
}
diff --git a/proto/FungusRenameReq.proto b/proto/FungusRenameReq.proto
new file mode 100644
index 00000000..d4c6bb09
--- /dev/null
+++ b/proto/FungusRenameReq.proto
@@ -0,0 +1,34 @@
+// 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 FungusRenameReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22498;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 fungus_id = 12;
+ uint32 name_id = 11;
+}
diff --git a/proto/FungusRenameRsp.proto b/proto/FungusRenameRsp.proto
new file mode 100644
index 00000000..c4259ed2
--- /dev/null
+++ b/proto/FungusRenameRsp.proto
@@ -0,0 +1,34 @@
+// 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 FungusRenameRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22216;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 fungus_id = 1;
+ int32 retcode = 7;
+ uint32 name_id = 6;
+}
diff --git a/proto/FungusTrainingDungeonDetail.proto b/proto/FungusTrainingDungeonDetail.proto
index d97e5141..b499a5bb 100644
--- a/proto/FungusTrainingDungeonDetail.proto
+++ b/proto/FungusTrainingDungeonDetail.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FungusTrainingDungeonDetail {
+ uint32 best_score = 8;
+ uint32 dungeon_id = 6;
bool is_open = 13;
- uint32 dungeon_id = 12;
- uint32 best_score = 9;
}
diff --git a/proto/FungusTrainingMonsterPreviewDetail.proto b/proto/FungusTrainingMonsterPreviewDetail.proto
index 0ea9d6f6..197adef7 100644
--- a/proto/FungusTrainingMonsterPreviewDetail.proto
+++ b/proto/FungusTrainingMonsterPreviewDetail.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FungusTrainingMonsterPreviewDetail {
- uint32 monster_id = 8;
- uint32 level = 10;
- repeated uint32 affix_list = 7;
+ uint32 monster_id = 12;
+ uint32 level = 8;
+ repeated uint32 affix_list = 9;
}
diff --git a/proto/FungusTrainingPoolPreviewDetail.proto b/proto/FungusTrainingPoolPreviewDetail.proto
index 8a322c94..9f2b1f0b 100644
--- a/proto/FungusTrainingPoolPreviewDetail.proto
+++ b/proto/FungusTrainingPoolPreviewDetail.proto
@@ -22,6 +22,6 @@ import "FungusTrainingMonsterPreviewDetail.proto";
option java_package = "emu.grasscutter.net.proto";
message FungusTrainingPoolPreviewDetail {
+ repeated FungusTrainingMonsterPreviewDetail monster_preview_detail_list = 10;
uint32 pool_id = 8;
- repeated FungusTrainingMonsterPreviewDetail monster_preview_detail_list = 6;
}
diff --git a/proto/FungusTrainingProgressDetail.proto b/proto/FungusTrainingProgressDetail.proto
index cf6d5adc..4c4eb1b8 100644
--- a/proto/FungusTrainingProgressDetail.proto
+++ b/proto/FungusTrainingProgressDetail.proto
@@ -23,11 +23,11 @@ import "FungusTrainingPoolPreviewDetail.proto";
option java_package = "emu.grasscutter.net.proto";
message FungusTrainingProgressDetail {
- uint32 cur_round = 9;
- uint32 dungeon_id = 10;
+ repeated uint32 Unk3300_EEOIMDJOHCM = 10;
+ uint32 total_used_time = 3;
+ repeated FungusFighterMonsterDetail monster_detail_list = 14;
+ uint32 dungeon_id = 1;
repeated FungusTrainingPoolPreviewDetail monster_pool_preview_list = 5;
- repeated FungusFighterMonsterDetail monster_detail_list = 6;
- uint32 total_used_time = 7;
- repeated uint32 backup_monster_list = 4;
- repeated uint32 choosen_monster_list = 8;
+ uint32 cur_round = 9;
+ repeated uint32 Unk3300_NLHEFGBEOAC = 4;
}
diff --git a/proto/FunitureMakeMakeInfoChangeNotify.proto b/proto/FunitureMakeMakeInfoChangeNotify.proto
new file mode 100644
index 00000000..0480dbd1
--- /dev/null
+++ b/proto/FunitureMakeMakeInfoChangeNotify.proto
@@ -0,0 +1,29 @@
+// 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 "FurnitureMakeMakeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4898
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FunitureMakeMakeInfoChangeNotify {
+ FurnitureMakeMakeInfo make_info = 1;
+}
diff --git a/proto/FurnitureCurModuleArrangeCountNotify.proto b/proto/FurnitureCurModuleArrangeCountNotify.proto
index 3adeedca..67c6a765 100644
--- a/proto/FurnitureCurModuleArrangeCountNotify.proto
+++ b/proto/FurnitureCurModuleArrangeCountNotify.proto
@@ -21,9 +21,14 @@ import "Uint32Pair.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4498
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureCurModuleArrangeCountNotify {
- repeated Uint32Pair furniture_arrange_count_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4538;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Uint32Pair furniture_arrange_count_list = 3;
}
diff --git a/proto/FurnitureMakeBeHelpedData.proto b/proto/FurnitureMakeBeHelpedData.proto
index bf761859..a7b62671 100644
--- a/proto/FurnitureMakeBeHelpedData.proto
+++ b/proto/FurnitureMakeBeHelpedData.proto
@@ -22,9 +22,9 @@ import "ProfilePicture.proto";
option java_package = "emu.grasscutter.net.proto";
message FurnitureMakeBeHelpedData {
+ string player_name = 11;
+ uint32 icon = 7;
+ ProfilePicture profile_picture = 2;
fixed32 time = 12;
- uint32 icon = 11;
- uint32 uid = 7;
- string player_name = 10;
- ProfilePicture profile_picture = 1;
+ uint32 uid = 8;
}
diff --git a/proto/FurnitureMakeBeHelpedNotify.proto b/proto/FurnitureMakeBeHelpedNotify.proto
index b35014ff..013f2d63 100644
--- a/proto/FurnitureMakeBeHelpedNotify.proto
+++ b/proto/FurnitureMakeBeHelpedNotify.proto
@@ -22,10 +22,15 @@ import "FurnitureMakeSlot.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4578
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureMakeBeHelpedNotify {
- FurnitureMakeSlot furniture_make_slot = 7;
- FurnitureMakeBeHelpedData furniture_make_helped_data = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4766;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FurnitureMakeBeHelpedData furniture_make_helped_data = 12;
+ FurnitureMakeSlot furniture_make_slot = 3;
}
diff --git a/proto/FurnitureMakeCancelReq.proto b/proto/FurnitureMakeCancelReq.proto
index c3a73035..4e8a59d9 100644
--- a/proto/FurnitureMakeCancelReq.proto
+++ b/proto/FurnitureMakeCancelReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4555
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message FurnitureMakeCancelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4726;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 make_id = 14;
uint32 index = 4;
- uint32 make_id = 15;
}
diff --git a/proto/FurnitureMakeCancelRsp.proto b/proto/FurnitureMakeCancelRsp.proto
index e3afe51d..a301ca26 100644
--- a/proto/FurnitureMakeCancelRsp.proto
+++ b/proto/FurnitureMakeCancelRsp.proto
@@ -21,11 +21,16 @@ import "FurnitureMakeSlot.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4683
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureMakeCancelRsp {
- int32 retcode = 3;
- uint32 make_id = 2;
- FurnitureMakeSlot furniture_make_slot = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4676;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 make_id = 6;
+ FurnitureMakeSlot furniture_make_slot = 4;
}
diff --git a/proto/FurnitureMakeData.proto b/proto/FurnitureMakeData.proto
index 432bc37a..925a5c1b 100644
--- a/proto/FurnitureMakeData.proto
+++ b/proto/FurnitureMakeData.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FurnitureMakeData {
- uint32 index = 15;
- uint32 dur_time = 1;
- fixed32 begin_time = 11;
- fixed32 accelerate_time = 6;
- uint32 avatar_id = 2;
- uint32 make_id = 5;
+ fixed32 begin_time = 1;
+ uint32 avatar_id = 5;
+ uint32 make_id = 10;
+ uint32 index = 6;
+ uint32 Unk3300_GDIBLADMJIC = 8;
+ uint32 Unk3300_GBDHFLEFJLG = 7;
}
diff --git a/proto/FurnitureMakeFinishNotify.proto b/proto/FurnitureMakeFinishNotify.proto
index 5b733a13..c36b2e07 100644
--- a/proto/FurnitureMakeFinishNotify.proto
+++ b/proto/FurnitureMakeFinishNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4841
-// EnetChannelId: 0
-// EnetIsReliable: true
-message FurnitureMakeFinishNotify {}
+message FurnitureMakeFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4850;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/FurnitureMakeHelpData.proto b/proto/FurnitureMakeHelpData.proto
index 4cce7dcb..4911bf0e 100644
--- a/proto/FurnitureMakeHelpData.proto
+++ b/proto/FurnitureMakeHelpData.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message FurnitureMakeHelpData {
- uint32 times = 2;
- uint32 uid = 13;
+ uint32 times = 12;
+ uint32 uid = 2;
}
diff --git a/proto/FurnitureMakeHelpReq.proto b/proto/FurnitureMakeHelpReq.proto
index 62881277..dd66407a 100644
--- a/proto/FurnitureMakeHelpReq.proto
+++ b/proto/FurnitureMakeHelpReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4865
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message FurnitureMakeHelpReq {}
+message FurnitureMakeHelpReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4478;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/FurnitureMakeHelpRsp.proto b/proto/FurnitureMakeHelpRsp.proto
index 56831d66..7bd5f997 100644
--- a/proto/FurnitureMakeHelpRsp.proto
+++ b/proto/FurnitureMakeHelpRsp.proto
@@ -21,10 +21,15 @@ import "FurnitureMakeHelpData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4756
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureMakeHelpRsp {
- int32 retcode = 10;
- repeated FurnitureMakeHelpData help_data_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4507;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FurnitureMakeHelpData help_data_list = 4;
+ int32 retcode = 3;
}
diff --git a/proto/FurnitureMakeInfo.proto b/proto/FurnitureMakeInfo.proto
new file mode 100644
index 00000000..9a23f0ef
--- /dev/null
+++ b/proto/FurnitureMakeInfo.proto
@@ -0,0 +1,25 @@
+// 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 FurnitureMakeInfo {
+ uint32 make_count = 15;
+ uint32 furniture_id = 9;
+}
diff --git a/proto/FurnitureMakeInfoChangeNotify.proto b/proto/FurnitureMakeInfoChangeNotify.proto
new file mode 100644
index 00000000..9ecf9a7c
--- /dev/null
+++ b/proto/FurnitureMakeInfoChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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/FurnitureMakeReq.proto b/proto/FurnitureMakeReq.proto
index 0d3a2a9e..9ed9d34d 100644
--- a/proto/FurnitureMakeReq.proto
+++ b/proto/FurnitureMakeReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4477
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message FurnitureMakeReq {}
+message FurnitureMakeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4802;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/FurnitureMakeRsp.proto b/proto/FurnitureMakeRsp.proto
index 1d3079d3..a64a1ee7 100644
--- a/proto/FurnitureMakeRsp.proto
+++ b/proto/FurnitureMakeRsp.proto
@@ -19,18 +19,23 @@ syntax = "proto3";
import "FurnitureMakeBeHelpedData.proto";
import "FurnitureMakeHelpData.proto";
-import "FurnitureMakeMakeInfo.proto";
+import "FurnitureMakeInfo.proto";
import "FurnitureMakeSlot.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4782
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureMakeRsp {
- repeated FurnitureMakeBeHelpedData helped_data_list = 13;
- repeated FurnitureMakeMakeInfo make_info_list = 4;
- FurnitureMakeSlot furniture_make_slot = 1;
- int32 retcode = 3;
- repeated FurnitureMakeHelpData help_data_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4504;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FurnitureMakeSlot furniture_make_slot = 13;
+ repeated FurnitureMakeHelpData help_data_list = 4;
+ int32 retcode = 11;
+ repeated FurnitureMakeBeHelpedData helped_data_list = 6;
+ repeated FurnitureMakeInfo make_info_list = 7;
}
diff --git a/proto/FurnitureMakeSlot.proto b/proto/FurnitureMakeSlot.proto
index ab841c0f..bf7df59c 100644
--- a/proto/FurnitureMakeSlot.proto
+++ b/proto/FurnitureMakeSlot.proto
@@ -22,5 +22,5 @@ import "FurnitureMakeData.proto";
option java_package = "emu.grasscutter.net.proto";
message FurnitureMakeSlot {
- repeated FurnitureMakeData furniture_make_data_list = 14;
+ repeated FurnitureMakeData furniture_make_data_list = 1;
}
diff --git a/proto/FurnitureMakeStartReq.proto b/proto/FurnitureMakeStartReq.proto
index 221c0549..968589f1 100644
--- a/proto/FurnitureMakeStartReq.proto
+++ b/proto/FurnitureMakeStartReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4633
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message FurnitureMakeStartReq {
- uint32 avatar_id = 9;
- uint32 make_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4581;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 make_id = 15;
+ uint32 avatar_id = 13;
}
diff --git a/proto/FurnitureMakeStartRsp.proto b/proto/FurnitureMakeStartRsp.proto
index 82583798..065b5c2d 100644
--- a/proto/FurnitureMakeStartRsp.proto
+++ b/proto/FurnitureMakeStartRsp.proto
@@ -21,10 +21,15 @@ import "FurnitureMakeSlot.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4729
-// EnetChannelId: 0
-// EnetIsReliable: true
message FurnitureMakeStartRsp {
- FurnitureMakeSlot furniture_make_slot = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4877;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ FurnitureMakeSlot furniture_make_slot = 14;
int32 retcode = 8;
}
diff --git a/proto/GCGActionType.proto b/proto/GCGActionType.proto
new file mode 100644
index 00000000..4365d5ce
--- /dev/null
+++ b/proto/GCGActionType.proto
@@ -0,0 +1,49 @@
+// 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 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..b005fb1c
--- /dev/null
+++ b/proto/GCGApplyInviteBattleNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGApplyInviteBattleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7984;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 4;
+ int32 retcode = 14;
+}
diff --git a/proto/GCGApplyInviteBattleReq.proto b/proto/GCGApplyInviteBattleReq.proto
new file mode 100644
index 00000000..fbd1ebbe
--- /dev/null
+++ b/proto/GCGApplyInviteBattleReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGApplyInviteBattleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7032;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_agree = 12;
+}
diff --git a/proto/GCGApplyInviteBattleRsp.proto b/proto/GCGApplyInviteBattleRsp.proto
new file mode 100644
index 00000000..386310f8
--- /dev/null
+++ b/proto/GCGApplyInviteBattleRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGApplyInviteBattleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7754;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 punish_end_time = 6;
+ int32 retcode = 8;
+}
diff --git a/proto/GCGAskDuelReq.proto b/proto/GCGAskDuelReq.proto
new file mode 100644
index 00000000..4991d105
--- /dev/null
+++ b/proto/GCGAskDuelReq.proto
@@ -0,0 +1,31 @@
+// 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 GCGAskDuelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7034;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GCGAskDuelRsp.proto b/proto/GCGAskDuelRsp.proto
new file mode 100644
index 00000000..4fb92df2
--- /dev/null
+++ b/proto/GCGAskDuelRsp.proto
@@ -0,0 +1,35 @@
+// 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 "GCGDuel.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGAskDuelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7564;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GCGDuel duel = 9;
+ int32 retcode = 2;
+}
diff --git a/proto/GCGAttackCostInfo.proto b/proto/GCGAttackCostInfo.proto
new file mode 100644
index 00000000..94dac77a
--- /dev/null
+++ b/proto/GCGAttackCostInfo.proto
@@ -0,0 +1,27 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGAttackCostInfo {
+ repeated Uint32Pair cost_map = 1;
+ uint32 skill_id = 7;
+}
diff --git a/proto/GCGBackToDuelReq.proto b/proto/GCGBackToDuelReq.proto
new file mode 100644
index 00000000..fbebda2a
--- /dev/null
+++ b/proto/GCGBackToDuelReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGBackToDuelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7015;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_back = 10;
+}
diff --git a/proto/GCGBackToDuelRsp.proto b/proto/GCGBackToDuelRsp.proto
new file mode 100644
index 00000000..eba41c60
--- /dev/null
+++ b/proto/GCGBackToDuelRsp.proto
@@ -0,0 +1,32 @@
+// 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 GCGBackToDuelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7039;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/GCGBasicDataNotify.proto b/proto/GCGBasicDataNotify.proto
new file mode 100644
index 00000000..6629b1e3
--- /dev/null
+++ b/proto/GCGBasicDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 GCGBasicDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7739;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level = 6;
+ uint32 exp = 4;
+ repeated uint32 level_reward_taken_list = 14;
+}
diff --git a/proto/GCGBossChallengeData.proto b/proto/GCGBossChallengeData.proto
new file mode 100644
index 00000000..de70220b
--- /dev/null
+++ b/proto/GCGBossChallengeData.proto
@@ -0,0 +1,25 @@
+// 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 GCGBossChallengeData {
+ repeated uint32 unlock_level_id_list = 3;
+ uint32 id = 10;
+}
diff --git a/proto/GCGBossChallengeUpdateNotify.proto b/proto/GCGBossChallengeUpdateNotify.proto
new file mode 100644
index 00000000..134904eb
--- /dev/null
+++ b/proto/GCGBossChallengeUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GCGBossChallengeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGBossChallengeUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7852;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GCGBossChallengeData boss_challenge = 7;
+}
diff --git a/proto/GCGCard.proto b/proto/GCGCard.proto
new file mode 100644
index 00000000..d0e3eec9
--- /dev/null
+++ b/proto/GCGCard.proto
@@ -0,0 +1,35 @@
+// 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 "GCGSkillLimitsInfo.proto";
+import "GCGToken.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGCard {
+ repeated uint32 tag_list = 7;
+ uint32 guid = 11;
+ bool is_show = 15;
+ repeated GCGToken token_list = 8;
+ uint32 face_type = 2;
+ repeated uint32 skill_id_list = 13;
+ repeated GCGSkillLimitsInfo skill_limits_list = 3;
+ uint32 id = 6;
+ uint32 controller_id = 5;
+}
diff --git a/proto/GCGCardSkillLimitsInfo.proto b/proto/GCGCardSkillLimitsInfo.proto
new file mode 100644
index 00000000..cbaed418
--- /dev/null
+++ b/proto/GCGCardSkillLimitsInfo.proto
@@ -0,0 +1,26 @@
+// 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 "GCGSkillLimitsInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGCardSkillLimitsInfo {
+ repeated GCGSkillLimitsInfo skill_limits_list = 1;
+}
diff --git a/proto/GCGChallengeData.proto b/proto/GCGChallengeData.proto
new file mode 100644
index 00000000..1018e32c
--- /dev/null
+++ b/proto/GCGChallengeData.proto
@@ -0,0 +1,27 @@
+// 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 GCGChallengeData {
+ uint32 challenge_id = 1;
+ uint32 challenge_type = 2;
+ repeated uint32 param_list = 3;
+ uint32 progress = 4;
+}
diff --git a/proto/GCGChallengeUpdateNotify.proto b/proto/GCGChallengeUpdateNotify.proto
new file mode 100644
index 00000000..8c92e690
--- /dev/null
+++ b/proto/GCGChallengeUpdateNotify.proto
@@ -0,0 +1,35 @@
+// 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 "GCGDuelChallenge.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGChallengeUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7270;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 server_seq = 15;
+ GCGDuelChallenge challenge = 1;
+}
diff --git a/proto/GCGChangeOnstageInfo.proto b/proto/GCGChangeOnstageInfo.proto
new file mode 100644
index 00000000..6508074c
--- /dev/null
+++ b/proto/GCGChangeOnstageInfo.proto
@@ -0,0 +1,28 @@
+// 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 "GCGSkillPreviewInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGChangeOnstageInfo {
+ bool is_quick = 11;
+ uint32 card_guid = 6;
+ GCGSkillPreviewInfo change_onstage_preview_info = 5;
+}
diff --git a/proto/GCGClientPerformType.proto b/proto/GCGClientPerformType.proto
new file mode 100644
index 00000000..9b27a6fb
--- /dev/null
+++ b/proto/GCGClientPerformType.proto
@@ -0,0 +1,27 @@
+// 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 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..5d93d1b4
--- /dev/null
+++ b/proto/GCGClientSettleReq.proto
@@ -0,0 +1,31 @@
+// 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 GCGClientSettleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7035;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GCGClientSettleRsp.proto b/proto/GCGClientSettleRsp.proto
new file mode 100644
index 00000000..f6718830
--- /dev/null
+++ b/proto/GCGClientSettleRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGClientSettleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7532;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 close_time = 5;
+ int32 retcode = 9;
+}
diff --git a/proto/GCGControllerShowInfo.proto b/proto/GCGControllerShowInfo.proto
new file mode 100644
index 00000000..90769e7f
--- /dev/null
+++ b/proto/GCGControllerShowInfo.proto
@@ -0,0 +1,30 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGControllerShowInfo {
+ string psn_id = 12;
+ string nick_name = 10;
+ string online_id = 15;
+ ProfilePicture profile_picture = 3;
+ uint32 controller_id = 11;
+}
diff --git a/proto/GCGCostReviseInfo.proto b/proto/GCGCostReviseInfo.proto
new file mode 100644
index 00000000..0760e431
--- /dev/null
+++ b/proto/GCGCostReviseInfo.proto
@@ -0,0 +1,32 @@
+// 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 "GCGAttackCostInfo.proto";
+import "GCGPlayCardCostInfo.proto";
+import "GCGSelectOnStageCostInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGCostReviseInfo {
+ repeated uint32 can_use_hand_card_id_list = 15;
+ repeated GCGSelectOnStageCostInfo select_on_stage_cost_list = 13;
+ repeated GCGPlayCardCostInfo play_card_cost_list = 5;
+ repeated GCGAttackCostInfo attack_cost_list = 12;
+ bool is_can_attack = 14;
+}
diff --git a/proto/GCGDSBanCardNotify.proto b/proto/GCGDSBanCardNotify.proto
new file mode 100644
index 00000000..5aea0264
--- /dev/null
+++ b/proto/GCGDSBanCardNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDSBanCardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7135;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 card_list = 10;
+}
diff --git a/proto/GCGDSCardBackUnlockNotify.proto b/proto/GCGDSCardBackUnlockNotify.proto
new file mode 100644
index 00000000..bafb2d08
--- /dev/null
+++ b/proto/GCGDSCardBackUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDSCardBackUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7078;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_back_id = 13;
+}
diff --git a/proto/GCGDSCardData.proto b/proto/GCGDSCardData.proto
new file mode 100644
index 00000000..8b8a6304
--- /dev/null
+++ b/proto/GCGDSCardData.proto
@@ -0,0 +1,29 @@
+// 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 GCGDSCardData {
+ uint32 num = 11;
+ uint32 face_type = 5;
+ uint32 card_id = 4;
+ repeated uint32 Unk3300_CIGGHHIHJFM = 14;
+ repeated uint32 Unk3300_OAFMDJCPCJH = 6;
+ uint32 proficiency = 10;
+}
diff --git a/proto/GCGDSCardFaceUnlockNotify.proto b/proto/GCGDSCardFaceUnlockNotify.proto
new file mode 100644
index 00000000..f7a12564
--- /dev/null
+++ b/proto/GCGDSCardFaceUnlockNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSCardFaceUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7767;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 face_type = 13;
+ uint32 card_id = 8;
+}
diff --git a/proto/GCGDSCardFaceUpdateNotify.proto b/proto/GCGDSCardFaceUpdateNotify.proto
new file mode 100644
index 00000000..59334920
--- /dev/null
+++ b/proto/GCGDSCardFaceUpdateNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSCardFaceUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7066;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 9;
+ uint32 face_type = 1;
+}
diff --git a/proto/GCGDSCardNumChangeNotify.proto b/proto/GCGDSCardNumChangeNotify.proto
new file mode 100644
index 00000000..267f0419
--- /dev/null
+++ b/proto/GCGDSCardNumChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSCardNumChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7244;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 num = 1;
+ uint32 card_id = 15;
+}
diff --git a/proto/GCGDSCardProficiencyNotify.proto b/proto/GCGDSCardProficiencyNotify.proto
new file mode 100644
index 00000000..6c45a0f8
--- /dev/null
+++ b/proto/GCGDSCardProficiencyNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSCardProficiencyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7969;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 proficiency = 10;
+ uint32 card_id = 13;
+}
diff --git a/proto/GCGDSChangeCardBackReq.proto b/proto/GCGDSChangeCardBackReq.proto
new file mode 100644
index 00000000..00a6f800
--- /dev/null
+++ b/proto/GCGDSChangeCardBackReq.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeCardBackReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7680;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_back_id = 15;
+ uint32 deck_id = 13;
+}
diff --git a/proto/GCGDSChangeCardBackRsp.proto b/proto/GCGDSChangeCardBackRsp.proto
new file mode 100644
index 00000000..e667280c
--- /dev/null
+++ b/proto/GCGDSChangeCardBackRsp.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeCardBackRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7011;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint32 card_back_id = 5;
+ uint32 deck_id = 9;
+}
diff --git a/proto/GCGDSChangeCardFaceReq.proto b/proto/GCGDSChangeCardFaceReq.proto
new file mode 100644
index 00000000..a296a678
--- /dev/null
+++ b/proto/GCGDSChangeCardFaceReq.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeCardFaceReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7010;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_id = 9;
+ uint32 face_type = 14;
+}
diff --git a/proto/GCGDSChangeCardFaceRsp.proto b/proto/GCGDSChangeCardFaceRsp.proto
new file mode 100644
index 00000000..6bcd7e41
--- /dev/null
+++ b/proto/GCGDSChangeCardFaceRsp.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeCardFaceRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7549;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 face_type = 9;
+ int32 retcode = 5;
+ uint32 card_id = 8;
+}
diff --git a/proto/GCGDSChangeCurDeckReq.proto b/proto/GCGDSChangeCurDeckReq.proto
new file mode 100644
index 00000000..407d1917
--- /dev/null
+++ b/proto/GCGDSChangeCurDeckReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSChangeCurDeckReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7257;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 deck_id = 13;
+}
diff --git a/proto/GCGDSChangeCurDeckRsp.proto b/proto/GCGDSChangeCurDeckRsp.proto
new file mode 100644
index 00000000..0f3a769f
--- /dev/null
+++ b/proto/GCGDSChangeCurDeckRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSChangeCurDeckRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7908;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ uint32 deck_id = 3;
+}
diff --git a/proto/GCGDSChangeDeckNameReq.proto b/proto/GCGDSChangeDeckNameReq.proto
new file mode 100644
index 00000000..43125780
--- /dev/null
+++ b/proto/GCGDSChangeDeckNameReq.proto
@@ -0,0 +1,35 @@
+// 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 GCGDSChangeDeckNameReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7463;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool Unk3300_OIPMFIIBPHB = 11;
+ uint32 deck_id = 2;
+ string name = 1;
+}
diff --git a/proto/GCGDSChangeDeckNameRsp.proto b/proto/GCGDSChangeDeckNameRsp.proto
new file mode 100644
index 00000000..7d1c0204
--- /dev/null
+++ b/proto/GCGDSChangeDeckNameRsp.proto
@@ -0,0 +1,35 @@
+// 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 GCGDSChangeDeckNameRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7617;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_OIPMFIIBPHB = 5;
+ int32 retcode = 15;
+ uint32 deck_id = 10;
+ string name = 7;
+}
diff --git a/proto/GCGDSChangeFieldReq.proto b/proto/GCGDSChangeFieldReq.proto
new file mode 100644
index 00000000..b360ba37
--- /dev/null
+++ b/proto/GCGDSChangeFieldReq.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeFieldReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7788;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 field_id = 3;
+ uint32 deck_id = 13;
+}
diff --git a/proto/GCGDSChangeFieldRsp.proto b/proto/GCGDSChangeFieldRsp.proto
new file mode 100644
index 00000000..1f440694
--- /dev/null
+++ b/proto/GCGDSChangeFieldRsp.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSChangeFieldRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7036;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 deck_id = 6;
+ uint32 field_id = 1;
+}
diff --git a/proto/GCGDSCurDeckChangeNotify.proto b/proto/GCGDSCurDeckChangeNotify.proto
new file mode 100644
index 00000000..12bd1f2d
--- /dev/null
+++ b/proto/GCGDSCurDeckChangeNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDSCurDeckChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7769;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 deck_id = 3;
+}
diff --git a/proto/GCGDSDataNotify.proto b/proto/GCGDSDataNotify.proto
new file mode 100644
index 00000000..c88c06d7
--- /dev/null
+++ b/proto/GCGDSDataNotify.proto
@@ -0,0 +1,40 @@
+// 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 "GCGDSCardData.proto";
+import "GCGDSDeckData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGDSDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7850;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_deck_id = 8;
+ repeated GCGDSDeckData deck_list = 3;
+ repeated uint32 Unk3300_GEBHJAGKEID = 10;
+ repeated GCGDSCardData card_list = 9;
+ repeated uint32 Unk3300_AAEAECGPHBH = 5;
+ repeated uint32 Unk3300_JJCEINFHKOG = 6;
+}
diff --git a/proto/GCGDSDeckData.proto b/proto/GCGDSDeckData.proto
new file mode 100644
index 00000000..6bfa1c3e
--- /dev/null
+++ b/proto/GCGDSDeckData.proto
@@ -0,0 +1,31 @@
+// 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 GCGDSDeckData {
+ fixed32 create_time = 5;
+ uint32 field_id = 13;
+ uint32 card_back_id = 9;
+ repeated uint32 card_list = 1;
+ repeated uint32 character_card_list = 7;
+ uint32 id = 12;
+ string name = 10;
+ bool is_valid = 15;
+}
diff --git a/proto/GCGDSDeckSaveReq.proto b/proto/GCGDSDeckSaveReq.proto
new file mode 100644
index 00000000..2fcf9e76
--- /dev/null
+++ b/proto/GCGDSDeckSaveReq.proto
@@ -0,0 +1,36 @@
+// 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 GCGDSDeckSaveReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7713;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 deck_id = 4;
+ repeated uint32 card_list = 11;
+ repeated uint32 character_card_list = 6;
+ string name = 5;
+}
diff --git a/proto/GCGDSDeckSaveRsp.proto b/proto/GCGDSDeckSaveRsp.proto
new file mode 100644
index 00000000..93049ba2
--- /dev/null
+++ b/proto/GCGDSDeckSaveRsp.proto
@@ -0,0 +1,35 @@
+// 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 GCGDSDeckSaveRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7459;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ bool is_valid = 5;
+ uint32 deck_id = 15;
+ fixed32 create_time = 7;
+}
diff --git a/proto/GCGDSDeckUnlockNotify.proto b/proto/GCGDSDeckUnlockNotify.proto
new file mode 100644
index 00000000..dd2dc2fd
--- /dev/null
+++ b/proto/GCGDSDeckUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDSDeckUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 deck_id = 14;
+}
diff --git a/proto/GCGDSDeckUpdateNotify.proto b/proto/GCGDSDeckUpdateNotify.proto
new file mode 100644
index 00000000..eb4f00c3
--- /dev/null
+++ b/proto/GCGDSDeckUpdateNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSDeckUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7751;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_valid = 2;
+ uint32 deck_id = 15;
+}
diff --git a/proto/GCGDSDeleteDeckReq.proto b/proto/GCGDSDeleteDeckReq.proto
new file mode 100644
index 00000000..ff7877c1
--- /dev/null
+++ b/proto/GCGDSDeleteDeckReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSDeleteDeckReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7821;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 deck_id = 1;
+}
diff --git a/proto/GCGDSDeleteDeckRsp.proto b/proto/GCGDSDeleteDeckRsp.proto
new file mode 100644
index 00000000..2a3a2a7b
--- /dev/null
+++ b/proto/GCGDSDeleteDeckRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGDSDeleteDeckRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7067;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 deck_id = 14;
+ int32 retcode = 13;
+}
diff --git a/proto/GCGDSFieldUnlockNotify.proto b/proto/GCGDSFieldUnlockNotify.proto
new file mode 100644
index 00000000..9a7c9a3e
--- /dev/null
+++ b/proto/GCGDSFieldUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDSFieldUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7860;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 field_id = 12;
+}
diff --git a/proto/GCGDSTakeCardProficiencyRewardReq.proto b/proto/GCGDSTakeCardProficiencyRewardReq.proto
new file mode 100644
index 00000000..98e85498
--- /dev/null
+++ b/proto/GCGDSTakeCardProficiencyRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSTakeCardProficiencyRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7001;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_index = 15;
+ uint32 card_id = 3;
+}
diff --git a/proto/GCGDSTakeCardProficiencyRewardRsp.proto b/proto/GCGDSTakeCardProficiencyRewardRsp.proto
new file mode 100644
index 00000000..d1da6c45
--- /dev/null
+++ b/proto/GCGDSTakeCardProficiencyRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 GCGDSTakeCardProficiencyRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7718;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 6;
+ int32 retcode = 1;
+ uint32 reward_index = 15;
+}
diff --git a/proto/GCGDamageDetail.proto b/proto/GCGDamageDetail.proto
new file mode 100644
index 00000000..b170ec7d
--- /dev/null
+++ b/proto/GCGDamageDetail.proto
@@ -0,0 +1,25 @@
+// 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 GCGDamageDetail {
+ uint32 card_guid = 4;
+ uint32 skill_id = 12;
+}
diff --git a/proto/GCGDebugReplayNotify.proto b/proto/GCGDebugReplayNotify.proto
new file mode 100644
index 00000000..3dbd66ef
--- /dev/null
+++ b/proto/GCGDebugReplayNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGDebugReplayNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7071;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string json_str = 15;
+}
diff --git a/proto/GCGDiceSideType.proto b/proto/GCGDiceSideType.proto
new file mode 100644
index 00000000..b18d64f1
--- /dev/null
+++ b/proto/GCGDiceSideType.proto
@@ -0,0 +1,32 @@
+// 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 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..663dd91c
--- /dev/null
+++ b/proto/GCGDuel.proto
@@ -0,0 +1,54 @@
+// 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 "GCGCard.proto";
+import "GCGControllerShowInfo.proto";
+import "GCGCostReviseInfo.proto";
+import "GCGDuelChallenge.proto";
+import "GCGGameBusinessType.proto";
+import "GCGMessagePack.proto";
+import "GCGPVEIntention.proto";
+import "GCGPhase.proto";
+import "GCGPlayerField.proto";
+import "Unk3300_ADHENCIFKNI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGDuel {
+ uint32 server_seq = 3;
+ repeated GCGControllerShowInfo show_info_list = 7;
+ repeated uint32 forbid_finish_challenge_list = 192;
+ repeated GCGCard card_list = 1;
+ uint32 Unk3300_BIANMOPDEHO = 9;
+ GCGCostReviseInfo cost_revise = 8;
+ uint32 game_id = 4;
+ repeated GCGPlayerField field_list = 5;
+ repeated Unk3300_ADHENCIFKNI Unk3300_CDCMBOKBLAK = 1987;
+ GCGGameBusinessType business_type = 13;
+ repeated GCGPVEIntention intention_list = 2;
+ repeated GCGDuelChallenge challenge_list = 1617;
+ repeated GCGCard history_card_list = 1872;
+ uint32 round = 11;
+ uint32 controller_id = 12;
+ repeated GCGMessagePack history_msg_pack_list = 797;
+ uint32 Unk3300_JHDDNKFPINA = 10;
+ repeated uint32 card_id_list = 6;
+ uint32 Unk3300_JBBMBKGOONO = 15;
+ GCGPhase phase = 14;
+}
diff --git a/proto/GCGDuelChallenge.proto b/proto/GCGDuelChallenge.proto
new file mode 100644
index 00000000..23ea62b7
--- /dev/null
+++ b/proto/GCGDuelChallenge.proto
@@ -0,0 +1,26 @@
+// 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 GCGDuelChallenge {
+ uint32 challenge_id = 12;
+ uint32 cur_progress = 2;
+ uint32 total_progress = 4;
+}
diff --git a/proto/GCGDuelExtra.proto b/proto/GCGDuelExtra.proto
new file mode 100644
index 00000000..8767c4a9
--- /dev/null
+++ b/proto/GCGDuelExtra.proto
@@ -0,0 +1,39 @@
+// 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 "GCGChallengeData.proto";
+import "PlatformType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGDuelExtra {
+ repeated uint32 card_id_list = 1;
+ uint32 field_id = 2;
+ uint32 card_back_id = 3;
+ map card_face_map = 4;
+ repeated GCGChallengeData challenge_list = 5;
+ uint32 score = 6;
+ bool is_match_ai = 7;
+ uint32 ai_deck_id = 8;
+ bool is_internal = 9;
+ repeated uint32 forbid_finish_challenge_list = 10;
+ uint32 level = 11;
+ uint32 client_version = 12;
+ PlatformType platform_type = 13;
+}
diff --git a/proto/GCGEndReason.proto b/proto/GCGEndReason.proto
new file mode 100644
index 00000000..f0928ae4
--- /dev/null
+++ b/proto/GCGEndReason.proto
@@ -0,0 +1,34 @@
+// 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 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;
+}
diff --git a/proto/GCGGameBriefData.proto b/proto/GCGGameBriefData.proto
new file mode 100644
index 00000000..5a4716f4
--- /dev/null
+++ b/proto/GCGGameBriefData.proto
@@ -0,0 +1,32 @@
+// 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 "GCGGameBusinessType.proto";
+import "GCGPlayerBriefData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGGameBriefData {
+ uint32 Unk3300_NCLDOGNCHGF = 13;
+ GCGGameBusinessType business_type = 8;
+ uint32 Unk3300_FJJDMIBIBJN = 14;
+ uint32 platform_type = 6;
+ uint32 game_id = 12;
+ repeated GCGPlayerBriefData player_brief_list = 5;
+}
diff --git a/proto/GCGGameBriefDataNotify.proto b/proto/GCGGameBriefDataNotify.proto
new file mode 100644
index 00000000..ba194b01
--- /dev/null
+++ b/proto/GCGGameBriefDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "GCGGameBriefData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGGameBriefDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7824;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GCGGameBriefData gcg_brief_data = 3;
+ bool is_new_game = 4;
+}
diff --git a/proto/GCGGameBusinessType.proto b/proto/GCGGameBusinessType.proto
new file mode 100644
index 00000000..bff95795
--- /dev/null
+++ b/proto/GCGGameBusinessType.proto
@@ -0,0 +1,35 @@
+// 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 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;
+}
diff --git a/proto/GCGGameCreateFailReasonNotify.proto b/proto/GCGGameCreateFailReasonNotify.proto
new file mode 100644
index 00000000..2e8857b4
--- /dev/null
+++ b/proto/GCGGameCreateFailReasonNotify.proto
@@ -0,0 +1,41 @@
+// 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 GCGGameCreateFailReasonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7658;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ 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;
+ }
+
+ GCGGameCreateReason reason = 7;
+}
diff --git a/proto/GCGGameMaxNotify.proto b/proto/GCGGameMaxNotify.proto
new file mode 100644
index 00000000..c08a6b96
--- /dev/null
+++ b/proto/GCGGameMaxNotify.proto
@@ -0,0 +1,30 @@
+// 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 GCGGameMaxNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7226;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/GCGGrowthLevelNotify.proto b/proto/GCGGrowthLevelNotify.proto
new file mode 100644
index 00000000..524c946d
--- /dev/null
+++ b/proto/GCGGrowthLevelNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGGrowthLevelNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7343;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level = 10;
+ uint32 exp = 2;
+}
diff --git a/proto/GCGGrowthLevelRewardNotify.proto b/proto/GCGGrowthLevelRewardNotify.proto
new file mode 100644
index 00000000..1721208f
--- /dev/null
+++ b/proto/GCGGrowthLevelRewardNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGGrowthLevelRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7934;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 level_reward_taken_list = 2;
+}
diff --git a/proto/GCGGrowthLevelTakeRewardReq.proto b/proto/GCGGrowthLevelTakeRewardReq.proto
new file mode 100644
index 00000000..fc55675c
--- /dev/null
+++ b/proto/GCGGrowthLevelTakeRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGGrowthLevelTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7486;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level = 12;
+}
diff --git a/proto/GCGGrowthLevelTakeRewardRsp.proto b/proto/GCGGrowthLevelTakeRewardRsp.proto
new file mode 100644
index 00000000..cf5ef4c5
--- /dev/null
+++ b/proto/GCGGrowthLevelTakeRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGGrowthLevelTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7602;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 level = 11;
+}
diff --git a/proto/GCGHeartBeatNotify.proto b/proto/GCGHeartBeatNotify.proto
new file mode 100644
index 00000000..5a444a54
--- /dev/null
+++ b/proto/GCGHeartBeatNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGHeartBeatNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7576;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 server_seq = 12;
+}
diff --git a/proto/GCGInitFinishReq.proto b/proto/GCGInitFinishReq.proto
new file mode 100644
index 00000000..183fdc83
--- /dev/null
+++ b/proto/GCGInitFinishReq.proto
@@ -0,0 +1,31 @@
+// 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 GCGInitFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7348;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GCGInitFinishRsp.proto b/proto/GCGInitFinishRsp.proto
new file mode 100644
index 00000000..f21fe46d
--- /dev/null
+++ b/proto/GCGInitFinishRsp.proto
@@ -0,0 +1,32 @@
+// 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 GCGInitFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7369;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/GCGIntentionChangeType.proto b/proto/GCGIntentionChangeType.proto
new file mode 100644
index 00000000..040178fe
--- /dev/null
+++ b/proto/GCGIntentionChangeType.proto
@@ -0,0 +1,25 @@
+// 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 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..5b4c55f6
--- /dev/null
+++ b/proto/GCGInviteBattleNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGInviteBattleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7448;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 confirm_end_time = 1;
+}
diff --git a/proto/GCGInviteGuestBattleReq.proto b/proto/GCGInviteGuestBattleReq.proto
new file mode 100644
index 00000000..2768a0bb
--- /dev/null
+++ b/proto/GCGInviteGuestBattleReq.proto
@@ -0,0 +1,33 @@
+// 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 GCGInviteGuestBattleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7202;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 8;
+}
diff --git a/proto/GCGInviteGuestBattleRsp.proto b/proto/GCGInviteGuestBattleRsp.proto
new file mode 100644
index 00000000..b3a55841
--- /dev/null
+++ b/proto/GCGInviteGuestBattleRsp.proto
@@ -0,0 +1,35 @@
+// 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 GCGInviteGuestBattleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7997;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 12;
+ int32 retcode = 13;
+ uint32 punish_end_time = 3;
+ uint32 confirm_end_time = 7;
+}
diff --git a/proto/GCGLevelChallengeDeleteNotify.proto b/proto/GCGLevelChallengeDeleteNotify.proto
new file mode 100644
index 00000000..d653c52a
--- /dev/null
+++ b/proto/GCGLevelChallengeDeleteNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGLevelChallengeDeleteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7993;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 level_id_list = 6;
+}
diff --git a/proto/GCGLevelChallengeFinishNotify.proto b/proto/GCGLevelChallengeFinishNotify.proto
new file mode 100644
index 00000000..e2050bd7
--- /dev/null
+++ b/proto/GCGLevelChallengeFinishNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGLevelChallengeFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7004;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 14;
+ repeated uint32 finished_challenge_id_list = 3;
+}
diff --git a/proto/GCGLevelChallengeNotify.proto b/proto/GCGLevelChallengeNotify.proto
new file mode 100644
index 00000000..29f4d3e2
--- /dev/null
+++ b/proto/GCGLevelChallengeNotify.proto
@@ -0,0 +1,37 @@
+// 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 "GCGBossChallengeData.proto";
+import "GCGLevelData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGLevelChallengeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7183;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GCGBossChallengeData unlock_boss_challenge_list = 11;
+ repeated uint32 unlock_world_challenge_list = 3;
+ repeated GCGLevelData level_list = 4;
+}
diff --git a/proto/GCGLevelData.proto b/proto/GCGLevelData.proto
new file mode 100644
index 00000000..7f774357
--- /dev/null
+++ b/proto/GCGLevelData.proto
@@ -0,0 +1,25 @@
+// 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 GCGLevelData {
+ repeated uint32 finished_challenge_id_list = 13;
+ uint32 level_id = 7;
+}
diff --git a/proto/GCGLevelType.proto b/proto/GCGLevelType.proto
new file mode 100644
index 00000000..fc94f582
--- /dev/null
+++ b/proto/GCGLevelType.proto
@@ -0,0 +1,32 @@
+// 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 GCGLevelType {
+ GCG_LEVEL_TYPE_NONE = 0;
+ GCG_LEVEL_TYPE_CONST = 1;
+ GCG_LEVEL_TYPE_WEEK = 2;
+ GCG_LEVEL_TYPE_WORLD = 3;
+ GCG_LEVEL_TYPE_BOSS = 4;
+ GCG_LEVEL_TYPE_CHARACTER = 5;
+ GCG_LEVEL_TYPE_BREAK = 6;
+ GCG_LEVEL_TYPE_QUEST = 7;
+ GCG_LEVEL_TYPE_GUIDE_GROUP = 8;
+}
diff --git a/proto/GCGLimitsInfo.proto b/proto/GCGLimitsInfo.proto
new file mode 100644
index 00000000..95374784
--- /dev/null
+++ b/proto/GCGLimitsInfo.proto
@@ -0,0 +1,25 @@
+// 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 GCGLimitsInfo {
+ uint32 Unk3300_MNCNOLHHGPA = 7;
+ uint32 Unk3300_PHKPKFBDGJF = 13;
+}
diff --git a/proto/GCGMatchInfo.proto b/proto/GCGMatchInfo.proto
new file mode 100644
index 00000000..6bc4f826
--- /dev/null
+++ b/proto/GCGMatchInfo.proto
@@ -0,0 +1,26 @@
+// 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 "MatchPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMatchInfo {
+ repeated MatchPlayerInfo player_list = 15;
+}
diff --git a/proto/GCGMessage.proto b/proto/GCGMessage.proto
new file mode 100644
index 00000000..173a5acc
--- /dev/null
+++ b/proto/GCGMessage.proto
@@ -0,0 +1,94 @@
+// 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 "GCGMsgAddCards.proto";
+import "GCGMsgAddDice.proto";
+import "GCGMsgCardUpdate.proto";
+import "GCGMsgCharDie.proto";
+import "GCGMsgClientPerform.proto";
+import "GCGMsgCostDice.proto";
+import "GCGMsgCostRevise.proto";
+import "GCGMsgDiceReroll.proto";
+import "GCGMsgDiceRoll.proto";
+import "GCGMsgDuelDataChange.proto";
+import "GCGMsgGameOver.proto";
+import "GCGMsgModifyAdd.proto";
+import "GCGMsgModifyRemove.proto";
+import "GCGMsgMoveCard.proto";
+import "GCGMsgNewCard.proto";
+import "GCGMsgNoDamageSkillResult.proto";
+import "GCGMsgOpTimer.proto";
+import "GCGMsgPVEIntentionChange.proto";
+import "GCGMsgPVEIntentionInfo.proto";
+import "GCGMsgPass.proto";
+import "GCGMsgPhaseChange.proto";
+import "GCGMsgPhaseContinue.proto";
+import "GCGMsgReactionBegin.proto";
+import "GCGMsgReactionEnd.proto";
+import "GCGMsgRemoveCards.proto";
+import "GCGMsgSelectOnStage.proto";
+import "GCGMsgSelectOnStageByEffect.proto";
+import "GCGMsgSkillLimitsChange.proto";
+import "GCGMsgSkillResult.proto";
+import "GCGMsgTokenChange.proto";
+import "GCGMsgUpdateController.proto";
+import "GCGMsgUseSkill.proto";
+import "GCGMsgUseSkillEnd.proto";
+import "GCGMsgWaitingListChange.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMessage {
+ oneof message {
+ GCGMsgTokenChange token_change = 2;
+ GCGMsgPhaseChange phase_change = 10;
+ GCGMsgAddCards add_cards = 5;
+ GCGMsgRemoveCards remove_cards = 12;
+ GCGMsgSelectOnStage select_on_stage = 6;
+ GCGMsgDiceRoll dice_roll = 14;
+ GCGMsgDiceReroll dice_reroll = 15;
+ GCGMsgPass pass = 8;
+ GCGMsgCharDie char_die = 4;
+ GCGMsgSkillResult skill_result = 3;
+ GCGMsgCostDice cost_dice = 13;
+ GCGMsgAddDice add_dice = 7;
+ GCGMsgMoveCard move_card = 11;
+ GCGMsgUseSkill use_skill = 1;
+ GCGMsgNewCard new_card = 296;
+ GCGMsgUpdateController update_controller = 1111;
+ GCGMsgModifyAdd modify_add = 1733;
+ GCGMsgModifyRemove modify_remove = 2014;
+ GCGMsgUseSkillEnd use_skill_end = 1368;
+ GCGMsgDuelDataChange duel_data_change = 1791;
+ GCGMsgClientPerform client_perform = 1677;
+ GCGMsgGameOver game_over = 632;
+ GCGMsgOpTimer op_timer = 154;
+ GCGMsgWaitingListChange waiting_list_change = 1991;
+ GCGMsgCardUpdate card_update = 1702;
+ GCGMsgSelectOnStageByEffect select_on_stage_by_effect = 1737;
+ GCGMsgCostRevise cost_revise = 468;
+ GCGMsgPhaseContinue phase_continue = 1157;
+ GCGMsgPVEIntentionInfo pve_intention_info = 850;
+ GCGMsgPVEIntentionChange pve_intention_change = 1268;
+ GCGMsgSkillLimitsChange skill_limits_change = 710;
+ GCGMsgNoDamageSkillResult no_damage_skill_result = 773;
+ GCGMsgReactionBegin reaction_begin = 243;
+ GCGMsgReactionEnd reaction_end = 1172;
+ }
+}
diff --git a/proto/GCGMessagePack.proto b/proto/GCGMessagePack.proto
new file mode 100644
index 00000000..9bb31a30
--- /dev/null
+++ b/proto/GCGMessagePack.proto
@@ -0,0 +1,29 @@
+// 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 "GCGActionType.proto";
+import "GCGMessage.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMessagePack {
+ GCGActionType action_type = 9;
+ repeated GCGMessage msg_list = 5;
+ uint32 controller_id = 7;
+}
diff --git a/proto/GCGMessagePackNotify.proto b/proto/GCGMessagePackNotify.proto
new file mode 100644
index 00000000..bc3d4125
--- /dev/null
+++ b/proto/GCGMessagePackNotify.proto
@@ -0,0 +1,35 @@
+// 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 "GCGMessagePack.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMessagePackNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7299;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 server_seq = 2;
+ repeated GCGMessagePack msg_pack_list = 12;
+}
diff --git a/proto/GCGMsgAddCards.proto b/proto/GCGMsgAddCards.proto
new file mode 100644
index 00000000..9d7874ae
--- /dev/null
+++ b/proto/GCGMsgAddCards.proto
@@ -0,0 +1,31 @@
+// 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 "GCGReason.proto";
+import "GCGZoneType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgAddCards {
+ GCGZoneType zone = 5;
+ GCGReason reason = 7;
+ repeated uint32 card_guid_list = 4;
+ uint32 controller_id = 9;
+ uint32 pos = 14;
+}
diff --git a/proto/GCGMsgAddDice.proto b/proto/GCGMsgAddDice.proto
new file mode 100644
index 00000000..93bbdcf4
--- /dev/null
+++ b/proto/GCGMsgAddDice.proto
@@ -0,0 +1,31 @@
+// 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 "GCGDiceSideType.proto";
+import "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgAddDice {
+ map Unk3300_KFKOGOKPIFN = 13;
+ GCGReason reason = 10;
+ int32 change_count = 6;
+ map Unk3300_PCMPCCLFEIM = 11;
+ uint32 controller_id = 5;
+}
diff --git a/proto/GCGMsgCardUpdate.proto b/proto/GCGMsgCardUpdate.proto
new file mode 100644
index 00000000..2a9194b3
--- /dev/null
+++ b/proto/GCGMsgCardUpdate.proto
@@ -0,0 +1,26 @@
+// 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 "GCGCard.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgCardUpdate {
+ GCGCard card = 14;
+}
diff --git a/proto/GCGMsgCharDie.proto b/proto/GCGMsgCharDie.proto
new file mode 100644
index 00000000..12d200e7
--- /dev/null
+++ b/proto/GCGMsgCharDie.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgCharDie {
+ uint32 controller_id = 13;
+ uint32 card_guid = 7;
+}
diff --git a/proto/GCGMsgClientPerform.proto b/proto/GCGMsgClientPerform.proto
new file mode 100644
index 00000000..3c8ea249
--- /dev/null
+++ b/proto/GCGMsgClientPerform.proto
@@ -0,0 +1,27 @@
+// 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 "GCGClientPerformType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgClientPerform {
+ repeated uint32 param_list = 4;
+ GCGClientPerformType perform_type = 1;
+}
diff --git a/proto/GCGMsgCostDice.proto b/proto/GCGMsgCostDice.proto
new file mode 100644
index 00000000..262e4e7d
--- /dev/null
+++ b/proto/GCGMsgCostDice.proto
@@ -0,0 +1,28 @@
+// 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 "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgCostDice {
+ GCGReason reason = 1;
+ repeated uint32 select_dice_index_list = 12;
+ uint32 controller_id = 7;
+}
diff --git a/proto/GCGMsgCostRevise.proto b/proto/GCGMsgCostRevise.proto
new file mode 100644
index 00000000..bad4200f
--- /dev/null
+++ b/proto/GCGMsgCostRevise.proto
@@ -0,0 +1,27 @@
+// 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 "GCGCostReviseInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgCostRevise {
+ GCGCostReviseInfo cost_revise = 3;
+ uint32 controller_id = 1;
+}
diff --git a/proto/GCGMsgDiceReroll.proto b/proto/GCGMsgDiceReroll.proto
new file mode 100644
index 00000000..33c55365
--- /dev/null
+++ b/proto/GCGMsgDiceReroll.proto
@@ -0,0 +1,28 @@
+// 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 "GCGDiceSideType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgDiceReroll {
+ uint32 controller_id = 1;
+ repeated GCGDiceSideType dice_side_list = 8;
+ repeated uint32 select_dice_index_list = 12;
+}
diff --git a/proto/GCGMsgDiceRoll.proto b/proto/GCGMsgDiceRoll.proto
new file mode 100644
index 00000000..77684342
--- /dev/null
+++ b/proto/GCGMsgDiceRoll.proto
@@ -0,0 +1,28 @@
+// 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 "GCGDiceSideType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgDiceRoll {
+ uint32 controller_id = 9;
+ uint32 dice_num = 3;
+ repeated GCGDiceSideType dice_side_list = 14;
+}
diff --git a/proto/GCGMsgDuelDataChange.proto b/proto/GCGMsgDuelDataChange.proto
new file mode 100644
index 00000000..9ccee886
--- /dev/null
+++ b/proto/GCGMsgDuelDataChange.proto
@@ -0,0 +1,24 @@
+// 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 GCGMsgDuelDataChange {
+ uint32 round = 6;
+}
diff --git a/proto/GCGMsgGameOver.proto b/proto/GCGMsgGameOver.proto
new file mode 100644
index 00000000..0e73596d
--- /dev/null
+++ b/proto/GCGMsgGameOver.proto
@@ -0,0 +1,27 @@
+// 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 "GCGEndReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgGameOver {
+ GCGEndReason end_reason = 6;
+ uint32 win_controller_id = 3;
+}
diff --git a/proto/GCGMsgModifyAdd.proto b/proto/GCGMsgModifyAdd.proto
new file mode 100644
index 00000000..32c1971b
--- /dev/null
+++ b/proto/GCGMsgModifyAdd.proto
@@ -0,0 +1,30 @@
+// 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 "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgModifyAdd {
+ uint32 owner_card_guid = 11;
+ uint32 pos = 9;
+ repeated uint32 card_guid_list = 3;
+ uint32 controller_id = 12;
+ GCGReason reason = 15;
+}
diff --git a/proto/GCGMsgModifyRemove.proto b/proto/GCGMsgModifyRemove.proto
new file mode 100644
index 00000000..09d15c04
--- /dev/null
+++ b/proto/GCGMsgModifyRemove.proto
@@ -0,0 +1,29 @@
+// 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 "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgModifyRemove {
+ uint32 owner_card_guid = 7;
+ GCGReason reason = 3;
+ uint32 controller_id = 14;
+ repeated uint32 card_guid_list = 13;
+}
diff --git a/proto/GCGMsgMoveCard.proto b/proto/GCGMsgMoveCard.proto
new file mode 100644
index 00000000..871601fa
--- /dev/null
+++ b/proto/GCGMsgMoveCard.proto
@@ -0,0 +1,32 @@
+// 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 "GCGReason.proto";
+import "GCGZoneType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgMoveCard {
+ GCGZoneType Unk3300_EJHNJMBJBKG = 9;
+ repeated uint32 fail_guid_list = 2;
+ GCGZoneType Unk3300_NJILOBDEECC = 14;
+ uint32 controller_id = 4;
+ GCGReason reason = 13;
+ repeated uint32 card_guid_list = 5;
+}
diff --git a/proto/GCGMsgNewCard.proto b/proto/GCGMsgNewCard.proto
new file mode 100644
index 00000000..849eaebd
--- /dev/null
+++ b/proto/GCGMsgNewCard.proto
@@ -0,0 +1,26 @@
+// 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 "GCGCard.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgNewCard {
+ GCGCard card = 15;
+}
diff --git a/proto/GCGMsgNoDamageSkillResult.proto b/proto/GCGMsgNoDamageSkillResult.proto
new file mode 100644
index 00000000..c2584a78
--- /dev/null
+++ b/proto/GCGMsgNoDamageSkillResult.proto
@@ -0,0 +1,32 @@
+// 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 "GCGDamageDetail.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgNoDamageSkillResult {
+ uint32 Unk3300_LPGLOCDDPCL = 7;
+ uint32 Unk3300_EPNDCIAJOJP = 6;
+ uint32 target_card_guid = 3;
+ repeated GCGDamageDetail detail_list = 14;
+ uint32 skill_id = 13;
+ uint32 Unk3300_NNJAOEHNPPD = 4;
+ uint32 Unk3300_NIGDCIGLAKE = 11;
+}
diff --git a/proto/GCGMsgOpTimer.proto b/proto/GCGMsgOpTimer.proto
new file mode 100644
index 00000000..1a9069f2
--- /dev/null
+++ b/proto/GCGMsgOpTimer.proto
@@ -0,0 +1,29 @@
+// 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 "GCGPhaseType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgOpTimer {
+ GCGPhaseType phase = 13;
+ uint32 controller_id = 14;
+ fixed64 time_stamp = 15;
+ fixed64 begin_time = 6;
+}
diff --git a/proto/GCGMsgPVEDoOp.proto b/proto/GCGMsgPVEDoOp.proto
new file mode 100644
index 00000000..79e0af0c
--- /dev/null
+++ b/proto/GCGMsgPVEDoOp.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgPVEDoOp {
+ uint32 skill_id = 4;
+ uint32 card_guid = 10;
+}
diff --git a/proto/GCGMsgPVEGenCardOp.proto b/proto/GCGMsgPVEGenCardOp.proto
new file mode 100644
index 00000000..f04f21ba
--- /dev/null
+++ b/proto/GCGMsgPVEGenCardOp.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgPVEGenCardOp {
+ repeated uint32 skill_id_list = 1;
+ uint32 card_guid = 11;
+}
diff --git a/proto/GCGMsgPVEIntention.proto b/proto/GCGMsgPVEIntention.proto
new file mode 100644
index 00000000..482f124b
--- /dev/null
+++ b/proto/GCGMsgPVEIntention.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgPVEIntention {
+ uint32 card_guid = 1;
+ repeated uint32 skill_id_list = 2;
+}
diff --git a/proto/GCGMsgPVEIntentionChange.proto b/proto/GCGMsgPVEIntentionChange.proto
new file mode 100644
index 00000000..10372d78
--- /dev/null
+++ b/proto/GCGMsgPVEIntentionChange.proto
@@ -0,0 +1,28 @@
+// 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 "GCGIntentionChangeType.proto";
+import "GCGMsgPVEIntention.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgPVEIntentionChange {
+ GCGIntentionChangeType change_type = 9;
+ repeated GCGMsgPVEIntention change_intention_list = 6;
+}
diff --git a/proto/GCGMsgPVEIntentionInfo.proto b/proto/GCGMsgPVEIntentionInfo.proto
new file mode 100644
index 00000000..1bfd28fa
--- /dev/null
+++ b/proto/GCGMsgPVEIntentionInfo.proto
@@ -0,0 +1,26 @@
+// 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 "GCGMsgPVEIntention.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgPVEIntentionInfo {
+ map intention_map = 14;
+}
diff --git a/proto/GCGMsgPass.proto b/proto/GCGMsgPass.proto
new file mode 100644
index 00000000..8e9394b5
--- /dev/null
+++ b/proto/GCGMsgPass.proto
@@ -0,0 +1,24 @@
+// 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 GCGMsgPass {
+ uint32 controller_id = 14;
+}
diff --git a/proto/GCGMsgPhaseChange.proto b/proto/GCGMsgPhaseChange.proto
new file mode 100644
index 00000000..b3935487
--- /dev/null
+++ b/proto/GCGMsgPhaseChange.proto
@@ -0,0 +1,29 @@
+// 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 "GCGPhaseType.proto";
+import "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgPhaseChange {
+ GCGPhaseType Unk3300_JDPADLFFFDK = 15;
+ GCGPhaseType Unk3300_GNAIDDMDEBN = 3;
+ repeated Uint32Pair allow_controller_map = 11;
+}
diff --git a/proto/GCGMsgPhaseContinue.proto b/proto/GCGMsgPhaseContinue.proto
new file mode 100644
index 00000000..8ea39531
--- /dev/null
+++ b/proto/GCGMsgPhaseContinue.proto
@@ -0,0 +1,22 @@
+// 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 GCGMsgPhaseContinue {}
diff --git a/proto/GCGMsgReactionBegin.proto b/proto/GCGMsgReactionBegin.proto
new file mode 100644
index 00000000..fb14ab5a
--- /dev/null
+++ b/proto/GCGMsgReactionBegin.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgReactionBegin {
+ uint32 card_guid = 4;
+ uint32 skill_id = 13;
+}
diff --git a/proto/GCGMsgReactionEnd.proto b/proto/GCGMsgReactionEnd.proto
new file mode 100644
index 00000000..1c9cd687
--- /dev/null
+++ b/proto/GCGMsgReactionEnd.proto
@@ -0,0 +1,24 @@
+// 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 GCGMsgReactionEnd {
+ uint32 skill_id = 4;
+}
diff --git a/proto/GCGMsgRemoveCards.proto b/proto/GCGMsgRemoveCards.proto
new file mode 100644
index 00000000..0e28d194
--- /dev/null
+++ b/proto/GCGMsgRemoveCards.proto
@@ -0,0 +1,30 @@
+// 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 "GCGReason.proto";
+import "GCGZoneType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgRemoveCards {
+ repeated uint32 card_guid_list = 2;
+ GCGReason reason = 13;
+ uint32 controller_id = 9;
+ GCGZoneType zone = 15;
+}
diff --git a/proto/GCGMsgSelectOnStage.proto b/proto/GCGMsgSelectOnStage.proto
new file mode 100644
index 00000000..3526d86d
--- /dev/null
+++ b/proto/GCGMsgSelectOnStage.proto
@@ -0,0 +1,28 @@
+// 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 "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgSelectOnStage {
+ GCGReason reason = 11;
+ uint32 controller_id = 12;
+ uint32 card_guid = 4;
+}
diff --git a/proto/GCGMsgSelectOnStageByEffect.proto b/proto/GCGMsgSelectOnStageByEffect.proto
new file mode 100644
index 00000000..8cdb1118
--- /dev/null
+++ b/proto/GCGMsgSelectOnStageByEffect.proto
@@ -0,0 +1,26 @@
+// 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 GCGMsgSelectOnStageByEffect {
+ uint32 card_guid = 15;
+ uint32 controller_id = 2;
+ uint32 skill_id = 6;
+}
diff --git a/proto/GCGMsgSkillLimitsChange.proto b/proto/GCGMsgSkillLimitsChange.proto
new file mode 100644
index 00000000..d206b3cc
--- /dev/null
+++ b/proto/GCGMsgSkillLimitsChange.proto
@@ -0,0 +1,26 @@
+// 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 "GCGCardSkillLimitsInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgSkillLimitsChange {
+ map card_limits_change_map = 3;
+}
diff --git a/proto/GCGMsgSkillResult.proto b/proto/GCGMsgSkillResult.proto
new file mode 100644
index 00000000..8e3956c1
--- /dev/null
+++ b/proto/GCGMsgSkillResult.proto
@@ -0,0 +1,34 @@
+// 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 "GCGDamageDetail.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgSkillResult {
+ uint32 Unk3300_NIGDCIGLAKE = 9;
+ uint32 target_card_guid = 13;
+ uint32 Unk3300_PDBAGJINFPF = 4;
+ repeated GCGDamageDetail detail_list = 5;
+ uint32 skill_id = 14;
+ uint32 damage = 7;
+ uint32 Unk3300_EPNDCIAJOJP = 12;
+ uint32 Unk3300_NNJAOEHNPPD = 15;
+ uint32 Unk3300_LPGLOCDDPCL = 10;
+}
diff --git a/proto/GCGMsgTokenChange.proto b/proto/GCGMsgTokenChange.proto
new file mode 100644
index 00000000..0a1e5538
--- /dev/null
+++ b/proto/GCGMsgTokenChange.proto
@@ -0,0 +1,30 @@
+// 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 "GCGReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgTokenChange {
+ uint32 token_type = 7;
+ uint32 Unk3300_LLGHGEALDDI = 10;
+ GCGReason reason = 3;
+ uint32 Unk3300_LCNKBFBJDFM = 12;
+ uint32 card_guid = 13;
+}
diff --git a/proto/GCGMsgUpdateController.proto b/proto/GCGMsgUpdateController.proto
new file mode 100644
index 00000000..91a9de19
--- /dev/null
+++ b/proto/GCGMsgUpdateController.proto
@@ -0,0 +1,26 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGMsgUpdateController {
+ repeated Uint32Pair allow_controller_map = 10;
+}
diff --git a/proto/GCGMsgUseSkill.proto b/proto/GCGMsgUseSkill.proto
new file mode 100644
index 00000000..5407a989
--- /dev/null
+++ b/proto/GCGMsgUseSkill.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgUseSkill {
+ uint32 skill_id = 3;
+ uint32 card_guid = 10;
+}
diff --git a/proto/GCGMsgUseSkillEnd.proto b/proto/GCGMsgUseSkillEnd.proto
new file mode 100644
index 00000000..1f5d3790
--- /dev/null
+++ b/proto/GCGMsgUseSkillEnd.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgUseSkillEnd {
+ uint32 card_guid = 9;
+ uint32 skill_id = 6;
+}
diff --git a/proto/GCGMsgWaitingListChange.proto b/proto/GCGMsgWaitingListChange.proto
new file mode 100644
index 00000000..eeb0a4e2
--- /dev/null
+++ b/proto/GCGMsgWaitingListChange.proto
@@ -0,0 +1,25 @@
+// 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 GCGMsgWaitingListChange {
+ uint32 controller_id = 11;
+ uint32 cur_index = 3;
+}
diff --git a/proto/GCGNewCardInfoNotify.proto b/proto/GCGNewCardInfoNotify.proto
new file mode 100644
index 00000000..3faade4e
--- /dev/null
+++ b/proto/GCGNewCardInfoNotify.proto
@@ -0,0 +1,29 @@
+// 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 "GCGCard.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 7203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGNewCardInfoNotify {
+ GCGCard card = 1;
+}
diff --git a/proto/GCGOperation.proto b/proto/GCGOperation.proto
new file mode 100644
index 00000000..77633436
--- /dev/null
+++ b/proto/GCGOperation.proto
@@ -0,0 +1,42 @@
+// 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 "GCGOperationAttack.proto";
+import "GCGOperationOnStageSelect.proto";
+import "GCGOperationPass.proto";
+import "GCGOperationPlayCard.proto";
+import "GCGOperationReboot.proto";
+import "GCGOperationRedraw.proto";
+import "GCGOperationReroll.proto";
+import "GCGOperationSurrender.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGOperation {
+ oneof op {
+ GCGOperationRedraw op_redraw = 3;
+ GCGOperationOnStageSelect op_select_on_stage = 9;
+ GCGOperationReroll op_reroll = 4;
+ GCGOperationAttack op_attack = 7;
+ GCGOperationPass op_pass = 6;
+ GCGOperationPlayCard op_play_card = 15;
+ GCGOperationReboot op_reboot = 5;
+ GCGOperationSurrender op_surrender = 10;
+ }
+}
diff --git a/proto/GCGOperationAttack.proto b/proto/GCGOperationAttack.proto
new file mode 100644
index 00000000..b13184f8
--- /dev/null
+++ b/proto/GCGOperationAttack.proto
@@ -0,0 +1,25 @@
+// 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 GCGOperationAttack {
+ uint32 skill_id = 15;
+ repeated uint32 cost_dice_index_list = 3;
+}
diff --git a/proto/GCGOperationData.proto b/proto/GCGOperationData.proto
new file mode 100644
index 00000000..0919d9d5
--- /dev/null
+++ b/proto/GCGOperationData.proto
@@ -0,0 +1,27 @@
+// 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 "GCGOperation.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGOperationData {
+ uint32 controller_id = 2;
+ GCGOperation op = 12;
+}
diff --git a/proto/GCGOperationOnStageSelect.proto b/proto/GCGOperationOnStageSelect.proto
new file mode 100644
index 00000000..88a298b2
--- /dev/null
+++ b/proto/GCGOperationOnStageSelect.proto
@@ -0,0 +1,25 @@
+// 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 GCGOperationOnStageSelect {
+ repeated uint32 cost_dice_index_list = 10;
+ uint32 card_guid = 6;
+}
diff --git a/proto/GCGOperationPass.proto b/proto/GCGOperationPass.proto
new file mode 100644
index 00000000..8be941f0
--- /dev/null
+++ b/proto/GCGOperationPass.proto
@@ -0,0 +1,22 @@
+// 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 GCGOperationPass {}
diff --git a/proto/GCGOperationPlayCard.proto b/proto/GCGOperationPlayCard.proto
new file mode 100644
index 00000000..be391aad
--- /dev/null
+++ b/proto/GCGOperationPlayCard.proto
@@ -0,0 +1,27 @@
+// 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 GCGOperationPlayCard {
+ uint32 replace_card_guid = 8;
+ repeated uint32 target_card_guid_list = 14;
+ uint32 card_guid = 1;
+ repeated uint32 cost_dice_index_list = 11;
+}
diff --git a/proto/GCGOperationReboot.proto b/proto/GCGOperationReboot.proto
new file mode 100644
index 00000000..d1748565
--- /dev/null
+++ b/proto/GCGOperationReboot.proto
@@ -0,0 +1,25 @@
+// 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 GCGOperationReboot {
+ repeated uint32 dice_index_list = 2;
+ repeated uint32 cost_card_guid_list = 14;
+}
diff --git a/proto/GCGOperationRedraw.proto b/proto/GCGOperationRedraw.proto
new file mode 100644
index 00000000..f4ac79d0
--- /dev/null
+++ b/proto/GCGOperationRedraw.proto
@@ -0,0 +1,24 @@
+// 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 GCGOperationRedraw {
+ repeated uint32 card_list = 7;
+}
diff --git a/proto/GCGOperationReplay.proto b/proto/GCGOperationReplay.proto
new file mode 100644
index 00000000..d6418207
--- /dev/null
+++ b/proto/GCGOperationReplay.proto
@@ -0,0 +1,32 @@
+// 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 "GCGReplayControllerData.proto";
+import "GCGReplayOperationData.proto";
+import "Unk3300_PPKPCOCOMDH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGOperationReplay {
+ repeated Unk3300_PPKPCOCOMDH Unk3300_FKBLJIMBHEA = 6;
+ uint32 seed = 1;
+ repeated GCGReplayOperationData operation_data_list = 8;
+ uint32 game_id = 2;
+ repeated GCGReplayControllerData controller_data_list = 7;
+}
diff --git a/proto/GCGOperationReq.proto b/proto/GCGOperationReq.proto
new file mode 100644
index 00000000..5e9c4ec4
--- /dev/null
+++ b/proto/GCGOperationReq.proto
@@ -0,0 +1,37 @@
+// 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 "GCGOperation.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGOperationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7664;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 redirect_uid = 12;
+ uint32 op_seq = 10;
+ GCGOperation op = 8;
+}
diff --git a/proto/GCGOperationReroll.proto b/proto/GCGOperationReroll.proto
new file mode 100644
index 00000000..29ca311b
--- /dev/null
+++ b/proto/GCGOperationReroll.proto
@@ -0,0 +1,24 @@
+// 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 GCGOperationReroll {
+ repeated uint32 dice_index_list = 7;
+}
diff --git a/proto/GCGOperationRsp.proto b/proto/GCGOperationRsp.proto
new file mode 100644
index 00000000..c622231d
--- /dev/null
+++ b/proto/GCGOperationRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGOperationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7285;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 op_seq = 8;
+ int32 retcode = 7;
+}
diff --git a/proto/GCGOperationSurrender.proto b/proto/GCGOperationSurrender.proto
new file mode 100644
index 00000000..7788fe02
--- /dev/null
+++ b/proto/GCGOperationSurrender.proto
@@ -0,0 +1,22 @@
+// 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 GCGOperationSurrender {}
diff --git a/proto/GCGPVEIntention.proto b/proto/GCGPVEIntention.proto
new file mode 100644
index 00000000..e2e515cb
--- /dev/null
+++ b/proto/GCGPVEIntention.proto
@@ -0,0 +1,25 @@
+// 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 GCGPVEIntention {
+ repeated uint32 skill_id_list = 14;
+ uint32 card_guid = 15;
+}
diff --git a/proto/GCGPhase.proto b/proto/GCGPhase.proto
new file mode 100644
index 00000000..4aa2ec9c
--- /dev/null
+++ b/proto/GCGPhase.proto
@@ -0,0 +1,27 @@
+// 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 "GCGPhaseType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGPhase {
+ GCGPhaseType phase_type = 4;
+ map allow_controller_map = 12;
+}
diff --git a/proto/GCGPhaseType.proto b/proto/GCGPhaseType.proto
new file mode 100644
index 00000000..ff5668d5
--- /dev/null
+++ b/proto/GCGPhaseType.proto
@@ -0,0 +1,34 @@
+// 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 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..0ddacd38
--- /dev/null
+++ b/proto/GCGPlayCardCostInfo.proto
@@ -0,0 +1,27 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGPlayCardCostInfo {
+ uint32 card_id = 9;
+ repeated Uint32Pair cost_map = 12;
+}
diff --git a/proto/GCGPlayerBriefData.proto b/proto/GCGPlayerBriefData.proto
new file mode 100644
index 00000000..a7be375b
--- /dev/null
+++ b/proto/GCGPlayerBriefData.proto
@@ -0,0 +1,33 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGPlayerBriefData {
+ string online_id = 5;
+ uint32 uid = 9;
+ uint32 controller_id = 10;
+ ProfilePicture profile_picture = 11;
+ string nick_name = 1;
+ map card_face_map = 14;
+ repeated uint32 card_id_list = 13;
+ string psn_id = 2;
+}
diff --git a/proto/GCGPlayerField.proto b/proto/GCGPlayerField.proto
new file mode 100644
index 00000000..78a948df
--- /dev/null
+++ b/proto/GCGPlayerField.proto
@@ -0,0 +1,45 @@
+// 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 "GCGDiceSideType.proto";
+import "GCGPVEIntention.proto";
+import "GCGWaitingCharacter.proto";
+import "GCGZone.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGPlayerField {
+ uint32 Unk3300_IKJMGAHCFPM = 5;
+ map modify_zone_map = 7;
+ uint32 Unk3300_GGHKFFADEAL = 731;
+ GCGZone Unk3300_AOPJIOHMPOF = 10;
+ uint32 Unk3300_FDFPHNDOJML = 12;
+ GCGZone Unk3300_IPLMHKCNDLE = 1;
+ GCGZone Unk3300_EIHOMDLENMK = 9;
+ repeated GCGWaitingCharacter waiting_list = 2;
+ uint32 Unk3300_PBECINKKHND = 15;
+ uint32 controller_id = 6;
+ GCGZone Unk3300_INDJNJJJNKL = 11;
+ GCGZone Unk3300_EFNAEFBECHD = 4;
+ bool is_passed = 8;
+ repeated GCGPVEIntention intention_list = 304;
+ repeated GCGDiceSideType dice_side_list = 13;
+ uint32 Unk3300_FJNPFBIHFGD = 3;
+ uint32 Unk3300_GLNIFLOKBPM = 14;
+}
diff --git a/proto/GCGPlayerGCGState.proto b/proto/GCGPlayerGCGState.proto
new file mode 100644
index 00000000..12fda0c7
--- /dev/null
+++ b/proto/GCGPlayerGCGState.proto
@@ -0,0 +1,26 @@
+// 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 GCGPlayerGCGState {
+ uint32 uid = 14;
+ bool Unk3300_GIKOMFNNAAA = 11;
+ bool Unk3300_DEKGMKCCGEG = 4;
+}
diff --git a/proto/GCGReason.proto b/proto/GCGReason.proto
new file mode 100644
index 00000000..ea9dbf7b
--- /dev/null
+++ b/proto/GCGReason.proto
@@ -0,0 +1,36 @@
+// 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 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/GCGReplayControllerData.proto b/proto/GCGReplayControllerData.proto
new file mode 100644
index 00000000..5cd1a79e
--- /dev/null
+++ b/proto/GCGReplayControllerData.proto
@@ -0,0 +1,25 @@
+// 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 GCGReplayControllerData {
+ repeated uint32 card_id_list = 12;
+ uint32 controller_id = 6;
+}
diff --git a/proto/GCGReplayOperationData.proto b/proto/GCGReplayOperationData.proto
new file mode 100644
index 00000000..b0a284a0
--- /dev/null
+++ b/proto/GCGReplayOperationData.proto
@@ -0,0 +1,27 @@
+// 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 "GCGOperation.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGReplayOperationData {
+ GCGOperation op = 1;
+ uint32 controller_id = 8;
+}
diff --git a/proto/GCGResourceStateNotify.proto b/proto/GCGResourceStateNotify.proto
new file mode 100644
index 00000000..7820c2cf
--- /dev/null
+++ b/proto/GCGResourceStateNotify.proto
@@ -0,0 +1,33 @@
+// 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 GCGResourceStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7586;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_complete = 12;
+}
diff --git a/proto/GCGSelectOnStageCostInfo.proto b/proto/GCGSelectOnStageCostInfo.proto
new file mode 100644
index 00000000..322afa70
--- /dev/null
+++ b/proto/GCGSelectOnStageCostInfo.proto
@@ -0,0 +1,27 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSelectOnStageCostInfo {
+ uint32 card_guid = 3;
+ repeated Uint32Pair cost_map = 1;
+}
diff --git a/proto/GCGSettleNotify.proto b/proto/GCGSettleNotify.proto
new file mode 100644
index 00000000..09bcb295
--- /dev/null
+++ b/proto/GCGSettleNotify.proto
@@ -0,0 +1,43 @@
+// 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 "GCGEndReason.proto";
+import "GCGGameBusinessType.proto";
+import "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7562;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam reward_item_list = 8;
+ repeated uint32 finished_challenge_id_list = 1;
+ uint32 game_id = 3;
+ bool is_win = 2;
+ GCGGameBusinessType business_type = 5;
+ uint32 win_controller_id = 11;
+ repeated uint32 forbid_finish_challenge_list = 10;
+ GCGEndReason reason = 4;
+}
diff --git a/proto/GCGSettleOption.proto b/proto/GCGSettleOption.proto
new file mode 100644
index 00000000..f5a34ba7
--- /dev/null
+++ b/proto/GCGSettleOption.proto
@@ -0,0 +1,27 @@
+// 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 GCGSettleOption {
+ 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/GCGSettleOptionReq.proto b/proto/GCGSettleOptionReq.proto
new file mode 100644
index 00000000..7c7125d1
--- /dev/null
+++ b/proto/GCGSettleOptionReq.proto
@@ -0,0 +1,35 @@
+// 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 "GCGSettleOption.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSettleOptionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7600;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ GCGSettleOption option = 9;
+}
diff --git a/proto/GCGSettleOptionRsp.proto b/proto/GCGSettleOptionRsp.proto
new file mode 100644
index 00000000..52ee31b0
--- /dev/null
+++ b/proto/GCGSettleOptionRsp.proto
@@ -0,0 +1,35 @@
+// 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 "GCGSettleOption.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSettleOptionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7110;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GCGSettleOption option = 2;
+ int32 retcode = 5;
+}
diff --git a/proto/GCGSkillHpChangeType.proto b/proto/GCGSkillHpChangeType.proto
new file mode 100644
index 00000000..d3792609
--- /dev/null
+++ b/proto/GCGSkillHpChangeType.proto
@@ -0,0 +1,26 @@
+// 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 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..412595a4
--- /dev/null
+++ b/proto/GCGSkillLimitsInfo.proto
@@ -0,0 +1,27 @@
+// 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 "GCGLimitsInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillLimitsInfo {
+ uint32 skill_id = 1;
+ repeated GCGLimitsInfo limits_list = 7;
+}
diff --git a/proto/GCGSkillPreviewAskReq.proto b/proto/GCGSkillPreviewAskReq.proto
new file mode 100644
index 00000000..fd1e77ea
--- /dev/null
+++ b/proto/GCGSkillPreviewAskReq.proto
@@ -0,0 +1,31 @@
+// 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 GCGSkillPreviewAskReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7858;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GCGSkillPreviewAskRsp.proto b/proto/GCGSkillPreviewAskRsp.proto
new file mode 100644
index 00000000..20c5464c
--- /dev/null
+++ b/proto/GCGSkillPreviewAskRsp.proto
@@ -0,0 +1,32 @@
+// 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 GCGSkillPreviewAskRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7877;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+}
diff --git a/proto/GCGSkillPreviewCardInfo.proto b/proto/GCGSkillPreviewCardInfo.proto
new file mode 100644
index 00000000..ae98f099
--- /dev/null
+++ b/proto/GCGSkillPreviewCardInfo.proto
@@ -0,0 +1,31 @@
+// 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 "GCGZoneType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewCardInfo {
+ uint32 card_guid = 10;
+ uint32 face_type = 2;
+ uint32 controller_id = 11;
+ uint32 card_id = 8;
+ GCGZoneType zone_type = 14;
+ uint32 owner_card_guid = 3;
+}
diff --git a/proto/GCGSkillPreviewElementReactionInfo.proto b/proto/GCGSkillPreviewElementReactionInfo.proto
new file mode 100644
index 00000000..e2787add
--- /dev/null
+++ b/proto/GCGSkillPreviewElementReactionInfo.proto
@@ -0,0 +1,28 @@
+// 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 "GCGSkillPreviewReactionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewElementReactionInfo {
+ repeated uint32 Unk3300_JOBNBDJHAPJ = 12;
+ repeated uint32 Unk3300_BELBNDNDGAO = 14;
+ repeated GCGSkillPreviewReactionInfo reaction_list = 1;
+}
diff --git a/proto/GCGSkillPreviewExtraInfo.proto b/proto/GCGSkillPreviewExtraInfo.proto
new file mode 100644
index 00000000..3ace7adb
--- /dev/null
+++ b/proto/GCGSkillPreviewExtraInfo.proto
@@ -0,0 +1,27 @@
+// 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 "GCGSkillPreviewCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewExtraInfo {
+ repeated GCGSkillPreviewCardInfo Unk3300_KIFFJGFDNKA = 6;
+ repeated GCGSkillPreviewCardInfo Unk3300_GMEMMDJKCGN = 8;
+}
diff --git a/proto/GCGSkillPreviewHpInfo.proto b/proto/GCGSkillPreviewHpInfo.proto
new file mode 100644
index 00000000..bc10cba6
--- /dev/null
+++ b/proto/GCGSkillPreviewHpInfo.proto
@@ -0,0 +1,27 @@
+// 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 "GCGSkillHpChangeType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewHpInfo {
+ GCGSkillHpChangeType change_type = 8;
+ uint32 hp_change_value = 4;
+}
diff --git a/proto/GCGSkillPreviewInfo.proto b/proto/GCGSkillPreviewInfo.proto
new file mode 100644
index 00000000..0573aa72
--- /dev/null
+++ b/proto/GCGSkillPreviewInfo.proto
@@ -0,0 +1,38 @@
+// 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 "GCGSkillPreviewCardInfo.proto";
+import "GCGSkillPreviewElementReactionInfo.proto";
+import "GCGSkillPreviewExtraInfo.proto";
+import "GCGSkillPreviewHpInfo.proto";
+import "GCGSkillPreviewOnstageChangeInfo.proto";
+import "GCGSkillPreviewTokenChangeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewInfo {
+ repeated GCGSkillPreviewOnstageChangeInfo change_onstage_character_list = 6;
+ repeated GCGSkillPreviewCardInfo Unk3300_DAJFJEDNLKK = 15;
+ uint32 skill_id = 12;
+ map hp_info_map = 3;
+ repeated GCGSkillPreviewCardInfo Unk3300_AGNONGELFGC = 2;
+ GCGSkillPreviewExtraInfo extra_info = 11;
+ map reaction_info_map = 14;
+ map card_token_change_map = 8;
+}
diff --git a/proto/GCGSkillPreviewNotify.proto b/proto/GCGSkillPreviewNotify.proto
new file mode 100644
index 00000000..2a13a1f7
--- /dev/null
+++ b/proto/GCGSkillPreviewNotify.proto
@@ -0,0 +1,40 @@
+// 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 "GCGChangeOnstageInfo.proto";
+import "GCGSkillPreviewInfo.proto";
+import "GCGSkillPreviewPlayCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7659;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 controller_id = 13;
+ repeated GCGSkillPreviewInfo skill_preview_list = 15;
+ repeated GCGChangeOnstageInfo change_onstage_preview_list = 3;
+ repeated GCGSkillPreviewPlayCardInfo play_card_list = 11;
+ uint32 onstage_card_guid = 6;
+}
diff --git a/proto/GCGSkillPreviewOnstageChangeInfo.proto b/proto/GCGSkillPreviewOnstageChangeInfo.proto
new file mode 100644
index 00000000..65714fdb
--- /dev/null
+++ b/proto/GCGSkillPreviewOnstageChangeInfo.proto
@@ -0,0 +1,25 @@
+// 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 GCGSkillPreviewOnstageChangeInfo {
+ uint32 Unk3300_EHHDPPFDIFB = 8;
+ uint32 Unk3300_BALADGFAPKL = 14;
+}
diff --git a/proto/GCGSkillPreviewPlayCardInfo.proto b/proto/GCGSkillPreviewPlayCardInfo.proto
new file mode 100644
index 00000000..061543f7
--- /dev/null
+++ b/proto/GCGSkillPreviewPlayCardInfo.proto
@@ -0,0 +1,28 @@
+// 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 "GCGSkillPreviewInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewPlayCardInfo {
+ uint32 hand_card_guid = 15;
+ GCGSkillPreviewInfo play_card_info = 10;
+ uint32 target_card_guid = 8;
+}
diff --git a/proto/GCGSkillPreviewReactionInfo.proto b/proto/GCGSkillPreviewReactionInfo.proto
new file mode 100644
index 00000000..6ea93b80
--- /dev/null
+++ b/proto/GCGSkillPreviewReactionInfo.proto
@@ -0,0 +1,25 @@
+// 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 GCGSkillPreviewReactionInfo {
+ uint32 Unk3300_AENPLEDPMJH = 3;
+ uint32 Unk3300_PDEHPHJFAKD = 2;
+}
diff --git a/proto/GCGSkillPreviewTokenChangeInfo.proto b/proto/GCGSkillPreviewTokenChangeInfo.proto
new file mode 100644
index 00000000..c309dd68
--- /dev/null
+++ b/proto/GCGSkillPreviewTokenChangeInfo.proto
@@ -0,0 +1,26 @@
+// 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 "GCGSkillPreviewTokenInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGSkillPreviewTokenChangeInfo {
+ repeated GCGSkillPreviewTokenInfo token_change_list = 10;
+}
diff --git a/proto/GCGSkillPreviewTokenInfo.proto b/proto/GCGSkillPreviewTokenInfo.proto
new file mode 100644
index 00000000..58d4ea07
--- /dev/null
+++ b/proto/GCGSkillPreviewTokenInfo.proto
@@ -0,0 +1,26 @@
+// 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 GCGSkillPreviewTokenInfo {
+ uint32 token_type = 11;
+ uint32 Unk3300_MMIKPPJMHAD = 10;
+ uint32 Unk3300_IKICJMEFEON = 3;
+}
diff --git a/proto/GCGStartChallengeByCheckRewardReq.proto b/proto/GCGStartChallengeByCheckRewardReq.proto
new file mode 100644
index 00000000..98f10fd3
--- /dev/null
+++ b/proto/GCGStartChallengeByCheckRewardReq.proto
@@ -0,0 +1,37 @@
+// 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 "GCGLevelType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGStartChallengeByCheckRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7982;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 13;
+ GCGLevelType level_type = 3;
+ uint32 config_id = 5;
+}
diff --git a/proto/GCGStartChallengeByCheckRewardRsp.proto b/proto/GCGStartChallengeByCheckRewardRsp.proto
new file mode 100644
index 00000000..cce1408d
--- /dev/null
+++ b/proto/GCGStartChallengeByCheckRewardRsp.proto
@@ -0,0 +1,39 @@
+// 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 "GCGLevelType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGStartChallengeByCheckRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7727;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_GPDPCJLHBDE = 3;
+ uint32 level_id = 5;
+ repeated uint32 Unk3300_PKJMEJKAPBI = 8;
+ GCGLevelType level_type = 2;
+ uint32 config_id = 9;
+ int32 retcode = 12;
+}
diff --git a/proto/GCGStartChallengeReq.proto b/proto/GCGStartChallengeReq.proto
new file mode 100644
index 00000000..c5d317d9
--- /dev/null
+++ b/proto/GCGStartChallengeReq.proto
@@ -0,0 +1,37 @@
+// 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 "GCGLevelType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGStartChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7964;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ GCGLevelType level_type = 12;
+ uint32 config_id = 7;
+ uint32 level_id = 2;
+}
diff --git a/proto/GCGStartChallengeRsp.proto b/proto/GCGStartChallengeRsp.proto
new file mode 100644
index 00000000..f6c418a6
--- /dev/null
+++ b/proto/GCGStartChallengeRsp.proto
@@ -0,0 +1,37 @@
+// 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 "GCGLevelType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGStartChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7999;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 config_id = 8;
+ uint32 level_id = 5;
+ GCGLevelType level_type = 11;
+ int32 retcode = 1;
+}
diff --git a/proto/GCGTCInviteReq.proto b/proto/GCGTCInviteReq.proto
new file mode 100644
index 00000000..0d1f6453
--- /dev/null
+++ b/proto/GCGTCInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 GCGTCInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7341;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 character_id = 8;
+ uint32 level_id = 11;
+}
diff --git a/proto/GCGTCInviteRsp.proto b/proto/GCGTCInviteRsp.proto
new file mode 100644
index 00000000..99ca7818
--- /dev/null
+++ b/proto/GCGTCInviteRsp.proto
@@ -0,0 +1,33 @@
+// 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 GCGTCInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7027;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 character_id = 9;
+ int32 retcode = 11;
+}
diff --git a/proto/GCGTCTavernChallengeData.proto b/proto/GCGTCTavernChallengeData.proto
index 3f5183bb..731f8dd0 100644
--- a/proto/GCGTCTavernChallengeData.proto
+++ b/proto/GCGTCTavernChallengeData.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GCGTCTavernChallengeData {
- repeated uint32 unlock_level_id_list = 1;
- uint32 character_id = 8;
+ repeated uint32 unlock_level_id_list = 13;
+ uint32 character_id = 4;
}
diff --git a/proto/GCGTCTavernChallengeDataNotify.proto b/proto/GCGTCTavernChallengeDataNotify.proto
index e5f09d3a..f5353a59 100644
--- a/proto/GCGTCTavernChallengeDataNotify.proto
+++ b/proto/GCGTCTavernChallengeDataNotify.proto
@@ -21,9 +21,14 @@ import "GCGTCTavernChallengeData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 7294
-// EnetChannelId: 0
-// EnetIsReliable: true
message GCGTCTavernChallengeDataNotify {
- repeated GCGTCTavernChallengeData tavern_challenge_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7356;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GCGTCTavernChallengeData tavern_challenge_list = 5;
}
diff --git a/proto/GCGTCTavernChallengeUpdateNotify.proto b/proto/GCGTCTavernChallengeUpdateNotify.proto
new file mode 100644
index 00000000..99dc2f73
--- /dev/null
+++ b/proto/GCGTCTavernChallengeUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GCGTCTavernChallengeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGTCTavernChallengeUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7907;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GCGTCTavernChallengeData tavern_challenge = 12;
+}
diff --git a/proto/GCGTCTavernInfoNotify.proto b/proto/GCGTCTavernInfoNotify.proto
new file mode 100644
index 00000000..0f005a4c
--- /dev/null
+++ b/proto/GCGTCTavernInfoNotify.proto
@@ -0,0 +1,38 @@
+// 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 GCGTCTavernInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7268;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 5;
+ bool Unk3300_IMFJBNFMCHM = 11;
+ bool Unk3300_MBGMHBNBKBK = 8;
+ uint32 point_id = 4;
+ uint32 element_type = 6;
+ uint32 avatar_id = 9;
+ uint32 character_id = 12;
+}
diff --git a/proto/GCGTavernNpcInfo.proto b/proto/GCGTavernNpcInfo.proto
new file mode 100644
index 00000000..4c9fa11c
--- /dev/null
+++ b/proto/GCGTavernNpcInfo.proto
@@ -0,0 +1,26 @@
+// 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 GCGTavernNpcInfo {
+ uint32 id = 9;
+ uint32 scene_point_id = 15;
+ uint32 level_id = 6;
+}
diff --git a/proto/GCGTavernNpcInfoNotify.proto b/proto/GCGTavernNpcInfoNotify.proto
new file mode 100644
index 00000000..10721536
--- /dev/null
+++ b/proto/GCGTavernNpcInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 "GCGTavernNpcInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGTavernNpcInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7267;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GCGTavernNpcInfo Unk3300_FKAKHMMIEBC = 12;
+ repeated GCGTavernNpcInfo Unk3300_BAMLNENDLCM = 2;
+ GCGTavernNpcInfo character_npc = 11;
+}
diff --git a/proto/GCGToken.proto b/proto/GCGToken.proto
new file mode 100644
index 00000000..1a4d52dc
--- /dev/null
+++ b/proto/GCGToken.proto
@@ -0,0 +1,25 @@
+// 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 GCGToken {
+ uint32 value = 14;
+ uint32 key = 4;
+}
diff --git a/proto/GCGWaitingCharacter.proto b/proto/GCGWaitingCharacter.proto
new file mode 100644
index 00000000..1b2a7c3d
--- /dev/null
+++ b/proto/GCGWaitingCharacter.proto
@@ -0,0 +1,25 @@
+// 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 GCGWaitingCharacter {
+ uint32 cond_count = 1;
+ uint32 card_id = 11;
+}
diff --git a/proto/GCGWeekChallengeInfo.proto b/proto/GCGWeekChallengeInfo.proto
new file mode 100644
index 00000000..b106ff2b
--- /dev/null
+++ b/proto/GCGWeekChallengeInfo.proto
@@ -0,0 +1,26 @@
+// 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 GCGWeekChallengeInfo {
+ uint32 npc_id = 9;
+ uint32 unlock_time = 8;
+ bool is_finished = 12;
+}
diff --git a/proto/GCGWeekChallengeInfoNotify.proto b/proto/GCGWeekChallengeInfoNotify.proto
new file mode 100644
index 00000000..e13b8274
--- /dev/null
+++ b/proto/GCGWeekChallengeInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 "GCGWeekChallengeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGWeekChallengeInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7058;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GCGWeekChallengeInfo challenge_info_list = 3;
+ uint32 next_refresh_time = 4;
+ bool is_notify_npc_change = 7;
+}
diff --git a/proto/GCGWorldChallengeUnlockNotify.proto b/proto/GCGWorldChallengeUnlockNotify.proto
new file mode 100644
index 00000000..feaf5490
--- /dev/null
+++ b/proto/GCGWorldChallengeUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 GCGWorldChallengeUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7370;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 unlock_id_list = 6;
+}
diff --git a/proto/GCGWorldPlayerGCGStateReq.proto b/proto/GCGWorldPlayerGCGStateReq.proto
new file mode 100644
index 00000000..a13daad7
--- /dev/null
+++ b/proto/GCGWorldPlayerGCGStateReq.proto
@@ -0,0 +1,31 @@
+// 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 GCGWorldPlayerGCGStateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7375;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GCGWorldPlayerGCGStateRsp.proto b/proto/GCGWorldPlayerGCGStateRsp.proto
new file mode 100644
index 00000000..b000e279
--- /dev/null
+++ b/proto/GCGWorldPlayerGCGStateRsp.proto
@@ -0,0 +1,35 @@
+// 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 "GCGPlayerGCGState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GCGWorldPlayerGCGStateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 7248;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ repeated GCGPlayerGCGState player_state = 2;
+}
diff --git a/proto/GCGZone.proto b/proto/GCGZone.proto
new file mode 100644
index 00000000..6c7f4e78
--- /dev/null
+++ b/proto/GCGZone.proto
@@ -0,0 +1,24 @@
+// 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 GCGZone {
+ repeated uint32 card_list = 11;
+}
diff --git a/proto/GCGZoneType.proto b/proto/GCGZoneType.proto
new file mode 100644
index 00000000..388353f2
--- /dev/null
+++ b/proto/GCGZoneType.proto
@@ -0,0 +1,32 @@
+// 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 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/GMObstacleInfo.proto b/proto/GMObstacleInfo.proto
new file mode 100644
index 00000000..03342dfe
--- /dev/null
+++ b/proto/GMObstacleInfo.proto
@@ -0,0 +1,38 @@
+// 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 "MathQuaternion.proto";
+import "Vector.proto";
+import "Vector3Int.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GMObstacleInfo {
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+
+ ShapeType shape = 2;
+ MathQuaternion rotation = 8;
+ Vector center = 15;
+ int64 timestamp = 1;
+ int32 obstacle_id = 13;
+ Vector3Int extents = 9;
+}
diff --git a/proto/GMShowNavMeshReq.proto b/proto/GMShowNavMeshReq.proto
new file mode 100644
index 00000000..d20b332c
--- /dev/null
+++ b/proto/GMShowNavMeshReq.proto
@@ -0,0 +1,36 @@
+// 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 GMShowNavMeshReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2363;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector extent = 3;
+ Vector center = 4;
+}
diff --git a/proto/GMShowNavMeshRsp.proto b/proto/GMShowNavMeshRsp.proto
new file mode 100644
index 00000000..537afe23
--- /dev/null
+++ b/proto/GMShowNavMeshRsp.proto
@@ -0,0 +1,35 @@
+// 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 "PBNavMeshTile.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GMShowNavMeshRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2304;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ repeated PBNavMeshTile tiles = 10;
+}
diff --git a/proto/GMShowObstacleReq.proto b/proto/GMShowObstacleReq.proto
new file mode 100644
index 00000000..a21759b4
--- /dev/null
+++ b/proto/GMShowObstacleReq.proto
@@ -0,0 +1,31 @@
+// 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 GMShowObstacleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2398;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GMShowObstacleRsp.proto b/proto/GMShowObstacleRsp.proto
new file mode 100644
index 00000000..c451d6ae
--- /dev/null
+++ b/proto/GMShowObstacleRsp.proto
@@ -0,0 +1,35 @@
+// 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 "GMObstacleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GMShowObstacleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2320;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GMObstacleInfo obstacles = 8;
+ int32 retcode = 12;
+}
diff --git a/proto/GachaActivityCreateRobotReq.proto b/proto/GachaActivityCreateRobotReq.proto
new file mode 100644
index 00000000..c0d7d449
--- /dev/null
+++ b/proto/GachaActivityCreateRobotReq.proto
@@ -0,0 +1,31 @@
+// 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 GachaActivityCreateRobotReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8316;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GachaActivityCreateRobotRsp.proto b/proto/GachaActivityCreateRobotRsp.proto
new file mode 100644
index 00000000..b3202a2e
--- /dev/null
+++ b/proto/GachaActivityCreateRobotRsp.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityCreateRobotRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8494;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 robot_id = 11;
+}
diff --git a/proto/GachaActivityDetailInfo.proto b/proto/GachaActivityDetailInfo.proto
index 12d68dbd..889c0fd7 100644
--- a/proto/GachaActivityDetailInfo.proto
+++ b/proto/GachaActivityDetailInfo.proto
@@ -22,10 +22,10 @@ import "GachaStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message GachaActivityDetailInfo {
- repeated uint32 have_get_robot_list = 6;
- repeated GachaStageData gacha_stage_list = 4;
- map have_reward_robot_num_map = 8;
- uint32 tech_create_robot_id = 3;
- map robot_num_map = 5;
- uint32 robot_finish_num = 12;
+ uint32 Unk3300_JJDHKJGDEKJ = 12;
+ map robot_num_map = 10;
+ map have_reward_robot_num_map = 3;
+ repeated uint32 have_get_robot_list = 14;
+ repeated GachaStageData gacha_stage_data_list = 7;
+ uint32 Unk3300_IGGPBEOCNGI = 15;
}
diff --git a/proto/GachaActivityNextStageReq.proto b/proto/GachaActivityNextStageReq.proto
new file mode 100644
index 00000000..724c1bb1
--- /dev/null
+++ b/proto/GachaActivityNextStageReq.proto
@@ -0,0 +1,31 @@
+// 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 GachaActivityNextStageReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8342;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GachaActivityNextStageRsp.proto b/proto/GachaActivityNextStageRsp.proto
new file mode 100644
index 00000000..1c8a5796
--- /dev/null
+++ b/proto/GachaActivityNextStageRsp.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityNextStageRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8914;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 11;
+ int32 retcode = 5;
+}
diff --git a/proto/GachaActivityPercentNotify.proto b/proto/GachaActivityPercentNotify.proto
new file mode 100644
index 00000000..57a4e39c
--- /dev/null
+++ b/proto/GachaActivityPercentNotify.proto
@@ -0,0 +1,35 @@
+// 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 GachaActivityPercentNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8706;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_GHHIGKFDONE = 13;
+ uint32 Unk3300_EOPJBPHFDEE = 6;
+ uint32 Unk3300_IOLPAJKDEEA = 5;
+ map target_num_map = 12;
+}
diff --git a/proto/GachaActivityResetReq.proto b/proto/GachaActivityResetReq.proto
new file mode 100644
index 00000000..f9318514
--- /dev/null
+++ b/proto/GachaActivityResetReq.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityResetReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8540;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 1;
+}
diff --git a/proto/GachaActivityResetRsp.proto b/proto/GachaActivityResetRsp.proto
new file mode 100644
index 00000000..488fe781
--- /dev/null
+++ b/proto/GachaActivityResetRsp.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityResetRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8416;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 stage_id = 5;
+}
diff --git a/proto/GachaActivityTakeRewardReq.proto b/proto/GachaActivityTakeRewardReq.proto
new file mode 100644
index 00000000..b2ac19c3
--- /dev/null
+++ b/proto/GachaActivityTakeRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8853;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map robot_num_map = 7;
+}
diff --git a/proto/GachaActivityTakeRewardRsp.proto b/proto/GachaActivityTakeRewardRsp.proto
new file mode 100644
index 00000000..0fcfd337
--- /dev/null
+++ b/proto/GachaActivityTakeRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8354;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map robot_num_map = 10;
+ int32 retcode = 8;
+}
diff --git a/proto/GachaActivityUpdateElemNotify.proto b/proto/GachaActivityUpdateElemNotify.proto
new file mode 100644
index 00000000..e11c5586
--- /dev/null
+++ b/proto/GachaActivityUpdateElemNotify.proto
@@ -0,0 +1,33 @@
+// 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 GachaActivityUpdateElemNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8241;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 elem_type = 9;
+}
diff --git a/proto/GachaInfo.proto b/proto/GachaInfo.proto
index cb383d8b..044035b0 100644
--- a/proto/GachaInfo.proto
+++ b/proto/GachaInfo.proto
@@ -22,30 +22,30 @@ import "GachaUpInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message GachaInfo {
- uint32 ten_cost_item_id = 2;
- uint32 end_time = 14;
- repeated uint32 display_up4_item_list = 1875;
- uint32 cur_schedule_daily_gacha_times = 469;
- repeated GachaUpInfo gacha_up_info_list = 1233;
- string gacha_prob_url = 8;
- string gacha_prefab_path = 15;
- uint32 wish_item_id = 1637;
- uint32 begin_time = 1;
- uint32 wish_max_progress = 1222;
- uint32 schedule_id = 10;
- string gacha_prob_url_oversea = 1481;
- uint32 gacha_type = 13;
- uint32 left_gacha_times = 5;
- repeated uint32 display_up5_item_list = 2006;
- uint32 gacha_times_limit = 11;
- uint32 cost_item_num = 3;
- bool is_new_wish = 733;
- uint32 cost_item_id = 9;
- uint32 ten_cost_item_num = 6;
- string gacha_preview_prefab_path = 4;
- uint32 wish_progress = 1819;
- string title_textmap = 736;
- string gacha_record_url_oversea = 1854;
- uint32 gacha_sort_id = 7;
- string gacha_record_url = 12;
+ uint32 Unk3300_JLELMHELIDC = 5;
+ uint32 gacha_type = 7;
+ uint32 Unk3300_NMOKGFGDFFC = 954;
+ string Unk3300_GKDEEFNFCAC = 1532;
+ string Unk3300_FOGPKBALHPI = 15;
+ string Unk3300_HLPKLMGIBIB = 1;
+ uint32 begin_time = 14;
+ uint32 schedule_id = 8;
+ repeated uint32 Unk3300_LBLEBDLJDLL = 476;
+ uint32 Unk3300_GLPMIEMBGGL = 10;
+ string Unk3300_BCJONGECBOH = 4;
+ string Unk3300_JOGAHFBKHNJ = 114;
+ uint32 Unk3300_HLANONBCBLM = 245;
+ uint32 end_time = 2;
+ repeated uint32 Unk3300_COABNBJCKEO = 540;
+ uint32 Unk3300_MEDMCPFCIOO = 13;
+ uint32 Unk3300_BLLMPAJNCPI = 1275;
+ uint32 Unk3300_DBFMKAMNPCL = 9;
+ uint32 Unk3300_DDBOLMGHEKN = 6;
+ bool is_new_wish = 967;
+ uint32 Unk3300_JLBFLPEMAPP = 12;
+ uint32 Unk3300_KEIJFMKAKDH = 1580;
+ string Unk3300_ODFKNFOMAGE = 1259;
+ repeated GachaUpInfo gacha_up_info_list = 1585;
+ uint32 Unk3300_PLFMMOFNGAG = 3;
+ string Unk3300_OFOHDLDFCLF = 11;
}
diff --git a/proto/GachaItem.proto b/proto/GachaItem.proto
index 4aadde45..6197f2e4 100644
--- a/proto/GachaItem.proto
+++ b/proto/GachaItem.proto
@@ -23,9 +23,9 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message GachaItem {
- ItemParam gacha_item = 7;
- bool is_gacha_item_new = 6;
- bool is_flash_card = 8;
- repeated ItemParam token_item_list = 9;
- repeated GachaTransferItem transfer_items = 12;
+ bool Unk3300_BGIOJBJFMFL = 8;
+ repeated GachaTransferItem transfer_items = 6;
+ bool Unk3300_JNOOHBNJFIE = 13;
+ ItemParam gacha_item = 5;
+ repeated ItemParam token_item_list = 10;
}
diff --git a/proto/GachaOpenWishNotify.proto b/proto/GachaOpenWishNotify.proto
new file mode 100644
index 00000000..c665c6d3
--- /dev/null
+++ b/proto/GachaOpenWishNotify.proto
@@ -0,0 +1,34 @@
+// 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 GachaOpenWishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1561;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gacha_schedule_id = 1;
+ uint32 gacha_type = 10;
+}
diff --git a/proto/GachaSimpleInfoNotify.proto b/proto/GachaSimpleInfoNotify.proto
new file mode 100644
index 00000000..45b5590e
--- /dev/null
+++ b/proto/GachaSimpleInfoNotify.proto
@@ -0,0 +1,32 @@
+// 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 GachaSimpleInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1547;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new = 11;
+}
diff --git a/proto/GachaStage.proto b/proto/GachaStage.proto
new file mode 100644
index 00000000..6a53724a
--- /dev/null
+++ b/proto/GachaStage.proto
@@ -0,0 +1,26 @@
+// 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 GachaStage {
+ uint32 stage_id = 15;
+ map Unk2700_DNMNEMKIELD = 14;
+ bool is_open = 13;
+}
diff --git a/proto/GachaStageData.proto b/proto/GachaStageData.proto
index b57b0fc4..4084e775 100644
--- a/proto/GachaStageData.proto
+++ b/proto/GachaStageData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GachaStageData {
- uint32 stage_id = 15;
- map target_num_map = 14;
- bool is_open = 13;
+ uint32 stage_id = 6;
+ bool is_open = 14;
+ map target_num_map = 1;
}
diff --git a/proto/GachaTransferItem.proto b/proto/GachaTransferItem.proto
index 417508c3..c9db9df3 100644
--- a/proto/GachaTransferItem.proto
+++ b/proto/GachaTransferItem.proto
@@ -22,6 +22,6 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message GachaTransferItem {
- ItemParam item = 3;
- bool is_transfer_item_new = 1;
+ ItemParam item = 1;
+ bool is_transfer_item_new = 11;
}
diff --git a/proto/GachaUpInfo.proto b/proto/GachaUpInfo.proto
index f8ee92d5..395f6fcb 100644
--- a/proto/GachaUpInfo.proto
+++ b/proto/GachaUpInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GachaUpInfo {
- uint32 item_parent_type = 7;
- repeated uint32 item_id_list = 15;
+ uint32 item_parent_type = 15;
+ repeated uint32 item_id_list = 6;
}
diff --git a/proto/GachaWishReq.proto b/proto/GachaWishReq.proto
index 579b08a9..11994c72 100644
--- a/proto/GachaWishReq.proto
+++ b/proto/GachaWishReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1507
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GachaWishReq {
- uint32 gacha_schedule_id = 14;
- uint32 gacha_type = 13;
- uint32 item_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1600;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gacha_type = 3;
+ uint32 gacha_schedule_id = 12;
+ uint32 item_id = 9;
}
diff --git a/proto/GachaWishRsp.proto b/proto/GachaWishRsp.proto
index 6d799617..d6b09c7c 100644
--- a/proto/GachaWishRsp.proto
+++ b/proto/GachaWishRsp.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1521
-// EnetChannelId: 0
-// EnetIsReliable: true
message GachaWishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1543;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_NMOKGFGDFFC = 6;
+ uint32 Unk3300_KEIJFMKAKDH = 15;
+ uint32 gacha_schedule_id = 11;
+ int32 retcode = 13;
+ uint32 Unk3300_BLLMPAJNCPI = 10;
uint32 gacha_type = 8;
- uint32 gacha_schedule_id = 7;
- uint32 wish_max_progress = 2;
- uint32 wish_progress = 5;
- uint32 wish_item_id = 3;
- int32 retcode = 14;
}
diff --git a/proto/GadgetAutoPickDropInfoNotify.proto b/proto/GadgetAutoPickDropInfoNotify.proto
index b57d7798..b8b1ad3c 100644
--- a/proto/GadgetAutoPickDropInfoNotify.proto
+++ b/proto/GadgetAutoPickDropInfoNotify.proto
@@ -21,9 +21,14 @@ import "Item.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 897
-// EnetChannelId: 0
-// EnetIsReliable: true
message GadgetAutoPickDropInfoNotify {
- repeated Item item_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 899;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Item item_list = 15;
}
diff --git a/proto/GadgetChainLevelChangeNotify.proto b/proto/GadgetChainLevelChangeNotify.proto
new file mode 100644
index 00000000..c101e725
--- /dev/null
+++ b/proto/GadgetChainLevelChangeNotify.proto
@@ -0,0 +1,32 @@
+// 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 GadgetChainLevelChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 837;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map gadget_chain_level_map = 13;
+}
diff --git a/proto/GadgetChainLevelUpdateNotify.proto b/proto/GadgetChainLevelUpdateNotify.proto
new file mode 100644
index 00000000..979d2536
--- /dev/null
+++ b/proto/GadgetChainLevelUpdateNotify.proto
@@ -0,0 +1,32 @@
+// 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 GadgetChainLevelUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 873;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map gadget_chain_level_map = 2;
+}
diff --git a/proto/GadgetChangeLevelTagReq.proto b/proto/GadgetChangeLevelTagReq.proto
new file mode 100644
index 00000000..77300dfe
--- /dev/null
+++ b/proto/GadgetChangeLevelTagReq.proto
@@ -0,0 +1,37 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetChangeLevelTagReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 875;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gadget_entity_id = 14;
+ uint32 level_tag_id = 6;
+ CustomGadgetTreeInfo combination_info = 7;
+}
diff --git a/proto/GadgetChangeLevelTagRsp.proto b/proto/GadgetChangeLevelTagRsp.proto
new file mode 100644
index 00000000..0ceacc2c
--- /dev/null
+++ b/proto/GadgetChangeLevelTagRsp.proto
@@ -0,0 +1,32 @@
+// 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 GadgetChangeLevelTagRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 834;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+}
diff --git a/proto/GadgetClientParam.proto b/proto/GadgetClientParam.proto
new file mode 100644
index 00000000..068e09c5
--- /dev/null
+++ b/proto/GadgetClientParam.proto
@@ -0,0 +1,13 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetClientParam {
+ uint32 campId = 1;
+ uint32 campType = 2;
+ uint64 guid = 3;
+ uint32 ownerEntityId = 4;
+ uint32 targetEntityId = 5;
+ bool asyncLoad = 6;
+}
diff --git a/proto/GadgetCustomTreeInfoNotify.proto b/proto/GadgetCustomTreeInfoNotify.proto
new file mode 100644
index 00000000..a343bb58
--- /dev/null
+++ b/proto/GadgetCustomTreeInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetCustomTreeInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 846;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CustomGadgetTreeInfo custom_gadget_tree_info = 8;
+ uint32 gadget_entity_id = 7;
+}
diff --git a/proto/GadgetGeneralRewardInfoNotify.proto b/proto/GadgetGeneralRewardInfoNotify.proto
new file mode 100644
index 00000000..3aa82d21
--- /dev/null
+++ b/proto/GadgetGeneralRewardInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 "GadgetGeneralRewardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetGeneralRewardInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 848;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 10;
+ GadgetGeneralRewardInfo general_reward_info = 12;
+}
diff --git a/proto/GadgetInteractReq.proto b/proto/GadgetInteractReq.proto
index cf4f5f14..b6b8aeaf 100644
--- a/proto/GadgetInteractReq.proto
+++ b/proto/GadgetInteractReq.proto
@@ -22,15 +22,20 @@ import "ResinCostType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 872
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GadgetInteractReq {
- uint32 gadget_id = 8;
- bool is_use_condense_resin = 15;
- InterOpType op_type = 5;
- ResinCostType resin_cost_type = 1;
- uint32 ui_interact_id = 2;
- uint32 gadget_entity_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 879;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gadget_id = 1;
+ ResinCostType resin_cost_type = 13;
+ uint32 gadget_entity_id = 8;
+ InterOpType op_type = 2;
+ uint32 ui_interact_id = 11;
+ bool is_use_condense_resin = 6;
}
diff --git a/proto/GadgetInteractRsp.proto b/proto/GadgetInteractRsp.proto
index b457d8c3..cb2437bd 100644
--- a/proto/GadgetInteractRsp.proto
+++ b/proto/GadgetInteractRsp.proto
@@ -22,13 +22,18 @@ import "InteractType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 898
-// EnetChannelId: 0
-// EnetIsReliable: true
message GadgetInteractRsp {
- uint32 gadget_entity_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 830;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
InteractType interact_type = 2;
- InterOpType op_type = 3;
+ uint32 gadget_id = 11;
int32 retcode = 7;
- uint32 gadget_id = 15;
+ uint32 gadget_entity_id = 1;
+ InterOpType op_type = 8;
}
diff --git a/proto/GadgetPlayDataNotify.proto b/proto/GadgetPlayDataNotify.proto
new file mode 100644
index 00000000..79e331b4
--- /dev/null
+++ b/proto/GadgetPlayDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 GadgetPlayDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 827;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 13;
+ uint32 progress = 6;
+ uint32 play_type = 11;
+}
diff --git a/proto/GadgetPlayStartNotify.proto b/proto/GadgetPlayStartNotify.proto
new file mode 100644
index 00000000..8f56868e
--- /dev/null
+++ b/proto/GadgetPlayStartNotify.proto
@@ -0,0 +1,34 @@
+// 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 GadgetPlayStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 878;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 start_time = 12;
+ uint32 play_type = 13;
+ uint32 entity_id = 10;
+}
diff --git a/proto/GadgetPlayStopNotify.proto b/proto/GadgetPlayStopNotify.proto
new file mode 100644
index 00000000..001179b6
--- /dev/null
+++ b/proto/GadgetPlayStopNotify.proto
@@ -0,0 +1,39 @@
+// 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 "GadgetPlayUidInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetPlayStopNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 857;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GadgetPlayUidInfo uid_info_list = 1;
+ uint32 play_type = 3;
+ bool is_win = 8;
+ uint32 entity_id = 15;
+ uint32 score = 5;
+ uint32 cost_time = 14;
+}
diff --git a/proto/GadgetPlayUidInfo.proto b/proto/GadgetPlayUidInfo.proto
new file mode 100644
index 00000000..5ab8c155
--- /dev/null
+++ b/proto/GadgetPlayUidInfo.proto
@@ -0,0 +1,32 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GadgetPlayUidInfo {
+ string online_id = 5;
+ uint32 score = 1;
+ string nickname = 11;
+ uint32 icon = 15;
+ uint32 battle_watcher_id = 9;
+ ProfilePicture profile_picture = 6;
+ uint32 uid = 12;
+}
diff --git a/proto/GadgetPlayUidOpNotify.proto b/proto/GadgetPlayUidOpNotify.proto
new file mode 100644
index 00000000..112c34ba
--- /dev/null
+++ b/proto/GadgetPlayUidOpNotify.proto
@@ -0,0 +1,37 @@
+// 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 GadgetPlayUidOpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 839;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string param_str = 14;
+ uint32 op = 2;
+ uint32 entity_id = 10;
+ repeated uint32 param_list = 12;
+ uint32 play_type = 9;
+ repeated uint32 uid_list = 5;
+}
diff --git a/proto/GadgetStateNotify.proto b/proto/GadgetStateNotify.proto
index 39ec1a64..3899aa23 100644
--- a/proto/GadgetStateNotify.proto
+++ b/proto/GadgetStateNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 812
-// EnetChannelId: 0
-// EnetIsReliable: true
message GadgetStateNotify {
- uint32 gadget_entity_id = 5;
- uint32 gadget_state = 3;
- bool is_enable_interact = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 856;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gadget_entity_id = 7;
+ uint32 gadget_state = 5;
+ bool is_enable_interact = 6;
}
diff --git a/proto/GadgetTalkChangeNotify.proto b/proto/GadgetTalkChangeNotify.proto
new file mode 100644
index 00000000..8bdf21be
--- /dev/null
+++ b/proto/GadgetTalkChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 GadgetTalkChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 816;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_gadget_talk_state = 12;
+ uint32 gadget_entity_id = 13;
+}
diff --git a/proto/GalleryBalloonScoreNotify.proto b/proto/GalleryBalloonScoreNotify.proto
new file mode 100644
index 00000000..c5e4020b
--- /dev/null
+++ b/proto/GalleryBalloonScoreNotify.proto
@@ -0,0 +1,33 @@
+// 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 GalleryBalloonScoreNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5556;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map uid_score_map = 12;
+ uint32 gallery_id = 11;
+}
diff --git a/proto/GalleryBalloonShootNotify.proto b/proto/GalleryBalloonShootNotify.proto
new file mode 100644
index 00000000..69ae4f5c
--- /dev/null
+++ b/proto/GalleryBalloonShootNotify.proto
@@ -0,0 +1,37 @@
+// 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 GalleryBalloonShootNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5530;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trigger_entity_id = 3;
+ uint32 combo = 15;
+ uint64 combo_disable_time = 9;
+ uint32 cur_score = 1;
+ int32 add_score = 2;
+ uint32 gallery_id = 11;
+}
diff --git a/proto/GalleryBounceConjuringHitNotify.proto b/proto/GalleryBounceConjuringHitNotify.proto
new file mode 100644
index 00000000..f48dc3e6
--- /dev/null
+++ b/proto/GalleryBounceConjuringHitNotify.proto
@@ -0,0 +1,34 @@
+// 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 GalleryBounceConjuringHitNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5542;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 8;
+ uint32 add_score = 15;
+ bool is_perfect = 11;
+}
diff --git a/proto/GalleryBrokenFloorFallNotify.proto b/proto/GalleryBrokenFloorFallNotify.proto
new file mode 100644
index 00000000..a7cf5e6c
--- /dev/null
+++ b/proto/GalleryBrokenFloorFallNotify.proto
@@ -0,0 +1,33 @@
+// 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 GalleryBrokenFloorFallNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5539;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 fall_count = 10;
+ uint32 gallery_id = 7;
+}
diff --git a/proto/GalleryBulletHitNotify.proto b/proto/GalleryBulletHitNotify.proto
new file mode 100644
index 00000000..04609cef
--- /dev/null
+++ b/proto/GalleryBulletHitNotify.proto
@@ -0,0 +1,33 @@
+// 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 GalleryBulletHitNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5527;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 3;
+ uint32 hit_count = 7;
+}
diff --git a/proto/GalleryCrystalLinkBuffInfoNotify.proto b/proto/GalleryCrystalLinkBuffInfoNotify.proto
new file mode 100644
index 00000000..67cf5d60
--- /dev/null
+++ b/proto/GalleryCrystalLinkBuffInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 GalleryCrystalLinkBuffInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5516;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_buff_valid = 11;
+ uint32 buff_id = 14;
+ uint32 gallery_id = 6;
+}
diff --git a/proto/GalleryCrystalLinkKillMonsterNotify.proto b/proto/GalleryCrystalLinkKillMonsterNotify.proto
new file mode 100644
index 00000000..b5b99041
--- /dev/null
+++ b/proto/GalleryCrystalLinkKillMonsterNotify.proto
@@ -0,0 +1,33 @@
+// 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 GalleryCrystalLinkKillMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5576;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 score = 5;
+ uint32 gallery_id = 1;
+}
diff --git a/proto/GalleryFallCatchNotify.proto b/proto/GalleryFallCatchNotify.proto
new file mode 100644
index 00000000..b3efe3fe
--- /dev/null
+++ b/proto/GalleryFallCatchNotify.proto
@@ -0,0 +1,37 @@
+// 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 GalleryFallCatchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5600;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 add_score = 1;
+ uint32 gallery_id = 7;
+ uint32 cur_score = 11;
+ uint32 time_cost = 15;
+ bool is_ground = 8;
+ map ball_catch_count_map = 14;
+}
diff --git a/proto/GalleryFallScoreNotify.proto b/proto/GalleryFallScoreNotify.proto
new file mode 100644
index 00000000..43d735d1
--- /dev/null
+++ b/proto/GalleryFallScoreNotify.proto
@@ -0,0 +1,35 @@
+// 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 "FallPlayerBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GalleryFallScoreNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5543;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map uid_brief_map = 10;
+ uint32 gallery_id = 15;
+}
diff --git a/proto/GalleryFlowerCatchNotify.proto b/proto/GalleryFlowerCatchNotify.proto
new file mode 100644
index 00000000..92477849
--- /dev/null
+++ b/proto/GalleryFlowerCatchNotify.proto
@@ -0,0 +1,34 @@
+// 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 GalleryFlowerCatchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5578;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 13;
+ uint32 cur_score = 2;
+ uint32 add_score = 12;
+}
diff --git a/proto/GalleryFlowerStartParam.proto b/proto/GalleryFlowerStartParam.proto
new file mode 100644
index 00000000..e8a90491
--- /dev/null
+++ b/proto/GalleryFlowerStartParam.proto
@@ -0,0 +1,24 @@
+// 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 GalleryFlowerStartParam {
+ uint32 target_score = 9;
+}
diff --git a/proto/GalleryIslandPartyDownHillInfoNotify.proto b/proto/GalleryIslandPartyDownHillInfoNotify.proto
new file mode 100644
index 00000000..b9a2185e
--- /dev/null
+++ b/proto/GalleryIslandPartyDownHillInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 GalleryIslandPartyDownHillInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5537;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 coin = 8;
+ uint32 gallery_id = 14;
+ uint32 total_kill_monster_count = 7;
+}
diff --git a/proto/GalleryPreStartNotify.proto b/proto/GalleryPreStartNotify.proto
new file mode 100644
index 00000000..c67f6ae3
--- /dev/null
+++ b/proto/GalleryPreStartNotify.proto
@@ -0,0 +1,33 @@
+// 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 GalleryPreStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5557;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 4;
+ uint32 pre_start_end_time = 1;
+}
diff --git a/proto/GalleryStageType.proto b/proto/GalleryStageType.proto
new file mode 100644
index 00000000..2471c6b9
--- /dev/null
+++ b/proto/GalleryStageType.proto
@@ -0,0 +1,26 @@
+// 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 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..a21f5681
--- /dev/null
+++ b/proto/GalleryStartNotify.proto
@@ -0,0 +1,41 @@
+// 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 "GalleryFlowerStartParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GalleryStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 6;
+ uint32 end_time = 13;
+ uint32 owner_uid = 8;
+ uint32 start_time = 7;
+ uint32 player_count = 9;
+ oneof detail {
+ GalleryFlowerStartParam flower_start_param = 11;
+ }
+}
diff --git a/proto/GalleryStartSource.proto b/proto/GalleryStartSource.proto
new file mode 100644
index 00000000..70f6a464
--- /dev/null
+++ b/proto/GalleryStartSource.proto
@@ -0,0 +1,26 @@
+// 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 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..70dd1c5b
--- /dev/null
+++ b/proto/GalleryStopNotify.proto
@@ -0,0 +1,32 @@
+// 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 GalleryStopNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5519;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 8;
+}
diff --git a/proto/GalleryStopReason.proto b/proto/GalleryStopReason.proto
index 25fee6bb..81a83fec 100644
--- a/proto/GalleryStopReason.proto
+++ b/proto/GalleryStopReason.proto
@@ -31,4 +31,6 @@ enum GalleryStopReason {
GALLERY_STOP_REASON_AVATAR_DIE = 8;
GALLERY_STOP_REASON_FINISHED = 9;
GALLERY_STOP_REASON_FUNGUS_ALL_DIE = 10;
+ GALLERY_STOP_REASON_LIFE_COUNT_ZERO = 11;
+ GALLERY_STOP_REASON_Unk3300_DFPLGCGIIDM = 12;
}
diff --git a/proto/GallerySumoKillMonsterNotify.proto b/proto/GallerySumoKillMonsterNotify.proto
new file mode 100644
index 00000000..02976011
--- /dev/null
+++ b/proto/GallerySumoKillMonsterNotify.proto
@@ -0,0 +1,35 @@
+// 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 GallerySumoKillMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5590;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 score = 6;
+ uint32 gallery_id = 11;
+ uint32 kill_elite_monster_num = 14;
+ uint32 kill_normal_monster_num = 4;
+}
diff --git a/proto/GalleryWillStartCountdownNotify.proto b/proto/GalleryWillStartCountdownNotify.proto
new file mode 100644
index 00000000..5e1082dd
--- /dev/null
+++ b/proto/GalleryWillStartCountdownNotify.proto
@@ -0,0 +1,37 @@
+// 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 "GalleryStartSource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GalleryWillStartCountdownNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5505;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 13;
+ GalleryStartSource start_source = 14;
+ uint32 end_time = 15;
+ bool is_end = 6;
+}
diff --git a/proto/GameplayRecommendationElementReliquaryRequest.proto b/proto/GameplayRecommendationElementReliquaryRequest.proto
index ab35f006..ff3bd2d3 100644
--- a/proto/GameplayRecommendationElementReliquaryRequest.proto
+++ b/proto/GameplayRecommendationElementReliquaryRequest.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GameplayRecommendationElementReliquaryRequest {
- uint32 equip_type = 9;
- uint32 element_type = 12;
+ uint32 element_type = 2;
+ uint32 equip_type = 3;
}
diff --git a/proto/GameplayRecommendationElementReliquaryResponse.proto b/proto/GameplayRecommendationElementReliquaryResponse.proto
index ff858bea..db8e7e5f 100644
--- a/proto/GameplayRecommendationElementReliquaryResponse.proto
+++ b/proto/GameplayRecommendationElementReliquaryResponse.proto
@@ -22,7 +22,7 @@ import "GameplayRecommendationReliquaryMainPropData.proto";
option java_package = "emu.grasscutter.net.proto";
message GameplayRecommendationElementReliquaryResponse {
- uint32 element_type = 11;
+ uint32 element_type = 1;
+ uint32 equip_type = 9;
repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 5;
- uint32 equip_type = 15;
}
diff --git a/proto/GameplayRecommendationReliquaryMainPropData.proto b/proto/GameplayRecommendationReliquaryMainPropData.proto
index 4d422ca3..25d60f20 100644
--- a/proto/GameplayRecommendationReliquaryMainPropData.proto
+++ b/proto/GameplayRecommendationReliquaryMainPropData.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GameplayRecommendationReliquaryMainPropData {
- uint32 permillage = 1;
- uint32 main_prop_id = 12;
+ uint32 permillage = 5;
+ uint32 main_prop_id = 10;
}
diff --git a/proto/GameplayRecommendationReliquaryRequest.proto b/proto/GameplayRecommendationReliquaryRequest.proto
index 3251d4ac..a2e945fb 100644
--- a/proto/GameplayRecommendationReliquaryRequest.proto
+++ b/proto/GameplayRecommendationReliquaryRequest.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GameplayRecommendationReliquaryRequest {
- uint32 equip_type = 6;
+ uint32 equip_type = 9;
}
diff --git a/proto/GameplayRecommendationReliquaryResponse.proto b/proto/GameplayRecommendationReliquaryResponse.proto
index f1bdffa5..2c710d2a 100644
--- a/proto/GameplayRecommendationReliquaryResponse.proto
+++ b/proto/GameplayRecommendationReliquaryResponse.proto
@@ -22,6 +22,6 @@ import "GameplayRecommendationReliquaryMainPropData.proto";
option java_package = "emu.grasscutter.net.proto";
message GameplayRecommendationReliquaryResponse {
- repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 8;
- uint32 equip_type = 3;
+ uint32 equip_type = 11;
+ repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 2;
}
diff --git a/proto/GameplayRecommendationSkillRequest.proto b/proto/GameplayRecommendationSkillRequest.proto
new file mode 100644
index 00000000..f1256983
--- /dev/null
+++ b/proto/GameplayRecommendationSkillRequest.proto
@@ -0,0 +1,24 @@
+// 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 GameplayRecommendationSkillRequest {
+ uint32 skill_depot_id = 4;
+}
diff --git a/proto/GameplayRecommendationSkillResponse.proto b/proto/GameplayRecommendationSkillResponse.proto
new file mode 100644
index 00000000..a7a8668f
--- /dev/null
+++ b/proto/GameplayRecommendationSkillResponse.proto
@@ -0,0 +1,25 @@
+// 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 GameplayRecommendationSkillResponse {
+ repeated uint32 skill_id_list = 1;
+ uint32 skill_depot_id = 11;
+}
diff --git a/proto/GearActivityDetailInfo.proto b/proto/GearActivityDetailInfo.proto
index d19f7067..d2fc0759 100644
--- a/proto/GearActivityDetailInfo.proto
+++ b/proto/GearActivityDetailInfo.proto
@@ -23,6 +23,6 @@ import "JigsawPictureData.proto";
option java_package = "emu.grasscutter.net.proto";
message GearActivityDetailInfo {
- repeated GearLevelData gear_level_data_list = 14;
+ repeated GearLevelData gear_level_data_list = 2;
JigsawPictureData jigsaw_picture_data = 8;
}
diff --git a/proto/GearActivityFinishPlayGearReq.proto b/proto/GearActivityFinishPlayGearReq.proto
new file mode 100644
index 00000000..507f2fa5
--- /dev/null
+++ b/proto/GearActivityFinishPlayGearReq.proto
@@ -0,0 +1,38 @@
+// 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 "GearColumnInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GearActivityFinishPlayGearReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20236;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool use_clue = 10;
+ uint32 level_id = 3;
+ bool is_success = 8;
+ repeated GearColumnInfo gear_column_info_list = 12;
+}
diff --git a/proto/GearActivityFinishPlayGearRsp.proto b/proto/GearActivityFinishPlayGearRsp.proto
new file mode 100644
index 00000000..b8936f36
--- /dev/null
+++ b/proto/GearActivityFinishPlayGearRsp.proto
@@ -0,0 +1,34 @@
+// 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 GearActivityFinishPlayGearRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20776;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 10;
+ int32 retcode = 2;
+ bool is_success = 8;
+}
diff --git a/proto/GearActivityFinishPlayPictureReq.proto b/proto/GearActivityFinishPlayPictureReq.proto
new file mode 100644
index 00000000..7cff5f1f
--- /dev/null
+++ b/proto/GearActivityFinishPlayPictureReq.proto
@@ -0,0 +1,33 @@
+// 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 GearActivityFinishPlayPictureReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23793;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_success = 12;
+}
diff --git a/proto/GearActivityFinishPlayPictureRsp.proto b/proto/GearActivityFinishPlayPictureRsp.proto
new file mode 100644
index 00000000..66e44800
--- /dev/null
+++ b/proto/GearActivityFinishPlayPictureRsp.proto
@@ -0,0 +1,33 @@
+// 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 GearActivityFinishPlayPictureRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20453;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ bool is_success = 8;
+}
diff --git a/proto/GearActivityStartPlayGearReq.proto b/proto/GearActivityStartPlayGearReq.proto
new file mode 100644
index 00000000..465f319a
--- /dev/null
+++ b/proto/GearActivityStartPlayGearReq.proto
@@ -0,0 +1,33 @@
+// 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 GearActivityStartPlayGearReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20589;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 11;
+}
diff --git a/proto/GearActivityStartPlayGearRsp.proto b/proto/GearActivityStartPlayGearRsp.proto
new file mode 100644
index 00000000..d28c2108
--- /dev/null
+++ b/proto/GearActivityStartPlayGearRsp.proto
@@ -0,0 +1,33 @@
+// 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 GearActivityStartPlayGearRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23953;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 4;
+ int32 retcode = 12;
+}
diff --git a/proto/GearActivityStartPlayPictureReq.proto b/proto/GearActivityStartPlayPictureReq.proto
new file mode 100644
index 00000000..13c23399
--- /dev/null
+++ b/proto/GearActivityStartPlayPictureReq.proto
@@ -0,0 +1,31 @@
+// 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 GearActivityStartPlayPictureReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24968;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GearActivityStartPlayPictureRsp.proto b/proto/GearActivityStartPlayPictureRsp.proto
new file mode 100644
index 00000000..88af2eac
--- /dev/null
+++ b/proto/GearActivityStartPlayPictureRsp.proto
@@ -0,0 +1,32 @@
+// 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 GearActivityStartPlayPictureRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20011;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+}
diff --git a/proto/GearColumnInfo.proto b/proto/GearColumnInfo.proto
new file mode 100644
index 00000000..6b5d773c
--- /dev/null
+++ b/proto/GearColumnInfo.proto
@@ -0,0 +1,28 @@
+// 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 GearColumnInfo {
+ uint32 Unk3300_GHIBPOIAIGF = 6;
+ bool Unk3300_KEEGLHMBAKM = 8;
+ uint32 Unk3300_EDLLMBGNDEH = 2;
+ uint32 gear_id = 7;
+ bool Unk3300_HGIKKDOBANK = 15;
+}
diff --git a/proto/GearLevelData.proto b/proto/GearLevelData.proto
index 48aaad37..054348dc 100644
--- a/proto/GearLevelData.proto
+++ b/proto/GearLevelData.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GearLevelData {
- uint32 shortest_time = 8;
+ uint32 Unk3300_DFGHKDBENED = 4;
+ bool is_finished = 3;
+ bool is_open = 5;
uint32 open_time = 11;
- uint32 last_duration = 5;
- uint32 level_id = 12;
- bool is_finished = 9;
- bool is_open = 3;
+ uint32 level_id = 10;
+ uint32 Unk3300_FIKPLGJIBGP = 15;
}
diff --git a/proto/GeneralMatchInfo.proto b/proto/GeneralMatchInfo.proto
new file mode 100644
index 00000000..1f24b6e6
--- /dev/null
+++ b/proto/GeneralMatchInfo.proto
@@ -0,0 +1,28 @@
+// 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 "MatchPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GeneralMatchInfo {
+ uint32 match_id = 8;
+ uint32 match_param = 3;
+ repeated MatchPlayerInfo player_list = 12;
+}
diff --git a/proto/GetActivityInfoReq.proto b/proto/GetActivityInfoReq.proto
index 53a236c5..1a2fb4c6 100644
--- a/proto/GetActivityInfoReq.proto
+++ b/proto/GetActivityInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2095
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetActivityInfoReq {
- repeated uint32 activity_id_list = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2011;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 activity_id_list = 1;
}
diff --git a/proto/GetActivityInfoRsp.proto b/proto/GetActivityInfoRsp.proto
index 4614a0ed..5f99beef 100644
--- a/proto/GetActivityInfoRsp.proto
+++ b/proto/GetActivityInfoRsp.proto
@@ -22,12 +22,17 @@ import "Uint32Pair.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2041
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetActivityInfoRsp {
- int32 retcode = 13;
- repeated ActivityInfo activity_info_list = 5;
- repeated uint32 activated_sale_id_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2043;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
repeated Uint32Pair disable_transfer_point_interaction_list = 10;
+ int32 retcode = 6;
+ repeated ActivityInfo activity_info_list = 2;
+ repeated uint32 activated_sale_id_list = 1;
}
diff --git a/proto/GetActivityScheduleReq.proto b/proto/GetActivityScheduleReq.proto
new file mode 100644
index 00000000..5795b752
--- /dev/null
+++ b/proto/GetActivityScheduleReq.proto
@@ -0,0 +1,31 @@
+// 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 GetActivityScheduleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2008;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetActivityScheduleRsp.proto b/proto/GetActivityScheduleRsp.proto
new file mode 100644
index 00000000..9cdafa27
--- /dev/null
+++ b/proto/GetActivityScheduleRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ActivityScheduleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetActivityScheduleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2056;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ActivityScheduleInfo activity_schedule_list = 15;
+ int32 retcode = 8;
+ uint32 remain_fly_sea_lamp_num = 7;
+}
diff --git a/proto/GetActivityShopSheetInfoReq.proto b/proto/GetActivityShopSheetInfoReq.proto
index aae64ab6..6e694282 100644
--- a/proto/GetActivityShopSheetInfoReq.proto
+++ b/proto/GetActivityShopSheetInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 703
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetActivityShopSheetInfoReq {
- uint32 shop_type = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 761;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 shop_type = 10;
}
diff --git a/proto/GetActivityShopSheetInfoRsp.proto b/proto/GetActivityShopSheetInfoRsp.proto
index 9cb5b4b6..b911ca4a 100644
--- a/proto/GetActivityShopSheetInfoRsp.proto
+++ b/proto/GetActivityShopSheetInfoRsp.proto
@@ -21,11 +21,16 @@ import "ActivityShopSheetInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 790
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetActivityShopSheetInfoRsp {
- repeated ActivityShopSheetInfo sheet_info_list = 6;
- uint32 shop_type = 8;
- int32 retcode = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 747;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 shop_type = 15;
+ int32 retcode = 7;
+ repeated ActivityShopSheetInfo sheet_info_list = 4;
}
diff --git a/proto/GetAllActivatedBargainDataReq.proto b/proto/GetAllActivatedBargainDataReq.proto
new file mode 100644
index 00000000..9e86638a
--- /dev/null
+++ b/proto/GetAllActivatedBargainDataReq.proto
@@ -0,0 +1,31 @@
+// 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 GetAllActivatedBargainDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 403;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetAllActivatedBargainDataRsp.proto b/proto/GetAllActivatedBargainDataRsp.proto
new file mode 100644
index 00000000..de4df098
--- /dev/null
+++ b/proto/GetAllActivatedBargainDataRsp.proto
@@ -0,0 +1,35 @@
+// 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 "BargainSnapshot.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetAllActivatedBargainDataRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 433;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ repeated BargainSnapshot snapshot_list = 6;
+}
diff --git a/proto/GetAllH5ActivityInfoReq.proto b/proto/GetAllH5ActivityInfoReq.proto
index f984987b..c13f106c 100644
--- a/proto/GetAllH5ActivityInfoReq.proto
+++ b/proto/GetAllH5ActivityInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5668
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetAllH5ActivityInfoReq {}
+message GetAllH5ActivityInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5691;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetAllH5ActivityInfoRsp.proto b/proto/GetAllH5ActivityInfoRsp.proto
index bd372d04..21fa24f8 100644
--- a/proto/GetAllH5ActivityInfoRsp.proto
+++ b/proto/GetAllH5ActivityInfoRsp.proto
@@ -21,11 +21,16 @@ import "H5ActivityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5676
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetAllH5ActivityInfoRsp {
- repeated H5ActivityInfo h5_activity_info_list = 15;
- int32 retcode = 5;
- uint32 client_red_dot_timestamp = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5692;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 client_red_dot_timestamp = 3;
+ repeated H5ActivityInfo h5_activity_info_list = 5;
+ int32 retcode = 14;
}
diff --git a/proto/GetAllMailNotify.proto b/proto/GetAllMailNotify.proto
new file mode 100644
index 00000000..efe3c5a0
--- /dev/null
+++ b/proto/GetAllMailNotify.proto
@@ -0,0 +1,33 @@
+// 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 GetAllMailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1499;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_collected = 5;
+}
diff --git a/proto/GetAllMailReq.proto b/proto/GetAllMailReq.proto
index 50b4d398..7aab2690 100644
--- a/proto/GetAllMailReq.proto
+++ b/proto/GetAllMailReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1431
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetAllMailReq {
- bool is_collected = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_collected = 4;
}
diff --git a/proto/GetAllMailResultNotify.proto b/proto/GetAllMailResultNotify.proto
new file mode 100644
index 00000000..9e7ce235
--- /dev/null
+++ b/proto/GetAllMailResultNotify.proto
@@ -0,0 +1,39 @@
+// 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 "MailData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetAllMailResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1425;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_LMCAADPAICM = 13;
+ string transaction = 14;
+ bool is_collected = 12;
+ int32 retcode = 7;
+ repeated MailData mail_list = 2;
+ uint32 Unk3300_PGJIHELKCEA = 6;
+}
diff --git a/proto/GetAllMailRsp.proto b/proto/GetAllMailRsp.proto
index a2e29218..3bd4a17e 100644
--- a/proto/GetAllMailRsp.proto
+++ b/proto/GetAllMailRsp.proto
@@ -21,12 +21,17 @@ import "MailData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1475
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetAllMailRsp {
- int32 retcode = 8;
- repeated MailData mail_list = 14;
- bool is_collected = 1;
- bool is_truncated = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1439;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MailData mail_list = 15;
+ bool is_collected = 12;
+ int32 retcode = 1;
+ bool is_truncated = 8;
}
diff --git a/proto/GetAllSceneGalleryInfoReq.proto b/proto/GetAllSceneGalleryInfoReq.proto
new file mode 100644
index 00000000..27af8052
--- /dev/null
+++ b/proto/GetAllSceneGalleryInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetAllSceneGalleryInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5561;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetAllSceneGalleryInfoRsp.proto b/proto/GetAllSceneGalleryInfoRsp.proto
new file mode 100644
index 00000000..d26d48ad
--- /dev/null
+++ b/proto/GetAllSceneGalleryInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "SceneGalleryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetAllSceneGalleryInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5547;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ repeated SceneGalleryInfo gallery_info_list = 12;
+}
diff --git a/proto/GetAllUnlockNameCardReq.proto b/proto/GetAllUnlockNameCardReq.proto
index 9f0ee256..6711d2c2 100644
--- a/proto/GetAllUnlockNameCardReq.proto
+++ b/proto/GetAllUnlockNameCardReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4027
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetAllUnlockNameCardReq {}
+message GetAllUnlockNameCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4017;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetAllUnlockNameCardRsp.proto b/proto/GetAllUnlockNameCardRsp.proto
index 683baedb..ff90939e 100644
--- a/proto/GetAllUnlockNameCardRsp.proto
+++ b/proto/GetAllUnlockNameCardRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4094
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetAllUnlockNameCardRsp {
- int32 retcode = 4;
- repeated uint32 name_card_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4005;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 name_card_list = 11;
+ int32 retcode = 14;
}
diff --git a/proto/GetAreaExplorePointReq.proto b/proto/GetAreaExplorePointReq.proto
new file mode 100644
index 00000000..fb2bc533
--- /dev/null
+++ b/proto/GetAreaExplorePointReq.proto
@@ -0,0 +1,33 @@
+// 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 GetAreaExplorePointReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 267;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 area_id_list = 12;
+}
diff --git a/proto/GetAreaExplorePointRsp.proto b/proto/GetAreaExplorePointRsp.proto
new file mode 100644
index 00000000..89996872
--- /dev/null
+++ b/proto/GetAreaExplorePointRsp.proto
@@ -0,0 +1,34 @@
+// 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 GetAreaExplorePointRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 215;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 explore_point_list = 4;
+ int32 retcode = 2;
+ repeated uint32 area_id_list = 11;
+}
diff --git a/proto/GetAuthSalesmanInfoReq.proto b/proto/GetAuthSalesmanInfoReq.proto
new file mode 100644
index 00000000..d59431c3
--- /dev/null
+++ b/proto/GetAuthSalesmanInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 GetAuthSalesmanInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2049;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 14;
+}
diff --git a/proto/GetAuthSalesmanInfoRsp.proto b/proto/GetAuthSalesmanInfoRsp.proto
new file mode 100644
index 00000000..56ba2069
--- /dev/null
+++ b/proto/GetAuthSalesmanInfoRsp.proto
@@ -0,0 +1,34 @@
+// 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 GetAuthSalesmanInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2087;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 15;
+ int32 retcode = 8;
+ uint32 day_reward_id = 6;
+}
diff --git a/proto/GetAuthkeyReq.proto b/proto/GetAuthkeyReq.proto
index fb427068..77a10d05 100644
--- a/proto/GetAuthkeyReq.proto
+++ b/proto/GetAuthkeyReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1490
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetAuthkeyReq {
- string auth_appid = 14;
- uint32 sign_type = 7;
- uint32 authkey_ver = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1447;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_FGBHHPOKCJH = 6;
+ string auth_appid = 13;
+ uint32 Unk3300_DODLFCNOAMB = 15;
}
diff --git a/proto/GetAuthkeyRsp.proto b/proto/GetAuthkeyRsp.proto
index a6885b23..adb2c60b 100644
--- a/proto/GetAuthkeyRsp.proto
+++ b/proto/GetAuthkeyRsp.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1473
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetAuthkeyRsp {
- string auth_appid = 4;
- uint32 sign_type = 15;
- int32 retcode = 6;
- uint32 authkey_ver = 9;
- string game_biz = 11;
- string authkey = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1478;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ string authkey = 6;
+ uint32 Unk3300_DODLFCNOAMB = 13;
+ uint32 Unk3300_FGBHHPOKCJH = 3;
+ string auth_appid = 7;
+ string game_biz = 1;
}
diff --git a/proto/GetBargainDataReq.proto b/proto/GetBargainDataReq.proto
new file mode 100644
index 00000000..778c199a
--- /dev/null
+++ b/proto/GetBargainDataReq.proto
@@ -0,0 +1,33 @@
+// 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 GetBargainDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 494;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 bargain_id = 8;
+}
diff --git a/proto/GetBargainDataRsp.proto b/proto/GetBargainDataRsp.proto
new file mode 100644
index 00000000..977224b0
--- /dev/null
+++ b/proto/GetBargainDataRsp.proto
@@ -0,0 +1,36 @@
+// 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 "BargainSnapshot.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetBargainDataRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 472;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 bargain_id = 4;
+ BargainSnapshot snapshot = 15;
+ int32 retcode = 2;
+}
diff --git a/proto/GetBattlePassProductReq.proto b/proto/GetBattlePassProductReq.proto
new file mode 100644
index 00000000..a4dbe4c4
--- /dev/null
+++ b/proto/GetBattlePassProductReq.proto
@@ -0,0 +1,33 @@
+// 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 GetBattlePassProductReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2612;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 battle_pass_product_play_type = 2;
+}
diff --git a/proto/GetBattlePassProductRsp.proto b/proto/GetBattlePassProductRsp.proto
new file mode 100644
index 00000000..b62f945e
--- /dev/null
+++ b/proto/GetBattlePassProductRsp.proto
@@ -0,0 +1,36 @@
+// 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 GetBattlePassProductRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2634;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_schedule_id = 14;
+ string product_id = 2;
+ string price_tier = 9;
+ int32 retcode = 10;
+ uint32 battle_pass_product_play_type = 15;
+}
diff --git a/proto/GetBlossomBriefInfoListReq.proto b/proto/GetBlossomBriefInfoListReq.proto
index 7dd83016..776aaa5f 100644
--- a/proto/GetBlossomBriefInfoListReq.proto
+++ b/proto/GetBlossomBriefInfoListReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2772
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetBlossomBriefInfoListReq {
- repeated uint32 city_id_list = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2779;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 city_id_list = 7;
}
diff --git a/proto/GetBlossomBriefInfoListRsp.proto b/proto/GetBlossomBriefInfoListRsp.proto
index 1bd19436..2a8255fe 100644
--- a/proto/GetBlossomBriefInfoListRsp.proto
+++ b/proto/GetBlossomBriefInfoListRsp.proto
@@ -21,11 +21,16 @@ import "BlossomBriefInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2798
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetBlossomBriefInfoListRsp {
- int32 retcode = 12;
- repeated BlossomBriefInfo brief_info_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2730;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 14;
+ repeated BlossomBriefInfo brief_info_list = 1;
}
diff --git a/proto/GetBonusActivityRewardReq.proto b/proto/GetBonusActivityRewardReq.proto
new file mode 100644
index 00000000..ded41e1c
--- /dev/null
+++ b/proto/GetBonusActivityRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 GetBonusActivityRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2525;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 bonus_activity_id = 5;
+}
diff --git a/proto/GetBonusActivityRewardRsp.proto b/proto/GetBonusActivityRewardRsp.proto
new file mode 100644
index 00000000..afe0988f
--- /dev/null
+++ b/proto/GetBonusActivityRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 "BonusActivityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetBonusActivityRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2542;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ BonusActivityInfo bonus_activity_info_list = 3;
+}
diff --git a/proto/GetChatEmojiCollectionReq.proto b/proto/GetChatEmojiCollectionReq.proto
index d878d654..0dfd76a5 100644
--- a/proto/GetChatEmojiCollectionReq.proto
+++ b/proto/GetChatEmojiCollectionReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4068
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetChatEmojiCollectionReq {}
+message GetChatEmojiCollectionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4088;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetChatEmojiCollectionRsp.proto b/proto/GetChatEmojiCollectionRsp.proto
index fedf2260..d010170b 100644
--- a/proto/GetChatEmojiCollectionRsp.proto
+++ b/proto/GetChatEmojiCollectionRsp.proto
@@ -21,10 +21,15 @@ import "ChatEmojiCollectionData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4033
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetChatEmojiCollectionRsp {
- int32 retcode = 15;
- ChatEmojiCollectionData chat_emoji_collection_data = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4066;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChatEmojiCollectionData chat_emoji_collection_data = 15;
+ int32 retcode = 5;
}
diff --git a/proto/GetCityHuntingOfferReq.proto b/proto/GetCityHuntingOfferReq.proto
new file mode 100644
index 00000000..99b5778d
--- /dev/null
+++ b/proto/GetCityHuntingOfferReq.proto
@@ -0,0 +1,33 @@
+// 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 GetCityHuntingOfferReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4322;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 3;
+}
diff --git a/proto/GetCityHuntingOfferRsp.proto b/proto/GetCityHuntingOfferRsp.proto
new file mode 100644
index 00000000..7193f02c
--- /dev/null
+++ b/proto/GetCityHuntingOfferRsp.proto
@@ -0,0 +1,40 @@
+// 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 "HuntingOfferData.proto";
+import "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetCityHuntingOfferRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4335;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HuntingOfferData hunting_offer_list = 2;
+ int32 retcode = 9;
+ uint32 cur_week_finished_count = 1;
+ HuntingPair ongoing_hunting_pair = 15;
+ uint32 next_refresh_time = 5;
+ uint32 city_id = 12;
+}
diff --git a/proto/GetCityReputationInfoReq.proto b/proto/GetCityReputationInfoReq.proto
new file mode 100644
index 00000000..87708527
--- /dev/null
+++ b/proto/GetCityReputationInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 GetCityReputationInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2879;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 15;
+}
diff --git a/proto/GetCityReputationInfoRsp.proto b/proto/GetCityReputationInfoRsp.proto
new file mode 100644
index 00000000..fced231b
--- /dev/null
+++ b/proto/GetCityReputationInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 "CityReputationInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetCityReputationInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2830;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CityReputationInfo city_reputation_info = 11;
+ uint32 city_id = 7;
+ int32 retcode = 2;
+}
diff --git a/proto/GetCityReputationMapInfoReq.proto b/proto/GetCityReputationMapInfoReq.proto
new file mode 100644
index 00000000..c0de9401
--- /dev/null
+++ b/proto/GetCityReputationMapInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetCityReputationMapInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2839;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetCityReputationMapInfoRsp.proto b/proto/GetCityReputationMapInfoRsp.proto
new file mode 100644
index 00000000..acb5ff42
--- /dev/null
+++ b/proto/GetCityReputationMapInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 GetCityReputationMapInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2848;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ repeated uint32 Unk3300_DAIGHHPJHOO = 4;
+ bool Unk3300_GJFNOPNMFNG = 12;
+ bool Unk3300_NCMHMODIIKM = 5;
+ repeated uint32 Unk3300_PAPBOHKOMFK = 15;
+}
diff --git a/proto/GetCompoundDataReq.proto b/proto/GetCompoundDataReq.proto
index bbba3e19..abc88219 100644
--- a/proto/GetCompoundDataReq.proto
+++ b/proto/GetCompoundDataReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 141
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetCompoundDataReq {}
+message GetCompoundDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 167;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetCompoundDataRsp.proto b/proto/GetCompoundDataRsp.proto
index 0501484a..9b11a91b 100644
--- a/proto/GetCompoundDataRsp.proto
+++ b/proto/GetCompoundDataRsp.proto
@@ -21,11 +21,16 @@ import "CompoundQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 149
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetCompoundDataRsp {
- int32 retcode = 3;
- repeated uint32 unlock_compound_list = 11;
- repeated CompoundQueueData compound_que_data_list = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 115;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CompoundQueueData compound_queue_data_list = 4;
+ repeated uint32 unlock_compound_list = 10;
+ int32 retcode = 15;
}
diff --git a/proto/GetCustomDungeonReq.proto b/proto/GetCustomDungeonReq.proto
new file mode 100644
index 00000000..f0e605b5
--- /dev/null
+++ b/proto/GetCustomDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 GetCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6205;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetCustomDungeonRsp.proto b/proto/GetCustomDungeonRsp.proto
new file mode 100644
index 00000000..e6777f15
--- /dev/null
+++ b/proto/GetCustomDungeonRsp.proto
@@ -0,0 +1,37 @@
+// 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 "CustomDungeonBanInfo.proto";
+import "CustomDungeonBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6211;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CustomDungeonBrief brief_list = 5;
+ int32 retcode = 3;
+ CustomDungeonBanInfo ban_info = 10;
+}
diff --git a/proto/GetDailyDungeonEntryInfoReq.proto b/proto/GetDailyDungeonEntryInfoReq.proto
index f5e0844e..d06aac8c 100644
--- a/proto/GetDailyDungeonEntryInfoReq.proto
+++ b/proto/GetDailyDungeonEntryInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 930
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetDailyDungeonEntryInfoReq {
- uint32 scene_id = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 950;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 8;
}
diff --git a/proto/GetDailyDungeonEntryInfoRsp.proto b/proto/GetDailyDungeonEntryInfoRsp.proto
index a4e4cc5f..1751321b 100644
--- a/proto/GetDailyDungeonEntryInfoRsp.proto
+++ b/proto/GetDailyDungeonEntryInfoRsp.proto
@@ -21,10 +21,15 @@ import "DailyDungeonEntryInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 967
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetDailyDungeonEntryInfoRsp {
- repeated DailyDungeonEntryInfo daily_dungeon_info_list = 2;
- int32 retcode = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 953;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated DailyDungeonEntryInfo daily_dungeon_info_list = 1;
+ int32 retcode = 9;
}
diff --git a/proto/GetDungeonEntryExploreConditionReq.proto b/proto/GetDungeonEntryExploreConditionReq.proto
new file mode 100644
index 00000000..cf031d0a
--- /dev/null
+++ b/proto/GetDungeonEntryExploreConditionReq.proto
@@ -0,0 +1,35 @@
+// 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 GetDungeonEntryExploreConditionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3364;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_entry_config_id = 2;
+ uint32 scene_id = 9;
+ uint32 dungeon_entry_scene_point_id = 14;
+}
diff --git a/proto/GetDungeonEntryExploreConditionRsp.proto b/proto/GetDungeonEntryExploreConditionRsp.proto
new file mode 100644
index 00000000..cd18c867
--- /dev/null
+++ b/proto/GetDungeonEntryExploreConditionRsp.proto
@@ -0,0 +1,35 @@
+// 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 "DungeonEntryCond.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetDungeonEntryExploreConditionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3425;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ DungeonEntryCond dungeon_entry_cond = 14;
+}
diff --git a/proto/GetExpeditionAssistInfoListReq.proto b/proto/GetExpeditionAssistInfoListReq.proto
new file mode 100644
index 00000000..c94aeceb
--- /dev/null
+++ b/proto/GetExpeditionAssistInfoListReq.proto
@@ -0,0 +1,31 @@
+// 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 GetExpeditionAssistInfoListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2088;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetExpeditionAssistInfoListRsp.proto b/proto/GetExpeditionAssistInfoListRsp.proto
new file mode 100644
index 00000000..210bf4d1
--- /dev/null
+++ b/proto/GetExpeditionAssistInfoListRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ExpeditionAssistInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetExpeditionAssistInfoListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2100;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ repeated ExpeditionAssistInfo assist_info_list = 1;
+}
diff --git a/proto/GetFriendShowAvatarInfoReq.proto b/proto/GetFriendShowAvatarInfoReq.proto
index 76ace439..01e9cf3a 100644
--- a/proto/GetFriendShowAvatarInfoReq.proto
+++ b/proto/GetFriendShowAvatarInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4070
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetFriendShowAvatarInfoReq {
- uint32 uid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4049;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 1;
}
diff --git a/proto/GetFriendShowAvatarInfoRsp.proto b/proto/GetFriendShowAvatarInfoRsp.proto
index 232103a7..cae77673 100644
--- a/proto/GetFriendShowAvatarInfoRsp.proto
+++ b/proto/GetFriendShowAvatarInfoRsp.proto
@@ -21,11 +21,16 @@ import "ShowAvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4017
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetFriendShowAvatarInfoRsp {
- uint32 uid = 6;
- int32 retcode = 3;
- repeated ShowAvatarInfo show_avatar_info_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4091;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ShowAvatarInfo show_avatar_info_list = 5;
+ uint32 uid = 9;
+ int32 retcode = 1;
}
diff --git a/proto/GetFriendShowNameCardInfoReq.proto b/proto/GetFriendShowNameCardInfoReq.proto
index 7e8cc9e5..cf7fba10 100644
--- a/proto/GetFriendShowNameCardInfoReq.proto
+++ b/proto/GetFriendShowNameCardInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4061
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetFriendShowNameCardInfoReq {
- uint32 uid = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4098;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 5;
}
diff --git a/proto/GetFriendShowNameCardInfoRsp.proto b/proto/GetFriendShowNameCardInfoRsp.proto
index ff9e38be..a946b7cb 100644
--- a/proto/GetFriendShowNameCardInfoRsp.proto
+++ b/proto/GetFriendShowNameCardInfoRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4029
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetFriendShowNameCardInfoRsp {
- int32 retcode = 15;
- uint32 uid = 7;
- repeated uint32 show_name_card_id_list = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4020;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 show_name_card_id_list = 5;
+ uint32 uid = 9;
+ int32 retcode = 3;
}
diff --git a/proto/GetFurnitureCurModuleArrangeCountReq.proto b/proto/GetFurnitureCurModuleArrangeCountReq.proto
index 83a72eb8..ce885e21 100644
--- a/proto/GetFurnitureCurModuleArrangeCountReq.proto
+++ b/proto/GetFurnitureCurModuleArrangeCountReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4711
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetFurnitureCurModuleArrangeCountReq {}
+message GetFurnitureCurModuleArrangeCountReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4730;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetGachaInfoReq.proto b/proto/GetGachaInfoReq.proto
index e7c95cf8..8159821b 100644
--- a/proto/GetGachaInfoReq.proto
+++ b/proto/GetGachaInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1572
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetGachaInfoReq {}
+message GetGachaInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetGachaInfoRsp.proto b/proto/GetGachaInfoRsp.proto
index 0ae0a376..8d2230e7 100644
--- a/proto/GetGachaInfoRsp.proto
+++ b/proto/GetGachaInfoRsp.proto
@@ -21,14 +21,19 @@ import "GachaInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1598
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetGachaInfoRsp {
- bool is_under_general_restrict = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1530;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 daily_gacha_times = 6;
+ repeated GachaInfo gacha_info_list = 10;
+ bool Unk3300_OHFMHIHJHPJ = 4;
uint32 gacha_random = 9;
- int32 retcode = 10;
- bool is_under_minors_restrict = 2;
- uint32 daily_gacha_times = 5;
- repeated GachaInfo gacha_info_list = 13;
+ bool Unk3300_HBILIAEIHNK = 3;
}
diff --git a/proto/GetGameplayRecommendationReq.proto b/proto/GetGameplayRecommendationReq.proto
new file mode 100644
index 00000000..165d2a4d
--- /dev/null
+++ b/proto/GetGameplayRecommendationReq.proto
@@ -0,0 +1,42 @@
+// 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 "GameplayRecommendationElementReliquaryRequest.proto";
+import "GameplayRecommendationReliquaryRequest.proto";
+import "GameplayRecommendationSkillRequest.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetGameplayRecommendationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 155;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 avatar_id = 6;
+ oneof detail {
+ GameplayRecommendationSkillRequest skill_request = 1566;
+ GameplayRecommendationReliquaryRequest reliquary_request = 72;
+ GameplayRecommendationElementReliquaryRequest element_reliquary_request = 867;
+ }
+}
diff --git a/proto/GetGameplayRecommendationRsp.proto b/proto/GetGameplayRecommendationRsp.proto
new file mode 100644
index 00000000..adb7cd76
--- /dev/null
+++ b/proto/GetGameplayRecommendationRsp.proto
@@ -0,0 +1,42 @@
+// 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 "GameplayRecommendationElementReliquaryResponse.proto";
+import "GameplayRecommendationReliquaryResponse.proto";
+import "GameplayRecommendationSkillResponse.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetGameplayRecommendationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 113;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 avatar_id = 15;
+ oneof detail {
+ GameplayRecommendationSkillResponse skill_response = 680;
+ GameplayRecommendationReliquaryResponse reliquary_response = 1153;
+ GameplayRecommendationElementReliquaryResponse element_reliquary_response = 714;
+ }
+}
diff --git a/proto/GetHomeExchangeWoodInfoReq.proto b/proto/GetHomeExchangeWoodInfoReq.proto
new file mode 100644
index 00000000..db339e49
--- /dev/null
+++ b/proto/GetHomeExchangeWoodInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetHomeExchangeWoodInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4777;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetHomeExchangeWoodInfoRsp.proto b/proto/GetHomeExchangeWoodInfoRsp.proto
new file mode 100644
index 00000000..b299ab3b
--- /dev/null
+++ b/proto/GetHomeExchangeWoodInfoRsp.proto
@@ -0,0 +1,40 @@
+// 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 GetHomeExchangeWoodInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4580;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ message HomeExchangeWoodInfo {
+ uint32 wood_id = 1;
+ uint32 exchanged_count = 7;
+ uint32 next_refresh_time = 14;
+ uint32 exchange_limit = 4;
+ }
+
+ repeated HomeExchangeWoodInfo wood_info_list = 7;
+ int32 retcode = 12;
+}
diff --git a/proto/GetHomeLevelUpRewardReq.proto b/proto/GetHomeLevelUpRewardReq.proto
new file mode 100644
index 00000000..a5d13b31
--- /dev/null
+++ b/proto/GetHomeLevelUpRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 GetHomeLevelUpRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4457;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level = 11;
+}
diff --git a/proto/GetHomeLevelUpRewardRsp.proto b/proto/GetHomeLevelUpRewardRsp.proto
new file mode 100644
index 00000000..c9249c20
--- /dev/null
+++ b/proto/GetHomeLevelUpRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 GetHomeLevelUpRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4857;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 level = 5;
+}
diff --git a/proto/GetHuntingOfferRewardReq.proto b/proto/GetHuntingOfferRewardReq.proto
new file mode 100644
index 00000000..3f6e7d07
--- /dev/null
+++ b/proto/GetHuntingOfferRewardReq.proto
@@ -0,0 +1,36 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetHuntingOfferRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4327;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HuntingPair hunting_pair = 10;
+ uint32 city_id = 8;
+}
diff --git a/proto/GetHuntingOfferRewardRsp.proto b/proto/GetHuntingOfferRewardRsp.proto
new file mode 100644
index 00000000..72e83562
--- /dev/null
+++ b/proto/GetHuntingOfferRewardRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetHuntingOfferRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4331;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 city_id = 3;
+ int32 retcode = 1;
+ HuntingPair hunting_pair = 10;
+}
diff --git a/proto/GetInvestigationMonsterReq.proto b/proto/GetInvestigationMonsterReq.proto
index f2d27016..e5c663e8 100644
--- a/proto/GetInvestigationMonsterReq.proto
+++ b/proto/GetInvestigationMonsterReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1901
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetInvestigationMonsterReq {
- repeated uint32 city_id_list = 3;
- bool is_for_mark = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1930;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_for_mark = 8;
+ repeated uint32 city_id_list = 11;
}
diff --git a/proto/GetInvestigationMonsterRsp.proto b/proto/GetInvestigationMonsterRsp.proto
index 0f76873b..0ad839e3 100644
--- a/proto/GetInvestigationMonsterRsp.proto
+++ b/proto/GetInvestigationMonsterRsp.proto
@@ -21,12 +21,17 @@ import "InvestigationMonster.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1910
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetInvestigationMonsterRsp {
- repeated InvestigationMonster monster_list = 10;
- int32 retcode = 1;
- bool is_for_mark = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1901;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 13;
+ bool is_for_mark = 11;
+ repeated InvestigationMonster monster_list = 14;
}
diff --git a/proto/GetMailItemReq.proto b/proto/GetMailItemReq.proto
index 0a334972..a2aa6927 100644
--- a/proto/GetMailItemReq.proto
+++ b/proto/GetMailItemReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1435
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetMailItemReq {
- repeated uint32 mail_id_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1419;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 mail_id_list = 1;
}
diff --git a/proto/GetMailItemRsp.proto b/proto/GetMailItemRsp.proto
index 211c3ae5..28e0ae18 100644
--- a/proto/GetMailItemRsp.proto
+++ b/proto/GetMailItemRsp.proto
@@ -21,11 +21,16 @@ import "EquipParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1407
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetMailItemRsp {
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1500;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated EquipParam item_list = 6;
repeated uint32 mail_id_list = 3;
- repeated EquipParam item_list = 2;
+ int32 retcode = 7;
}
diff --git a/proto/GetMapAreaReq.proto b/proto/GetMapAreaReq.proto
new file mode 100644
index 00000000..0f526bce
--- /dev/null
+++ b/proto/GetMapAreaReq.proto
@@ -0,0 +1,31 @@
+// 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 GetMapAreaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3106;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetMapAreaRsp.proto b/proto/GetMapAreaRsp.proto
new file mode 100644
index 00000000..8893bd48
--- /dev/null
+++ b/proto/GetMapAreaRsp.proto
@@ -0,0 +1,35 @@
+// 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 "MapAreaInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetMapAreaRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3275;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ repeated MapAreaInfo map_area_info_list = 12;
+}
diff --git a/proto/GetMapMarkTipsReq.proto b/proto/GetMapMarkTipsReq.proto
new file mode 100644
index 00000000..c12a84cc
--- /dev/null
+++ b/proto/GetMapMarkTipsReq.proto
@@ -0,0 +1,31 @@
+// 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 GetMapMarkTipsReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3473;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetMapMarkTipsRsp.proto b/proto/GetMapMarkTipsRsp.proto
new file mode 100644
index 00000000..4d930a21
--- /dev/null
+++ b/proto/GetMapMarkTipsRsp.proto
@@ -0,0 +1,35 @@
+// 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 "MapMarkTipsInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetMapMarkTipsRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3272;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MapMarkTipsInfo mark_tips_list = 8;
+ int32 retcode = 11;
+}
diff --git a/proto/GetMechanicusInfoReq.proto b/proto/GetMechanicusInfoReq.proto
new file mode 100644
index 00000000..0ca9775e
--- /dev/null
+++ b/proto/GetMechanicusInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetMechanicusInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3979;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetMechanicusInfoRsp.proto b/proto/GetMechanicusInfoRsp.proto
new file mode 100644
index 00000000..c4c84d54
--- /dev/null
+++ b/proto/GetMechanicusInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "MechanicusInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetMechanicusInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3930;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MechanicusInfo mechanicus_info = 5;
+ int32 retcode = 12;
+}
diff --git a/proto/GetNextResourceInfoReq.proto b/proto/GetNextResourceInfoReq.proto
new file mode 100644
index 00000000..1c2796b4
--- /dev/null
+++ b/proto/GetNextResourceInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetNextResourceInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 197;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetNextResourceInfoRsp.proto b/proto/GetNextResourceInfoRsp.proto
new file mode 100644
index 00000000..c5b6cc16
--- /dev/null
+++ b/proto/GetNextResourceInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ResVersionConfig.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetNextResourceInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 102;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ResVersionConfig next_res_version_config = 6;
+ int32 retcode = 8;
+ string next_resource_url = 15;
+}
diff --git a/proto/GetOnlinePlayerInfoReq.proto b/proto/GetOnlinePlayerInfoReq.proto
index ed10987e..da63de1c 100644
--- a/proto/GetOnlinePlayerInfoReq.proto
+++ b/proto/GetOnlinePlayerInfoReq.proto
@@ -19,15 +19,20 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 82
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetOnlinePlayerInfoReq {
- bool is_online_id = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 90;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_online_id = 8;
oneof player_id {
- uint32 target_uid = 9;
+ uint32 target_uid = 1;
string online_id = 7;
- string psn_id = 2;
+ string psn_id = 4;
}
}
diff --git a/proto/GetOnlinePlayerInfoRsp.proto b/proto/GetOnlinePlayerInfoRsp.proto
index 422f9dbf..4d8ccbbb 100644
--- a/proto/GetOnlinePlayerInfoRsp.proto
+++ b/proto/GetOnlinePlayerInfoRsp.proto
@@ -21,12 +21,17 @@ import "OnlinePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 47
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetOnlinePlayerInfoRsp {
- int32 retcode = 11;
- uint32 target_uid = 7;
- uint32 param = 4;
- OnlinePlayerInfo target_player_info = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 76;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 9;
+ uint32 param = 3;
+ OnlinePlayerInfo target_player_info = 6;
+ int32 retcode = 7;
}
diff --git a/proto/GetOnlinePlayerListReq.proto b/proto/GetOnlinePlayerListReq.proto
index 3c2eff36..f040a12b 100644
--- a/proto/GetOnlinePlayerListReq.proto
+++ b/proto/GetOnlinePlayerListReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 90
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetOnlinePlayerListReq {}
+message GetOnlinePlayerListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 47;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetOnlinePlayerListRsp.proto b/proto/GetOnlinePlayerListRsp.proto
index bd4782c1..50e61c48 100644
--- a/proto/GetOnlinePlayerListRsp.proto
+++ b/proto/GetOnlinePlayerListRsp.proto
@@ -21,11 +21,16 @@ import "OnlinePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 73
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetOnlinePlayerListRsp {
- int32 retcode = 7;
- uint32 param = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 78;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 param = 8;
repeated OnlinePlayerInfo player_info_list = 5;
}
diff --git a/proto/GetOpActivityInfoReq.proto b/proto/GetOpActivityInfoReq.proto
index 3fb02a65..0dd388c2 100644
--- a/proto/GetOpActivityInfoReq.proto
+++ b/proto/GetOpActivityInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5172
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetOpActivityInfoReq {}
+message GetOpActivityInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetOpActivityInfoRsp.proto b/proto/GetOpActivityInfoRsp.proto
index 066603eb..c0fb369f 100644
--- a/proto/GetOpActivityInfoRsp.proto
+++ b/proto/GetOpActivityInfoRsp.proto
@@ -21,10 +21,15 @@ import "OpActivityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5198
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetOpActivityInfoRsp {
- int32 retcode = 10;
- repeated OpActivityInfo op_activity_info_list = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5130;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ repeated OpActivityInfo op_activity_info_list = 8;
}
diff --git a/proto/GetParentQuestVideoKeyReq.proto b/proto/GetParentQuestVideoKeyReq.proto
index 907d94d2..c41b870f 100644
--- a/proto/GetParentQuestVideoKeyReq.proto
+++ b/proto/GetParentQuestVideoKeyReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 470
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetParentQuestVideoKeyReq {
- uint32 parent_quest_id = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 449;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 parent_quest_id = 13;
}
diff --git a/proto/GetParentQuestVideoKeyRsp.proto b/proto/GetParentQuestVideoKeyRsp.proto
index 88c79165..0a717549 100644
--- a/proto/GetParentQuestVideoKeyRsp.proto
+++ b/proto/GetParentQuestVideoKeyRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 417
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetParentQuestVideoKeyRsp {
- int32 retcode = 1;
- uint64 video_key = 14;
- uint32 parent_quest_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 491;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 parent_quest_id = 15;
+ uint64 video_key = 12;
+ int32 retcode = 4;
}
diff --git a/proto/GetPlayerAskFriendListReq.proto b/proto/GetPlayerAskFriendListReq.proto
index ce7ffbde..b6daf96f 100644
--- a/proto/GetPlayerAskFriendListReq.proto
+++ b/proto/GetPlayerAskFriendListReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4018
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetPlayerAskFriendListReq {}
+message GetPlayerAskFriendListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4008;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetPlayerAskFriendListRsp.proto b/proto/GetPlayerAskFriendListRsp.proto
index 3d4b0d1c..f8cb1432 100644
--- a/proto/GetPlayerAskFriendListRsp.proto
+++ b/proto/GetPlayerAskFriendListRsp.proto
@@ -21,10 +21,15 @@ import "FriendBrief.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4066
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetPlayerAskFriendListRsp {
- int32 retcode = 13;
- repeated FriendBrief ask_friend_list = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4009;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ repeated FriendBrief ask_friend_list = 3;
}
diff --git a/proto/GetPlayerBlacklistReq.proto b/proto/GetPlayerBlacklistReq.proto
new file mode 100644
index 00000000..c8d8eb4b
--- /dev/null
+++ b/proto/GetPlayerBlacklistReq.proto
@@ -0,0 +1,31 @@
+// 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 GetPlayerBlacklistReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4015;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetPlayerBlacklistRsp.proto b/proto/GetPlayerBlacklistRsp.proto
index 366d9899..1caa2a3a 100644
--- a/proto/GetPlayerBlacklistRsp.proto
+++ b/proto/GetPlayerBlacklistRsp.proto
@@ -21,10 +21,15 @@ import "FriendBrief.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4091
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetPlayerBlacklistRsp {
- int32 retcode = 2;
- repeated FriendBrief blacklist = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4021;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FriendBrief blacklist = 5;
+ int32 retcode = 11;
}
diff --git a/proto/GetPlayerFriendListReq.proto b/proto/GetPlayerFriendListReq.proto
index a634f134..3b262757 100644
--- a/proto/GetPlayerFriendListReq.proto
+++ b/proto/GetPlayerFriendListReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4072
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetPlayerFriendListReq {}
+message GetPlayerFriendListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4079;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetPlayerFriendListRsp.proto b/proto/GetPlayerFriendListRsp.proto
index b0d0e1f6..c21ea7c5 100644
--- a/proto/GetPlayerFriendListRsp.proto
+++ b/proto/GetPlayerFriendListRsp.proto
@@ -21,12 +21,17 @@ import "FriendBrief.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4098
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetPlayerFriendListRsp {
- int32 retcode = 9;
- repeated FriendBrief ask_friend_list = 8;
- repeated FriendBrief friend_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4030;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated FriendBrief ask_friend_list = 13;
+ int32 retcode = 4;
+ repeated FriendBrief friend_list = 15;
}
diff --git a/proto/GetPlayerHomeCompInfoReq.proto b/proto/GetPlayerHomeCompInfoReq.proto
index 4de344b8..e50be248 100644
--- a/proto/GetPlayerHomeCompInfoReq.proto
+++ b/proto/GetPlayerHomeCompInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4597
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetPlayerHomeCompInfoReq {}
+message GetPlayerHomeCompInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4655;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetPlayerMpModeAvailabilityReq.proto b/proto/GetPlayerMpModeAvailabilityReq.proto
new file mode 100644
index 00000000..aa800103
--- /dev/null
+++ b/proto/GetPlayerMpModeAvailabilityReq.proto
@@ -0,0 +1,31 @@
+// 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 GetPlayerMpModeAvailabilityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1812;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetPlayerMpModeAvailabilityRsp.proto b/proto/GetPlayerMpModeAvailabilityRsp.proto
new file mode 100644
index 00000000..86792f2f
--- /dev/null
+++ b/proto/GetPlayerMpModeAvailabilityRsp.proto
@@ -0,0 +1,34 @@
+// 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 GetPlayerMpModeAvailabilityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1834;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 param_list = 8;
+ int32 mp_ret = 12;
+ int32 retcode = 3;
+}
diff --git a/proto/GetPlayerSocialDetailReq.proto b/proto/GetPlayerSocialDetailReq.proto
index 4ad03979..81a0be47 100644
--- a/proto/GetPlayerSocialDetailReq.proto
+++ b/proto/GetPlayerSocialDetailReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4073
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetPlayerSocialDetailReq {
- uint32 uid = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4078;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 1;
}
diff --git a/proto/GetPlayerSocialDetailRsp.proto b/proto/GetPlayerSocialDetailRsp.proto
index bce5e8ae..c796b05f 100644
--- a/proto/GetPlayerSocialDetailRsp.proto
+++ b/proto/GetPlayerSocialDetailRsp.proto
@@ -21,10 +21,15 @@ import "SocialDetail.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4099
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetPlayerSocialDetailRsp {
- SocialDetail detail_data = 12;
- int32 retcode = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4057;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SocialDetail detail_data = 6;
+ int32 retcode = 14;
}
diff --git a/proto/GetPlayerTokenReq.proto b/proto/GetPlayerTokenReq.proto
index 1f41a6de..2d2a6c03 100644
--- a/proto/GetPlayerTokenReq.proto
+++ b/proto/GetPlayerTokenReq.proto
@@ -19,28 +19,34 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 172
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetPlayerTokenReq {
- string account_token = 10;
- string account_uid = 11;
- string psn_region = 4;
- string online_id = 7;
- uint32 channel_id = 15;
- string account_ext = 9;
- string country_code = 5;
- string client_rand_key = 760;
- bool is_guest = 6;
- string birthday = 1718;
- uint32 sub_channel_id = 8;
- uint32 platform_type = 12;
- string client_ip_str = 3;
- string psn_id = 13;
- uint32 account_type = 1;
- uint32 minors_reg_min_age = 995;
- uint32 cloud_client_ip = 14;
- uint32 key_id = 1787;
- uint32 uid = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 10;
+ uint32 Unk3300_DILMOPPLPEM = 1735;
+ uint32 platform_type = 2;
+ bool is_guest = 14;
+ string online_id = 12;
+ uint32 Unk3300_FDNAJOFMOAK = 6;
+ uint32 channel_id = 8;
+ string client_rand_key = 400;
+ string Unk3300_PHNOHCKIHIA = 3;
+ uint32 lang = 1548;
+ string Unk3300_PKONAOIDNFK = 13;
+ uint32 Unk3300_PMGFBMJNNCL = 1;
+ string psn_id = 5;
+ uint32 key_id = 1175;
+ string account_uid = 4;
+ string client_ip_str = 15;
+ string account_token = 9;
+ string country_code = 11;
+ string birthday = 292;
+ uint32 Unk3300_IADFJHNFKIB = 7;
}
diff --git a/proto/GetPlayerTokenRsp.proto b/proto/GetPlayerTokenRsp.proto
index febdb70d..da1eb185 100644
--- a/proto/GetPlayerTokenRsp.proto
+++ b/proto/GetPlayerTokenRsp.proto
@@ -17,41 +17,49 @@
syntax = "proto3";
+import "StopServerInfo.proto";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 198
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetPlayerTokenRsp {
- string birthday = 937;
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 130;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
bytes security_cmd_buffer = 6;
- uint64 secret_key_seed = 13;
- string country_code = 2013;
- bytes extra_bin_data = 3;
+ uint32 Unk3300_PIPLDEAPMMN = 7;
+ bool is_guest = 11;
+ bool Unk3300_AJBBIPFMBEL = 126;
+ uint32 key_id = 134;
+ string sign = 1666;
string secret_key = 15;
- uint32 minors_reg_min_age = 1561;
- uint32 black_uid_end_time = 14;
- uint32 tag = 1635;
- string token = 11;
- uint32 gm_uid = 10;
- uint32 channel_id = 896;
- string psn_id = 1811;
- string client_ip_str = 860;
- string msg = 7;
- uint32 account_type = 5;
- uint32 sub_channel_id = 1802;
- bool is_watchdog_uid = 2028;
- string server_rand_key = 1493;
- bool is_proficient_player = 9;
- uint32 key_id = 1172;
- uint32 uid = 1;
- string account_uid = 12;
- bool is_guest = 4;
- string client_version_random_key = 1529;
- repeated uint32 finish_collection_id_list = 1640;
- uint32 platform_type = 8;
- uint32 reg_platform = 1112;
- bool is_login_white_list = 573;
- string sign = 1140;
+ uint32 Unk3300_FDNAJOFMOAK = 8;
+ uint32 channel_id = 676;
+ bytes extra_bin_data = 5;
+ uint64 secret_key_seed = 3;
+ string token = 13;
+ string server_rand_key = 1188;
+ uint32 Unk3300_DILMOPPLPEM = 1670;
+ string birthday = 1847;
+ uint32 tag = 1099;
+ string client_ip_str = 1382;
+ uint32 Unk3300_IADFJHNFKIB = 1038;
+ int32 retcode = 2;
+ string client_version_random_key = 1152;
+ string psn_id = 242;
+ bool Unk3300_PPGJMLBGJED = 9;
+ uint32 platform_type = 10;
+ uint32 reg_platform = 646;
+ StopServerInfo stop_server = 1897;
+ uint32 Unk3300_FHPCJMIILPA = 12;
+ bool Unk3300_CFBHAHOHDKC = 746;
+ string account_uid = 1;
+ repeated uint32 finish_collection_id_list = 1766;
+ string msg = 4;
+ string country_code = 245;
+ uint32 uid = 14;
}
diff --git a/proto/GetPushTipsRewardReq.proto b/proto/GetPushTipsRewardReq.proto
new file mode 100644
index 00000000..d42e17e9
--- /dev/null
+++ b/proto/GetPushTipsRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 GetPushTipsRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2217;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 push_tips_id_list = 7;
+}
diff --git a/proto/GetPushTipsRewardRsp.proto b/proto/GetPushTipsRewardRsp.proto
new file mode 100644
index 00000000..50ae9238
--- /dev/null
+++ b/proto/GetPushTipsRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 GetPushTipsRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2205;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 push_tips_id_list = 5;
+ int32 retcode = 2;
+}
diff --git a/proto/GetQuestLackingResourceReq.proto b/proto/GetQuestLackingResourceReq.proto
index 29e91421..f868cae1 100644
--- a/proto/GetQuestLackingResourceReq.proto
+++ b/proto/GetQuestLackingResourceReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 467
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetQuestLackingResourceReq {
- uint32 quest_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 453;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 quest_id = 13;
}
diff --git a/proto/GetQuestLackingResourceRsp.proto b/proto/GetQuestLackingResourceRsp.proto
index dacef6ca..4ea4dfd5 100644
--- a/proto/GetQuestLackingResourceRsp.proto
+++ b/proto/GetQuestLackingResourceRsp.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 458
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetQuestLackingResourceRsp {
- uint32 quest_id = 4;
- int32 retcode = 11;
- repeated uint32 lacked_npc_list = 8;
- repeated uint32 lacked_place_list = 5;
- map lacked_npc_map = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 424;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
map lacked_place_map = 2;
+ map lacked_npc_map = 7;
+ repeated uint32 lacked_place_list = 11;
+ uint32 quest_id = 3;
+ int32 retcode = 6;
+ repeated uint32 lacked_npc_list = 14;
}
diff --git a/proto/GetQuestTalkHistoryReq.proto b/proto/GetQuestTalkHistoryReq.proto
index 1b972142..9570a343 100644
--- a/proto/GetQuestTalkHistoryReq.proto
+++ b/proto/GetQuestTalkHistoryReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 490
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetQuestTalkHistoryReq {
- uint32 parent_quest_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 447;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 parent_quest_id = 15;
}
diff --git a/proto/GetQuestTalkHistoryRsp.proto b/proto/GetQuestTalkHistoryRsp.proto
index 46ea7991..063d0f55 100644
--- a/proto/GetQuestTalkHistoryRsp.proto
+++ b/proto/GetQuestTalkHistoryRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 473
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetQuestTalkHistoryRsp {
- repeated uint32 talk_id_list = 13;
- uint32 parent_quest_id = 7;
- int32 retcode = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 478;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 parent_quest_id = 3;
+ repeated uint32 talk_id_list = 5;
}
diff --git a/proto/GetRecentMpPlayerListReq.proto b/proto/GetRecentMpPlayerListReq.proto
new file mode 100644
index 00000000..85173688
--- /dev/null
+++ b/proto/GetRecentMpPlayerListReq.proto
@@ -0,0 +1,31 @@
+// 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 GetRecentMpPlayerListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4080;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetRecentMpPlayerListRsp.proto b/proto/GetRecentMpPlayerListRsp.proto
new file mode 100644
index 00000000..663ba38b
--- /dev/null
+++ b/proto/GetRecentMpPlayerListRsp.proto
@@ -0,0 +1,36 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetRecentMpPlayerListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4046;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated FriendBrief recent_mp_player_brief_list = 9;
+ int32 retcode = 13;
+}
diff --git a/proto/GetRecommendCustomDungeonReq.proto b/proto/GetRecommendCustomDungeonReq.proto
new file mode 100644
index 00000000..5ac9d404
--- /dev/null
+++ b/proto/GetRecommendCustomDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 GetRecommendCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6221;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_refresh = 6;
+}
diff --git a/proto/GetRecommendCustomDungeonRsp.proto b/proto/GetRecommendCustomDungeonRsp.proto
new file mode 100644
index 00000000..c6da9c87
--- /dev/null
+++ b/proto/GetRecommendCustomDungeonRsp.proto
@@ -0,0 +1,35 @@
+// 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 "OtherCustomDungeonBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetRecommendCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6237;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated OtherCustomDungeonBrief custom_dungeon_list = 7;
+ int32 retcode = 14;
+}
diff --git a/proto/GetRegionSearchReq.proto b/proto/GetRegionSearchReq.proto
index e1cf7305..da5d049e 100644
--- a/proto/GetRegionSearchReq.proto
+++ b/proto/GetRegionSearchReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5602
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetRegionSearchReq {}
+message GetRegionSearchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5627;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetReunionMissionInfoReq.proto b/proto/GetReunionMissionInfoReq.proto
new file mode 100644
index 00000000..1b6affd4
--- /dev/null
+++ b/proto/GetReunionMissionInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 GetReunionMissionInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5062;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mission_id = 3;
+}
diff --git a/proto/GetReunionMissionInfoRsp.proto b/proto/GetReunionMissionInfoRsp.proto
new file mode 100644
index 00000000..6bc4ae9b
--- /dev/null
+++ b/proto/GetReunionMissionInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ReunionMissionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetReunionMissionInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5084;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ ReunionMissionInfo mission_info = 4;
+}
diff --git a/proto/GetReunionPrivilegeInfoReq.proto b/proto/GetReunionPrivilegeInfoReq.proto
new file mode 100644
index 00000000..1910ede4
--- /dev/null
+++ b/proto/GetReunionPrivilegeInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 GetReunionPrivilegeInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5093;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 privilege_id = 15;
+}
diff --git a/proto/GetReunionPrivilegeInfoRsp.proto b/proto/GetReunionPrivilegeInfoRsp.proto
new file mode 100644
index 00000000..cad17b30
--- /dev/null
+++ b/proto/GetReunionPrivilegeInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ReunionPrivilegeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetReunionPrivilegeInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5059;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ReunionPrivilegeInfo privilege_info = 6;
+ int32 retcode = 3;
+}
diff --git a/proto/GetReunionSignInInfoReq.proto b/proto/GetReunionSignInInfoReq.proto
new file mode 100644
index 00000000..058bce9a
--- /dev/null
+++ b/proto/GetReunionSignInInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 GetReunionSignInInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5077;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 sign_in_config_id = 3;
+}
diff --git a/proto/GetReunionSignInInfoRsp.proto b/proto/GetReunionSignInInfoRsp.proto
new file mode 100644
index 00000000..3a014bb0
--- /dev/null
+++ b/proto/GetReunionSignInInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ReunionSignInInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetReunionSignInInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5081;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ReunionSignInInfo sign_in_info = 2;
+ int32 retcode = 13;
+}
diff --git a/proto/GetRogueDairyRepairInfoReq.proto b/proto/GetRogueDairyRepairInfoReq.proto
new file mode 100644
index 00000000..57d4bb7b
--- /dev/null
+++ b/proto/GetRogueDairyRepairInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 GetRogueDairyRepairInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8730;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetRogueDairyRepairInfoRsp.proto b/proto/GetRogueDairyRepairInfoRsp.proto
new file mode 100644
index 00000000..89109bce
--- /dev/null
+++ b/proto/GetRogueDairyRepairInfoRsp.proto
@@ -0,0 +1,32 @@
+// 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 GetRogueDairyRepairInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8656;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/GetSceneAreaReq.proto b/proto/GetSceneAreaReq.proto
index dc4159b5..a9afe0b1 100644
--- a/proto/GetSceneAreaReq.proto
+++ b/proto/GetSceneAreaReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 265
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetSceneAreaReq {
- uint32 scene_id = 4;
- uint32 belong_uid = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 289;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 1;
+ uint32 belong_uid = 6;
}
diff --git a/proto/GetSceneAreaRsp.proto b/proto/GetSceneAreaRsp.proto
index 7a03507b..0cb7b466 100644
--- a/proto/GetSceneAreaRsp.proto
+++ b/proto/GetSceneAreaRsp.proto
@@ -21,12 +21,17 @@ import "CityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 204
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetSceneAreaRsp {
- int32 retcode = 7;
- repeated CityInfo city_info_list = 13;
- uint32 scene_id = 15;
- repeated uint32 area_id_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 244;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 8;
+ int32 retcode = 1;
+ repeated uint32 area_id_list = 15;
+ repeated CityInfo city_info_list = 9;
}
diff --git a/proto/GetSceneNpcPositionReq.proto b/proto/GetSceneNpcPositionReq.proto
new file mode 100644
index 00000000..3c625104
--- /dev/null
+++ b/proto/GetSceneNpcPositionReq.proto
@@ -0,0 +1,34 @@
+// 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 GetSceneNpcPositionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 519;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 7;
+ repeated uint32 npc_id_list = 13;
+}
diff --git a/proto/GetSceneNpcPositionRsp.proto b/proto/GetSceneNpcPositionRsp.proto
new file mode 100644
index 00000000..a14f63a3
--- /dev/null
+++ b/proto/GetSceneNpcPositionRsp.proto
@@ -0,0 +1,36 @@
+// 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 "NpcPositionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetSceneNpcPositionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 600;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 1;
+ repeated NpcPositionInfo npc_info_list = 2;
+ int32 retcode = 5;
+}
diff --git a/proto/GetScenePerformanceReq.proto b/proto/GetScenePerformanceReq.proto
new file mode 100644
index 00000000..b6236c47
--- /dev/null
+++ b/proto/GetScenePerformanceReq.proto
@@ -0,0 +1,31 @@
+// 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 GetScenePerformanceReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3403;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetScenePerformanceRsp.proto b/proto/GetScenePerformanceRsp.proto
new file mode 100644
index 00000000..fa0cb127
--- /dev/null
+++ b/proto/GetScenePerformanceRsp.proto
@@ -0,0 +1,42 @@
+// 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 GetScenePerformanceRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3010;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ uint32 Unk3300_GLNFIFPNJIE = 4;
+ uint32 Unk3300_IHBPCPCJIBC = 2;
+ uint32 Unk3300_MMALJIFDKJK = 13;
+ uint32 Unk3300_PDPJEMEKHKD = 10;
+ uint32 Unk3300_LIOFGAHKNIA = 14;
+ uint32 Unk3300_MIJMKLBGKML = 11;
+ uint32 Unk3300_JMLJLNKLJNP = 15;
+ Vector pos = 9;
+}
diff --git a/proto/GetScenePointReq.proto b/proto/GetScenePointReq.proto
index 38ee5ce1..3f10c60e 100644
--- a/proto/GetScenePointReq.proto
+++ b/proto/GetScenePointReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 297
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetScenePointReq {
- uint32 belong_uid = 10;
- uint32 scene_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 299;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 13;
+ uint32 belong_uid = 5;
}
diff --git a/proto/GetScenePointRsp.proto b/proto/GetScenePointRsp.proto
index 230344a7..874758ea 100644
--- a/proto/GetScenePointRsp.proto
+++ b/proto/GetScenePointRsp.proto
@@ -19,20 +19,25 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 281
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetScenePointRsp {
- repeated uint32 not_explored_dungeon_entry_list = 11;
- repeated uint32 to_be_explore_dungeon_entry_list = 15;
- repeated uint32 locked_point_list = 2;
- repeated uint32 unhide_point_list = 5;
- int32 retcode = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 225;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_NFDMMIOFECO = 9;
+ repeated uint32 Unk3300_FKANNCGJEFJ = 15;
+ int32 retcode = 13;
+ repeated uint32 Unk3300_FGPKDGFLJOF = 3;
+ repeated uint32 Unk3300_PIGCABAAMMB = 10;
+ repeated uint32 Unk3300_NAPMOOABHLJ = 1;
+ repeated uint32 Unk3300_JFBPMPADAPA = 11;
+ repeated uint32 Unk3300_IJJGKIAMEJA = 6;
+ repeated uint32 Unk3300_JCGMJCEODCM = 7;
uint32 belong_uid = 12;
- repeated uint32 unlocked_point_list = 13;
- repeated uint32 unlock_area_list = 1;
- repeated uint32 hide_point_list = 4;
- uint32 scene_id = 14;
- repeated uint32 not_interact_dungeon_entry_list = 6;
- repeated uint32 group_unlimit_point_list = 10;
+ repeated uint32 Unk3300_GEDEFAIHKMH = 2;
+ uint32 scene_id = 8;
}
diff --git a/proto/GetShopReq.proto b/proto/GetShopReq.proto
index 61da202b..bd895c28 100644
--- a/proto/GetShopReq.proto
+++ b/proto/GetShopReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 772
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetShopReq {
- uint32 shop_type = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 779;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 shop_type = 9;
}
diff --git a/proto/GetShopRsp.proto b/proto/GetShopRsp.proto
index fac9ce02..7f310f00 100644
--- a/proto/GetShopRsp.proto
+++ b/proto/GetShopRsp.proto
@@ -21,10 +21,15 @@ import "Shop.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 798
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetShopRsp {
- Shop shop = 11;
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 730;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ Shop shop = 8;
}
diff --git a/proto/GetShopmallDataReq.proto b/proto/GetShopmallDataReq.proto
index 9ecb9bed..7af88d88 100644
--- a/proto/GetShopmallDataReq.proto
+++ b/proto/GetShopmallDataReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 707
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetShopmallDataReq {}
+message GetShopmallDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 800;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetShopmallDataRsp.proto b/proto/GetShopmallDataRsp.proto
index e50d6651..f3053221 100644
--- a/proto/GetShopmallDataRsp.proto
+++ b/proto/GetShopmallDataRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 721
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetShopmallDataRsp {
- repeated uint32 shop_type_list = 15;
- int32 retcode = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 743;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ repeated uint32 shop_type_list = 7;
}
diff --git a/proto/GetSignInRewardReq.proto b/proto/GetSignInRewardReq.proto
new file mode 100644
index 00000000..d87b22e5
--- /dev/null
+++ b/proto/GetSignInRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 GetSignInRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2600;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_day = 4;
+ uint32 schedule_id = 1;
+}
diff --git a/proto/GetSignInRewardRsp.proto b/proto/GetSignInRewardRsp.proto
new file mode 100644
index 00000000..b05b6b41
--- /dev/null
+++ b/proto/GetSignInRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 "SignInInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetSignInRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2543;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SignInInfo sign_in_info = 3;
+ int32 retcode = 1;
+}
diff --git a/proto/GetStoreCustomDungeonReq.proto b/proto/GetStoreCustomDungeonReq.proto
new file mode 100644
index 00000000..baab8c6a
--- /dev/null
+++ b/proto/GetStoreCustomDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 GetStoreCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6204;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetStoreCustomDungeonRsp.proto b/proto/GetStoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..103d2469
--- /dev/null
+++ b/proto/GetStoreCustomDungeonRsp.proto
@@ -0,0 +1,35 @@
+// 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 "OtherCustomDungeonBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetStoreCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6210;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated OtherCustomDungeonBrief custom_dungeon_list = 2;
+ int32 retcode = 15;
+}
diff --git a/proto/GetUgcBriefInfoReq.proto b/proto/GetUgcBriefInfoReq.proto
new file mode 100644
index 00000000..76da30ba
--- /dev/null
+++ b/proto/GetUgcBriefInfoReq.proto
@@ -0,0 +1,36 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetUgcBriefInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6322;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 ugc_guid = 5;
+ UgcType ugc_type = 1;
+}
diff --git a/proto/GetUgcBriefInfoRsp.proto b/proto/GetUgcBriefInfoRsp.proto
new file mode 100644
index 00000000..68381f73
--- /dev/null
+++ b/proto/GetUgcBriefInfoRsp.proto
@@ -0,0 +1,40 @@
+// 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 "UgcMusicBriefInfo.proto";
+import "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GetUgcBriefInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6335;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 ugc_guid = 3;
+ int32 retcode = 12;
+ UgcType ugc_type = 9;
+ oneof brief {
+ UgcMusicBriefInfo music_brief_info = 7;
+ }
+}
diff --git a/proto/GetUgcReq.proto b/proto/GetUgcReq.proto
index 89d19fee..6fec55b6 100644
--- a/proto/GetUgcReq.proto
+++ b/proto/GetUgcReq.proto
@@ -23,14 +23,19 @@ import "UgcType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 6326
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message GetUgcReq {
- UgcType ugc_type = 8;
- uint64 ugc_guid = 5;
- RecordUsage ugc_record_usage = 6;
- bool is_require_brief = 11;
- GetUgcType get_ugc_type = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6342;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 ugc_guid = 6;
+ UgcType ugc_type = 2;
+ GetUgcType get_ugc_type = 12;
+ RecordUsage ugc_record_usage = 13;
+ bool is_require_brief = 7;
}
diff --git a/proto/GetUgcRsp.proto b/proto/GetUgcRsp.proto
index bab4db49..ccafa9e7 100644
--- a/proto/GetUgcRsp.proto
+++ b/proto/GetUgcRsp.proto
@@ -19,22 +19,28 @@ syntax = "proto3";
import "RecordUsage.proto";
import "UgcMusicBriefInfo.proto";
+import "UgcMusicRecord.proto";
import "UgcType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 6318
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetUgcRsp {
- uint64 ugc_guid = 15;
- UgcType ugc_type = 10;
- int32 retcode = 2;
- RecordUsage ugc_record_usage = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6341;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ RecordUsage ugc_record_usage = 5;
+ UgcType ugc_type = 6;
+ uint64 ugc_guid = 3;
oneof record {
- UgcMusicBriefInfo music_record = 4;
+ UgcMusicRecord music_record = 2;
}
oneof brief {
- UgcMusicBriefInfo music_brief_info = 1819;
+ UgcMusicBriefInfo music_brief_info = 1540;
}
}
diff --git a/proto/GetWidgetSlotReq.proto b/proto/GetWidgetSlotReq.proto
index a5fdc555..98096ed4 100644
--- a/proto/GetWidgetSlotReq.proto
+++ b/proto/GetWidgetSlotReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4253
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetWidgetSlotReq {}
+message GetWidgetSlotReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4274;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetWidgetSlotRsp.proto b/proto/GetWidgetSlotRsp.proto
index b3150e11..14f94238 100644
--- a/proto/GetWidgetSlotRsp.proto
+++ b/proto/GetWidgetSlotRsp.proto
@@ -21,10 +21,15 @@ import "WidgetSlotData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4254
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetWidgetSlotRsp {
- repeated WidgetSlotData slot_list = 13;
- int32 retcode = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4270;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated WidgetSlotData slot_list = 3;
+ int32 retcode = 10;
}
diff --git a/proto/GetWorldMpInfoReq.proto b/proto/GetWorldMpInfoReq.proto
index 810403f7..3f36196b 100644
--- a/proto/GetWorldMpInfoReq.proto
+++ b/proto/GetWorldMpInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3391
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message GetWorldMpInfoReq {}
+message GetWorldMpInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3034;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GetWorldMpInfoRsp.proto b/proto/GetWorldMpInfoRsp.proto
index 0e8b7ac6..b11edbf4 100644
--- a/proto/GetWorldMpInfoRsp.proto
+++ b/proto/GetWorldMpInfoRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3320
-// EnetChannelId: 0
-// EnetIsReliable: true
message GetWorldMpInfoRsp {
- int32 retcode = 12;
- bool is_in_mp_mode = 1;
- uint32 quit_mp_valid_time = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3310;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quit_mp_valid_time = 15;
+ int32 retcode = 1;
+ bool is_in_mp_mode = 14;
}
diff --git a/proto/GiveUpRoguelikeDungeonCardReq.proto b/proto/GiveUpRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..1e421f33
--- /dev/null
+++ b/proto/GiveUpRoguelikeDungeonCardReq.proto
@@ -0,0 +1,31 @@
+// 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 GiveUpRoguelikeDungeonCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8440;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/GiveUpRoguelikeDungeonCardRsp.proto b/proto/GiveUpRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..e9c1817d
--- /dev/null
+++ b/proto/GiveUpRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,32 @@
+// 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 GiveUpRoguelikeDungeonCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8762;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/GivingRecord.proto b/proto/GivingRecord.proto
new file mode 100644
index 00000000..9a19379c
--- /dev/null
+++ b/proto/GivingRecord.proto
@@ -0,0 +1,30 @@
+// 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 GivingRecord {
+ bool is_gadget_giving = 3;
+ uint32 group_id = 7;
+ bool is_finished = 6;
+ map material_count_map = 1;
+ uint32 config_id = 4;
+ uint32 last_group_id = 5;
+ uint32 giving_id = 14;
+}
diff --git a/proto/GivingRecordChangeNotify.proto b/proto/GivingRecordChangeNotify.proto
new file mode 100644
index 00000000..770610d3
--- /dev/null
+++ b/proto/GivingRecordChangeNotify.proto
@@ -0,0 +1,35 @@
+// 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 "GivingRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GivingRecordChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 187;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_deactive = 14;
+ GivingRecord giving_record = 15;
+}
diff --git a/proto/GivingRecordNotify.proto b/proto/GivingRecordNotify.proto
new file mode 100644
index 00000000..9fa23464
--- /dev/null
+++ b/proto/GivingRecordNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GivingRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GivingRecordNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 123;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GivingRecord giving_record_list = 13;
+}
diff --git a/proto/GlobalBuildingInfoNotify.proto b/proto/GlobalBuildingInfoNotify.proto
new file mode 100644
index 00000000..2162478c
--- /dev/null
+++ b/proto/GlobalBuildingInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 "BuildingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GlobalBuildingInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5302;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 max_num = 1;
+ uint32 current_num = 3;
+ repeated BuildingInfo building_list = 15;
+}
diff --git a/proto/GmTalkNotify.proto b/proto/GmTalkNotify.proto
new file mode 100644
index 00000000..65de28e9
--- /dev/null
+++ b/proto/GmTalkNotify.proto
@@ -0,0 +1,32 @@
+// 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 GmTalkNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string msg = 2;
+}
diff --git a/proto/GmTalkReq.proto b/proto/GmTalkReq.proto
new file mode 100644
index 00000000..c291867b
--- /dev/null
+++ b/proto/GmTalkReq.proto
@@ -0,0 +1,33 @@
+// 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 GmTalkReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 30;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string msg = 7;
+}
diff --git a/proto/GmTalkRsp.proto b/proto/GmTalkRsp.proto
new file mode 100644
index 00000000..c53af0e8
--- /dev/null
+++ b/proto/GmTalkRsp.proto
@@ -0,0 +1,34 @@
+// 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 GmTalkRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 56;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string retmsg = 11;
+ int32 retcode = 4;
+ string msg = 9;
+}
diff --git a/proto/GrantRewardNotify.proto b/proto/GrantRewardNotify.proto
new file mode 100644
index 00000000..4baf1c29
--- /dev/null
+++ b/proto/GrantRewardNotify.proto
@@ -0,0 +1,34 @@
+// 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 "Reward.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GrantRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 603;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Reward reward = 1;
+}
diff --git a/proto/GravenInnocenceCampInfo.proto b/proto/GravenInnocenceCampInfo.proto
index 902e151f..724cef83 100644
--- a/proto/GravenInnocenceCampInfo.proto
+++ b/proto/GravenInnocenceCampInfo.proto
@@ -22,5 +22,5 @@ import "GravenInnocenceCampStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceCampInfo {
- repeated GravenInnocenceCampStageInfo stage_info_list = 5;
+ repeated GravenInnocenceCampStageInfo stage_info_list = 14;
}
diff --git a/proto/GravenInnocenceCampStageInfo.proto b/proto/GravenInnocenceCampStageInfo.proto
index 2172a0cf..3f1420ee 100644
--- a/proto/GravenInnocenceCampStageInfo.proto
+++ b/proto/GravenInnocenceCampStageInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceCampStageInfo {
- bool is_open = 15;
- uint32 level_id = 10;
- uint32 stage_id = 9;
- bool is_finished = 3;
+ bool is_open = 11;
+ bool is_finished = 6;
+ uint32 level_id = 7;
+ uint32 stage_id = 3;
}
diff --git a/proto/GravenInnocenceCarveInfo.proto b/proto/GravenInnocenceCarveInfo.proto
index 1c3f9379..b9703153 100644
--- a/proto/GravenInnocenceCarveInfo.proto
+++ b/proto/GravenInnocenceCarveInfo.proto
@@ -22,7 +22,7 @@ import "GravenInnocenceCarveStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceCarveInfo {
- repeated GravenInnocenceCarveStageInfo stage_info_list = 10;
- uint32 can_edit_count = 7;
- repeated uint32 has_edit_config_id_list = 6;
+ uint32 can_edit_count = 8;
+ repeated uint32 has_edit_config_id_list = 12;
+ repeated GravenInnocenceCarveStageInfo stage_info_list = 2;
}
diff --git a/proto/GravenInnocenceCarveStageInfo.proto b/proto/GravenInnocenceCarveStageInfo.proto
index eb8a257d..5a88e8c0 100644
--- a/proto/GravenInnocenceCarveStageInfo.proto
+++ b/proto/GravenInnocenceCarveStageInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceCarveStageInfo {
- uint32 stage_id = 9;
- bool is_open = 1;
+ bool is_open = 8;
+ uint32 stage_id = 10;
}
diff --git a/proto/GravenInnocenceDetailInfo.proto b/proto/GravenInnocenceDetailInfo.proto
index 684d097b..771daa9e 100644
--- a/proto/GravenInnocenceDetailInfo.proto
+++ b/proto/GravenInnocenceDetailInfo.proto
@@ -26,8 +26,8 @@ option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceDetailInfo {
bool is_content_closed = 8;
- GravenInnocenceRaceInfo race_info = 10;
- GravenInnocencePhotoInfo photo_info = 7;
+ GravenInnocenceRaceInfo race_info = 2;
+ GravenInnocenceCampInfo camp_info = 3;
GravenInnocenceCarveInfo carve_info = 13;
- GravenInnocenceCampInfo camp_info = 12;
+ GravenInnocencePhotoInfo photo_info = 10;
}
diff --git a/proto/GravenInnocenceEditCarveCombinationReq.proto b/proto/GravenInnocenceEditCarveCombinationReq.proto
new file mode 100644
index 00000000..4e02f01e
--- /dev/null
+++ b/proto/GravenInnocenceEditCarveCombinationReq.proto
@@ -0,0 +1,36 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GravenInnocenceEditCarveCombinationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24150;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ CustomGadgetTreeInfo combination_info = 4;
+ uint32 entity_id = 10;
+}
diff --git a/proto/GravenInnocenceEditCarveCombinationRsp.proto b/proto/GravenInnocenceEditCarveCombinationRsp.proto
new file mode 100644
index 00000000..7f7f0db6
--- /dev/null
+++ b/proto/GravenInnocenceEditCarveCombinationRsp.proto
@@ -0,0 +1,32 @@
+// 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 GravenInnocenceEditCarveCombinationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23400;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/GravenInnocencePhotoFinishReq.proto b/proto/GravenInnocencePhotoFinishReq.proto
new file mode 100644
index 00000000..d4a74a0b
--- /dev/null
+++ b/proto/GravenInnocencePhotoFinishReq.proto
@@ -0,0 +1,34 @@
+// 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 GravenInnocencePhotoFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22391;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 param = 6;
+ uint32 object_id = 12;
+}
diff --git a/proto/GravenInnocencePhotoFinishRsp.proto b/proto/GravenInnocencePhotoFinishRsp.proto
new file mode 100644
index 00000000..7eb2faed
--- /dev/null
+++ b/proto/GravenInnocencePhotoFinishRsp.proto
@@ -0,0 +1,34 @@
+// 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 GravenInnocencePhotoFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22418;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 object_id = 3;
+ uint32 param = 10;
+}
diff --git a/proto/GravenInnocencePhotoInfo.proto b/proto/GravenInnocencePhotoInfo.proto
index 2b5d7b4e..94fd416f 100644
--- a/proto/GravenInnocencePhotoInfo.proto
+++ b/proto/GravenInnocencePhotoInfo.proto
@@ -23,6 +23,6 @@ import "GravenInnocencePhotoStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocencePhotoInfo {
- repeated GravenInnocencePhotoStageInfo stage_info_list = 5;
- repeated GravenInnocencePhotoObjectInfo object_info_list = 7;
+ repeated GravenInnocencePhotoStageInfo stage_info_list = 3;
+ repeated GravenInnocencePhotoObjectInfo object_info_list = 15;
}
diff --git a/proto/GravenInnocencePhotoObjectInfo.proto b/proto/GravenInnocencePhotoObjectInfo.proto
index 424fb485..228b0759 100644
--- a/proto/GravenInnocencePhotoObjectInfo.proto
+++ b/proto/GravenInnocencePhotoObjectInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocencePhotoObjectInfo {
- uint32 object_id = 1;
- uint32 finish_time = 4;
- uint32 param = 14;
+ uint32 object_id = 4;
+ uint32 param = 15;
+ uint32 finish_time = 10;
}
diff --git a/proto/GravenInnocencePhotoReminderNotify.proto b/proto/GravenInnocencePhotoReminderNotify.proto
new file mode 100644
index 00000000..1ba09f15
--- /dev/null
+++ b/proto/GravenInnocencePhotoReminderNotify.proto
@@ -0,0 +1,33 @@
+// 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 GravenInnocencePhotoReminderNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22577;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reminder_id = 13;
+ uint32 group_bundle_id = 7;
+}
diff --git a/proto/GravenInnocencePhotoStageInfo.proto b/proto/GravenInnocencePhotoStageInfo.proto
index 516d19ac..6e9f41f8 100644
--- a/proto/GravenInnocencePhotoStageInfo.proto
+++ b/proto/GravenInnocencePhotoStageInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocencePhotoStageInfo {
- bool is_finished = 11;
- uint32 stage_id = 6;
- bool is_open = 9;
+ uint32 stage_id = 11;
+ bool is_open = 10;
+ bool is_finished = 8;
}
diff --git a/proto/GravenInnocenceRaceInfo.proto b/proto/GravenInnocenceRaceInfo.proto
index 831d6e5e..5bd126fa 100644
--- a/proto/GravenInnocenceRaceInfo.proto
+++ b/proto/GravenInnocenceRaceInfo.proto
@@ -22,5 +22,5 @@ import "GravenInnocenceRaceLevelInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceRaceInfo {
- repeated GravenInnocenceRaceLevelInfo level_info_list = 11;
+ repeated GravenInnocenceRaceLevelInfo level_info_list = 9;
}
diff --git a/proto/GravenInnocenceRaceLevelInfo.proto b/proto/GravenInnocenceRaceLevelInfo.proto
index ea8ab220..dcbd6d45 100644
--- a/proto/GravenInnocenceRaceLevelInfo.proto
+++ b/proto/GravenInnocenceRaceLevelInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message GravenInnocenceRaceLevelInfo {
- uint32 level_id = 13;
- uint32 max_score = 14;
- bool is_open = 1;
+ uint32 level_id = 12;
+ uint32 max_score = 5;
+ bool is_open = 2;
}
diff --git a/proto/GravenInnocenceRaceRestartReq.proto b/proto/GravenInnocenceRaceRestartReq.proto
new file mode 100644
index 00000000..6bff2580
--- /dev/null
+++ b/proto/GravenInnocenceRaceRestartReq.proto
@@ -0,0 +1,33 @@
+// 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 GravenInnocenceRaceRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23067;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 7;
+}
diff --git a/proto/GravenInnocenceRaceRestartRsp.proto b/proto/GravenInnocenceRaceRestartRsp.proto
new file mode 100644
index 00000000..3df0c252
--- /dev/null
+++ b/proto/GravenInnocenceRaceRestartRsp.proto
@@ -0,0 +1,33 @@
+// 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 GravenInnocenceRaceRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20056;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ uint32 gallery_id = 3;
+}
diff --git a/proto/GravenInnocenceRaceSettleNotify.proto b/proto/GravenInnocenceRaceSettleNotify.proto
new file mode 100644
index 00000000..3466d931
--- /dev/null
+++ b/proto/GravenInnocenceRaceSettleNotify.proto
@@ -0,0 +1,43 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GravenInnocenceRaceSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 9;
+ bool is_new_record = 3;
+ uint32 level_id = 11;
+ uint32 Unk3300_BOIPHOPMHJM = 8;
+ uint32 score = 4;
+ bool is_success = 10;
+ GalleryStopReason reason = 12;
+ uint32 Unk3300_IPGJKKFDPJJ = 6;
+ uint32 remain_time = 2;
+ uint32 Unk3300_OHAHHKNAJKL = 7;
+}
diff --git a/proto/GroupLinkAllNotify.proto b/proto/GroupLinkAllNotify.proto
new file mode 100644
index 00000000..8e005aae
--- /dev/null
+++ b/proto/GroupLinkAllNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GroupLinkBundle.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GroupLinkAllNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5792;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated GroupLinkBundle bundle_list = 9;
+}
diff --git a/proto/GroupLinkBundle.proto b/proto/GroupLinkBundle.proto
new file mode 100644
index 00000000..b10ad831
--- /dev/null
+++ b/proto/GroupLinkBundle.proto
@@ -0,0 +1,31 @@
+// 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 GroupLinkBundle {
+ uint32 bundle_id = 1;
+ Vector center = 12;
+ bool is_show_mark = 11;
+ uint32 scene_id = 2;
+ bool is_activated = 10;
+ uint32 radius = 4;
+}
diff --git a/proto/GroupLinkChangeNotify.proto b/proto/GroupLinkChangeNotify.proto
new file mode 100644
index 00000000..16e42b8a
--- /dev/null
+++ b/proto/GroupLinkChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GroupLinkBundle.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GroupLinkChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5791;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GroupLinkBundle bundle = 5;
+}
diff --git a/proto/GroupLinkDeleteNotify.proto b/proto/GroupLinkDeleteNotify.proto
new file mode 100644
index 00000000..9e9db84b
--- /dev/null
+++ b/proto/GroupLinkDeleteNotify.proto
@@ -0,0 +1,32 @@
+// 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 GroupLinkDeleteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5772;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 bundle_id = 9;
+}
diff --git a/proto/GroupLinkMarkUpdateNotify.proto b/proto/GroupLinkMarkUpdateNotify.proto
new file mode 100644
index 00000000..adb4b048
--- /dev/null
+++ b/proto/GroupLinkMarkUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "GroupLinkBundle.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message GroupLinkMarkUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5785;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GroupLinkBundle bundle = 15;
+}
diff --git a/proto/GroupSuiteNotify.proto b/proto/GroupSuiteNotify.proto
index 85cd0536..6a8ef4aa 100644
--- a/proto/GroupSuiteNotify.proto
+++ b/proto/GroupSuiteNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3257
-// EnetChannelId: 0
-// EnetIsReliable: true
message GroupSuiteNotify {
- map group_map = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3489;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map group_map = 4;
}
diff --git a/proto/GroupUnloadNotify.proto b/proto/GroupUnloadNotify.proto
index dc957254..c9c314f8 100644
--- a/proto/GroupUnloadNotify.proto
+++ b/proto/GroupUnloadNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3344
-// EnetChannelId: 0
-// EnetIsReliable: true
message GroupUnloadNotify {
- repeated uint32 group_list = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3138;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 group_list = 6;
}
diff --git a/proto/GuestBeginEnterSceneNotify.proto b/proto/GuestBeginEnterSceneNotify.proto
new file mode 100644
index 00000000..8e4dc828
--- /dev/null
+++ b/proto/GuestBeginEnterSceneNotify.proto
@@ -0,0 +1,33 @@
+// 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 GuestBeginEnterSceneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3125;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 14;
+ uint32 scene_id = 2;
+}
diff --git a/proto/GuestPostEnterSceneNotify.proto b/proto/GuestPostEnterSceneNotify.proto
new file mode 100644
index 00000000..09f9ae51
--- /dev/null
+++ b/proto/GuestPostEnterSceneNotify.proto
@@ -0,0 +1,33 @@
+// 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 GuestPostEnterSceneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3229;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 9;
+ uint32 scene_id = 2;
+}
diff --git a/proto/H5ActivityIdsNotify.proto b/proto/H5ActivityIdsNotify.proto
index 3cc9b282..414bc69f 100644
--- a/proto/H5ActivityIdsNotify.proto
+++ b/proto/H5ActivityIdsNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5675
-// EnetChannelId: 0
-// EnetIsReliable: true
message H5ActivityIdsNotify {
- uint32 client_red_dot_timestamp = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5672;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 client_red_dot_timestamp = 5;
map h5_activity_map = 12;
}
diff --git a/proto/H5ActivityInfo.proto b/proto/H5ActivityInfo.proto
index f16c7d90..9c331d4e 100644
--- a/proto/H5ActivityInfo.proto
+++ b/proto/H5ActivityInfo.proto
@@ -20,12 +20,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message H5ActivityInfo {
- uint32 h5_activity_id = 3;
- string url = 4;
- bool is_entrance_open = 7;
- uint32 h5_schedule_id = 8;
- uint32 end_time = 10;
- string prefab_path = 11;
- uint32 content_close_time = 2;
- uint32 begin_time = 13;
+ bool is_entrance_open = 2;
+ uint32 Unk3300_OBKEBDCKHJF = 1;
+ uint32 Unk3300_DMBNFECAKBH = 14;
+ uint32 content_close_time = 4;
+ string url = 3;
+ string prefab_path = 15;
+ uint32 begin_time = 5;
+ uint32 end_time = 7;
}
diff --git a/proto/HachiActivityDetailInfo.proto b/proto/HachiActivityDetailInfo.proto
index 0d861aa0..0e805716 100644
--- a/proto/HachiActivityDetailInfo.proto
+++ b/proto/HachiActivityDetailInfo.proto
@@ -17,10 +17,10 @@
syntax = "proto3";
-import "HachiStageData.proto";
+import "HachiStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HachiActivityDetailInfo {
- map stage_map = 6;
+ map stage_map = 6;
}
diff --git a/proto/HachiStageInfo.proto b/proto/HachiStageInfo.proto
new file mode 100644
index 00000000..1356285a
--- /dev/null
+++ b/proto/HachiStageInfo.proto
@@ -0,0 +1,27 @@
+// 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 HachiStageInfo {
+ uint32 open_time = 9;
+ bool is_open = 10;
+ bool is_finished = 14;
+ uint32 stage_id = 15;
+}
diff --git a/proto/HashedString.proto b/proto/HashedString.proto
new file mode 100644
index 00000000..95baf57c
--- /dev/null
+++ b/proto/HashedString.proto
@@ -0,0 +1,24 @@
+// 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 HashedString {
+ uint32 hash = 1;
+}
diff --git a/proto/HideAndSeekActivityDetailInfo.proto b/proto/HideAndSeekActivityDetailInfo.proto
index 0fc01f87..8cf95301 100644
--- a/proto/HideAndSeekActivityDetailInfo.proto
+++ b/proto/HideAndSeekActivityDetailInfo.proto
@@ -22,8 +22,9 @@ import "HideAndSeekMapInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HideAndSeekActivityDetailInfo {
- repeated HideAndSeekMapInfo open_map_info_list = 1;
- repeated uint32 chosen_hunter_skill_list = 4;
- repeated uint32 unlock_map_list = 13;
- repeated uint32 chosen_hider_skill_list = 6;
+ repeated uint32 Unk3300_JBKIAGNADEN = 6;
+ repeated HideAndSeekMapInfo open_map_info_list = 13;
+ repeated uint32 Unk3300_FPCDPLNJKKN = 2;
+ repeated uint32 Unk3300_CMLGPPDANNN = 15;
+ repeated uint32 Unk3300_HHJPAALNMNK = 4;
}
diff --git a/proto/HideAndSeekChooseMapReq.proto b/proto/HideAndSeekChooseMapReq.proto
new file mode 100644
index 00000000..906a5fda
--- /dev/null
+++ b/proto/HideAndSeekChooseMapReq.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekChooseMapReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8759;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 map_list = 6;
+}
diff --git a/proto/HideAndSeekChooseMapRsp.proto b/proto/HideAndSeekChooseMapRsp.proto
new file mode 100644
index 00000000..4136096a
--- /dev/null
+++ b/proto/HideAndSeekChooseMapRsp.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekChooseMapRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8501;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 map_list = 11;
+ int32 retcode = 15;
+}
diff --git a/proto/HideAndSeekMapInfo.proto b/proto/HideAndSeekMapInfo.proto
index 7d1342b2..17f735a3 100644
--- a/proto/HideAndSeekMapInfo.proto
+++ b/proto/HideAndSeekMapInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HideAndSeekMapInfo {
- repeated uint32 match_lock_reason_list = 11;
- uint32 id = 7;
+ repeated uint32 match_lock_reason_list = 6;
+ uint32 id = 12;
}
diff --git a/proto/HideAndSeekPlayerBattleInfo.proto b/proto/HideAndSeekPlayerBattleInfo.proto
new file mode 100644
index 00000000..b5ca03c4
--- /dev/null
+++ b/proto/HideAndSeekPlayerBattleInfo.proto
@@ -0,0 +1,27 @@
+// 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 HideAndSeekPlayerBattleInfo {
+ bool is_ready = 12;
+ repeated uint32 skill_list = 11;
+ uint32 avatar_id = 15;
+ uint32 costume_id = 4;
+}
diff --git a/proto/HideAndSeekPlayerCapturedNotify.proto b/proto/HideAndSeekPlayerCapturedNotify.proto
new file mode 100644
index 00000000..0a747fe5
--- /dev/null
+++ b/proto/HideAndSeekPlayerCapturedNotify.proto
@@ -0,0 +1,32 @@
+// 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 HideAndSeekPlayerCapturedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5580;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 ghost_skill_id = 12;
+}
diff --git a/proto/HideAndSeekPlayerReadyNotify.proto b/proto/HideAndSeekPlayerReadyNotify.proto
new file mode 100644
index 00000000..4ed91e3a
--- /dev/null
+++ b/proto/HideAndSeekPlayerReadyNotify.proto
@@ -0,0 +1,32 @@
+// 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 HideAndSeekPlayerReadyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5393;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 uid_list = 2;
+}
diff --git a/proto/HideAndSeekPlayerSetAvatarNotify.proto b/proto/HideAndSeekPlayerSetAvatarNotify.proto
new file mode 100644
index 00000000..4bfc1b3c
--- /dev/null
+++ b/proto/HideAndSeekPlayerSetAvatarNotify.proto
@@ -0,0 +1,34 @@
+// 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 HideAndSeekPlayerSetAvatarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5354;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 uid = 12;
+ uint32 costume_id = 8;
+ uint32 avatar_id = 10;
+}
diff --git a/proto/HideAndSeekSelectAvatarReq.proto b/proto/HideAndSeekSelectAvatarReq.proto
new file mode 100644
index 00000000..dc7984cc
--- /dev/null
+++ b/proto/HideAndSeekSelectAvatarReq.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekSelectAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5350;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 avatar_id = 10;
+}
diff --git a/proto/HideAndSeekSelectAvatarRsp.proto b/proto/HideAndSeekSelectAvatarRsp.proto
new file mode 100644
index 00000000..ab2d18e9
--- /dev/null
+++ b/proto/HideAndSeekSelectAvatarRsp.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekSelectAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5353;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 avatar_id = 8;
+ int32 retcode = 7;
+}
diff --git a/proto/HideAndSeekSelectSkillReq.proto b/proto/HideAndSeekSelectSkillReq.proto
new file mode 100644
index 00000000..f8d6ebfe
--- /dev/null
+++ b/proto/HideAndSeekSelectSkillReq.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekSelectSkillReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8062;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 skill_list = 11;
+}
diff --git a/proto/HideAndSeekSelectSkillRsp.proto b/proto/HideAndSeekSelectSkillRsp.proto
new file mode 100644
index 00000000..52402b62
--- /dev/null
+++ b/proto/HideAndSeekSelectSkillRsp.proto
@@ -0,0 +1,33 @@
+// 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 HideAndSeekSelectSkillRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8841;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ repeated uint32 skill_list = 4;
+}
diff --git a/proto/HideAndSeekSetReadyReq.proto b/proto/HideAndSeekSetReadyReq.proto
new file mode 100644
index 00000000..1d6847af
--- /dev/null
+++ b/proto/HideAndSeekSetReadyReq.proto
@@ -0,0 +1,31 @@
+// 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 HideAndSeekSetReadyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5324;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HideAndSeekSetReadyRsp.proto b/proto/HideAndSeekSetReadyRsp.proto
new file mode 100644
index 00000000..b2d18e6c
--- /dev/null
+++ b/proto/HideAndSeekSetReadyRsp.proto
@@ -0,0 +1,32 @@
+// 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 HideAndSeekSetReadyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5349;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/HideAndSeekSettleInfo.proto b/proto/HideAndSeekSettleInfo.proto
new file mode 100644
index 00000000..fc221043
--- /dev/null
+++ b/proto/HideAndSeekSettleInfo.proto
@@ -0,0 +1,32 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HideAndSeekSettleInfo {
+ repeated ExhibitionDisplayInfo card_list = 2;
+ string nickname = 15;
+ uint32 head_image = 9;
+ uint32 uid = 6;
+ string online_id = 5;
+ ProfilePicture profile_picture = 14;
+}
diff --git a/proto/HideAndSeekSettleNotify.proto b/proto/HideAndSeekSettleNotify.proto
new file mode 100644
index 00000000..995b77b9
--- /dev/null
+++ b/proto/HideAndSeekSettleNotify.proto
@@ -0,0 +1,48 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "HideAndSeekSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HideAndSeekSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5391;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum SettleReason {
+ SETTLE_REASON_TIME_OUT = 0;
+ SETTLE_REASON_PLAY_END = 1;
+ SETTLE_REASON_PLAYER_QUIT = 2;
+ }
+
+ uint32 play_index = 6;
+ repeated ExhibitionDisplayInfo score_list = 11;
+ SettleReason reason = 1;
+ repeated uint32 winner_list = 2;
+ uint32 cost_time = 15;
+ uint32 stage_type = 7;
+ bool is_record_score = 5;
+ repeated HideAndSeekSettleInfo settle_info_list = 4;
+}
diff --git a/proto/HideAndSeekStageInfo.proto b/proto/HideAndSeekStageInfo.proto
new file mode 100644
index 00000000..c9f5f67d
--- /dev/null
+++ b/proto/HideAndSeekStageInfo.proto
@@ -0,0 +1,32 @@
+// 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 "HideAndSeekPlayerBattleInfo.proto";
+import "HideAndSeekStageType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HideAndSeekStageInfo {
+ uint32 hunter_uid = 9;
+ map battle_info_map = 8;
+ bool is_record_score = 5;
+ repeated uint32 hider_uid_list = 2;
+ uint32 map_id = 13;
+ HideAndSeekStageType stage_type = 6;
+}
diff --git a/proto/HideAndSeekStageType.proto b/proto/HideAndSeekStageType.proto
new file mode 100644
index 00000000..601ca0ce
--- /dev/null
+++ b/proto/HideAndSeekStageType.proto
@@ -0,0 +1,29 @@
+// 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 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..40b201f5
--- /dev/null
+++ b/proto/HitClientTrivialNotify.proto
@@ -0,0 +1,36 @@
+// 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 HitClientTrivialNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 238;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 owner_entity_id = 14;
+ Vector position = 1;
+}
diff --git a/proto/HitCollision.proto b/proto/HitCollision.proto
index 3f8bfbfc..54689537 100644
--- a/proto/HitCollision.proto
+++ b/proto/HitCollision.proto
@@ -23,10 +23,10 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HitCollision {
- HitColliderType hit_collider_type = 8;
- Vector hit_point = 7;
- float attackee_hit_force_angle = 2;
- Vector hit_dir = 13;
- float attackee_hit_entity_angle = 15;
- int32 hit_box_index = 4;
+ int32 hit_box_index = 8;
+ HitColliderType hit_collider_type = 5;
+ float Unk3300_LNHIOLFMGCN = 7;
+ Vector hit_dir = 3;
+ Vector hit_point = 14;
+ float Unk3300_OJHBMLIAPJN = 10;
}
diff --git a/proto/HitTreeInfo.proto b/proto/HitTreeInfo.proto
new file mode 100644
index 00000000..76fe9130
--- /dev/null
+++ b/proto/HitTreeInfo.proto
@@ -0,0 +1,27 @@
+// 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 HitTreeInfo {
+ Vector tree_pos = 10;
+ uint32 tree_type = 7;
+}
diff --git a/proto/HitTreeNotify.proto b/proto/HitTreeNotify.proto
index 1571b831..a153f818 100644
--- a/proto/HitTreeNotify.proto
+++ b/proto/HitTreeNotify.proto
@@ -21,12 +21,17 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3019
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HitTreeNotify {
- uint32 tree_type = 11;
- Vector tree_pos = 2;
- Vector drop_pos = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3018;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 tree_type = 8;
+ Vector drop_pos = 12;
+ Vector tree_pos = 15;
}
diff --git a/proto/HomeAllUnlockedBgmIdListNotify.proto b/proto/HomeAllUnlockedBgmIdListNotify.proto
index 8ca96610..73ba1947 100644
--- a/proto/HomeAllUnlockedBgmIdListNotify.proto
+++ b/proto/HomeAllUnlockedBgmIdListNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4608
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeAllUnlockedBgmIdListNotify {
- repeated uint32 all_unlocked_bgm_id_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4841;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 all_unlocked_bgm_id_list = 14;
}
diff --git a/proto/HomeAnimalData.proto b/proto/HomeAnimalData.proto
index df429429..19713578 100644
--- a/proto/HomeAnimalData.proto
+++ b/proto/HomeAnimalData.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeAnimalData {
- Vector spawn_rot = 10;
- uint32 furniture_id = 5;
- Vector spawn_pos = 6;
+ uint32 furniture_id = 6;
+ Vector spawn_rot = 14;
+ Vector spawn_pos = 11;
}
diff --git a/proto/HomeAvatarAllFinishRewardNotify.proto b/proto/HomeAvatarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..78cbe0a1
--- /dev/null
+++ b/proto/HomeAvatarAllFinishRewardNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeAvatarAllFinishRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4798;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 event_id_list = 10;
+}
diff --git a/proto/HomeAvatarCostumeChangeNotify.proto b/proto/HomeAvatarCostumeChangeNotify.proto
new file mode 100644
index 00000000..e16211c2
--- /dev/null
+++ b/proto/HomeAvatarCostumeChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 HomeAvatarCostumeChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4775;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 avatar_id = 12;
+ uint32 costume_id = 14;
+}
diff --git a/proto/HomeAvatarRewardEventGetReq.proto b/proto/HomeAvatarRewardEventGetReq.proto
new file mode 100644
index 00000000..f12913b2
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeAvatarRewardEventGetReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4754;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 event_id = 2;
+ uint32 avatar_id = 8;
+}
diff --git a/proto/HomeAvatarRewardEventGetRsp.proto b/proto/HomeAvatarRewardEventGetRsp.proto
new file mode 100644
index 00000000..641a0e91
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeAvatarRewardEventGetRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4713;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 event_id = 8;
+ repeated ItemParam item_list = 1;
+}
diff --git a/proto/HomeAvatarRewardEventInfo.proto b/proto/HomeAvatarRewardEventInfo.proto
new file mode 100644
index 00000000..c2f863d2
--- /dev/null
+++ b/proto/HomeAvatarRewardEventInfo.proto
@@ -0,0 +1,28 @@
+// 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 HomeAvatarRewardEventInfo {
+ uint32 random_position = 9;
+ uint32 suite_id = 11;
+ uint32 guid = 6;
+ uint32 event_id = 5;
+ uint32 avatar_id = 7;
+}
diff --git a/proto/HomeAvatarRewardEventNotify.proto b/proto/HomeAvatarRewardEventNotify.proto
new file mode 100644
index 00000000..062f776c
--- /dev/null
+++ b/proto/HomeAvatarRewardEventNotify.proto
@@ -0,0 +1,36 @@
+// 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 "HomeAvatarRewardEventInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeAvatarRewardEventNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4849;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeAvatarRewardEventInfo pending_list = 8;
+ HomeAvatarRewardEventInfo reward_event = 14;
+ bool is_event_trigger = 3;
+}
diff --git a/proto/HomeAvatarSummonAllEventNotify.proto b/proto/HomeAvatarSummonAllEventNotify.proto
new file mode 100644
index 00000000..2ee5bde9
--- /dev/null
+++ b/proto/HomeAvatarSummonAllEventNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomeAvatarSummonEventInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeAvatarSummonAllEventNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4670;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeAvatarSummonEventInfo summon_event_list = 14;
+}
diff --git a/proto/HomeAvatarSummonEventInfo.proto b/proto/HomeAvatarSummonEventInfo.proto
new file mode 100644
index 00000000..6a012660
--- /dev/null
+++ b/proto/HomeAvatarSummonEventInfo.proto
@@ -0,0 +1,29 @@
+// 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 HomeAvatarSummonEventInfo {
+ uint32 random_position = 11;
+ uint32 guid = 5;
+ uint32 event_over_time = 6;
+ uint32 suit_id = 12;
+ uint32 avatar_id = 8;
+ uint32 event_id = 10;
+}
diff --git a/proto/HomeAvatarSummonEventReq.proto b/proto/HomeAvatarSummonEventReq.proto
new file mode 100644
index 00000000..39ab75f5
--- /dev/null
+++ b/proto/HomeAvatarSummonEventReq.proto
@@ -0,0 +1,35 @@
+// 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 HomeAvatarSummonEventReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4894;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 avatar_id = 11;
+ uint32 suit_id = 14;
+ uint32 guid = 15;
+}
diff --git a/proto/HomeAvatarSummonEventRsp.proto b/proto/HomeAvatarSummonEventRsp.proto
new file mode 100644
index 00000000..90575a38
--- /dev/null
+++ b/proto/HomeAvatarSummonEventRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeAvatarSummonEventRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4562;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 event_id = 9;
+ int32 retcode = 4;
+}
diff --git a/proto/HomeAvatarSummonFinishReq.proto b/proto/HomeAvatarSummonFinishReq.proto
new file mode 100644
index 00000000..589b4b57
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeAvatarSummonFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4804;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 event_id = 5;
+}
diff --git a/proto/HomeAvatarSummonFinishRsp.proto b/proto/HomeAvatarSummonFinishRsp.proto
new file mode 100644
index 00000000..1b642b1e
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeAvatarSummonFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4814;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 event_id = 12;
+}
diff --git a/proto/HomeAvatarTalkFinishInfo.proto b/proto/HomeAvatarTalkFinishInfo.proto
new file mode 100644
index 00000000..6283b858
--- /dev/null
+++ b/proto/HomeAvatarTalkFinishInfo.proto
@@ -0,0 +1,25 @@
+// 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 HomeAvatarTalkFinishInfo {
+ repeated uint32 finish_talk_id_list = 4;
+ uint32 avatar_id = 2;
+}
diff --git a/proto/HomeAvatarTalkFinishInfoNotify.proto b/proto/HomeAvatarTalkFinishInfoNotify.proto
new file mode 100644
index 00000000..72d88304
--- /dev/null
+++ b/proto/HomeAvatarTalkFinishInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomeAvatarTalkFinishInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeAvatarTalkFinishInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4757;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeAvatarTalkFinishInfo avatar_talk_info_list = 9;
+}
diff --git a/proto/HomeAvatarTalkReq.proto b/proto/HomeAvatarTalkReq.proto
new file mode 100644
index 00000000..9ffa4199
--- /dev/null
+++ b/proto/HomeAvatarTalkReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeAvatarTalkReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4704;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 talk_id = 10;
+ uint32 avatar_id = 5;
+}
diff --git a/proto/HomeAvatarTalkRsp.proto b/proto/HomeAvatarTalkRsp.proto
new file mode 100644
index 00000000..5948b677
--- /dev/null
+++ b/proto/HomeAvatarTalkRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeAvatarTalkFinishInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeAvatarTalkRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4718;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ HomeAvatarTalkFinishInfo avatar_talk_info = 4;
+}
diff --git a/proto/HomeAvtarAllFinishRewardNotify.proto b/proto/HomeAvtarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..614a157c
--- /dev/null
+++ b/proto/HomeAvtarAllFinishRewardNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeAvtarAllFinishRewardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4535;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 event_id_list = 1;
+}
diff --git a/proto/HomeBalloonGalleryRecord.proto b/proto/HomeBalloonGalleryRecord.proto
new file mode 100644
index 00000000..fe89fb2e
--- /dev/null
+++ b/proto/HomeBalloonGalleryRecord.proto
@@ -0,0 +1,29 @@
+// 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 "HomeGroupPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeBalloonGalleryRecord {
+ uint32 score = 12;
+ uint32 hit_count = 3;
+ HomeGroupPlayerInfo player_info = 9;
+ uint32 timestamp = 1;
+}
diff --git a/proto/HomeBalloonGalleryScoreNotify.proto b/proto/HomeBalloonGalleryScoreNotify.proto
new file mode 100644
index 00000000..b0f43df2
--- /dev/null
+++ b/proto/HomeBalloonGalleryScoreNotify.proto
@@ -0,0 +1,35 @@
+// 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 HomeBalloonGalleryScoreNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4734;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 1;
+ uint32 trigger_entity_id = 3;
+ uint32 add_score = 4;
+ uint32 cur_score = 14;
+}
diff --git a/proto/HomeBalloonGallerySettleNotify.proto b/proto/HomeBalloonGallerySettleNotify.proto
new file mode 100644
index 00000000..ef23e8c5
--- /dev/null
+++ b/proto/HomeBalloonGallerySettleNotify.proto
@@ -0,0 +1,37 @@
+// 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 "BalloonGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeBalloonGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4604;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 8;
+ uint32 rank = 13;
+ BalloonGallerySettleInfo settle_info = 5;
+ bool is_new_record = 9;
+}
diff --git a/proto/HomeBalloonRecord.proto b/proto/HomeBalloonRecord.proto
new file mode 100644
index 00000000..1925b23c
--- /dev/null
+++ b/proto/HomeBalloonRecord.proto
@@ -0,0 +1,26 @@
+// 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 "HomeBalloonGalleryRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeBalloonRecord {
+ repeated HomeBalloonGalleryRecord record_list = 15;
+}
diff --git a/proto/HomeBasicInfo.proto b/proto/HomeBasicInfo.proto
index 6ac6d1ff..8dbe5c6c 100644
--- a/proto/HomeBasicInfo.proto
+++ b/proto/HomeBasicInfo.proto
@@ -22,12 +22,12 @@ import "HomeLimitedShopInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeBasicInfo {
- uint32 level = 10;
- uint32 cur_room_scene_id = 13;
- uint32 cur_module_id = 9;
- bool is_in_edit_mode = 5;
- uint32 home_owner_uid = 3;
- uint64 exp = 14;
- HomeLimitedShopInfo limited_shop_info = 15;
- string owner_nick_name = 4;
+ uint64 exp = 3;
+ uint32 Unk3300_AKPAPPGOFGN = 11;
+ uint32 Unk3300_GNFGFIIGHEA = 14;
+ string owner_nick_name = 6;
+ uint32 Unk3300_KGCBFKGGHDD = 4;
+ HomeLimitedShopInfo limited_shop_info = 13;
+ bool is_in_edit_mode = 7;
+ uint32 level = 9;
}
diff --git a/proto/HomeBasicInfoNotify.proto b/proto/HomeBasicInfoNotify.proto
index 7b90d365..eff6d9d0 100644
--- a/proto/HomeBasicInfoNotify.proto
+++ b/proto/HomeBasicInfoNotify.proto
@@ -21,9 +21,14 @@ import "HomeBasicInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4885
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeBasicInfoNotify {
- HomeBasicInfo basic_info = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4622;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomeBasicInfo basic_info = 3;
}
diff --git a/proto/HomeBlockArrangementInfo.proto b/proto/HomeBlockArrangementInfo.proto
index 220e24f7..192af54d 100644
--- a/proto/HomeBlockArrangementInfo.proto
+++ b/proto/HomeBlockArrangementInfo.proto
@@ -30,17 +30,17 @@ import "WeekendDjinnInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeBlockArrangementInfo {
- bool is_unlocked = 1;
- uint32 comfort_value = 2;
- repeated HomeAnimalData deploy_animal_list = 4;
- repeated HomeFurnitureGroupData furniture_group_list = 5;
- repeated WeekendDjinnInfo weekend_djinn_info_list = 13;
- repeated HomeFurnitureSuiteData furniture_suite_list = 15;
- repeated HomeBlockFieldData field_list = 3;
- repeated HomeNpcData deploy_npc_list = 11;
- repeated HomeBlockDotPattern dot_pattern_list = 7;
- repeated HomeFurnitureData persistent_furniture_list = 9;
- repeated HomeFurnitureData deploy_furniure_list = 12;
- uint32 block_id = 6;
- repeated HomeFurnitureCustomSuiteData furniture_custom_suite_list = 14;
+ repeated HomeFurnitureData Unk3300_GMMAIDIJOJM = 10;
+ repeated HomeAnimalData deploy_animal_list = 7;
+ repeated HomeFurnitureSuiteData furniture_suite_list = 3;
+ repeated WeekendDjinnInfo weekend_djinn_info_list = 5;
+ uint32 block_id = 14;
+ repeated HomeBlockDotPattern dot_pattern_list = 6;
+ bool is_unlocked = 15;
+ repeated HomeNpcData deploy_npc_list = 1;
+ repeated HomeFurnitureGroupData furniture_group_list = 8;
+ repeated HomeBlockFieldData field_list = 13;
+ uint32 comfort_value = 9;
+ repeated HomeFurnitureData Unk3300_DEIECJCAFLN = 12;
+ repeated HomeFurnitureCustomSuiteData furniture_custom_suite_list = 4;
}
diff --git a/proto/HomeBlockArrangementMuipData.proto b/proto/HomeBlockArrangementMuipData.proto
new file mode 100644
index 00000000..cbd90f19
--- /dev/null
+++ b/proto/HomeBlockArrangementMuipData.proto
@@ -0,0 +1,27 @@
+// 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 "HomeFurnitureArrangementMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeBlockArrangementMuipData {
+ uint32 block_id = 1;
+ repeated HomeFurnitureArrangementMuipData furniture_data_list = 2;
+}
diff --git a/proto/HomeBlockDotPattern.proto b/proto/HomeBlockDotPattern.proto
index 467e0cbc..5da5bcbc 100644
--- a/proto/HomeBlockDotPattern.proto
+++ b/proto/HomeBlockDotPattern.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeBlockDotPattern {
- uint32 width = 8;
+ uint32 width = 13;
+ bytes data = 12;
uint32 height = 11;
- bytes data = 9;
}
diff --git a/proto/HomeBlockFieldData.proto b/proto/HomeBlockFieldData.proto
index a3f55777..7e874192 100644
--- a/proto/HomeBlockFieldData.proto
+++ b/proto/HomeBlockFieldData.proto
@@ -23,9 +23,9 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeBlockFieldData {
- Vector rot = 15;
- Vector pos = 4;
- uint32 guid = 9;
- uint32 furniture_id = 1;
- repeated HomeBlockSubFieldData sub_field_list = 7;
+ repeated HomeBlockSubFieldData sub_field_list = 4;
+ uint32 guid = 15;
+ Vector pos = 8;
+ uint32 furniture_id = 12;
+ Vector rot = 13;
}
diff --git a/proto/HomeBlockNotify.proto b/proto/HomeBlockNotify.proto
new file mode 100644
index 00000000..2e31d486
--- /dev/null
+++ b/proto/HomeBlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeBlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4679;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 end_time = 10;
+}
diff --git a/proto/HomeBlockSubFieldData.proto b/proto/HomeBlockSubFieldData.proto
index d53b5be3..a7407b9a 100644
--- a/proto/HomeBlockSubFieldData.proto
+++ b/proto/HomeBlockSubFieldData.proto
@@ -22,6 +22,6 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeBlockSubFieldData {
- Vector rot = 3;
- Vector pos = 1;
+ Vector pos = 4;
+ Vector rot = 13;
}
diff --git a/proto/HomeBlueprintBatchBriefMuipData.proto b/proto/HomeBlueprintBatchBriefMuipData.proto
new file mode 100644
index 00000000..ff8397a5
--- /dev/null
+++ b/proto/HomeBlueprintBatchBriefMuipData.proto
@@ -0,0 +1,27 @@
+// 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 "HomeBlueprintBriefMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeBlueprintBatchBriefMuipData {
+ repeated HomeBlueprintBriefMuipData brief_list = 1;
+ repeated string not_exist_share_code_list = 2;
+}
diff --git a/proto/HomeBlueprintBriefMuipData.proto b/proto/HomeBlueprintBriefMuipData.proto
new file mode 100644
index 00000000..87403340
--- /dev/null
+++ b/proto/HomeBlueprintBriefMuipData.proto
@@ -0,0 +1,30 @@
+// 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 HomeBlueprintBriefMuipData {
+ string share_code = 1;
+ uint32 owner_uid = 2;
+ uint32 module_id = 3;
+ uint32 scene_id = 4;
+ uint32 block_id = 5;
+ bool is_allow_copy = 6;
+ uint32 create_time = 7;
+}
diff --git a/proto/HomeBlueprintInfoNotify.proto b/proto/HomeBlueprintInfoNotify.proto
new file mode 100644
index 00000000..7f5f85fb
--- /dev/null
+++ b/proto/HomeBlueprintInfoNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeBlueprintInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4813;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_allow_friend_copy = 1;
+}
diff --git a/proto/HomeBlueprintSearchInfo.proto b/proto/HomeBlueprintSearchInfo.proto
new file mode 100644
index 00000000..c7e32def
--- /dev/null
+++ b/proto/HomeBlueprintSearchInfo.proto
@@ -0,0 +1,27 @@
+// 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 HomeBlueprintSearchInfo {
+ string share_code = 2;
+ uint32 scene_id = 15;
+ uint32 block_id = 13;
+ uint32 module_id = 10;
+}
diff --git a/proto/HomeBlueprintSlotInfo.proto b/proto/HomeBlueprintSlotInfo.proto
new file mode 100644
index 00000000..a15cb9a7
--- /dev/null
+++ b/proto/HomeBlueprintSlotInfo.proto
@@ -0,0 +1,30 @@
+// 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 HomeBlueprintSlotInfo {
+ uint32 create_time = 12;
+ uint32 scene_id = 10;
+ string share_code = 9;
+ uint32 module_id = 3;
+ uint32 block_id = 2;
+ uint32 slot_id = 8;
+ bool is_allow_copy = 6;
+}
diff --git a/proto/HomeChangeBgmNotify.proto b/proto/HomeChangeBgmNotify.proto
index 4fb65e3f..4790a440 100644
--- a/proto/HomeChangeBgmNotify.proto
+++ b/proto/HomeChangeBgmNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4872
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeChangeBgmNotify {
- uint32 bgm_id = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4518;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 bgm_id = 9;
}
diff --git a/proto/HomeChangeBgmReq.proto b/proto/HomeChangeBgmReq.proto
index 14669833..5ac43c41 100644
--- a/proto/HomeChangeBgmReq.proto
+++ b/proto/HomeChangeBgmReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4558
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeChangeBgmReq {
- uint32 bgm_id = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4736;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 bgm_id = 9;
}
diff --git a/proto/HomeChangeBgmRsp.proto b/proto/HomeChangeBgmRsp.proto
index baaa3852..e5589997 100644
--- a/proto/HomeChangeBgmRsp.proto
+++ b/proto/HomeChangeBgmRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4488
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeChangeBgmRsp {
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4895;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
}
diff --git a/proto/HomeChangeEditModeReq.proto b/proto/HomeChangeEditModeReq.proto
index 515aa7c7..71a50f24 100644
--- a/proto/HomeChangeEditModeReq.proto
+++ b/proto/HomeChangeEditModeReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4564
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeChangeEditModeReq {
- bool is_enter_edit_mode = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4719;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_enter_edit_mode = 15;
}
diff --git a/proto/HomeChangeEditModeRsp.proto b/proto/HomeChangeEditModeRsp.proto
index 068f81f5..b4369bdd 100644
--- a/proto/HomeChangeEditModeRsp.proto
+++ b/proto/HomeChangeEditModeRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4559
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeChangeEditModeRsp {
- int32 retcode = 10;
- bool is_enter_edit_mode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4661;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_enter_edit_mode = 2;
+ int32 retcode = 13;
}
diff --git a/proto/HomeChangeModuleReq.proto b/proto/HomeChangeModuleReq.proto
new file mode 100644
index 00000000..bafdd101
--- /dev/null
+++ b/proto/HomeChangeModuleReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeChangeModuleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4559;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_module_id = 6;
+}
diff --git a/proto/HomeChangeModuleRsp.proto b/proto/HomeChangeModuleRsp.proto
new file mode 100644
index 00000000..01e979c2
--- /dev/null
+++ b/proto/HomeChangeModuleRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeChangeModuleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4551;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 target_module_id = 8;
+}
diff --git a/proto/HomeChooseModuleReq.proto b/proto/HomeChooseModuleReq.proto
index 96b3d728..cb4e8750 100644
--- a/proto/HomeChooseModuleReq.proto
+++ b/proto/HomeChooseModuleReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4524
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeChooseModuleReq {
- uint32 module_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4456;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 module_id = 14;
}
diff --git a/proto/HomeChooseModuleRsp.proto b/proto/HomeChooseModuleRsp.proto
index 942f0bac..092c7ced 100644
--- a/proto/HomeChooseModuleRsp.proto
+++ b/proto/HomeChooseModuleRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4648
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeChooseModuleRsp {
- int32 retcode = 2;
- uint32 module_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4638;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 module_id = 15;
}
diff --git a/proto/HomeClearGroupRecordReq.proto b/proto/HomeClearGroupRecordReq.proto
new file mode 100644
index 00000000..9ba69f3b
--- /dev/null
+++ b/proto/HomeClearGroupRecordReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeClearGroupRecordReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4823;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_id = 8;
+}
diff --git a/proto/HomeClearGroupRecordRsp.proto b/proto/HomeClearGroupRecordRsp.proto
new file mode 100644
index 00000000..a7c7301a
--- /dev/null
+++ b/proto/HomeClearGroupRecordRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeClearGroupRecordRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4525;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 10;
+ int32 retcode = 4;
+}
diff --git a/proto/HomeComfortInfoNotify.proto b/proto/HomeComfortInfoNotify.proto
index 968b7124..35a66157 100644
--- a/proto/HomeComfortInfoNotify.proto
+++ b/proto/HomeComfortInfoNotify.proto
@@ -21,9 +21,14 @@ import "HomeModuleComfortInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4699
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeComfortInfoNotify {
- repeated HomeModuleComfortInfo module_info_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4763;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeModuleComfortInfo module_info_list = 3;
}
diff --git a/proto/HomeCreateBlueprintReq.proto b/proto/HomeCreateBlueprintReq.proto
new file mode 100644
index 00000000..a4279d1c
--- /dev/null
+++ b/proto/HomeCreateBlueprintReq.proto
@@ -0,0 +1,38 @@
+// 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 "HomeSceneArrangementInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeCreateBlueprintReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4539;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeSceneArrangementInfo scene_arrangement_info = 4;
+ uint32 gen_share_code_count = 9;
+ string server_share_code = 5;
+ uint32 slot_id = 15;
+}
diff --git a/proto/HomeCreateBlueprintRsp.proto b/proto/HomeCreateBlueprintRsp.proto
new file mode 100644
index 00000000..dae4c3bd
--- /dev/null
+++ b/proto/HomeCreateBlueprintRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeBlueprintSlotInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeCreateBlueprintRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4806;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ HomeBlueprintSlotInfo slot_info = 6;
+}
diff --git a/proto/HomeCustomFurnitureInfo.proto b/proto/HomeCustomFurnitureInfo.proto
index efccb32e..977679cb 100644
--- a/proto/HomeCustomFurnitureInfo.proto
+++ b/proto/HomeCustomFurnitureInfo.proto
@@ -22,6 +22,6 @@ import "CustomCommonNodeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeCustomFurnitureInfo {
- repeated CustomCommonNodeInfo sub_furniture_list = 12;
- uint32 guid = 6;
+ uint32 guid = 7;
+ repeated CustomCommonNodeInfo sub_furniture_list = 11;
}
diff --git a/proto/HomeCustomFurnitureInfoNotify.proto b/proto/HomeCustomFurnitureInfoNotify.proto
index 81436412..bed738eb 100644
--- a/proto/HomeCustomFurnitureInfoNotify.proto
+++ b/proto/HomeCustomFurnitureInfoNotify.proto
@@ -21,11 +21,16 @@ import "HomeCustomFurnitureInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4712
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeCustomFurnitureInfoNotify {
- repeated uint32 delete_custom_furniture_list = 4;
- map used_sub_furniture_count_map = 15;
- repeated HomeCustomFurnitureInfo custom_furniture_info_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4888;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 delete_custom_furniture_list = 13;
+ repeated HomeCustomFurnitureInfo custom_furniture_info_list = 15;
+ map used_sub_furniture_count_map = 3;
}
diff --git a/proto/HomeDeleteBlueprintReq.proto b/proto/HomeDeleteBlueprintReq.proto
new file mode 100644
index 00000000..160b2d69
--- /dev/null
+++ b/proto/HomeDeleteBlueprintReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeDeleteBlueprintReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4501;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slot_id = 14;
+}
diff --git a/proto/HomeDeleteBlueprintRsp.proto b/proto/HomeDeleteBlueprintRsp.proto
new file mode 100644
index 00000000..38391476
--- /dev/null
+++ b/proto/HomeDeleteBlueprintRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeDeleteBlueprintRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4545;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ uint32 slot_id = 15;
+}
diff --git a/proto/HomeEditCustomFurnitureReq.proto b/proto/HomeEditCustomFurnitureReq.proto
index d64e2865..f0b94b4e 100644
--- a/proto/HomeEditCustomFurnitureReq.proto
+++ b/proto/HomeEditCustomFurnitureReq.proto
@@ -21,10 +21,15 @@ import "HomeCustomFurnitureInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4724
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeEditCustomFurnitureReq {
- HomeCustomFurnitureInfo custom_furniture_info = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4778;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeCustomFurnitureInfo custom_furniture_info = 9;
}
diff --git a/proto/HomeEditCustomFurnitureRsp.proto b/proto/HomeEditCustomFurnitureRsp.proto
index 2ed122ab..68b17082 100644
--- a/proto/HomeEditCustomFurnitureRsp.proto
+++ b/proto/HomeEditCustomFurnitureRsp.proto
@@ -21,10 +21,15 @@ import "HomeCustomFurnitureInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4496
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeEditCustomFurnitureRsp {
- HomeCustomFurnitureInfo custom_furniture_info = 11;
- int32 retcode = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4769;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ HomeCustomFurnitureInfo custom_furniture_info = 2;
}
diff --git a/proto/HomeEnterEditModeFinishReq.proto b/proto/HomeEnterEditModeFinishReq.proto
index 4b63320f..6b56c9bf 100644
--- a/proto/HomeEnterEditModeFinishReq.proto
+++ b/proto/HomeEnterEditModeFinishReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4537
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message HomeEnterEditModeFinishReq {}
+message HomeEnterEditModeFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4865;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeEnterEditModeFinishRsp.proto b/proto/HomeEnterEditModeFinishRsp.proto
index 19cee183..6a5b96df 100644
--- a/proto/HomeEnterEditModeFinishRsp.proto
+++ b/proto/HomeEnterEditModeFinishRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4615
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeEnterEditModeFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4583;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
int32 retcode = 15;
}
diff --git a/proto/HomeExchangeWoodReq.proto b/proto/HomeExchangeWoodReq.proto
new file mode 100644
index 00000000..c704f296
--- /dev/null
+++ b/proto/HomeExchangeWoodReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeExchangeWoodReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4808;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 wood_id = 1;
+ map material_count_map = 4;
+}
diff --git a/proto/HomeExchangeWoodRsp.proto b/proto/HomeExchangeWoodRsp.proto
new file mode 100644
index 00000000..001b5c24
--- /dev/null
+++ b/proto/HomeExchangeWoodRsp.proto
@@ -0,0 +1,35 @@
+// 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 HomeExchangeWoodRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4885;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 exchanged_count = 8;
+ uint32 wood_count = 5;
+ uint32 wood_id = 9;
+}
diff --git a/proto/HomeFishFarmingInfo.proto b/proto/HomeFishFarmingInfo.proto
new file mode 100644
index 00000000..35505ba0
--- /dev/null
+++ b/proto/HomeFishFarmingInfo.proto
@@ -0,0 +1,25 @@
+// 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 HomeFishFarmingInfo {
+ repeated uint32 fish_id_list = 13;
+ uint32 fishpond_guid = 5;
+}
diff --git a/proto/HomeFishFarmingInfoNotify.proto b/proto/HomeFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..f802be9f
--- /dev/null
+++ b/proto/HomeFishFarmingInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomeFishFarmingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeFishFarmingInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4842;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeFishFarmingInfo fish_farming_info_list = 8;
+}
diff --git a/proto/HomeFurnitureCustomSuiteData.proto b/proto/HomeFurnitureCustomSuiteData.proto
index af1e2be8..ad9c0c52 100644
--- a/proto/HomeFurnitureCustomSuiteData.proto
+++ b/proto/HomeFurnitureCustomSuiteData.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeFurnitureCustomSuiteData {
- uint32 guid = 11;
- Vector spawn_pos = 14;
- repeated int32 included_furniture_index_list = 12;
+ repeated int32 included_furniture_index_list = 14;
+ Vector spawn_pos = 5;
+ uint32 guid = 12;
}
diff --git a/proto/HomeFurnitureData.proto b/proto/HomeFurnitureData.proto
index 85bb7b95..0e04a8da 100644
--- a/proto/HomeFurnitureData.proto
+++ b/proto/HomeFurnitureData.proto
@@ -22,10 +22,10 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeFurnitureData {
- uint32 version = 6;
- int32 parent_furniture_index = 3;
- uint32 furniture_id = 4;
- uint32 guid = 9;
- Vector spawn_rot = 10;
- Vector spawn_pos = 8;
+ uint32 furniture_id = 8;
+ int32 parent_furniture_index = 15;
+ uint32 guid = 12;
+ Vector spawn_rot = 6;
+ Vector spawn_pos = 2;
+ uint32 version = 11;
}
diff --git a/proto/HomeFurnitureGroupData.proto b/proto/HomeFurnitureGroupData.proto
index 9a687fcf..ea0c42dc 100644
--- a/proto/HomeFurnitureGroupData.proto
+++ b/proto/HomeFurnitureGroupData.proto
@@ -22,6 +22,6 @@ import "HomeFurnitureData.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeFurnitureGroupData {
- uint32 group_furniture_index = 8;
- repeated HomeFurnitureData virtual_furniure_list = 3;
+ repeated HomeFurnitureData virtual_furniture_list = 1;
+ uint32 group_furniture_index = 15;
}
diff --git a/proto/HomeFurnitureSuiteData.proto b/proto/HomeFurnitureSuiteData.proto
index da43687b..64420fb0 100644
--- a/proto/HomeFurnitureSuiteData.proto
+++ b/proto/HomeFurnitureSuiteData.proto
@@ -22,9 +22,9 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeFurnitureSuiteData {
- bool is_allow_summon = 10;
- uint32 suite_id = 6;
- Vector spawn_pos = 8;
- uint32 guid = 13;
- repeated int32 included_furniture_index_list = 1;
+ bool is_allow_summon = 4;
+ uint32 suite_id = 3;
+ uint32 guid = 5;
+ Vector spawn_pos = 9;
+ repeated int32 included_furniture_index_list = 11;
}
diff --git a/proto/HomeGalleryInPlayingNotify.proto b/proto/HomeGalleryInPlayingNotify.proto
new file mode 100644
index 00000000..63bb35bb
--- /dev/null
+++ b/proto/HomeGalleryInPlayingNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeGalleryInPlayingNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5573;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 7;
+}
diff --git a/proto/HomeGetArrangementInfoReq.proto b/proto/HomeGetArrangementInfoReq.proto
index 844b5347..5426cf53 100644
--- a/proto/HomeGetArrangementInfoReq.proto
+++ b/proto/HomeGetArrangementInfoReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4848
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeGetArrangementInfoReq {
- repeated uint32 scene_id_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4601;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 scene_id_list = 6;
}
diff --git a/proto/HomeGetArrangementInfoRsp.proto b/proto/HomeGetArrangementInfoRsp.proto
index 2a9b4aad..d665d87f 100644
--- a/proto/HomeGetArrangementInfoRsp.proto
+++ b/proto/HomeGetArrangementInfoRsp.proto
@@ -21,10 +21,15 @@ import "HomeSceneArrangementInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4844
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeGetArrangementInfoRsp {
- int32 retcode = 6;
- repeated HomeSceneArrangementInfo scene_arrangement_info_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4878;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeSceneArrangementInfo scene_arrangement_info_list = 13;
+ int32 retcode = 11;
}
diff --git a/proto/HomeGetBasicInfoReq.proto b/proto/HomeGetBasicInfoReq.proto
index 6fac50d5..d9c758c2 100644
--- a/proto/HomeGetBasicInfoReq.proto
+++ b/proto/HomeGetBasicInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4655
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message HomeGetBasicInfoReq {}
+message HomeGetBasicInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4743;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeGetBlueprintSlotInfoReq.proto b/proto/HomeGetBlueprintSlotInfoReq.proto
new file mode 100644
index 00000000..ac9c4f91
--- /dev/null
+++ b/proto/HomeGetBlueprintSlotInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 HomeGetBlueprintSlotInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4688;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeGetBlueprintSlotInfoRsp.proto b/proto/HomeGetBlueprintSlotInfoRsp.proto
new file mode 100644
index 00000000..8fb0cef4
--- /dev/null
+++ b/proto/HomeGetBlueprintSlotInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HomeBlueprintSlotInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeGetBlueprintSlotInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4498;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 delete_slot_id_list = 1;
+ repeated HomeBlueprintSlotInfo slot_info_list = 15;
+ int32 retcode = 7;
+}
diff --git a/proto/HomeGetFishFarmingInfoReq.proto b/proto/HomeGetFishFarmingInfoReq.proto
new file mode 100644
index 00000000..b111ee3b
--- /dev/null
+++ b/proto/HomeGetFishFarmingInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 HomeGetFishFarmingInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4835;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeGetFishFarmingInfoRsp.proto b/proto/HomeGetFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..6548ceba
--- /dev/null
+++ b/proto/HomeGetFishFarmingInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeFishFarmingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeGetFishFarmingInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4567;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ repeated HomeFishFarmingInfo fish_farming_info_list = 12;
+}
diff --git a/proto/HomeGetGroupRecordReq.proto b/proto/HomeGetGroupRecordReq.proto
new file mode 100644
index 00000000..e2502e47
--- /dev/null
+++ b/proto/HomeGetGroupRecordReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeGetGroupRecordReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4756;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_id = 6;
+}
diff --git a/proto/HomeGetGroupRecordRsp.proto b/proto/HomeGetGroupRecordRsp.proto
new file mode 100644
index 00000000..c6e5bfe1
--- /dev/null
+++ b/proto/HomeGetGroupRecordRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HomeGroupRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeGetGroupRecordRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4824;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomeGroupRecord group_record = 6;
+ int32 retcode = 7;
+ uint32 record_type = 15;
+}
diff --git a/proto/HomeGetOnlineStatusReq.proto b/proto/HomeGetOnlineStatusReq.proto
new file mode 100644
index 00000000..b1ad7fe5
--- /dev/null
+++ b/proto/HomeGetOnlineStatusReq.proto
@@ -0,0 +1,31 @@
+// 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 HomeGetOnlineStatusReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4856;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeGetOnlineStatusRsp.proto b/proto/HomeGetOnlineStatusRsp.proto
new file mode 100644
index 00000000..0ca0f9e5
--- /dev/null
+++ b/proto/HomeGetOnlineStatusRsp.proto
@@ -0,0 +1,35 @@
+// 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 "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeGetOnlineStatusRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4649;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ repeated OnlinePlayerInfo player_info_list = 2;
+}
diff --git a/proto/HomeGroupPlayerInfo.proto b/proto/HomeGroupPlayerInfo.proto
index 567b1479..33b35052 100644
--- a/proto/HomeGroupPlayerInfo.proto
+++ b/proto/HomeGroupPlayerInfo.proto
@@ -22,10 +22,10 @@ import "ProfilePicture.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeGroupPlayerInfo {
- string online_id = 14;
- string psn_id = 6;
- string nickname = 15;
- uint32 player_level = 4;
- uint32 uid = 2;
- ProfilePicture profile_picture = 5;
+ string psn_id = 10;
+ string nickname = 13;
+ uint32 uid = 1;
+ ProfilePicture profile_picture = 2;
+ uint32 player_level = 9;
+ string online_id = 4;
}
diff --git a/proto/HomeGroupRecord.proto b/proto/HomeGroupRecord.proto
new file mode 100644
index 00000000..04979aab
--- /dev/null
+++ b/proto/HomeGroupRecord.proto
@@ -0,0 +1,35 @@
+// 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 "HomeBalloonRecord.proto";
+import "HomeRacingRecord.proto";
+import "HomeSeekFurnitureAllRecord.proto";
+import "HomeStakeRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeGroupRecord {
+ uint32 group_id = 15;
+ oneof detail {
+ HomeRacingRecord racing_gallery_info = 835;
+ HomeBalloonRecord balloon_gallery_info = 726;
+ HomeStakeRecord stake_play_info = 1818;
+ HomeSeekFurnitureAllRecord seek_furniture_gallery_info = 370;
+ }
+}
diff --git a/proto/HomeKickPlayerReq.proto b/proto/HomeKickPlayerReq.proto
new file mode 100644
index 00000000..335c3a8c
--- /dev/null
+++ b/proto/HomeKickPlayerReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeKickPlayerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4684;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_kick_all = 14;
+ uint32 target_uid = 2;
+}
diff --git a/proto/HomeKickPlayerRsp.proto b/proto/HomeKickPlayerRsp.proto
new file mode 100644
index 00000000..d1537aed
--- /dev/null
+++ b/proto/HomeKickPlayerRsp.proto
@@ -0,0 +1,34 @@
+// 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 HomeKickPlayerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4657;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_kick_all = 2;
+ int32 retcode = 14;
+ uint32 target_uid = 7;
+}
diff --git a/proto/HomeLimitedShop.proto b/proto/HomeLimitedShop.proto
index 667b2c72..f852b11a 100644
--- a/proto/HomeLimitedShop.proto
+++ b/proto/HomeLimitedShop.proto
@@ -22,5 +22,5 @@ import "HomeLimitedShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeLimitedShop {
- repeated HomeLimitedShopGoods goods_list = 8;
+ repeated HomeLimitedShopGoods goods_list = 9;
}
diff --git a/proto/HomeLimitedShopBuyGoodsReq.proto b/proto/HomeLimitedShopBuyGoodsReq.proto
index d59725f1..8b8cecf4 100644
--- a/proto/HomeLimitedShopBuyGoodsReq.proto
+++ b/proto/HomeLimitedShopBuyGoodsReq.proto
@@ -21,11 +21,16 @@ import "HomeLimitedShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4760
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeLimitedShopBuyGoodsReq {
- HomeLimitedShopGoods goods = 3;
- uint32 buy_count = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4574;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeLimitedShopGoods goods = 6;
+ uint32 buy_count = 13;
}
diff --git a/proto/HomeLimitedShopBuyGoodsRsp.proto b/proto/HomeLimitedShopBuyGoodsRsp.proto
index 677f63ca..f9a71025 100644
--- a/proto/HomeLimitedShopBuyGoodsRsp.proto
+++ b/proto/HomeLimitedShopBuyGoodsRsp.proto
@@ -21,12 +21,17 @@ import "HomeLimitedShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4750
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeLimitedShopBuyGoodsRsp {
- repeated HomeLimitedShopGoods goods_list = 13;
- int32 retcode = 14;
- HomeLimitedShopGoods goods = 5;
- uint32 buy_count = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4630;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeLimitedShopGoods goods_list = 3;
+ uint32 buy_count = 10;
+ int32 retcode = 13;
+ HomeLimitedShopGoods goods = 9;
}
diff --git a/proto/HomeLimitedShopGoods.proto b/proto/HomeLimitedShopGoods.proto
index d8b5187e..411f2ebb 100644
--- a/proto/HomeLimitedShopGoods.proto
+++ b/proto/HomeLimitedShopGoods.proto
@@ -22,10 +22,10 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeLimitedShopGoods {
- uint32 buy_limit = 8;
- repeated ItemParam cost_item_list = 15;
- uint32 bought_num = 1;
- ItemParam goods_item = 6;
- uint32 goods_id = 13;
- uint32 disable_type = 3;
+ uint32 Unk3300_EHKFICBACKC = 8;
+ uint32 Unk3300_OODCCOAIGHI = 10;
+ uint32 Unk3300_DBJCMMBHBNI = 12;
+ uint32 bought_num = 5;
+ ItemParam goods_item = 2;
+ repeated ItemParam cost_item_list = 4;
}
diff --git a/proto/HomeLimitedShopGoodsListReq.proto b/proto/HomeLimitedShopGoodsListReq.proto
index 64c4bb3a..4b24261e 100644
--- a/proto/HomeLimitedShopGoodsListReq.proto
+++ b/proto/HomeLimitedShopGoodsListReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4552
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message HomeLimitedShopGoodsListReq {}
+message HomeLimitedShopGoodsListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4537;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeLimitedShopGoodsListRsp.proto b/proto/HomeLimitedShopGoodsListRsp.proto
index 382f5890..396b5faa 100644
--- a/proto/HomeLimitedShopGoodsListRsp.proto
+++ b/proto/HomeLimitedShopGoodsListRsp.proto
@@ -21,10 +21,15 @@ import "HomeLimitedShop.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4546
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeLimitedShopGoodsListRsp {
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4492;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
HomeLimitedShop shop = 12;
}
diff --git a/proto/HomeLimitedShopInfo.proto b/proto/HomeLimitedShopInfo.proto
index cf90c685..3d393427 100644
--- a/proto/HomeLimitedShopInfo.proto
+++ b/proto/HomeLimitedShopInfo.proto
@@ -22,10 +22,10 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeLimitedShopInfo {
- fixed32 next_close_time = 9;
- fixed32 next_guest_open_time = 11;
- Vector djinn_rot = 7;
- uint32 uid = 4;
- fixed32 next_open_time = 6;
+ uint32 uid = 9;
+ uint32 Unk3300_FKGDIDFIBAA = 8;
+ Vector djinn_rot = 11;
+ uint32 Unk3300_DLIEFPNMGFC = 5;
Vector djinn_pos = 2;
+ uint32 Unk3300_NOJPDKDPPPA = 15;
}
diff --git a/proto/HomeLimitedShopInfoChangeNotify.proto b/proto/HomeLimitedShopInfoChangeNotify.proto
index 4fc0c164..653ad056 100644
--- a/proto/HomeLimitedShopInfoChangeNotify.proto
+++ b/proto/HomeLimitedShopInfoChangeNotify.proto
@@ -21,9 +21,14 @@ import "HomeLimitedShopGoods.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4790
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeLimitedShopInfoChangeNotify {
- repeated HomeLimitedShopGoods goods_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4790;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeLimitedShopGoods goods_list = 2;
}
diff --git a/proto/HomeLimitedShopInfoNotify.proto b/proto/HomeLimitedShopInfoNotify.proto
index 6df4e2e0..4475bd61 100644
--- a/proto/HomeLimitedShopInfoNotify.proto
+++ b/proto/HomeLimitedShopInfoNotify.proto
@@ -21,10 +21,15 @@ import "HomeLimitedShopInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4887
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeLimitedShopInfoNotify {
- HomeLimitedShopInfo shop_info = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4475;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeLimitedShopInfo shop_info = 7;
}
diff --git a/proto/HomeLimitedShopInfoReq.proto b/proto/HomeLimitedShopInfoReq.proto
index 761f7174..c8ed9c72 100644
--- a/proto/HomeLimitedShopInfoReq.proto
+++ b/proto/HomeLimitedShopInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4825
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message HomeLimitedShopInfoReq {}
+message HomeLimitedShopInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4815;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeLimitedShopInfoRsp.proto b/proto/HomeLimitedShopInfoRsp.proto
index ea0e12cd..d83b6800 100644
--- a/proto/HomeLimitedShopInfoRsp.proto
+++ b/proto/HomeLimitedShopInfoRsp.proto
@@ -21,10 +21,15 @@ import "HomeLimitedShopInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4796
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeLimitedShopInfoRsp {
- HomeLimitedShopInfo shop_info = 10;
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4739;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ HomeLimitedShopInfo shop_info = 12;
}
diff --git a/proto/HomeMarkPointNotify.proto b/proto/HomeMarkPointNotify.proto
index 3f844d56..61cb6813 100644
--- a/proto/HomeMarkPointNotify.proto
+++ b/proto/HomeMarkPointNotify.proto
@@ -21,9 +21,14 @@ import "HomeMarkPointSceneData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4474
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeMarkPointNotify {
- repeated HomeMarkPointSceneData mark_point_data_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4868;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeMarkPointSceneData mark_point_data_list = 11;
}
diff --git a/proto/HomeMarkPointSceneData.proto b/proto/HomeMarkPointSceneData.proto
index 0e321839..54b7fe73 100644
--- a/proto/HomeMarkPointSceneData.proto
+++ b/proto/HomeMarkPointSceneData.proto
@@ -23,9 +23,9 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeMarkPointSceneData {
- repeated HomeMarkPointFurnitureData furniture_list = 6;
- Vector teapot_spirit_pos = 4;
- uint32 scene_id = 2;
- uint32 module_id = 5;
- Vector safe_point_pos = 11;
+ Vector Unk3300_ONJJJEPFKJI = 9;
+ uint32 scene_id = 6;
+ Vector Unk3300_HFNOINGPMJP = 11;
+ uint32 module_id = 8;
+ repeated HomeMarkPointFurnitureData furniture_list = 13;
}
diff --git a/proto/HomeModuleComfortInfo.proto b/proto/HomeModuleComfortInfo.proto
index ae1ca484..3a7dae83 100644
--- a/proto/HomeModuleComfortInfo.proto
+++ b/proto/HomeModuleComfortInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeModuleComfortInfo {
- uint32 module_id = 13;
- uint32 room_scene_comfort_value = 9;
- repeated uint32 world_scene_block_comfort_value_list = 3;
+ uint32 room_scene_comfort_value = 5;
+ repeated uint32 world_scene_block_comfort_value_list = 10;
+ uint32 module_id = 15;
}
diff --git a/proto/HomeModuleSeenReq.proto b/proto/HomeModuleSeenReq.proto
new file mode 100644
index 00000000..4fd491c1
--- /dev/null
+++ b/proto/HomeModuleSeenReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeModuleSeenReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4861;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 seen_module_id_list = 9;
+}
diff --git a/proto/HomeModuleSeenRsp.proto b/proto/HomeModuleSeenRsp.proto
new file mode 100644
index 00000000..12b2071f
--- /dev/null
+++ b/proto/HomeModuleSeenRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeModuleSeenRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4693;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 seen_module_id_list = 9;
+ int32 retcode = 6;
+}
diff --git a/proto/HomeModuleUnlockNotify.proto b/proto/HomeModuleUnlockNotify.proto
new file mode 100644
index 00000000..f61c230a
--- /dev/null
+++ b/proto/HomeModuleUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomeModuleUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4674;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 module_id = 4;
+}
diff --git a/proto/HomeNewUnlockedBgmIdListNotify.proto b/proto/HomeNewUnlockedBgmIdListNotify.proto
index 7858f0c3..6c51b27f 100644
--- a/proto/HomeNewUnlockedBgmIdListNotify.proto
+++ b/proto/HomeNewUnlockedBgmIdListNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4847
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeNewUnlockedBgmIdListNotify {
- repeated uint32 new_unlocked_bgm_id_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4899;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 new_unlocked_bgm_id_list = 1;
}
diff --git a/proto/HomeNpcData.proto b/proto/HomeNpcData.proto
index 624bcd4e..5796ea5f 100644
--- a/proto/HomeNpcData.proto
+++ b/proto/HomeNpcData.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeNpcData {
- uint32 avatar_id = 14;
- Vector spawn_pos = 15;
- uint32 costume_id = 3;
- Vector spawn_rot = 13;
+ uint32 avatar_id = 11;
+ Vector spawn_pos = 13;
+ uint32 costume_id = 4;
+ Vector spawn_rot = 7;
}
diff --git a/proto/HomePictureFrameInfo.proto b/proto/HomePictureFrameInfo.proto
new file mode 100644
index 00000000..341c1bd7
--- /dev/null
+++ b/proto/HomePictureFrameInfo.proto
@@ -0,0 +1,25 @@
+// 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 HomePictureFrameInfo {
+ uint32 picture_id = 9;
+ uint32 guid = 5;
+}
diff --git a/proto/HomePictureFrameInfoNotify.proto b/proto/HomePictureFrameInfoNotify.proto
new file mode 100644
index 00000000..d7729190
--- /dev/null
+++ b/proto/HomePictureFrameInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomePictureFrameInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePictureFrameInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4495;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomePictureFrameInfo picture_frame_info_list = 7;
+}
diff --git a/proto/HomePlantFieldData.proto b/proto/HomePlantFieldData.proto
new file mode 100644
index 00000000..cc5314e3
--- /dev/null
+++ b/proto/HomePlantFieldData.proto
@@ -0,0 +1,31 @@
+// 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 "HomePlantSubFieldData.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePlantFieldData {
+ uint32 scene_id = 15;
+ uint32 field_guid = 5;
+ repeated HomePlantSubFieldData sub_field_list = 3;
+ uint32 furniture_id = 1;
+ Vector spawn_pos = 9;
+}
diff --git a/proto/HomePlantFieldNotify.proto b/proto/HomePlantFieldNotify.proto
new file mode 100644
index 00000000..d6593175
--- /dev/null
+++ b/proto/HomePlantFieldNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomePlantFieldData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePlantFieldNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4848;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomePlantFieldData field = 7;
+}
diff --git a/proto/HomePlantFieldStatus.proto b/proto/HomePlantFieldStatus.proto
new file mode 100644
index 00000000..e12415ad
--- /dev/null
+++ b/proto/HomePlantFieldStatus.proto
@@ -0,0 +1,27 @@
+// 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 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..ca9c1368
--- /dev/null
+++ b/proto/HomePlantInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomePlantFieldData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePlantInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4873;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomePlantFieldData field_list = 11;
+}
diff --git a/proto/HomePlantInfoReq.proto b/proto/HomePlantInfoReq.proto
new file mode 100644
index 00000000..c128aad7
--- /dev/null
+++ b/proto/HomePlantInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 HomePlantInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4629;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomePlantInfoRsp.proto b/proto/HomePlantInfoRsp.proto
new file mode 100644
index 00000000..408d88c3
--- /dev/null
+++ b/proto/HomePlantInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HomePlantFieldData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePlantInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4460;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 8;
+ repeated HomePlantFieldData field_list = 10;
+}
diff --git a/proto/HomePlantSeedReq.proto b/proto/HomePlantSeedReq.proto
new file mode 100644
index 00000000..b6bee616
--- /dev/null
+++ b/proto/HomePlantSeedReq.proto
@@ -0,0 +1,35 @@
+// 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 HomePlantSeedReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4768;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 seed_id_list = 7;
+ uint32 field_guid = 1;
+ uint32 index = 9;
+}
diff --git a/proto/HomePlantSeedRsp.proto b/proto/HomePlantSeedRsp.proto
new file mode 100644
index 00000000..1579e1da
--- /dev/null
+++ b/proto/HomePlantSeedRsp.proto
@@ -0,0 +1,32 @@
+// 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 HomePlantSeedRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4694;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/HomePlantSubFieldData.proto b/proto/HomePlantSubFieldData.proto
new file mode 100644
index 00000000..42268b92
--- /dev/null
+++ b/proto/HomePlantSubFieldData.proto
@@ -0,0 +1,30 @@
+// 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 "HomePlantFieldStatus.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePlantSubFieldData {
+ HomePlantFieldStatus field_status = 5;
+ uint32 Unk3300_IELHEAAMAKG = 7;
+ repeated uint32 entity_id_list = 12;
+ fixed32 end_time = 6;
+ uint32 Unk3300_GAJHLGKLBBK = 9;
+}
diff --git a/proto/HomePlantWeedReq.proto b/proto/HomePlantWeedReq.proto
new file mode 100644
index 00000000..e6f56a5e
--- /dev/null
+++ b/proto/HomePlantWeedReq.proto
@@ -0,0 +1,34 @@
+// 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 HomePlantWeedReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4866;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 field_guid = 13;
+ uint32 index = 3;
+}
diff --git a/proto/HomePlantWeedRsp.proto b/proto/HomePlantWeedRsp.proto
new file mode 100644
index 00000000..30d84ec2
--- /dev/null
+++ b/proto/HomePlantWeedRsp.proto
@@ -0,0 +1,32 @@
+// 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 HomePlantWeedRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4619;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/HomePreChangeEditModeNotify.proto b/proto/HomePreChangeEditModeNotify.proto
index 94aebce4..b6e01832 100644
--- a/proto/HomePreChangeEditModeNotify.proto
+++ b/proto/HomePreChangeEditModeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4639
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomePreChangeEditModeNotify {
- bool is_enter_edit_mode = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4720;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_enter_edit_mode = 10;
}
diff --git a/proto/HomePreviewBlueprintReq.proto b/proto/HomePreviewBlueprintReq.proto
new file mode 100644
index 00000000..25211e38
--- /dev/null
+++ b/proto/HomePreviewBlueprintReq.proto
@@ -0,0 +1,33 @@
+// 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 HomePreviewBlueprintReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4745;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string share_code = 10;
+}
diff --git a/proto/HomePreviewBlueprintRsp.proto b/proto/HomePreviewBlueprintRsp.proto
new file mode 100644
index 00000000..edbc7301
--- /dev/null
+++ b/proto/HomePreviewBlueprintRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HomeSceneArrangementInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomePreviewBlueprintRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4462;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ HomeSceneArrangementInfo scene_arrangement_info = 5;
+ string share_code = 9;
+}
diff --git a/proto/HomePriorCheckNotify.proto b/proto/HomePriorCheckNotify.proto
new file mode 100644
index 00000000..5827b595
--- /dev/null
+++ b/proto/HomePriorCheckNotify.proto
@@ -0,0 +1,32 @@
+// 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 HomePriorCheckNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4557;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ fixed32 end_time = 3;
+}
diff --git a/proto/HomeRacingGalleryRecord.proto b/proto/HomeRacingGalleryRecord.proto
new file mode 100644
index 00000000..a0a99391
--- /dev/null
+++ b/proto/HomeRacingGalleryRecord.proto
@@ -0,0 +1,28 @@
+// 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 "HomeGroupPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeRacingGalleryRecord {
+ uint32 timestamp = 13;
+ HomeGroupPlayerInfo player_info = 2;
+ uint32 use_time = 6;
+}
diff --git a/proto/HomeRacingGallerySettleNotify.proto b/proto/HomeRacingGallerySettleNotify.proto
new file mode 100644
index 00000000..af212efb
--- /dev/null
+++ b/proto/HomeRacingGallerySettleNotify.proto
@@ -0,0 +1,37 @@
+// 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 "RacingGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeRacingGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4807;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ RacingGallerySettleInfo settle_info = 14;
+ bool is_new_record = 7;
+ uint32 rank = 15;
+ uint32 gallery_id = 3;
+}
diff --git a/proto/HomeRacingRecord.proto b/proto/HomeRacingRecord.proto
new file mode 100644
index 00000000..0fdadaae
--- /dev/null
+++ b/proto/HomeRacingRecord.proto
@@ -0,0 +1,26 @@
+// 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 "HomeRacingGalleryRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeRacingRecord {
+ repeated HomeRacingGalleryRecord record_list = 9;
+}
diff --git a/proto/HomeResource.proto b/proto/HomeResource.proto
new file mode 100644
index 00000000..787076dd
--- /dev/null
+++ b/proto/HomeResource.proto
@@ -0,0 +1,26 @@
+// 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 HomeResource {
+ uint32 Unk3300_LJCAIDECBND = 6;
+ fixed32 next_refresh_time = 13;
+ uint32 Unk3300_LINAPIIPNOB = 1;
+}
diff --git a/proto/HomeResourceNotify.proto b/proto/HomeResourceNotify.proto
new file mode 100644
index 00000000..1da0edfa
--- /dev/null
+++ b/proto/HomeResourceNotify.proto
@@ -0,0 +1,35 @@
+// 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 "HomeResource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeResourceNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4762;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomeResource fetter_exp = 7;
+ HomeResource home_coin = 5;
+}
diff --git a/proto/HomeResourceTakeFetterExpReq.proto b/proto/HomeResourceTakeFetterExpReq.proto
new file mode 100644
index 00000000..b13efded
--- /dev/null
+++ b/proto/HomeResourceTakeFetterExpReq.proto
@@ -0,0 +1,31 @@
+// 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 HomeResourceTakeFetterExpReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4521;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeResourceTakeFetterExpRsp.proto b/proto/HomeResourceTakeFetterExpRsp.proto
new file mode 100644
index 00000000..a5d88c42
--- /dev/null
+++ b/proto/HomeResourceTakeFetterExpRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeResource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeResourceTakeFetterExpRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4607;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomeResource fetter_exp = 4;
+ int32 retcode = 1;
+}
diff --git a/proto/HomeResourceTakeHomeCoinReq.proto b/proto/HomeResourceTakeHomeCoinReq.proto
new file mode 100644
index 00000000..e14d2e3c
--- /dev/null
+++ b/proto/HomeResourceTakeHomeCoinReq.proto
@@ -0,0 +1,31 @@
+// 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 HomeResourceTakeHomeCoinReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4800;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeResourceTakeHomeCoinRsp.proto b/proto/HomeResourceTakeHomeCoinRsp.proto
new file mode 100644
index 00000000..6b7667ff
--- /dev/null
+++ b/proto/HomeResourceTakeHomeCoinRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeResource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeResourceTakeHomeCoinRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4779;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ HomeResource home_coin = 12;
+}
diff --git a/proto/HomeSaveArrangementNoChangeReq.proto b/proto/HomeSaveArrangementNoChangeReq.proto
new file mode 100644
index 00000000..6237a2f0
--- /dev/null
+++ b/proto/HomeSaveArrangementNoChangeReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeSaveArrangementNoChangeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4672;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 15;
+}
diff --git a/proto/HomeSaveArrangementNoChangeRsp.proto b/proto/HomeSaveArrangementNoChangeRsp.proto
new file mode 100644
index 00000000..10bfada9
--- /dev/null
+++ b/proto/HomeSaveArrangementNoChangeRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeSaveArrangementNoChangeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4603;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 9;
+ int32 retcode = 10;
+}
diff --git a/proto/HomeSceneArrangementInfo.proto b/proto/HomeSceneArrangementInfo.proto
index 440e5660..a719f576 100644
--- a/proto/HomeSceneArrangementInfo.proto
+++ b/proto/HomeSceneArrangementInfo.proto
@@ -24,16 +24,16 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeSceneArrangementInfo {
- Vector born_rot = 4;
- Vector born_pos = 1;
- repeated HomeFurnitureData stair_list = 11;
- repeated HomeFurnitureData door_list = 13;
- bool is_set_born_pos = 10;
- repeated HomeBlockArrangementInfo block_arrangement_info_list = 8;
- uint32 scene_id = 2;
- uint32 bgm_id = 12;
- Vector djinn_pos = 9;
- HomeFurnitureData main_house = 14;
- uint32 comfort_value = 7;
- uint32 tmp_version = 5;
+ uint32 comfort_value = 6;
+ repeated HomeBlockArrangementInfo block_arrangement_info_list = 1;
+ bool is_set_born_pos = 4;
+ Vector djinn_pos = 14;
+ Vector born_rot = 10;
+ uint32 bgm_id = 5;
+ Vector born_pos = 11;
+ repeated HomeFurnitureData Unk3300_GCHNAMHBPHG = 2;
+ HomeFurnitureData main_house = 15;
+ uint32 scene_id = 8;
+ repeated HomeFurnitureData Unk3300_HPCHPODNBPH = 9;
+ uint32 tmp_version = 3;
}
diff --git a/proto/HomeSceneArrangementMuipData.proto b/proto/HomeSceneArrangementMuipData.proto
new file mode 100644
index 00000000..d82650ea
--- /dev/null
+++ b/proto/HomeSceneArrangementMuipData.proto
@@ -0,0 +1,29 @@
+// 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 "HomeBlockArrangementMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeSceneArrangementMuipData {
+ uint32 module_id = 1;
+ uint32 scene_id = 2;
+ bool is_room = 3;
+ repeated HomeBlockArrangementMuipData block_data_list = 4;
+}
diff --git a/proto/HomeSceneInitFinishReq.proto b/proto/HomeSceneInitFinishReq.proto
index 08b1db85..85ea7a95 100644
--- a/proto/HomeSceneInitFinishReq.proto
+++ b/proto/HomeSceneInitFinishReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4674
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message HomeSceneInitFinishReq {}
+message HomeSceneInitFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4451;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/HomeSceneInitFinishRsp.proto b/proto/HomeSceneInitFinishRsp.proto
index 5f8959e4..0a01f9e6 100644
--- a/proto/HomeSceneInitFinishRsp.proto
+++ b/proto/HomeSceneInitFinishRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4505
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeSceneInitFinishRsp {
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4531;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
}
diff --git a/proto/HomeSceneJumpReq.proto b/proto/HomeSceneJumpReq.proto
index 9914d906..8e67f44a 100644
--- a/proto/HomeSceneJumpReq.proto
+++ b/proto/HomeSceneJumpReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4528
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeSceneJumpReq {
- bool is_enter_room_scene = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4527;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_enter_room_scene = 2;
}
diff --git a/proto/HomeSceneJumpRsp.proto b/proto/HomeSceneJumpRsp.proto
index fb2c6433..049ce9a9 100644
--- a/proto/HomeSceneJumpRsp.proto
+++ b/proto/HomeSceneJumpRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4698
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeSceneJumpRsp {
- int32 retcode = 11;
- bool is_enter_room_scene = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4647;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_enter_room_scene = 6;
+ int32 retcode = 5;
}
diff --git a/proto/HomeScenePointFishFarmingInfo.proto b/proto/HomeScenePointFishFarmingInfo.proto
new file mode 100644
index 00000000..538140f8
--- /dev/null
+++ b/proto/HomeScenePointFishFarmingInfo.proto
@@ -0,0 +1,26 @@
+// 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 HomeScenePointFishFarmingInfo {
+ uint32 scene_id = 9;
+ uint32 local_entity_id = 7;
+ repeated uint32 fish_id_list = 11;
+}
diff --git a/proto/HomeScenePointFishFarmingInfoNotify.proto b/proto/HomeScenePointFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..ed4e628a
--- /dev/null
+++ b/proto/HomeScenePointFishFarmingInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HomeScenePointFishFarmingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeScenePointFishFarmingInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4834;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated HomeScenePointFishFarmingInfo fish_farming_info_list = 13;
+}
diff --git a/proto/HomeSearchBlueprintReq.proto b/proto/HomeSearchBlueprintReq.proto
new file mode 100644
index 00000000..37df386e
--- /dev/null
+++ b/proto/HomeSearchBlueprintReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeSearchBlueprintReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4705;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string share_code = 6;
+}
diff --git a/proto/HomeSearchBlueprintRsp.proto b/proto/HomeSearchBlueprintRsp.proto
new file mode 100644
index 00000000..3ffb8149
--- /dev/null
+++ b/proto/HomeSearchBlueprintRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomeBlueprintSearchInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeSearchBlueprintRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4512;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomeBlueprintSearchInfo search_info = 4;
+ int32 retcode = 8;
+}
diff --git a/proto/HomeSeekFurnitureAllRecord.proto b/proto/HomeSeekFurnitureAllRecord.proto
new file mode 100644
index 00000000..4109ebec
--- /dev/null
+++ b/proto/HomeSeekFurnitureAllRecord.proto
@@ -0,0 +1,26 @@
+// 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 "HomeSeekFurnitureOneRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeSeekFurnitureAllRecord {
+ repeated HomeSeekFurnitureOneRecord record_list = 9;
+}
diff --git a/proto/HomeSeekFurnitureGalleryScoreNotify.proto b/proto/HomeSeekFurnitureGalleryScoreNotify.proto
index ae5a9f93..5623cd97 100644
--- a/proto/HomeSeekFurnitureGalleryScoreNotify.proto
+++ b/proto/HomeSeekFurnitureGalleryScoreNotify.proto
@@ -22,11 +22,16 @@ import "HomeSeekFurnitureOneRecord.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4583
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeSeekFurnitureGalleryScoreNotify {
- uint32 gallery_id = 15;
- HomeSeekFurnitureOneRecord record = 5;
- GalleryStopReason reason = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4723;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GalleryStopReason reason = 7;
+ uint32 gallery_id = 13;
+ HomeSeekFurnitureOneRecord record = 2;
}
diff --git a/proto/HomeSeekFurnitureOneRecord.proto b/proto/HomeSeekFurnitureOneRecord.proto
index f8c6a2d2..30c53c21 100644
--- a/proto/HomeSeekFurnitureOneRecord.proto
+++ b/proto/HomeSeekFurnitureOneRecord.proto
@@ -22,6 +22,6 @@ import "HomeSeekFurniturePlayerScore.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeSeekFurnitureOneRecord {
- repeated HomeSeekFurniturePlayerScore engaged_player_score_list = 8;
- uint32 timestamp = 3;
+ uint32 timestamp = 12;
+ repeated HomeSeekFurniturePlayerScore engaged_player_score_list = 5;
}
diff --git a/proto/HomeSeekFurniturePlayerScore.proto b/proto/HomeSeekFurniturePlayerScore.proto
index bdc73e99..7c5b9f8f 100644
--- a/proto/HomeSeekFurniturePlayerScore.proto
+++ b/proto/HomeSeekFurniturePlayerScore.proto
@@ -22,6 +22,6 @@ import "HomeGroupPlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message HomeSeekFurniturePlayerScore {
- uint32 score = 12;
- HomeGroupPlayerInfo player_info = 10;
+ uint32 score = 8;
+ HomeGroupPlayerInfo player_info = 6;
}
diff --git a/proto/HomeSetBlueprintFriendOptionReq.proto b/proto/HomeSetBlueprintFriendOptionReq.proto
new file mode 100644
index 00000000..3a9306e3
--- /dev/null
+++ b/proto/HomeSetBlueprintFriendOptionReq.proto
@@ -0,0 +1,33 @@
+// 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 HomeSetBlueprintFriendOptionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4472;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_allow_friend_copy = 8;
+}
diff --git a/proto/HomeSetBlueprintFriendOptionRsp.proto b/proto/HomeSetBlueprintFriendOptionRsp.proto
new file mode 100644
index 00000000..01d9c676
--- /dev/null
+++ b/proto/HomeSetBlueprintFriendOptionRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeSetBlueprintFriendOptionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4615;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_allow_friend_copy = 14;
+ int32 retcode = 13;
+}
diff --git a/proto/HomeSetBlueprintSlotOptionReq.proto b/proto/HomeSetBlueprintSlotOptionReq.proto
new file mode 100644
index 00000000..5319e332
--- /dev/null
+++ b/proto/HomeSetBlueprintSlotOptionReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeSetBlueprintSlotOptionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4491;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slot_id = 3;
+ bool is_allow_copy = 8;
+}
diff --git a/proto/HomeSetBlueprintSlotOptionRsp.proto b/proto/HomeSetBlueprintSlotOptionRsp.proto
new file mode 100644
index 00000000..ab90306a
--- /dev/null
+++ b/proto/HomeSetBlueprintSlotOptionRsp.proto
@@ -0,0 +1,34 @@
+// 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 HomeSetBlueprintSlotOptionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4621;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ bool is_allow_copy = 15;
+ uint32 slot_id = 10;
+}
diff --git a/proto/HomeStakePlayRecord.proto b/proto/HomeStakePlayRecord.proto
new file mode 100644
index 00000000..a8554097
--- /dev/null
+++ b/proto/HomeStakePlayRecord.proto
@@ -0,0 +1,27 @@
+// 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 "HomeGroupPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeStakePlayRecord {
+ repeated HomeGroupPlayerInfo engaged_player_info_list = 7;
+ uint32 timestamp = 3;
+}
diff --git a/proto/HomeStakeRecord.proto b/proto/HomeStakeRecord.proto
new file mode 100644
index 00000000..5d5edc4b
--- /dev/null
+++ b/proto/HomeStakeRecord.proto
@@ -0,0 +1,26 @@
+// 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 "HomeStakePlayRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeStakeRecord {
+ repeated HomeStakePlayRecord record_list = 9;
+}
diff --git a/proto/HomeTransferData.proto b/proto/HomeTransferData.proto
new file mode 100644
index 00000000..d8b5724d
--- /dev/null
+++ b/proto/HomeTransferData.proto
@@ -0,0 +1,27 @@
+// 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 HomeTransferData {
+ Vector spawn_pos = 1;
+ uint32 guid = 5;
+}
diff --git a/proto/HomeTransferReq.proto b/proto/HomeTransferReq.proto
new file mode 100644
index 00000000..b8fb17e5
--- /dev/null
+++ b/proto/HomeTransferReq.proto
@@ -0,0 +1,34 @@
+// 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 HomeTransferReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4613;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_transfer_to_safe_point = 4;
+ uint32 guid = 13;
+}
diff --git a/proto/HomeTransferRsp.proto b/proto/HomeTransferRsp.proto
new file mode 100644
index 00000000..2b6a567a
--- /dev/null
+++ b/proto/HomeTransferRsp.proto
@@ -0,0 +1,33 @@
+// 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 HomeTransferRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4711;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/HomeUpdateArrangementInfoReq.proto b/proto/HomeUpdateArrangementInfoReq.proto
index 96d5b0e8..75a99cb4 100644
--- a/proto/HomeUpdateArrangementInfoReq.proto
+++ b/proto/HomeUpdateArrangementInfoReq.proto
@@ -21,10 +21,15 @@ import "HomeSceneArrangementInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4510
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message HomeUpdateArrangementInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4533;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
HomeSceneArrangementInfo scene_arrangement_info = 6;
}
diff --git a/proto/HomeUpdateArrangementInfoRsp.proto b/proto/HomeUpdateArrangementInfoRsp.proto
index 0adf2746..6c3deac5 100644
--- a/proto/HomeUpdateArrangementInfoRsp.proto
+++ b/proto/HomeUpdateArrangementInfoRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4757
-// EnetChannelId: 0
-// EnetIsReliable: true
message HomeUpdateArrangementInfoRsp {
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4776;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
}
diff --git a/proto/HomeUpdateFishFarmingInfoReq.proto b/proto/HomeUpdateFishFarmingInfoReq.proto
new file mode 100644
index 00000000..078e8d73
--- /dev/null
+++ b/proto/HomeUpdateFishFarmingInfoReq.proto
@@ -0,0 +1,35 @@
+// 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 "HomeFishFarmingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeUpdateFishFarmingInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4767;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeFishFarmingInfo fish_farming_info = 3;
+}
diff --git a/proto/HomeUpdateFishFarmingInfoRsp.proto b/proto/HomeUpdateFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..700bc964
--- /dev/null
+++ b/proto/HomeUpdateFishFarmingInfoRsp.proto
@@ -0,0 +1,32 @@
+// 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 HomeUpdateFishFarmingInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4582;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/HomeUpdatePictureFrameInfoReq.proto b/proto/HomeUpdatePictureFrameInfoReq.proto
new file mode 100644
index 00000000..625bac45
--- /dev/null
+++ b/proto/HomeUpdatePictureFrameInfoReq.proto
@@ -0,0 +1,35 @@
+// 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 "HomePictureFrameInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeUpdatePictureFrameInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4764;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomePictureFrameInfo picture_frame_info = 13;
+}
diff --git a/proto/HomeUpdatePictureFrameInfoRsp.proto b/proto/HomeUpdatePictureFrameInfoRsp.proto
new file mode 100644
index 00000000..a979d548
--- /dev/null
+++ b/proto/HomeUpdatePictureFrameInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HomePictureFrameInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeUpdatePictureFrameInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4468;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HomePictureFrameInfo picture_frame_info = 6;
+ int32 retcode = 9;
+}
diff --git a/proto/HomeUpdateScenePointFishFarmingInfoReq.proto b/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
new file mode 100644
index 00000000..bd2f5f80
--- /dev/null
+++ b/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
@@ -0,0 +1,35 @@
+// 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 "HomeScenePointFishFarmingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeUpdateScenePointFishFarmingInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4652;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HomeScenePointFishFarmingInfo fish_farming_info = 2;
+}
diff --git a/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto b/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..0feec9ca
--- /dev/null
+++ b/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
@@ -0,0 +1,32 @@
+// 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 HomeUpdateScenePointFishFarmingInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4606;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+}
diff --git a/proto/HomeVerifyBlockData.proto b/proto/HomeVerifyBlockData.proto
new file mode 100644
index 00000000..6836e4d1
--- /dev/null
+++ b/proto/HomeVerifyBlockData.proto
@@ -0,0 +1,25 @@
+// 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 HomeVerifyBlockData {
+ uint32 block_id = 11;
+ uint32 furniture_count = 13;
+}
diff --git a/proto/HomeVerifyData.proto b/proto/HomeVerifyData.proto
new file mode 100644
index 00000000..027bdd41
--- /dev/null
+++ b/proto/HomeVerifyData.proto
@@ -0,0 +1,35 @@
+// 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 "HomeSceneArrangementMuipData.proto";
+import "HomeVerifySceneData.proto";
+import "LanguageType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeVerifyData {
+ HomeVerifySceneData home_info = 4;
+ HomeSceneArrangementMuipData arrangement_data = 9;
+ fixed32 timestamp = 11;
+ string token = 1;
+ string aid = 10;
+ LanguageType lang = 6;
+ uint32 uid = 2;
+ string region = 7;
+}
diff --git a/proto/HomeVerifyFurnitureData.proto b/proto/HomeVerifyFurnitureData.proto
index 03d14c96..468674f4 100644
--- a/proto/HomeVerifyFurnitureData.proto
+++ b/proto/HomeVerifyFurnitureData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeVerifyFurnitureData {
- repeated uint32 type = 7;
- uint32 id = 5;
- uint32 num = 9;
+ repeated uint32 type = 12;
+ uint32 num = 7;
+ uint32 id = 13;
}
diff --git a/proto/HomeVerifySceneData.proto b/proto/HomeVerifySceneData.proto
new file mode 100644
index 00000000..3b07715b
--- /dev/null
+++ b/proto/HomeVerifySceneData.proto
@@ -0,0 +1,30 @@
+// 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 "HomeVerifyBlockData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HomeVerifySceneData {
+ uint32 scene_id = 7;
+ repeated HomeVerifyBlockData blocks = 8;
+ uint32 version = 2;
+ uint32 is_room = 9;
+ uint32 module_id = 12;
+}
diff --git a/proto/HostPlayerNotify.proto b/proto/HostPlayerNotify.proto
index d3a2e9b5..89e2216c 100644
--- a/proto/HostPlayerNotify.proto
+++ b/proto/HostPlayerNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 312
-// EnetChannelId: 0
-// EnetIsReliable: true
message HostPlayerNotify {
- uint32 host_peer_id = 13;
- uint32 host_uid = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 356;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 host_peer_id = 12;
+ uint32 host_uid = 14;
}
diff --git a/proto/HuntingFailNotify.proto b/proto/HuntingFailNotify.proto
new file mode 100644
index 00000000..ca314197
--- /dev/null
+++ b/proto/HuntingFailNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4315;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HuntingPair hunting_pair = 7;
+}
diff --git a/proto/HuntingGiveUpReq.proto b/proto/HuntingGiveUpReq.proto
new file mode 100644
index 00000000..b06b31de
--- /dev/null
+++ b/proto/HuntingGiveUpReq.proto
@@ -0,0 +1,35 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingGiveUpReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4308;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ HuntingPair hunting_pair = 2;
+}
diff --git a/proto/HuntingGiveUpRsp.proto b/proto/HuntingGiveUpRsp.proto
new file mode 100644
index 00000000..153f8535
--- /dev/null
+++ b/proto/HuntingGiveUpRsp.proto
@@ -0,0 +1,35 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingGiveUpRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4345;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ HuntingPair hunting_pair = 12;
+}
diff --git a/proto/HuntingOfferData.proto b/proto/HuntingOfferData.proto
new file mode 100644
index 00000000..04ca3129
--- /dev/null
+++ b/proto/HuntingOfferData.proto
@@ -0,0 +1,29 @@
+// 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 "HuntingOfferState.proto";
+import "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingOfferData {
+ HuntingPair hunting_pair = 15;
+ HuntingOfferState state = 1;
+ uint32 city_id = 3;
+}
diff --git a/proto/HuntingOfferState.proto b/proto/HuntingOfferState.proto
new file mode 100644
index 00000000..ec3abc3b
--- /dev/null
+++ b/proto/HuntingOfferState.proto
@@ -0,0 +1,27 @@
+// 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 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..9a4f7751
--- /dev/null
+++ b/proto/HuntingOngoingNotify.proto
@@ -0,0 +1,40 @@
+// 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 "HuntingPair.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingOngoingNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4318;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HuntingPair hunting_pair = 11;
+ uint32 finish_clue_count = 7;
+ Vector next_position = 2;
+ bool is_final = 5;
+ bool is_started = 13;
+ uint32 fail_time = 4;
+}
diff --git a/proto/HuntingPair.proto b/proto/HuntingPair.proto
new file mode 100644
index 00000000..21974bcd
--- /dev/null
+++ b/proto/HuntingPair.proto
@@ -0,0 +1,25 @@
+// 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 HuntingPair {
+ uint32 monster_config_id = 1;
+ uint32 refresh_id = 3;
+}
diff --git a/proto/HuntingRevealClueNotify.proto b/proto/HuntingRevealClueNotify.proto
new file mode 100644
index 00000000..8a51c6e0
--- /dev/null
+++ b/proto/HuntingRevealClueNotify.proto
@@ -0,0 +1,38 @@
+// 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 "HuntingPair.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingRevealClueNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4317;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HuntingPair hunting_pair = 3;
+ uint32 finished_group_id = 6;
+ uint32 finish_clue_count = 14;
+ Vector clue_position = 2;
+}
diff --git a/proto/HuntingRevealFinalNotify.proto b/proto/HuntingRevealFinalNotify.proto
new file mode 100644
index 00000000..a249a2cd
--- /dev/null
+++ b/proto/HuntingRevealFinalNotify.proto
@@ -0,0 +1,37 @@
+// 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 "HuntingPair.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingRevealFinalNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4312;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector final_position = 3;
+ HuntingPair hunting_pair = 9;
+ uint32 finished_group_id = 14;
+}
diff --git a/proto/HuntingStartNotify.proto b/proto/HuntingStartNotify.proto
new file mode 100644
index 00000000..0bbc9026
--- /dev/null
+++ b/proto/HuntingStartNotify.proto
@@ -0,0 +1,38 @@
+// 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 "HuntingPair.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4344;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HuntingPair hunting_pair = 3;
+ uint32 fail_time = 5;
+ Vector clue_position = 6;
+ bool is_final = 8;
+}
diff --git a/proto/HuntingSuccessNotify.proto b/proto/HuntingSuccessNotify.proto
new file mode 100644
index 00000000..e9571b71
--- /dev/null
+++ b/proto/HuntingSuccessNotify.proto
@@ -0,0 +1,34 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message HuntingSuccessNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4334;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ HuntingPair hunting_pair = 7;
+}
diff --git a/proto/InBattleChessInfo.proto b/proto/InBattleChessInfo.proto
new file mode 100644
index 00000000..18e020b8
--- /dev/null
+++ b/proto/InBattleChessInfo.proto
@@ -0,0 +1,36 @@
+// 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 "ChessCardInfo.proto";
+import "ChessMysteryInfo.proto";
+import "ChessPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleChessInfo {
+ uint32 round = 2;
+ ChessMysteryInfo mystery_info = 6;
+ map player_info_map = 15;
+ uint32 max_escapable_monsters = 7;
+ uint32 escaped_monsters = 11;
+ repeated ChessCardInfo selected_card_info_list = 4;
+ uint32 total_round = 13;
+ uint32 left_monsters = 5;
+ repeated uint32 ban_card_tag_list = 1;
+}
diff --git a/proto/InBattleChessSettleInfo.proto b/proto/InBattleChessSettleInfo.proto
new file mode 100644
index 00000000..14f3895b
--- /dev/null
+++ b/proto/InBattleChessSettleInfo.proto
@@ -0,0 +1,32 @@
+// 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 "ExhibitionDisplayInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleChessSettleInfo {
+ uint32 Unk3300_LPANFEBFJOJ = 5;
+ uint64 scene_time_ms = 8;
+ uint32 Unk3300_NKHDFHAPNCN = 13;
+ bool is_success = 6;
+ uint32 Unk3300_EMNLLDJHMEI = 1;
+ repeated ExhibitionDisplayInfo score_list = 4;
+ uint32 Unk3300_IPGILJCBABK = 2;
+}
diff --git a/proto/InBattleFleurFairInfo.proto b/proto/InBattleFleurFairInfo.proto
new file mode 100644
index 00000000..3a521d99
--- /dev/null
+++ b/proto/InBattleFleurFairInfo.proto
@@ -0,0 +1,28 @@
+// 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 InBattleFleurFairInfo {
+ uint32 gallery_stage_index = 7;
+ uint32 preview_display_duration = 11;
+ repeated uint32 Unk3300_NNPMBFGJELL = 15;
+ uint32 preview_stage_index = 9;
+ repeated uint32 Unk3300_IJBKKLGOMIE = 14;
+}
diff --git a/proto/InBattleIrodoriChessInfo.proto b/proto/InBattleIrodoriChessInfo.proto
new file mode 100644
index 00000000..5bcc850c
--- /dev/null
+++ b/proto/InBattleIrodoriChessInfo.proto
@@ -0,0 +1,30 @@
+// 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 "IrodoriChessMysteryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleIrodoriChessInfo {
+ uint32 settle_score = 1;
+ IrodoriChessMysteryInfo mystery_info = 2;
+ uint32 left_monsters = 15;
+ repeated uint32 selected_card_id_list = 10;
+ uint32 building_points = 8;
+}
diff --git a/proto/InBattleIrodoriChessSettleInfo.proto b/proto/InBattleIrodoriChessSettleInfo.proto
new file mode 100644
index 00000000..03743b68
--- /dev/null
+++ b/proto/InBattleIrodoriChessSettleInfo.proto
@@ -0,0 +1,29 @@
+// 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 InBattleIrodoriChessSettleInfo {
+ uint32 kill_monster_num = 15;
+ uint64 scene_time_ms = 14;
+ bool is_perfect = 8;
+ bool is_new_record = 7;
+ uint32 settle_score = 10;
+ bool is_activity_end = 5;
+}
diff --git a/proto/InBattleMechanicusBuildingInfo.proto b/proto/InBattleMechanicusBuildingInfo.proto
new file mode 100644
index 00000000..2f89103d
--- /dev/null
+++ b/proto/InBattleMechanicusBuildingInfo.proto
@@ -0,0 +1,27 @@
+// 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 InBattleMechanicusBuildingInfo {
+ uint32 refund_points = 8;
+ uint32 cost_points = 15;
+ uint32 level = 13;
+ uint32 building_id = 3;
+}
diff --git a/proto/InBattleMechanicusBuildingPointsNotify.proto b/proto/InBattleMechanicusBuildingPointsNotify.proto
new file mode 100644
index 00000000..23ad90e5
--- /dev/null
+++ b/proto/InBattleMechanicusBuildingPointsNotify.proto
@@ -0,0 +1,32 @@
+// 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 InBattleMechanicusBuildingPointsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5361;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map player_building_points_map = 12;
+}
diff --git a/proto/InBattleMechanicusCardChallengeState.proto b/proto/InBattleMechanicusCardChallengeState.proto
new file mode 100644
index 00000000..7ae494d6
--- /dev/null
+++ b/proto/InBattleMechanicusCardChallengeState.proto
@@ -0,0 +1,27 @@
+// 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 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..7840617c
--- /dev/null
+++ b/proto/InBattleMechanicusCardInfo.proto
@@ -0,0 +1,31 @@
+// 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 "InBattleMechanicusCardChallengeState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusCardInfo {
+ uint32 Unk3300_KCIEINMEPDH = 2;
+ uint32 Unk3300_NDAOOKKGJPH = 7;
+ uint32 cost_points = 5;
+ uint32 card_id = 3;
+ uint32 Unk3300_FNAHKHODBKN = 13;
+ InBattleMechanicusCardChallengeState challenge_state = 15;
+}
diff --git a/proto/InBattleMechanicusCardResultNotify.proto b/proto/InBattleMechanicusCardResultNotify.proto
new file mode 100644
index 00000000..c8623d98
--- /dev/null
+++ b/proto/InBattleMechanicusCardResultNotify.proto
@@ -0,0 +1,39 @@
+// 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 "InBattleMechanicusCardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusCardResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5399;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 10;
+ repeated InBattleMechanicusCardInfo card_list = 8;
+ uint32 play_index = 14;
+ map player_confirmed_card_map = 9;
+ uint64 wait_begin_time_us = 2;
+ uint32 wait_seconds = 5;
+}
diff --git a/proto/InBattleMechanicusConfirmCardNotify.proto b/proto/InBattleMechanicusConfirmCardNotify.proto
new file mode 100644
index 00000000..81ea6126
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardNotify.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusConfirmCardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5348;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 11;
+ uint32 player_uid = 12;
+ uint32 card_id = 8;
+ uint32 play_index = 13;
+}
diff --git a/proto/InBattleMechanicusConfirmCardReq.proto b/proto/InBattleMechanicusConfirmCardReq.proto
new file mode 100644
index 00000000..7fc2097c
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardReq.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusConfirmCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5327;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_id = 3;
+ uint32 play_index = 8;
+ uint32 group_id = 5;
+}
diff --git a/proto/InBattleMechanicusConfirmCardRsp.proto b/proto/InBattleMechanicusConfirmCardRsp.proto
new file mode 100644
index 00000000..045da292
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardRsp.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusConfirmCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5339;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 group_id = 5;
+ uint32 card_id = 9;
+ uint32 play_index = 13;
+}
diff --git a/proto/InBattleMechanicusEscapeMonsterNotify.proto b/proto/InBattleMechanicusEscapeMonsterNotify.proto
new file mode 100644
index 00000000..eb8f82b6
--- /dev/null
+++ b/proto/InBattleMechanicusEscapeMonsterNotify.proto
@@ -0,0 +1,32 @@
+// 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 InBattleMechanicusEscapeMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5400;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 escaped_monster_num = 15;
+}
diff --git a/proto/InBattleMechanicusInfo.proto b/proto/InBattleMechanicusInfo.proto
new file mode 100644
index 00000000..e0a1b861
--- /dev/null
+++ b/proto/InBattleMechanicusInfo.proto
@@ -0,0 +1,45 @@
+// 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 "InBattleMechanicusCardInfo.proto";
+import "InBattleMechanicusMonsterInfo.proto";
+import "InBattleMechanicusPlayerInfo.proto";
+import "InBattleMechanicusStageType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusInfo {
+ repeated uint32 Unk3300_MNNDELKIBLG = 656;
+ repeated uint32 Unk3300_GHBEHPGBBIH = 683;
+ InBattleMechanicusStageType stage = 7;
+ uint32 Unk3300_EBOIGFMOKHK = 4;
+ uint32 wait_seconds = 13;
+ uint32 left_monster_num = 15;
+ uint64 Unk3300_IFIPKLOGEOF = 6;
+ repeated InBattleMechanicusPlayerInfo player_list = 12;
+ uint32 total_round = 1;
+ uint64 Unk3300_IAPINOLIALF = 14;
+ repeated InBattleMechanicusMonsterInfo monster_list = 9;
+ uint32 Unk3300_CIJALCAMHCD = 3;
+ uint64 wait_begin_time_us = 2;
+ repeated InBattleMechanicusCardInfo history_card_list = 5;
+ repeated InBattleMechanicusCardInfo pick_card_list = 8;
+ uint32 escaped_monster_num = 10;
+ uint32 round = 11;
+}
diff --git a/proto/InBattleMechanicusLeftMonsterNotify.proto b/proto/InBattleMechanicusLeftMonsterNotify.proto
new file mode 100644
index 00000000..9efbc717
--- /dev/null
+++ b/proto/InBattleMechanicusLeftMonsterNotify.proto
@@ -0,0 +1,32 @@
+// 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 InBattleMechanicusLeftMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5343;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 left_monster_num = 5;
+}
diff --git a/proto/InBattleMechanicusMonsterInfo.proto b/proto/InBattleMechanicusMonsterInfo.proto
new file mode 100644
index 00000000..1701115f
--- /dev/null
+++ b/proto/InBattleMechanicusMonsterInfo.proto
@@ -0,0 +1,26 @@
+// 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 InBattleMechanicusMonsterInfo {
+ uint32 level = 10;
+ uint32 monster_id = 8;
+ uint32 count = 9;
+}
diff --git a/proto/InBattleMechanicusPickCardNotify.proto b/proto/InBattleMechanicusPickCardNotify.proto
new file mode 100644
index 00000000..dab50f6a
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardNotify.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusPickCardNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5357;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 player_uid = 1;
+ uint32 card_id = 11;
+ uint32 group_id = 12;
+ uint32 play_index = 4;
+}
diff --git a/proto/InBattleMechanicusPickCardReq.proto b/proto/InBattleMechanicusPickCardReq.proto
new file mode 100644
index 00000000..a6e0399e
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardReq.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusPickCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5347;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_id = 9;
+ uint32 play_index = 4;
+ uint32 group_id = 1;
+}
diff --git a/proto/InBattleMechanicusPickCardRsp.proto b/proto/InBattleMechanicusPickCardRsp.proto
new file mode 100644
index 00000000..bbe1490f
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardRsp.proto
@@ -0,0 +1,35 @@
+// 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 InBattleMechanicusPickCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5378;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 group_id = 14;
+ uint32 play_index = 10;
+ uint32 card_id = 3;
+}
diff --git a/proto/InBattleMechanicusPlayerInfo.proto b/proto/InBattleMechanicusPlayerInfo.proto
new file mode 100644
index 00000000..66246e34
--- /dev/null
+++ b/proto/InBattleMechanicusPlayerInfo.proto
@@ -0,0 +1,30 @@
+// 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 "InBattleMechanicusBuildingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusPlayerInfo {
+ uint32 uid = 13;
+ bool is_card_confirmed = 12;
+ uint32 building_points = 2;
+ repeated InBattleMechanicusBuildingInfo building_list = 5;
+ uint32 pick_card_id = 15;
+}
diff --git a/proto/InBattleMechanicusSettleInfo.proto b/proto/InBattleMechanicusSettleInfo.proto
new file mode 100644
index 00000000..e74c72b5
--- /dev/null
+++ b/proto/InBattleMechanicusSettleInfo.proto
@@ -0,0 +1,33 @@
+// 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 "MultistageSettleWatcherInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusSettleInfo {
+ uint64 scene_time_ms = 12;
+ bool is_success = 13;
+ uint32 group_id = 10;
+ uint32 Unk3300_EKAIAPLNIPM = 9;
+ uint32 Unk3300_HAEOPAOBBFE = 4;
+ uint32 Unk3300_NAMBBHMJJLN = 11;
+ uint32 play_index = 8;
+ repeated MultistageSettleWatcherInfo watcher_list = 15;
+}
diff --git a/proto/InBattleMechanicusSettleNotify.proto b/proto/InBattleMechanicusSettleNotify.proto
new file mode 100644
index 00000000..9bc97381
--- /dev/null
+++ b/proto/InBattleMechanicusSettleNotify.proto
@@ -0,0 +1,41 @@
+// 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 "MultistageSettleWatcherInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InBattleMechanicusSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5342;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 scene_time_ms = 15;
+ uint32 group_id = 5;
+ repeated MultistageSettleWatcherInfo watcher_list = 2;
+ uint32 Unk3300_NAMBBHMJJLN = 13;
+ uint32 Unk3300_HAEOPAOBBFE = 3;
+ uint32 Unk3300_EKAIAPLNIPM = 10;
+ uint32 play_index = 6;
+ bool is_success = 1;
+}
diff --git a/proto/InBattleMechanicusStageType.proto b/proto/InBattleMechanicusStageType.proto
new file mode 100644
index 00000000..c5854e6f
--- /dev/null
+++ b/proto/InBattleMechanicusStageType.proto
@@ -0,0 +1,27 @@
+// 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 InBattleMechanicusStageType {
+ 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/InferencePageInfo.proto b/proto/InferencePageInfo.proto
index d906add7..66bb8f7a 100644
--- a/proto/InferencePageInfo.proto
+++ b/proto/InferencePageInfo.proto
@@ -17,11 +17,11 @@
syntax = "proto3";
-import "InfernceWordInfo.proto";
+import "InferenceWordInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message InferencePageInfo {
- uint32 page_id = 3;
- repeated InfernceWordInfo unlock_word_list = 15;
+ repeated InferenceWordInfo unlock_word_list = 3;
+ uint32 page_id = 5;
}
diff --git a/proto/InferenceWordInfo.proto b/proto/InferenceWordInfo.proto
new file mode 100644
index 00000000..a15c9674
--- /dev/null
+++ b/proto/InferenceWordInfo.proto
@@ -0,0 +1,28 @@
+// 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 InferenceWordInfo {
+ bool Unk3300_BFOGKOHIEEJ = 12;
+ uint32 unlock_by_word_id = 11;
+ bool Unk3300_PKBCAOHGNLM = 10;
+ uint32 word_id = 2;
+ bool Unk3300_JPHLECOIGKF = 3;
+}
diff --git a/proto/InstableSprayAvatarInfo.proto b/proto/InstableSprayAvatarInfo.proto
index 4b152f93..b7e83701 100644
--- a/proto/InstableSprayAvatarInfo.proto
+++ b/proto/InstableSprayAvatarInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message InstableSprayAvatarInfo {
- bool is_trial = 8;
- uint64 avatar_id = 2;
+ uint64 avatar_id = 10;
+ bool is_trial = 12;
}
diff --git a/proto/InstableSprayDetailInfo.proto b/proto/InstableSprayDetailInfo.proto
index 25047571..59132543 100644
--- a/proto/InstableSprayDetailInfo.proto
+++ b/proto/InstableSprayDetailInfo.proto
@@ -22,5 +22,5 @@ import "InstableSprayStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message InstableSprayDetailInfo {
- repeated InstableSprayStageInfo stage_info_list = 9;
+ repeated InstableSprayStageInfo stage_info_list = 2;
}
diff --git a/proto/InstableSprayDungeonSettleInfo.proto b/proto/InstableSprayDungeonSettleInfo.proto
new file mode 100644
index 00000000..3345d43b
--- /dev/null
+++ b/proto/InstableSprayDungeonSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 InstableSprayDungeonSettleInfo {
+ uint32 stage_id = 12;
+ uint32 difficulty = 15;
+ bool is_new_record = 9;
+ repeated uint32 score_list = 3;
+}
diff --git a/proto/InstableSprayEnterDungeonReq.proto b/proto/InstableSprayEnterDungeonReq.proto
new file mode 100644
index 00000000..32ed51d8
--- /dev/null
+++ b/proto/InstableSprayEnterDungeonReq.proto
@@ -0,0 +1,37 @@
+// 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 "InstableSprayAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InstableSprayEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21889;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 5;
+ repeated InstableSprayAvatarInfo avatar_info_list = 2;
+ uint32 difficulty = 1;
+}
diff --git a/proto/InstableSprayEnterDungeonRsp.proto b/proto/InstableSprayEnterDungeonRsp.proto
new file mode 100644
index 00000000..09e4404d
--- /dev/null
+++ b/proto/InstableSprayEnterDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 InstableSprayEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24458;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 4;
+ int32 retcode = 8;
+}
diff --git a/proto/InstableSprayGalleryInfoNotify.proto b/proto/InstableSprayGalleryInfoNotify.proto
new file mode 100644
index 00000000..61b9ae25
--- /dev/null
+++ b/proto/InstableSprayGalleryInfoNotify.proto
@@ -0,0 +1,32 @@
+// 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 InstableSprayGalleryInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5594;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 score = 14;
+}
diff --git a/proto/InstableSprayLevelFinishNotify.proto b/proto/InstableSprayLevelFinishNotify.proto
new file mode 100644
index 00000000..26f671f0
--- /dev/null
+++ b/proto/InstableSprayLevelFinishNotify.proto
@@ -0,0 +1,36 @@
+// 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 InstableSprayLevelFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21512;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 round = 2;
+ uint32 level_id = 15;
+ bool Unk3300_AMEBAPIPLGL = 3;
+ bool Unk3300_DHKHBKLBIPA = 12;
+ uint32 stage_id = 10;
+}
diff --git a/proto/InstableSprayRestartDungeonReq.proto b/proto/InstableSprayRestartDungeonReq.proto
new file mode 100644
index 00000000..dce3e2b6
--- /dev/null
+++ b/proto/InstableSprayRestartDungeonReq.proto
@@ -0,0 +1,35 @@
+// 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 "InstableSprayAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InstableSprayRestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22725;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated InstableSprayAvatarInfo avatar_info_list = 15;
+}
diff --git a/proto/InstableSprayRestartDungeonRsp.proto b/proto/InstableSprayRestartDungeonRsp.proto
new file mode 100644
index 00000000..3c58758c
--- /dev/null
+++ b/proto/InstableSprayRestartDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 InstableSprayRestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23617;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint32 level_id = 4;
+}
diff --git a/proto/InstableSprayStageInfo.proto b/proto/InstableSprayStageInfo.proto
index 71fd2b13..2d0ebe80 100644
--- a/proto/InstableSprayStageInfo.proto
+++ b/proto/InstableSprayStageInfo.proto
@@ -22,8 +22,8 @@ import "InstableSprayTeamInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message InstableSprayStageInfo {
- bool is_finished = 10;
- uint32 max_score = 3;
- uint32 stage_id = 4;
- repeated InstableSprayTeamInfo team_info_list = 6;
+ bool is_finished = 12;
+ uint32 stage_id = 2;
+ repeated InstableSprayTeamInfo team_info_list = 9;
+ uint32 max_score = 7;
}
diff --git a/proto/InstableSpraySwitchTeamReq.proto b/proto/InstableSpraySwitchTeamReq.proto
new file mode 100644
index 00000000..e866b70c
--- /dev/null
+++ b/proto/InstableSpraySwitchTeamReq.proto
@@ -0,0 +1,35 @@
+// 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 "InstableSprayAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message InstableSpraySwitchTeamReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22524;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated InstableSprayAvatarInfo avatar_info_list = 13;
+}
diff --git a/proto/InstableSpraySwitchTeamRsp.proto b/proto/InstableSpraySwitchTeamRsp.proto
new file mode 100644
index 00000000..16e6f252
--- /dev/null
+++ b/proto/InstableSpraySwitchTeamRsp.proto
@@ -0,0 +1,33 @@
+// 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 InstableSpraySwitchTeamRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21806;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 level_id = 11;
+}
diff --git a/proto/InstableSprayTeamInfo.proto b/proto/InstableSprayTeamInfo.proto
index 210cb686..51f9ae02 100644
--- a/proto/InstableSprayTeamInfo.proto
+++ b/proto/InstableSprayTeamInfo.proto
@@ -22,5 +22,5 @@ import "InstableSprayAvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message InstableSprayTeamInfo {
- repeated InstableSprayAvatarInfo avatar_info_list = 13;
+ repeated InstableSprayAvatarInfo avatar_info_list = 5;
}
diff --git a/proto/InteractDailyDungeonInfoNotify.proto b/proto/InteractDailyDungeonInfoNotify.proto
new file mode 100644
index 00000000..c2663780
--- /dev/null
+++ b/proto/InteractDailyDungeonInfoNotify.proto
@@ -0,0 +1,31 @@
+// 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 InteractDailyDungeonInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 954;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/InteractType.proto b/proto/InteractType.proto
index 15e6ed0e..da420f1d 100644
--- a/proto/InteractType.proto
+++ b/proto/InteractType.proto
@@ -25,7 +25,7 @@ enum InteractType {
INTERACT_TYPE_GATHER = 2;
INTERACT_TYPE_OPEN_CHEST = 3;
INTERACT_TYPE_OPEN_STATUE = 4;
- INTERACT_TYPE_CONSUM = 5;
+ INTERACT_TYPE_CONSUME = 5;
INTERACT_TYPE_MP_PLAY_REWARD = 6;
INTERACT_TYPE_VIEW = 7;
INTERACT_TYPE_GENERAL_REWARD = 8;
diff --git a/proto/InterpretInferenceWordReq.proto b/proto/InterpretInferenceWordReq.proto
new file mode 100644
index 00000000..c919971c
--- /dev/null
+++ b/proto/InterpretInferenceWordReq.proto
@@ -0,0 +1,34 @@
+// 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 InterpretInferenceWordReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 454;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 page_id = 3;
+ uint32 word_id = 4;
+}
diff --git a/proto/InterpretInferenceWordRsp.proto b/proto/InterpretInferenceWordRsp.proto
new file mode 100644
index 00000000..80d6718b
--- /dev/null
+++ b/proto/InterpretInferenceWordRsp.proto
@@ -0,0 +1,34 @@
+// 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 InterpretInferenceWordRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 498;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 word_id = 2;
+ uint32 page_id = 9;
+}
diff --git a/proto/InterruptGalleryReq.proto b/proto/InterruptGalleryReq.proto
new file mode 100644
index 00000000..5fdd6daa
--- /dev/null
+++ b/proto/InterruptGalleryReq.proto
@@ -0,0 +1,33 @@
+// 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 InterruptGalleryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5548;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 4;
+}
diff --git a/proto/InterruptGalleryRsp.proto b/proto/InterruptGalleryRsp.proto
new file mode 100644
index 00000000..0877c1ba
--- /dev/null
+++ b/proto/InterruptGalleryRsp.proto
@@ -0,0 +1,34 @@
+// 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 InterruptGalleryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5599;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 10;
+ uint32 gallery_id = 3;
+}
diff --git a/proto/Investigation.proto b/proto/Investigation.proto
new file mode 100644
index 00000000..a626ce73
--- /dev/null
+++ b/proto/Investigation.proto
@@ -0,0 +1,34 @@
+// 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 Investigation {
+ enum State {
+ STATE_INVALID = 0;
+ STATE_IN_PROGRESS = 1;
+ STATE_COMPLETE = 2;
+ STATE_REWARD_TAKEN = 3;
+ }
+
+ uint32 total_progress = 5;
+ uint32 progress = 14;
+ uint32 id = 10;
+ State state = 6;
+}
diff --git a/proto/InvestigationMonster.proto b/proto/InvestigationMonster.proto
index 4cb069b4..3677b7f8 100644
--- a/proto/InvestigationMonster.proto
+++ b/proto/InvestigationMonster.proto
@@ -23,26 +23,26 @@ import "WeeklyBossResinDiscountInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message InvestigationMonster {
- bool is_alive = 9;
- uint32 refresh_interval = 3;
- uint32 id = 13;
- uint32 level = 5;
- uint32 boss_chest_num = 1;
- WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 12;
- uint32 monster_id = 301;
- Vector pos = 14;
- uint32 resin = 8;
- uint32 max_boss_chest_num = 4;
- uint32 next_refresh_time = 11;
- uint32 group_id = 285;
- uint32 scene_id = 10;
- bool is_area_locked = 15;
- LockState lock_state = 2;
- uint32 next_boss_chest_refresh_time = 7;
- uint32 city_id = 6;
-
enum LockState {
LOCK_STATE_NONE = 0;
LOCK_STATE_QUEST = 1;
}
+
+ bool is_alive = 13;
+ Vector pos = 7;
+ uint32 scene_id = 12;
+ uint32 next_refresh_time = 8;
+ uint32 city_id = 14;
+ uint32 group_id = 1735;
+ uint32 Unk3300_ONLALCCKIEE = 1;
+ WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 3;
+ uint32 Unk3300_DKKOBDIEKPP = 6;
+ uint32 id = 9;
+ uint32 monster_id = 562;
+ LockState lock_state = 4;
+ uint32 Unk3300_JHLEHEOOGGB = 10;
+ bool is_area_locked = 5;
+ uint32 level = 2;
+ uint32 Unk3300_KNKFCOKMECI = 11;
+ uint32 resin = 15;
}
diff --git a/proto/InvestigationMonsterUpdateNotify.proto b/proto/InvestigationMonsterUpdateNotify.proto
index ec95b2be..0f839697 100644
--- a/proto/InvestigationMonsterUpdateNotify.proto
+++ b/proto/InvestigationMonsterUpdateNotify.proto
@@ -21,9 +21,14 @@ import "InvestigationMonster.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1906
-// EnetChannelId: 0
-// EnetIsReliable: true
message InvestigationMonsterUpdateNotify {
- InvestigationMonster investigation_monster = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1910;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ InvestigationMonster investigation_monster = 6;
}
diff --git a/proto/InvestigationQuestDailyNotify.proto b/proto/InvestigationQuestDailyNotify.proto
index d768b728..75f6db32 100644
--- a/proto/InvestigationQuestDailyNotify.proto
+++ b/proto/InvestigationQuestDailyNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1921
-// EnetChannelId: 0
-// EnetIsReliable: true
-message InvestigationQuestDailyNotify {}
+message InvestigationQuestDailyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1926;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/InvestigationReadQuestDailyNotify.proto b/proto/InvestigationReadQuestDailyNotify.proto
index 1aa61152..0bdc4e88 100644
--- a/proto/InvestigationReadQuestDailyNotify.proto
+++ b/proto/InvestigationReadQuestDailyNotify.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1902
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message InvestigationReadQuestDailyNotify {}
+message InvestigationReadQuestDailyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1908;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/InvestigationTarget.proto b/proto/InvestigationTarget.proto
new file mode 100644
index 00000000..88a0a9d0
--- /dev/null
+++ b/proto/InvestigationTarget.proto
@@ -0,0 +1,35 @@
+// 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 InvestigationTarget {
+ enum State {
+ STATE_INVALID = 0;
+ STATE_IN_PROGRESS = 1;
+ STATE_COMPLETE = 2;
+ STATE_REWARD_TAKEN = 3;
+ }
+
+ uint32 investigation_id = 8;
+ uint32 quest_id = 6;
+ State state = 2;
+ uint32 total_progress = 5;
+ uint32 progress = 15;
+}
diff --git a/proto/IrodoriActivityDetailInfo.proto b/proto/IrodoriActivityDetailInfo.proto
index e0cdaaf0..44ce3e0f 100644
--- a/proto/IrodoriActivityDetailInfo.proto
+++ b/proto/IrodoriActivityDetailInfo.proto
@@ -25,8 +25,8 @@ import "IrodoriPoetryData.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriActivityDetailInfo {
- repeated IrodoriMasterLevelInfo master_level_list = 11;
- IrodoriFlowerData flower_data = 6;
- IrodoriPoetryData poetry_data = 8;
- IrodoriChessData chess_data = 14;
+ IrodoriChessData chess_data = 5;
+ IrodoriFlowerData flower_data = 3;
+ IrodoriPoetryData poetry_data = 6;
+ repeated IrodoriMasterLevelInfo master_level_list = 1;
}
diff --git a/proto/IrodoriChessData.proto b/proto/IrodoriChessData.proto
index 7135d321..9ee92d72 100644
--- a/proto/IrodoriChessData.proto
+++ b/proto/IrodoriChessData.proto
@@ -23,5 +23,5 @@ option java_package = "emu.grasscutter.net.proto";
message IrodoriChessData {
bool is_open = 8;
- repeated IrodoriChessLevelData level_data_list = 1;
+ repeated IrodoriChessLevelData level_data_list = 13;
}
diff --git a/proto/IrodoriChessEntranceDetailInfo.proto b/proto/IrodoriChessEntranceDetailInfo.proto
index cd786f10..abae6ca8 100644
--- a/proto/IrodoriChessEntranceDetailInfo.proto
+++ b/proto/IrodoriChessEntranceDetailInfo.proto
@@ -22,5 +22,5 @@ import "IrodoriChessEntranceInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriChessEntranceDetailInfo {
- repeated IrodoriChessEntranceInfo info_list = 15;
+ repeated IrodoriChessEntranceInfo info_list = 14;
}
diff --git a/proto/IrodoriChessEntranceInfo.proto b/proto/IrodoriChessEntranceInfo.proto
index 5f55e310..3ea63858 100644
--- a/proto/IrodoriChessEntranceInfo.proto
+++ b/proto/IrodoriChessEntranceInfo.proto
@@ -22,6 +22,6 @@ import "IrodoriChessMonsterInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriChessEntranceInfo {
- repeated IrodoriChessMonsterInfo monster_info_list = 6;
- uint32 entrance_point_id = 4;
+ uint32 entrance_point_id = 11;
+ repeated IrodoriChessMonsterInfo monster_info_list = 8;
}
diff --git a/proto/IrodoriChessEquipCardReq.proto b/proto/IrodoriChessEquipCardReq.proto
index 2f707c5c..60ccc17c 100644
--- a/proto/IrodoriChessEquipCardReq.proto
+++ b/proto/IrodoriChessEquipCardReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8561
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message IrodoriChessEquipCardReq {
- bool is_hard_map = 2;
- uint32 level_id = 12;
- uint32 card_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8766;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_hard_map = 8;
+ uint32 level_id = 1;
+ uint32 card_id = 3;
}
diff --git a/proto/IrodoriChessEquipCardRsp.proto b/proto/IrodoriChessEquipCardRsp.proto
index d9821422..82d01474 100644
--- a/proto/IrodoriChessEquipCardRsp.proto
+++ b/proto/IrodoriChessEquipCardRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8308
-// EnetChannelId: 0
-// EnetIsReliable: true
message IrodoriChessEquipCardRsp {
- int32 retcode = 2;
- uint32 card_id = 8;
- uint32 level_id = 5;
- bool is_hard_map = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8884;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 9;
+ uint32 level_id = 2;
+ bool is_hard_map = 8;
+ int32 retcode = 1;
}
diff --git a/proto/IrodoriChessInfo.proto b/proto/IrodoriChessInfo.proto
new file mode 100644
index 00000000..2729444f
--- /dev/null
+++ b/proto/IrodoriChessInfo.proto
@@ -0,0 +1,30 @@
+// 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 "IrodoriChessMysteryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriChessInfo {
+ IrodoriChessMysteryInfo mystery_info = 3;
+ uint32 left_monsters = 12;
+ repeated uint32 selected_card_id_list = 13;
+ uint32 building_points = 7;
+ uint32 settle_score = 4;
+}
diff --git a/proto/IrodoriChessLeftMonsterNotify.proto b/proto/IrodoriChessLeftMonsterNotify.proto
new file mode 100644
index 00000000..6cc99d36
--- /dev/null
+++ b/proto/IrodoriChessLeftMonsterNotify.proto
@@ -0,0 +1,32 @@
+// 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 IrodoriChessLeftMonsterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5331;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 left_monsters = 4;
+}
diff --git a/proto/IrodoriChessLevelData.proto b/proto/IrodoriChessLevelData.proto
index 3f0b563b..7ed0ea3b 100644
--- a/proto/IrodoriChessLevelData.proto
+++ b/proto/IrodoriChessLevelData.proto
@@ -22,8 +22,8 @@ import "IrodoriChessMapData.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriChessLevelData {
+ IrodoriChessMapData Unk3300_GCIGNCGOBML = 6;
+ uint32 level_id = 14;
+ IrodoriChessMapData Unk3300_BGINEMHBNAD = 10;
uint32 open_time = 8;
- uint32 level_id = 15;
- IrodoriChessMapData hard_map_data = 7;
- IrodoriChessMapData normal_map_data = 11;
}
diff --git a/proto/IrodoriChessMapData.proto b/proto/IrodoriChessMapData.proto
index e28895c6..004f0f8e 100644
--- a/proto/IrodoriChessMapData.proto
+++ b/proto/IrodoriChessMapData.proto
@@ -22,8 +22,8 @@ import "IrodoriChessEntranceDetailInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriChessMapData {
- uint32 map_id = 6;
- IrodoriChessEntranceDetailInfo entrance_detail_info = 7;
- repeated uint32 equiped_card_list = 3;
- uint32 best_score = 8;
+ uint32 map_id = 7;
+ uint32 best_score = 4;
+ repeated uint32 equiped_card_list = 15;
+ IrodoriChessEntranceDetailInfo entrance_detail_info = 2;
}
diff --git a/proto/IrodoriChessMonsterInfo.proto b/proto/IrodoriChessMonsterInfo.proto
index 53b90cc0..791142bc 100644
--- a/proto/IrodoriChessMonsterInfo.proto
+++ b/proto/IrodoriChessMonsterInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message IrodoriChessMonsterInfo {
- uint32 grant_points = 6;
- uint32 level = 13;
- uint32 monster_id = 14;
- repeated uint32 affix_list = 11;
+ uint32 grant_points = 7;
+ uint32 monster_id = 13;
+ uint32 level = 11;
+ repeated uint32 affix_list = 10;
}
diff --git a/proto/IrodoriChessMysteryInfo.proto b/proto/IrodoriChessMysteryInfo.proto
new file mode 100644
index 00000000..6d522461
--- /dev/null
+++ b/proto/IrodoriChessMysteryInfo.proto
@@ -0,0 +1,28 @@
+// 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 "IrodoriChessEntranceDetailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriChessMysteryInfo {
+ IrodoriChessEntranceDetailInfo entrance_detail_info = 3;
+ repeated uint32 exit_point_id_list = 14;
+ repeated uint32 entrance_point_id_list = 11;
+}
diff --git a/proto/IrodoriChessPlayerInfo.proto b/proto/IrodoriChessPlayerInfo.proto
new file mode 100644
index 00000000..896750bf
--- /dev/null
+++ b/proto/IrodoriChessPlayerInfo.proto
@@ -0,0 +1,26 @@
+// 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 IrodoriChessPlayerInfo {
+ uint32 settle_score = 11;
+ uint32 uid = 10;
+ uint32 building_points = 8;
+}
diff --git a/proto/IrodoriChessPlayerInfoNotify.proto b/proto/IrodoriChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..8d5f5a72
--- /dev/null
+++ b/proto/IrodoriChessPlayerInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "IrodoriChessPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriChessPlayerInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5312;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ IrodoriChessPlayerInfo player_info = 10;
+}
diff --git a/proto/IrodoriChessSettleInfo.proto b/proto/IrodoriChessSettleInfo.proto
new file mode 100644
index 00000000..3937f2bb
--- /dev/null
+++ b/proto/IrodoriChessSettleInfo.proto
@@ -0,0 +1,29 @@
+// 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 IrodoriChessSettleInfo {
+ bool is_new_record = 5;
+ bool Unk2700_PFEDPLKKLGH = 2;
+ uint64 scene_time_ms = 1;
+ uint32 Unk2700_CDOKENJJJMH = 3;
+ bool is_perfect = 12;
+ uint32 kill_monster_num = 7;
+}
diff --git a/proto/IrodoriChessUnequipCardReq.proto b/proto/IrodoriChessUnequipCardReq.proto
new file mode 100644
index 00000000..36f99f7f
--- /dev/null
+++ b/proto/IrodoriChessUnequipCardReq.proto
@@ -0,0 +1,35 @@
+// 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 IrodoriChessUnequipCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8409;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 1;
+ uint32 card_id = 3;
+ bool is_hard_map = 2;
+}
diff --git a/proto/IrodoriChessUnequipCardRsp.proto b/proto/IrodoriChessUnequipCardRsp.proto
new file mode 100644
index 00000000..c94c06c7
--- /dev/null
+++ b/proto/IrodoriChessUnequipCardRsp.proto
@@ -0,0 +1,35 @@
+// 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 IrodoriChessUnequipCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8537;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 10;
+ int32 retcode = 2;
+ uint32 level_id = 12;
+ bool is_hard_map = 6;
+}
diff --git a/proto/IrodoriEditFlowerCombinationReq.proto b/proto/IrodoriEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..8ac80320
--- /dev/null
+++ b/proto/IrodoriEditFlowerCombinationReq.proto
@@ -0,0 +1,36 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriEditFlowerCombinationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8835;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 1;
+ CustomGadgetTreeInfo combination_info = 12;
+}
diff --git a/proto/IrodoriEditFlowerCombinationRsp.proto b/proto/IrodoriEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..e5571e7c
--- /dev/null
+++ b/proto/IrodoriEditFlowerCombinationRsp.proto
@@ -0,0 +1,34 @@
+// 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 IrodoriEditFlowerCombinationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8454;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ bool Unk3300_IAPLHBKJLBF = 8;
+ bool Unk3300_DBBGPOMDKPK = 9;
+}
diff --git a/proto/IrodoriFillPoetryReq.proto b/proto/IrodoriFillPoetryReq.proto
new file mode 100644
index 00000000..d5f4585c
--- /dev/null
+++ b/proto/IrodoriFillPoetryReq.proto
@@ -0,0 +1,34 @@
+// 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 IrodoriFillPoetryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8926;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 line_id = 6;
+ uint32 theme_id = 5;
+}
diff --git a/proto/IrodoriFillPoetryRsp.proto b/proto/IrodoriFillPoetryRsp.proto
new file mode 100644
index 00000000..2d4c52b6
--- /dev/null
+++ b/proto/IrodoriFillPoetryRsp.proto
@@ -0,0 +1,35 @@
+// 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 "IrodoriPoetryThemeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriFillPoetryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8076;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ IrodoriPoetryThemeData theme_data = 8;
+ int32 retcode = 2;
+}
diff --git a/proto/IrodoriFlowerData.proto b/proto/IrodoriFlowerData.proto
index 37812ea0..06a78c1f 100644
--- a/proto/IrodoriFlowerData.proto
+++ b/proto/IrodoriFlowerData.proto
@@ -22,6 +22,6 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriFlowerData {
- repeated uint32 finished_theme_list = 1;
- repeated ItemParam used_flower_list = 7;
+ repeated uint32 finished_theme_list = 10;
+ repeated ItemParam used_flower_list = 8;
}
diff --git a/proto/IrodoriMasterGalleryCgEndNotify.proto b/proto/IrodoriMasterGalleryCgEndNotify.proto
new file mode 100644
index 00000000..5c4f088c
--- /dev/null
+++ b/proto/IrodoriMasterGalleryCgEndNotify.proto
@@ -0,0 +1,34 @@
+// 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 IrodoriMasterGalleryCgEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8050;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 11;
+ uint32 gallery_id = 3;
+}
diff --git a/proto/IrodoriMasterGallerySettleInfo.proto b/proto/IrodoriMasterGallerySettleInfo.proto
new file mode 100644
index 00000000..8a630627
--- /dev/null
+++ b/proto/IrodoriMasterGallerySettleInfo.proto
@@ -0,0 +1,30 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriMasterGallerySettleInfo {
+ GalleryStopReason reason = 10;
+ uint32 difficult = 2;
+ uint32 finish_time = 4;
+ uint32 level_id = 1;
+ bool is_finish = 3;
+}
diff --git a/proto/IrodoriMasterGallerySettleNotify.proto b/proto/IrodoriMasterGallerySettleNotify.proto
new file mode 100644
index 00000000..22fe72fa
--- /dev/null
+++ b/proto/IrodoriMasterGallerySettleNotify.proto
@@ -0,0 +1,36 @@
+// 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 "IrodoriMasterGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriMasterGallerySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8792;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ IrodoriMasterGallerySettleInfo settle_info = 9;
+ uint32 gallery_id = 11;
+}
diff --git a/proto/IrodoriMasterLevelDetailInfo.proto b/proto/IrodoriMasterLevelDetailInfo.proto
index aea59188..0c48fb29 100644
--- a/proto/IrodoriMasterLevelDetailInfo.proto
+++ b/proto/IrodoriMasterLevelDetailInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message IrodoriMasterLevelDetailInfo {
- bool is_finish = 1;
- uint32 diffculty = 2;
- uint32 min_finish_time = 8;
- bool is_have_try = 7;
+ bool is_finish = 10;
+ uint32 difficulty = 11;
+ bool is_have_try = 15;
+ uint32 min_finish_time = 12;
}
diff --git a/proto/IrodoriMasterLevelInfo.proto b/proto/IrodoriMasterLevelInfo.proto
index ff779a08..8c7b4d16 100644
--- a/proto/IrodoriMasterLevelInfo.proto
+++ b/proto/IrodoriMasterLevelInfo.proto
@@ -22,6 +22,6 @@ import "IrodoriMasterLevelDetailInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriMasterLevelInfo {
- repeated IrodoriMasterLevelDetailInfo detail_info = 11;
- uint32 level_id = 14;
+ repeated IrodoriMasterLevelDetailInfo detail_info = 1;
+ uint32 level_id = 7;
}
diff --git a/proto/IrodoriMasterStartGalleryReq.proto b/proto/IrodoriMasterStartGalleryReq.proto
new file mode 100644
index 00000000..adc69c4b
--- /dev/null
+++ b/proto/IrodoriMasterStartGalleryReq.proto
@@ -0,0 +1,34 @@
+// 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 IrodoriMasterStartGalleryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8243;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficulty = 15;
+ uint32 level_id = 7;
+}
diff --git a/proto/IrodoriMasterStartGalleryRsp.proto b/proto/IrodoriMasterStartGalleryRsp.proto
new file mode 100644
index 00000000..dc317f2f
--- /dev/null
+++ b/proto/IrodoriMasterStartGalleryRsp.proto
@@ -0,0 +1,32 @@
+// 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 IrodoriMasterStartGalleryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8495;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/IrodoriPoetryData.proto b/proto/IrodoriPoetryData.proto
index 4392bd84..a33e0922 100644
--- a/proto/IrodoriPoetryData.proto
+++ b/proto/IrodoriPoetryData.proto
@@ -22,6 +22,6 @@ import "IrodoriPoetryThemeData.proto";
option java_package = "emu.grasscutter.net.proto";
message IrodoriPoetryData {
- repeated IrodoriPoetryThemeData theme_data_list = 3;
- uint32 cur_theme_id = 14;
+ repeated IrodoriPoetryThemeData theme_data_list = 2;
+ uint32 cur_theme_id = 12;
}
diff --git a/proto/IrodoriPoetryThemeData.proto b/proto/IrodoriPoetryThemeData.proto
index 57846096..3601d8d8 100644
--- a/proto/IrodoriPoetryThemeData.proto
+++ b/proto/IrodoriPoetryThemeData.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message IrodoriPoetryThemeData {
- repeated uint32 scanned_index_list = 1;
- repeated uint32 line_id_list = 4;
- uint32 max_progress = 2;
- uint32 theme_id = 13;
- uint32 progress = 5;
- uint32 min_progress = 12;
- uint32 selected_line_id = 9;
+ uint32 Unk3300_HFMKPNOBPDK = 14;
+ repeated uint32 Unk3300_CNNMEHOGGLL = 10;
+ uint32 progress = 11;
+ uint32 theme_id = 12;
+ uint32 max_progress = 7;
+ repeated uint32 Unk3300_HODJKKDBJDJ = 15;
+ uint32 Unk3300_NJHMNLIAGIK = 6;
}
diff --git a/proto/IrodoriScanEntityReq.proto b/proto/IrodoriScanEntityReq.proto
new file mode 100644
index 00000000..4d428877
--- /dev/null
+++ b/proto/IrodoriScanEntityReq.proto
@@ -0,0 +1,33 @@
+// 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 IrodoriScanEntityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8931;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 2;
+}
diff --git a/proto/IrodoriScanEntityRsp.proto b/proto/IrodoriScanEntityRsp.proto
new file mode 100644
index 00000000..09a220f3
--- /dev/null
+++ b/proto/IrodoriScanEntityRsp.proto
@@ -0,0 +1,36 @@
+// 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 "IrodoriPoetryThemeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IrodoriScanEntityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8840;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ IrodoriPoetryThemeData theme_data = 1;
+ int32 retcode = 12;
+ bool is_get_inspiration = 13;
+}
diff --git a/proto/IslandPartyActivityDetailInfo.proto b/proto/IslandPartyActivityDetailInfo.proto
new file mode 100644
index 00000000..9d28157e
--- /dev/null
+++ b/proto/IslandPartyActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2800_MBKLJLMLIKF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IslandPartyActivityDetailInfo {
+ repeated Unk2800_MBKLJLMLIKF Unk2800_PDBHCBCLFBM = 15;
+}
diff --git a/proto/IslandPartyDetailInfo.proto b/proto/IslandPartyDetailInfo.proto
index ea601113..2e9b28d3 100644
--- a/proto/IslandPartyDetailInfo.proto
+++ b/proto/IslandPartyDetailInfo.proto
@@ -22,5 +22,5 @@ import "IslandPartyStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message IslandPartyDetailInfo {
- repeated IslandPartyStageData stage_data_list = 15;
+ repeated IslandPartyStageData stage_data_list = 9;
}
diff --git a/proto/IslandPartyGallerySettleInfo.proto b/proto/IslandPartyGallerySettleInfo.proto
new file mode 100644
index 00000000..d17474d4
--- /dev/null
+++ b/proto/IslandPartyGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IslandPartyGallerySettleInfo {
+ repeated ExhibitionDisplayInfo card_list = 1;
+ OnlinePlayerInfo player_info = 7;
+}
diff --git a/proto/IslandPartyRaftInfoNotify.proto b/proto/IslandPartyRaftInfoNotify.proto
new file mode 100644
index 00000000..a196582f
--- /dev/null
+++ b/proto/IslandPartyRaftInfoNotify.proto
@@ -0,0 +1,35 @@
+// 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 IslandPartyRaftInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5589;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_HNECEGNMKNK = 4;
+ uint32 Unk3300_FBACMOFGPGJ = 1;
+ uint32 point_id = 8;
+ uint32 coin = 14;
+}
diff --git a/proto/IslandPartySailInfoNotify.proto b/proto/IslandPartySailInfoNotify.proto
new file mode 100644
index 00000000..95e0a869
--- /dev/null
+++ b/proto/IslandPartySailInfoNotify.proto
@@ -0,0 +1,37 @@
+// 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 "IslandPartySailStage.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IslandPartySailInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5544;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ IslandPartySailStage stage = 2;
+ uint32 kill_monster_count = 6;
+ uint32 coin = 14;
+ uint32 progress = 9;
+}
diff --git a/proto/IslandPartySailStage.proto b/proto/IslandPartySailStage.proto
new file mode 100644
index 00000000..875f287f
--- /dev/null
+++ b/proto/IslandPartySailStage.proto
@@ -0,0 +1,26 @@
+// 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 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..1e587c35
--- /dev/null
+++ b/proto/IslandPartySettleNotify.proto
@@ -0,0 +1,40 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "GalleryStopReason.proto";
+import "IslandPartyGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message IslandPartySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 time_remain = 9;
+ bool is_new_record = 3;
+ repeated ExhibitionDisplayInfo score_list = 5;
+ GalleryStopReason reason = 12;
+ repeated IslandPartyGallerySettleInfo settle_info_list = 13;
+}
diff --git a/proto/IslandPartyStageData.proto b/proto/IslandPartyStageData.proto
index 2a1e5953..5488b64b 100644
--- a/proto/IslandPartyStageData.proto
+++ b/proto/IslandPartyStageData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message IslandPartyStageData {
- uint32 stage_id = 13;
- bool is_open = 14;
- uint32 best_score = 4;
+ uint32 best_score = 14;
+ uint32 stage_id = 3;
+ bool is_open = 9;
}
diff --git a/proto/ItemAddHintNotify.proto b/proto/ItemAddHintNotify.proto
index a0e3fd88..20151653 100644
--- a/proto/ItemAddHintNotify.proto
+++ b/proto/ItemAddHintNotify.proto
@@ -22,16 +22,21 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 607
-// EnetChannelId: 0
-// EnetIsReliable: true
message ItemAddHintNotify {
- bool is_position_valid = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 700;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_FLIKEBJINCL = 5;
+ bool Unk3300_NIJLGEHNBNC = 4;
+ repeated ItemHint item_list = 11;
+ repeated ItemHint overflow_transformed_item_list = 1;
+ bool Unk3300_KIOMJNHFMDE = 6;
+ uint32 reason = 14;
+ Vector position = 12;
uint32 quest_id = 3;
- uint32 reason = 6;
- bool is_general_reward_hiden = 15;
- repeated ItemHint item_list = 10;
- bool is_transfered_from_avatar_card = 12;
- Vector position = 9;
- repeated ItemHint overflow_transformed_item_list = 8;
}
diff --git a/proto/ItemCdGroupTimeNotify.proto b/proto/ItemCdGroupTimeNotify.proto
index c3d5cb7d..f579fe9b 100644
--- a/proto/ItemCdGroupTimeNotify.proto
+++ b/proto/ItemCdGroupTimeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 634
-// EnetChannelId: 0
-// EnetIsReliable: true
message ItemCdGroupTimeNotify {
- map item_cd_map = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 680;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map item_cd_map = 7;
}
diff --git a/proto/ItemGivingReq.proto b/proto/ItemGivingReq.proto
index 6e7ad157..da1678d4 100644
--- a/proto/ItemGivingReq.proto
+++ b/proto/ItemGivingReq.proto
@@ -21,18 +21,23 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 140
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ItemGivingReq {
- map item_guid_count_map = 15;
- uint32 giving_id = 13;
- repeated ItemParam item_param_list = 4;
- ItemGivingRsp item_giving_type = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 185;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
- enum ItemGivingRsp {
- ITEM_GIVING_RSP_QUEST = 0;
- ITEM_GIVING_RSP_GADGET = 1;
+ enum ItemGivingType {
+ ITEM_GIVING_TYPE_QUEST = 0;
+ ITEM_GIVING_TYPE_GADGET = 1;
}
+
+ uint32 giving_id = 6;
+ ItemGivingType item_giving_type = 8;
+ repeated ItemParam item_param_list = 12;
+ map item_guid_count_map = 11;
}
diff --git a/proto/ItemGivingRsp.proto b/proto/ItemGivingRsp.proto
index bd7b77a6..bc871ed1 100644
--- a/proto/ItemGivingRsp.proto
+++ b/proto/ItemGivingRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 118
-// EnetChannelId: 0
-// EnetIsReliable: true
message ItemGivingRsp {
- uint32 giving_group_id = 1;
- uint32 giving_id = 13;
- int32 retcode = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 108;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 giving_group_id = 15;
+ int32 retcode = 5;
+ uint32 giving_id = 12;
}
diff --git a/proto/ItemHint.proto b/proto/ItemHint.proto
index d9cac6ac..6b179008 100644
--- a/proto/ItemHint.proto
+++ b/proto/ItemHint.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ItemHint {
- uint32 item_id = 8;
- bool is_new = 2;
+ bool is_new = 9;
+ uint64 guid = 10;
uint32 count = 15;
- uint64 guid = 4;
+ uint32 item_id = 3;
}
diff --git a/proto/ItemRenameAvatarReq.proto b/proto/ItemRenameAvatarReq.proto
new file mode 100644
index 00000000..bf422424
--- /dev/null
+++ b/proto/ItemRenameAvatarReq.proto
@@ -0,0 +1,34 @@
+// 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 ItemRenameAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1688;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 rename_id = 11;
+ string avatar_name = 4;
+}
diff --git a/proto/ItemRenameAvatarRsp.proto b/proto/ItemRenameAvatarRsp.proto
new file mode 100644
index 00000000..5b56694c
--- /dev/null
+++ b/proto/ItemRenameAvatarRsp.proto
@@ -0,0 +1,34 @@
+// 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 ItemRenameAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1700;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ uint32 cd_time = 5;
+ uint32 rename_id = 8;
+}
diff --git a/proto/JigsawPictureData.proto b/proto/JigsawPictureData.proto
index 569ad0af..f11839bf 100644
--- a/proto/JigsawPictureData.proto
+++ b/proto/JigsawPictureData.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message JigsawPictureData {
+ uint32 Unk3300_DFGHKDBENED = 10;
+ uint32 Unk3300_FIKPLGJIBGP = 5;
bool is_finished = 7;
- uint32 shortest_time = 10;
- bool is_open = 5;
- uint32 last_duration = 6;
+ bool is_open = 14;
}
diff --git a/proto/JoinHomeWorldFailNotify.proto b/proto/JoinHomeWorldFailNotify.proto
new file mode 100644
index 00000000..799901fd
--- /dev/null
+++ b/proto/JoinHomeWorldFailNotify.proto
@@ -0,0 +1,33 @@
+// 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 JoinHomeWorldFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4859;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ uint32 target_uid = 2;
+}
diff --git a/proto/JoinPlayerFailNotify.proto b/proto/JoinPlayerFailNotify.proto
new file mode 100644
index 00000000..64ffaa02
--- /dev/null
+++ b/proto/JoinPlayerFailNotify.proto
@@ -0,0 +1,32 @@
+// 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 JoinPlayerFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 258;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+}
diff --git a/proto/JoinPlayerSceneReq.proto b/proto/JoinPlayerSceneReq.proto
new file mode 100644
index 00000000..228ac4ae
--- /dev/null
+++ b/proto/JoinPlayerSceneReq.proto
@@ -0,0 +1,33 @@
+// 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 JoinPlayerSceneReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 297;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 8;
+}
diff --git a/proto/JoinPlayerSceneRsp.proto b/proto/JoinPlayerSceneRsp.proto
new file mode 100644
index 00000000..8efbc388
--- /dev/null
+++ b/proto/JoinPlayerSceneRsp.proto
@@ -0,0 +1,32 @@
+// 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 JoinPlayerSceneRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 202;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/KeepAliveNotify.proto b/proto/KeepAliveNotify.proto
new file mode 100644
index 00000000..8848b3ac
--- /dev/null
+++ b/proto/KeepAliveNotify.proto
@@ -0,0 +1,30 @@
+// 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 KeepAliveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 79;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/LanguageType.proto b/proto/LanguageType.proto
new file mode 100644
index 00000000..c7ff366b
--- /dev/null
+++ b/proto/LanguageType.proto
@@ -0,0 +1,39 @@
+// 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 LanguageType {
+ LANGUAGE_TYPE_NONE = 0;
+ LANGUAGE_TYPE_EN = 1;
+ LANGUAGE_TYPE_SC = 2;
+ LANGUAGE_TYPE_TC = 3;
+ LANGUAGE_TYPE_FR = 4;
+ LANGUAGE_TYPE_DE = 5;
+ LANGUAGE_TYPE_ES = 6;
+ LANGUAGE_TYPE_PT = 7;
+ LANGUAGE_TYPE_RU = 8;
+ LANGUAGE_TYPE_JP = 9;
+ LANGUAGE_TYPE_KR = 10;
+ LANGUAGE_TYPE_TH = 11;
+ LANGUAGE_TYPE_VN = 12;
+ LANGUAGE_TYPE_ID = 13;
+ LANGUAGE_TYPE_TR = 14;
+ LANGUAGE_TYPE_IT = 15;
+}
diff --git a/proto/LanternProjectionInfo.proto b/proto/LanternProjectionInfo.proto
index 92711450..29138c67 100644
--- a/proto/LanternProjectionInfo.proto
+++ b/proto/LanternProjectionInfo.proto
@@ -23,8 +23,8 @@ import "LanternProjectionLevelInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message LanternProjectionInfo {
- repeated ClientInputType view_switch_tips_list = 12;
- repeated LanternProjectionLevelInfo level_list = 6;
- repeated uint32 open_stage_list = 10;
- repeated ClientInputType view_input_tips_list = 13;
+ repeated ClientInputType Unk3300_FAIAIJGCBJG = 5;
+ repeated uint32 open_stage_list = 15;
+ repeated LanternProjectionLevelInfo level_list = 13;
+ repeated ClientInputType Unk3300_EBHHFKLDOFB = 10;
}
diff --git a/proto/LanternProjectionLevelInfo.proto b/proto/LanternProjectionLevelInfo.proto
index 1ccd1c7c..83c23767 100644
--- a/proto/LanternProjectionLevelInfo.proto
+++ b/proto/LanternProjectionLevelInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message LanternProjectionLevelInfo {
- uint32 min_finish_time = 1;
- uint32 id = 2;
bool is_finished = 7;
- bool is_can_start = 9;
- bool is_show_tips = 10;
+ bool is_can_start = 14;
+ uint32 id = 10;
+ bool is_show_tips = 15;
+ uint32 min_finish_time = 5;
}
diff --git a/proto/LanternRiteActivityDetailInfo.proto b/proto/LanternRiteActivityDetailInfo.proto
index 950b0521..3cb21ff0 100644
--- a/proto/LanternRiteActivityDetailInfo.proto
+++ b/proto/LanternRiteActivityDetailInfo.proto
@@ -24,10 +24,10 @@ import "SalvageStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message LanternRiteActivityDetailInfo {
- LanternProjectionInfo projection_info = 13;
repeated SalvageStageInfo stage_info_list = 5;
- LanternRiteFireworksInfo fireworks_info = 8;
- bool is_mini_eldritch_dungeon_open = 2;
+ LanternRiteFireworksInfo fireworks_info = 15;
+ bool Unk3300_PDFJNCDGKGH = 11;
+ LanternProjectionInfo projection_info = 3;
+ bool Unk3300_DKBJLCIMBAL = 8;
bool is_content_closed = 14;
- bool is_taken_skin_reward = 6;
}
diff --git a/proto/LanternRiteDoFireworksReformReq.proto b/proto/LanternRiteDoFireworksReformReq.proto
new file mode 100644
index 00000000..ab524870
--- /dev/null
+++ b/proto/LanternRiteDoFireworksReformReq.proto
@@ -0,0 +1,36 @@
+// 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 LanternRiteDoFireworksReformReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8517;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 15;
+ uint32 challenge_id = 13;
+ uint32 factor_id = 9;
+ uint32 skill_id = 4;
+}
diff --git a/proto/LanternRiteDoFireworksReformRsp.proto b/proto/LanternRiteDoFireworksReformRsp.proto
new file mode 100644
index 00000000..53d7d9ff
--- /dev/null
+++ b/proto/LanternRiteDoFireworksReformRsp.proto
@@ -0,0 +1,42 @@
+// 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 "LanternRiteFireworksReformFactorInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LanternRiteDoFireworksReformRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8171;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated LanternRiteFireworksReformFactorInfo factor_info_list = 6;
+ int32 retcode = 4;
+ uint32 Unk3300_BJHGCFANMBI = 12;
+ uint32 Unk3300_OMHPIGGDCBO = 10;
+ uint32 challenge_id = 9;
+ uint32 Unk3300_LKOFBPDKEGG = 8;
+ bool is_lucky = 1;
+ uint32 Unk3300_LKKBPAJOCML = 14;
+ uint32 stage_id = 15;
+}
diff --git a/proto/LanternRiteEndFireworksReformReq.proto b/proto/LanternRiteEndFireworksReformReq.proto
new file mode 100644
index 00000000..ee800c48
--- /dev/null
+++ b/proto/LanternRiteEndFireworksReformReq.proto
@@ -0,0 +1,34 @@
+// 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 LanternRiteEndFireworksReformReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8936;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 1;
+ uint32 challenge_id = 15;
+}
diff --git a/proto/LanternRiteEndFireworksReformRsp.proto b/proto/LanternRiteEndFireworksReformRsp.proto
new file mode 100644
index 00000000..d682530f
--- /dev/null
+++ b/proto/LanternRiteEndFireworksReformRsp.proto
@@ -0,0 +1,40 @@
+// 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 LanternRiteEndFireworksReformRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8414;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_CGJNBGAKFAD = 11;
+ bool Unk3300_FPEFIADFBNI = 1;
+ int32 retcode = 9;
+ uint32 stage_id = 13;
+ uint32 final_score = 15;
+ bool Unk3300_ALMNEGCIILA = 6;
+ bool is_new_record = 10;
+ uint32 challenge_id = 4;
+ bool is_full_score = 7;
+}
diff --git a/proto/LanternRiteFireworksChallengeInfo.proto b/proto/LanternRiteFireworksChallengeInfo.proto
index 5a63defe..f53aa621 100644
--- a/proto/LanternRiteFireworksChallengeInfo.proto
+++ b/proto/LanternRiteFireworksChallengeInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message LanternRiteFireworksChallengeInfo {
- bool is_full_score = 13;
- uint32 best_score = 7;
- uint32 challenge_id = 3;
+ uint32 best_score = 2;
+ bool is_full_score = 3;
+ uint32 challenge_id = 12;
}
diff --git a/proto/LanternRiteFireworksInfo.proto b/proto/LanternRiteFireworksInfo.proto
index 24082947..078a8373 100644
--- a/proto/LanternRiteFireworksInfo.proto
+++ b/proto/LanternRiteFireworksInfo.proto
@@ -22,5 +22,5 @@ import "LanternRiteFireworksStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message LanternRiteFireworksInfo {
- repeated LanternRiteFireworksStageInfo stage_info_list = 6;
+ repeated LanternRiteFireworksStageInfo stage_info_list = 2;
}
diff --git a/proto/LanternRiteFireworksReformFactorInfo.proto b/proto/LanternRiteFireworksReformFactorInfo.proto
new file mode 100644
index 00000000..a27ff147
--- /dev/null
+++ b/proto/LanternRiteFireworksReformFactorInfo.proto
@@ -0,0 +1,25 @@
+// 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 LanternRiteFireworksReformFactorInfo {
+ uint32 factor_value = 12;
+ uint32 factor_id = 15;
+}
diff --git a/proto/LanternRiteFireworksReformSkillInfo.proto b/proto/LanternRiteFireworksReformSkillInfo.proto
new file mode 100644
index 00000000..e187051d
--- /dev/null
+++ b/proto/LanternRiteFireworksReformSkillInfo.proto
@@ -0,0 +1,27 @@
+// 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 LanternRiteFireworksReformSkillInfo {
+ bool is_unlock = 9;
+ uint32 skill_id = 1;
+ uint32 Unk3300_IEPBAPJHLEI = 15;
+ uint32 Unk3300_EDPPFFFLFGG = 10;
+}
diff --git a/proto/LanternRiteFireworksStageInfo.proto b/proto/LanternRiteFireworksStageInfo.proto
index f2a72dcc..0a0f4d04 100644
--- a/proto/LanternRiteFireworksStageInfo.proto
+++ b/proto/LanternRiteFireworksStageInfo.proto
@@ -22,7 +22,7 @@ import "LanternRiteFireworksChallengeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message LanternRiteFireworksStageInfo {
- bool is_open = 8;
- repeated LanternRiteFireworksChallengeInfo challenge_info_list = 9;
- uint32 stage_id = 15;
+ uint32 stage_id = 14;
+ bool is_open = 9;
+ repeated LanternRiteFireworksChallengeInfo challenge_info_list = 11;
}
diff --git a/proto/LanternRiteStartFireworksReformReq.proto b/proto/LanternRiteStartFireworksReformReq.proto
new file mode 100644
index 00000000..6916b11b
--- /dev/null
+++ b/proto/LanternRiteStartFireworksReformReq.proto
@@ -0,0 +1,34 @@
+// 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 LanternRiteStartFireworksReformReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8200;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_id = 2;
+ uint32 stage_id = 1;
+}
diff --git a/proto/LanternRiteStartFireworksReformRsp.proto b/proto/LanternRiteStartFireworksReformRsp.proto
new file mode 100644
index 00000000..7cb064de
--- /dev/null
+++ b/proto/LanternRiteStartFireworksReformRsp.proto
@@ -0,0 +1,43 @@
+// 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 "LanternRiteFireworksReformFactorInfo.proto";
+import "LanternRiteFireworksReformSkillInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LanternRiteStartFireworksReformRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8652;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 6;
+ uint32 challenge_id = 4;
+ uint32 Unk3300_BJHGCFANMBI = 14;
+ uint32 Unk3300_LKOFBPDKEGG = 12;
+ repeated LanternRiteFireworksReformFactorInfo factor_info_list = 13;
+ int32 retcode = 2;
+ uint32 Unk3300_OMHPIGGDCBO = 11;
+ repeated LanternRiteFireworksReformSkillInfo skill_info_list = 15;
+ uint32 Unk3300_LKKBPAJOCML = 5;
+}
diff --git a/proto/LanternRiteTakeSkinRewardReq.proto b/proto/LanternRiteTakeSkinRewardReq.proto
new file mode 100644
index 00000000..11361f7e
--- /dev/null
+++ b/proto/LanternRiteTakeSkinRewardReq.proto
@@ -0,0 +1,31 @@
+// 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 LanternRiteTakeSkinRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8398;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/LanternRiteTakeSkinRewardRsp.proto b/proto/LanternRiteTakeSkinRewardRsp.proto
new file mode 100644
index 00000000..2b5a0e63
--- /dev/null
+++ b/proto/LanternRiteTakeSkinRewardRsp.proto
@@ -0,0 +1,32 @@
+// 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 LanternRiteTakeSkinRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8104;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+}
diff --git a/proto/LastPacketPrintNotify.proto b/proto/LastPacketPrintNotify.proto
new file mode 100644
index 00000000..7d489479
--- /dev/null
+++ b/proto/LastPacketPrintNotify.proto
@@ -0,0 +1,31 @@
+// 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 LastPacketPrintNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 94;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/LaunchFireworksReq.proto b/proto/LaunchFireworksReq.proto
new file mode 100644
index 00000000..9b4b87cb
--- /dev/null
+++ b/proto/LaunchFireworksReq.proto
@@ -0,0 +1,35 @@
+// 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 "FireworksLaunchSchemeData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LaunchFireworksReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5977;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ FireworksLaunchSchemeData scheme_data = 8;
+}
diff --git a/proto/LaunchFireworksRsp.proto b/proto/LaunchFireworksRsp.proto
new file mode 100644
index 00000000..be85e6da
--- /dev/null
+++ b/proto/LaunchFireworksRsp.proto
@@ -0,0 +1,32 @@
+// 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 LaunchFireworksRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5936;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+}
diff --git a/proto/LeaveSceneReq.proto b/proto/LeaveSceneReq.proto
new file mode 100644
index 00000000..ac7b6524
--- /dev/null
+++ b/proto/LeaveSceneReq.proto
@@ -0,0 +1,31 @@
+// 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 LeaveSceneReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 230;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/LeaveSceneRsp.proto b/proto/LeaveSceneRsp.proto
new file mode 100644
index 00000000..a31d7d0c
--- /dev/null
+++ b/proto/LeaveSceneRsp.proto
@@ -0,0 +1,32 @@
+// 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 LeaveSceneRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 256;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/LeaveWorldNotify.proto b/proto/LeaveWorldNotify.proto
new file mode 100644
index 00000000..04ce6e81
--- /dev/null
+++ b/proto/LeaveWorldNotify.proto
@@ -0,0 +1,30 @@
+// 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 LeaveWorldNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3247;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/LevelTagDataNotify.proto b/proto/LevelTagDataNotify.proto
new file mode 100644
index 00000000..00092cd5
--- /dev/null
+++ b/proto/LevelTagDataNotify.proto
@@ -0,0 +1,33 @@
+// 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 LevelTagDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3468;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 level_tag_id_list = 15;
+}
diff --git a/proto/LevelupCityReq.proto b/proto/LevelupCityReq.proto
new file mode 100644
index 00000000..abf02f55
--- /dev/null
+++ b/proto/LevelupCityReq.proto
@@ -0,0 +1,35 @@
+// 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 LevelupCityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 223;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 9;
+ uint32 item_num = 13;
+ uint32 area_id = 7;
+}
diff --git a/proto/LevelupCityRsp.proto b/proto/LevelupCityRsp.proto
new file mode 100644
index 00000000..a2d0c12b
--- /dev/null
+++ b/proto/LevelupCityRsp.proto
@@ -0,0 +1,37 @@
+// 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 "CityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LevelupCityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 287;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ CityInfo city_info = 14;
+ uint32 scene_id = 11;
+ uint32 area_id = 9;
+}
diff --git a/proto/LifeStateChangeNotify.proto b/proto/LifeStateChangeNotify.proto
index afc9da28..0d6554e0 100644
--- a/proto/LifeStateChangeNotify.proto
+++ b/proto/LifeStateChangeNotify.proto
@@ -22,15 +22,20 @@ import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1298
-// EnetChannelId: 0
-// EnetIsReliable: true
message LifeStateChangeNotify {
- uint32 entity_id = 4;
- repeated ServerBuff server_buff_list = 6;
- string attack_tag = 7;
- uint32 move_reliable_seq = 15;
- PlayerDieType die_type = 14;
- uint32 life_state = 5;
- uint32 source_entity_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1230;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 move_reliable_seq = 7;
+ uint32 entity_id = 8;
+ uint32 life_state = 10;
+ repeated ServerBuff server_buff_list = 15;
+ uint32 source_entity_id = 11;
+ PlayerDieType die_type = 4;
+ string attack_tag = 13;
}
diff --git a/proto/LikeCustomDungeonReq.proto b/proto/LikeCustomDungeonReq.proto
new file mode 100644
index 00000000..c46174d9
--- /dev/null
+++ b/proto/LikeCustomDungeonReq.proto
@@ -0,0 +1,34 @@
+// 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 LikeCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6203;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_cancel_like = 2;
+ uint64 dungeon_guid = 3;
+}
diff --git a/proto/LikeCustomDungeonRsp.proto b/proto/LikeCustomDungeonRsp.proto
new file mode 100644
index 00000000..d9b55c9c
--- /dev/null
+++ b/proto/LikeCustomDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 LikeCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6233;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/LiveEndNotify.proto b/proto/LiveEndNotify.proto
new file mode 100644
index 00000000..b3c7871c
--- /dev/null
+++ b/proto/LiveEndNotify.proto
@@ -0,0 +1,32 @@
+// 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 LiveEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 810;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 live_id = 12;
+}
diff --git a/proto/LiveStartNotify.proto b/proto/LiveStartNotify.proto
new file mode 100644
index 00000000..95f2c40b
--- /dev/null
+++ b/proto/LiveStartNotify.proto
@@ -0,0 +1,32 @@
+// 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 LiveStartNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 872;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 live_id = 7;
+}
diff --git a/proto/LoadActivityTerrainNotify.proto b/proto/LoadActivityTerrainNotify.proto
new file mode 100644
index 00000000..5e0d6e7b
--- /dev/null
+++ b/proto/LoadActivityTerrainNotify.proto
@@ -0,0 +1,33 @@
+// 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 LoadActivityTerrainNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2089;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 5;
+}
diff --git a/proto/LockedPersonallineData.proto b/proto/LockedPersonallineData.proto
index 6ee8479c..5d409b42 100644
--- a/proto/LockedPersonallineData.proto
+++ b/proto/LockedPersonallineData.proto
@@ -20,15 +20,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message LockedPersonallineData {
- LockReason lock_reason = 2;
- uint32 personal_line_id = 13;
- oneof param {
- uint32 chapter_id = 3;
- uint32 level = 1;
- }
-
enum LockReason {
LOCK_REASON_LEVEL = 0;
LOCK_REASON_QUEST = 1;
}
+
+ LockReason lock_reason = 13;
+ uint32 personal_line_id = 3;
+ oneof param {
+ uint32 chapter_id = 4;
+ uint32 level = 15;
+ }
}
diff --git a/proto/LuaEnvironmentEffectNotify.proto b/proto/LuaEnvironmentEffectNotify.proto
new file mode 100644
index 00000000..1ecd458d
--- /dev/null
+++ b/proto/LuaEnvironmentEffectNotify.proto
@@ -0,0 +1,35 @@
+// 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 LuaEnvironmentEffectNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3083;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 type = 8;
+ repeated int32 int_param_list = 10;
+ string effect_alias = 3;
+ repeated float float_param_list = 12;
+}
diff --git a/proto/LuaSetOptionNotify.proto b/proto/LuaSetOptionNotify.proto
new file mode 100644
index 00000000..0edd528a
--- /dev/null
+++ b/proto/LuaSetOptionNotify.proto
@@ -0,0 +1,38 @@
+// 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 LuaSetOptionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 323;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum LuaOptionType {
+ LUA_OPTION_TYPE_NONE = 0;
+ LUA_OPTION_TYPE_PLAYER_INPUT = 1;
+ }
+
+ string lua_set_param = 1;
+ LuaOptionType option_type = 7;
+}
diff --git a/proto/LuaShellType.proto b/proto/LuaShellType.proto
new file mode 100644
index 00000000..907cdfc7
--- /dev/null
+++ b/proto/LuaShellType.proto
@@ -0,0 +1,27 @@
+// 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 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
index a63b98d2..c319fb21 100644
--- a/proto/LuminanceStoneChallengeActivityDetailInfo.proto
+++ b/proto/LuminanceStoneChallengeActivityDetailInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message LuminanceStoneChallengeActivityDetailInfo {
- uint32 best_score = 11;
- bool is_content_closed = 6;
- bool is_final_gallery_complete = 12;
- uint32 current_stage_id = 15;
+ bool is_content_closed = 1;
+ uint32 current_stage_id = 2;
+ bool is_final_gallery_complete = 7;
+ uint32 best_score = 6;
}
diff --git a/proto/LuminanceStoneChallengeGallerySettleInfo.proto b/proto/LuminanceStoneChallengeGallerySettleInfo.proto
new file mode 100644
index 00000000..6c619a3f
--- /dev/null
+++ b/proto/LuminanceStoneChallengeGallerySettleInfo.proto
@@ -0,0 +1,31 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LuminanceStoneChallengeGallerySettleInfo {
+ uint32 final_score = 12;
+ uint32 clean_mud_count = 8;
+ GalleryStopReason reason = 15;
+ uint32 gallery_id = 11;
+ uint32 kill_special_monster_count = 4;
+ uint32 kill_monster_count = 1;
+}
diff --git a/proto/LuminanceStoneChallengeSettleInfo.proto b/proto/LuminanceStoneChallengeSettleInfo.proto
new file mode 100644
index 00000000..10ba56f6
--- /dev/null
+++ b/proto/LuminanceStoneChallengeSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "LuminanceStoneChallengeGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LuminanceStoneChallengeSettleInfo {
+ bool is_new_record = 6;
+ LuminanceStoneChallengeGallerySettleInfo settle_info = 10;
+}
diff --git a/proto/LuminanceStoneChallengeSettleNotify.proto b/proto/LuminanceStoneChallengeSettleNotify.proto
new file mode 100644
index 00000000..42e57639
--- /dev/null
+++ b/proto/LuminanceStoneChallengeSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "LuminanceStoneChallengeSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LuminanceStoneChallengeSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8784;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 3;
+ LuminanceStoneChallengeSettleInfo settle_info = 5;
+}
diff --git a/proto/LunaRiteAreaFinishNotify.proto b/proto/LunaRiteAreaFinishNotify.proto
new file mode 100644
index 00000000..743f813d
--- /dev/null
+++ b/proto/LunaRiteAreaFinishNotify.proto
@@ -0,0 +1,33 @@
+// 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 LunaRiteAreaFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8382;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 area_id = 14;
+}
diff --git a/proto/LunaRiteAreaInfo.proto b/proto/LunaRiteAreaInfo.proto
index 6d851bdc..6e4a6a39 100644
--- a/proto/LunaRiteAreaInfo.proto
+++ b/proto/LunaRiteAreaInfo.proto
@@ -22,9 +22,9 @@ import "LunaRiteHintStatusType.proto";
option java_package = "emu.grasscutter.net.proto";
message LunaRiteAreaInfo {
- repeated uint32 sacrifice_list = 11;
+ repeated uint32 sacrifice_reward_list = 11;
+ uint32 area_id = 15;
+ uint32 challenge_index = 1;
LunaRiteHintStatusType hint_status = 7;
- repeated uint32 sacrifice_reward_list = 4;
- uint32 area_id = 8;
- uint32 challenge_index = 6;
+ repeated uint32 sacrifice_list = 14;
}
diff --git a/proto/LunaRiteDetailInfo.proto b/proto/LunaRiteDetailInfo.proto
index 056e1810..4551ea98 100644
--- a/proto/LunaRiteDetailInfo.proto
+++ b/proto/LunaRiteDetailInfo.proto
@@ -23,6 +23,6 @@ import "LunaRiteHintPoint.proto";
option java_package = "emu.grasscutter.net.proto";
message LunaRiteDetailInfo {
- repeated LunaRiteHintPoint hint_point = 3;
- repeated LunaRiteAreaInfo area_info_list = 13;
+ repeated LunaRiteHintPoint hint_point = 4;
+ repeated LunaRiteAreaInfo area_info_list = 7;
}
diff --git a/proto/LunaRiteGroupBundleRegisterNotify.proto b/proto/LunaRiteGroupBundleRegisterNotify.proto
new file mode 100644
index 00000000..d5005d7c
--- /dev/null
+++ b/proto/LunaRiteGroupBundleRegisterNotify.proto
@@ -0,0 +1,33 @@
+// 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 LunaRiteGroupBundleRegisterNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8455;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_link_bundle_id = 7;
+}
diff --git a/proto/LunaRiteHintPoint.proto b/proto/LunaRiteHintPoint.proto
index 009acc55..6494dd48 100644
--- a/proto/LunaRiteHintPoint.proto
+++ b/proto/LunaRiteHintPoint.proto
@@ -23,8 +23,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message LunaRiteHintPoint {
- uint32 area_id = 11;
- uint32 index = 7;
- LunaRiteHintPointType type = 2;
- Vector pos = 10;
+ uint32 index = 8;
+ Vector pos = 3;
+ uint32 area_id = 2;
+ LunaRiteHintPointType type = 15;
}
diff --git a/proto/LunaRiteHintPointRemoveNotify.proto b/proto/LunaRiteHintPointRemoveNotify.proto
new file mode 100644
index 00000000..7ea86ccb
--- /dev/null
+++ b/proto/LunaRiteHintPointRemoveNotify.proto
@@ -0,0 +1,33 @@
+// 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 LunaRiteHintPointRemoveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8763;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 hint_point_index = 12;
+}
diff --git a/proto/LunaRiteHintPointReq.proto b/proto/LunaRiteHintPointReq.proto
new file mode 100644
index 00000000..285e4ea5
--- /dev/null
+++ b/proto/LunaRiteHintPointReq.proto
@@ -0,0 +1,33 @@
+// 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 LunaRiteHintPointReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8811;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 area_id = 11;
+}
diff --git a/proto/LunaRiteHintPointRsp.proto b/proto/LunaRiteHintPointRsp.proto
new file mode 100644
index 00000000..d9e06f69
--- /dev/null
+++ b/proto/LunaRiteHintPointRsp.proto
@@ -0,0 +1,39 @@
+// 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 "LunaRiteHintPoint.proto";
+import "LunaRiteHintStatusType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message LunaRiteHintPointRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8394;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 area_id = 9;
+ repeated LunaRiteHintPoint hint_point = 11;
+ LunaRiteHintStatusType hint_status = 5;
+ int32 retcode = 6;
+}
diff --git a/proto/LunaRiteSacrificeReq.proto b/proto/LunaRiteSacrificeReq.proto
new file mode 100644
index 00000000..a758c96a
--- /dev/null
+++ b/proto/LunaRiteSacrificeReq.proto
@@ -0,0 +1,34 @@
+// 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 LunaRiteSacrificeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8717;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 index = 2;
+ uint32 area_id = 14;
+}
diff --git a/proto/LunaRiteSacrificeRsp.proto b/proto/LunaRiteSacrificeRsp.proto
new file mode 100644
index 00000000..1964b69c
--- /dev/null
+++ b/proto/LunaRiteSacrificeRsp.proto
@@ -0,0 +1,35 @@
+// 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 LunaRiteSacrificeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8215;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 sacrifice_list = 11;
+ int32 retcode = 12;
+ uint32 index = 3;
+ uint32 area_id = 14;
+}
diff --git a/proto/LunaRiteTakeSacrificeRewardReq.proto b/proto/LunaRiteTakeSacrificeRewardReq.proto
new file mode 100644
index 00000000..82c4175f
--- /dev/null
+++ b/proto/LunaRiteTakeSacrificeRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 LunaRiteTakeSacrificeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8213;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 index = 4;
+ uint32 area_id = 2;
+}
diff --git a/proto/LunaRiteTakeSacrificeRewardRsp.proto b/proto/LunaRiteTakeSacrificeRewardRsp.proto
new file mode 100644
index 00000000..3bb133dc
--- /dev/null
+++ b/proto/LunaRiteTakeSacrificeRewardRsp.proto
@@ -0,0 +1,36 @@
+// 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 LunaRiteTakeSacrificeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8895;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 area_id = 14;
+ int32 retcode = 1;
+ uint32 sacrifice_reward_index = 6;
+ repeated uint32 sacrifice_reward_list = 9;
+ uint32 index = 4;
+}
diff --git a/proto/LunchBoxData.proto b/proto/LunchBoxData.proto
index 6bcb92e8..2f22fb01 100644
--- a/proto/LunchBoxData.proto
+++ b/proto/LunchBoxData.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message LunchBoxData {
- map slot_material_map = 3;
+ map slot_material_map = 4;
}
diff --git a/proto/LunchBoxSlotType.proto b/proto/LunchBoxSlotType.proto
new file mode 100644
index 00000000..e703a252
--- /dev/null
+++ b/proto/LunchBoxSlotType.proto
@@ -0,0 +1,10 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum LunchBoxSlotType {
+ LUNCH_BOX_SLOT_NONE = 0;
+ LUNCH_BOX_SLOT_REVIVE = 1;
+ LUNCH_BOX_SLOT_HEAL = 2;
+}
diff --git a/proto/MPLevelEntityInfo.proto b/proto/MPLevelEntityInfo.proto
index 4005901e..b292fede 100644
--- a/proto/MPLevelEntityInfo.proto
+++ b/proto/MPLevelEntityInfo.proto
@@ -22,7 +22,7 @@ import "AbilitySyncStateInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message MPLevelEntityInfo {
- AbilitySyncStateInfo ability_info = 2;
- uint32 entity_id = 11;
- uint32 authority_peer_id = 3;
+ AbilitySyncStateInfo ability_info = 15;
+ uint32 entity_id = 10;
+ uint32 authority_peer_id = 5;
}
diff --git a/proto/MailChangeNotify.proto b/proto/MailChangeNotify.proto
index 801154f8..b93dd854 100644
--- a/proto/MailChangeNotify.proto
+++ b/proto/MailChangeNotify.proto
@@ -21,10 +21,15 @@ import "MailData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1498
-// EnetChannelId: 0
-// EnetIsReliable: true
message MailChangeNotify {
- repeated MailData mail_list = 14;
- repeated uint32 del_mail_id_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1430;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 del_mail_id_list = 15;
+ repeated MailData mail_list = 2;
}
diff --git a/proto/MailCollectState.proto b/proto/MailCollectState.proto
index ef130f39..9f7d2c11 100644
--- a/proto/MailCollectState.proto
+++ b/proto/MailCollectState.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
enum MailCollectState {
- MAIL_COLLECT_STATE_COLLECTIBLE_UNKONW = 0;
+ MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN = 0;
MAIL_COLLECT_STATE_NOT_COLLECTIBLE = 1;
MAIL_COLLECT_STATE_COLLECTIBLE_UNCOLLECTED = 2;
MAIL_COLLECT_STATE_COLLECTIBLE_COLLECTED = 3;
diff --git a/proto/MainCoop.proto b/proto/MainCoop.proto
new file mode 100644
index 00000000..86d67486
--- /dev/null
+++ b/proto/MainCoop.proto
@@ -0,0 +1,36 @@
+// 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 MainCoop {
+ enum Status {
+ STATUS_INVALID = 0;
+ STATUS_RUNNING = 1;
+ STATUS_FINISHED = 2;
+ }
+
+ Status status = 6;
+ map Unk3300_JFPLEDLNJPF = 5;
+ map Unk3300_OMEEMFJFKBH = 7;
+ uint32 self_confidence = 9;
+ uint32 id = 1;
+ repeated uint32 save_point_id_list = 10;
+ map seen_ending_map = 13;
+}
diff --git a/proto/MainCoopFailNotify.proto b/proto/MainCoopFailNotify.proto
new file mode 100644
index 00000000..42e9e2ee
--- /dev/null
+++ b/proto/MainCoopFailNotify.proto
@@ -0,0 +1,33 @@
+// 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 MainCoopFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1956;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string textmap_id = 7;
+ uint32 chapter_id = 14;
+}
diff --git a/proto/MainCoopUpdateNotify.proto b/proto/MainCoopUpdateNotify.proto
new file mode 100644
index 00000000..3fc10cee
--- /dev/null
+++ b/proto/MainCoopUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "MainCoop.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MainCoopUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1991;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MainCoop main_coop_list = 10;
+}
diff --git a/proto/MapAreaChangeNotify.proto b/proto/MapAreaChangeNotify.proto
new file mode 100644
index 00000000..25dde907
--- /dev/null
+++ b/proto/MapAreaChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "MapAreaInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MapAreaChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3485;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MapAreaInfo map_area_info_list = 6;
+}
diff --git a/proto/MapAreaInfo.proto b/proto/MapAreaInfo.proto
new file mode 100644
index 00000000..11a1eb67
--- /dev/null
+++ b/proto/MapAreaInfo.proto
@@ -0,0 +1,25 @@
+// 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 MapAreaInfo {
+ uint32 map_area_id = 1;
+ bool is_open = 2;
+}
diff --git a/proto/MapInfo.proto b/proto/MapInfo.proto
new file mode 100644
index 00000000..12d23eb3
--- /dev/null
+++ b/proto/MapInfo.proto
@@ -0,0 +1,30 @@
+// 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 "CellInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MapInfo {
+ int32 minx = 1;
+ int32 maxx = 2;
+ int32 minz = 3;
+ int32 maxz = 4;
+ repeated CellInfo cells = 5;
+}
diff --git a/proto/MapMarkTipsInfo.proto b/proto/MapMarkTipsInfo.proto
new file mode 100644
index 00000000..a5123b15
--- /dev/null
+++ b/proto/MapMarkTipsInfo.proto
@@ -0,0 +1,27 @@
+// 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 "MapMarkTipsType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MapMarkTipsInfo {
+ MapMarkTipsType tips_type = 1;
+ repeated uint32 point_id_list = 2;
+}
diff --git a/proto/MapMarkTipsType.proto b/proto/MapMarkTipsType.proto
new file mode 100644
index 00000000..ab28531b
--- /dev/null
+++ b/proto/MapMarkTipsType.proto
@@ -0,0 +1,24 @@
+// 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 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..0749155d
--- /dev/null
+++ b/proto/MarkEntityInMinMapNotify.proto
@@ -0,0 +1,36 @@
+// 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 MarkEntityInMinMapNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 293;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector position = 4;
+ uint32 entity_id = 3;
+ uint32 monster_id = 14;
+}
diff --git a/proto/MarkMapReq.proto b/proto/MarkMapReq.proto
index 78853572..8830e0d7 100644
--- a/proto/MarkMapReq.proto
+++ b/proto/MarkMapReq.proto
@@ -21,14 +21,15 @@ import "MapMarkPoint.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3466
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MarkMapReq {
- MapMarkPoint mark = 8;
- MapMarkPoint old = 6;
- Operation op = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3282;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
enum Operation {
OPERATION_ADD = 0;
@@ -36,4 +37,8 @@ message MarkMapReq {
OPERATION_DEL = 2;
OPERATION_GET = 3;
}
+
+ Operation op = 3;
+ MapMarkPoint Unk3300_IEBKBPOBECB = 6;
+ MapMarkPoint Unk3300_BGFDGKONNBI = 13;
}
diff --git a/proto/MarkMapRsp.proto b/proto/MarkMapRsp.proto
index be7d9642..1f87d780 100644
--- a/proto/MarkMapRsp.proto
+++ b/proto/MarkMapRsp.proto
@@ -21,10 +21,15 @@ import "MapMarkPoint.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3079
-// EnetChannelId: 0
-// EnetIsReliable: true
message MarkMapRsp {
- repeated MapMarkPoint mark_list = 8;
- int32 retcode = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3346;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated MapMarkPoint mark_list = 2;
+ int32 retcode = 13;
}
diff --git a/proto/MarkNewNotify.proto b/proto/MarkNewNotify.proto
index 2af48420..da99ef4a 100644
--- a/proto/MarkNewNotify.proto
+++ b/proto/MarkNewNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1275
-// EnetChannelId: 0
-// EnetIsReliable: true
message MarkNewNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1239;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
repeated uint32 id_list = 7;
- uint32 mark_new_type = 11;
+ uint32 mark_new_type = 3;
}
diff --git a/proto/MarkNewType.proto b/proto/MarkNewType.proto
new file mode 100644
index 00000000..43ae8d10
--- /dev/null
+++ b/proto/MarkNewType.proto
@@ -0,0 +1,10 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum MarkNewType {
+ _NONE = 0;
+ COMBINE = 1;
+ FORGE = 2;
+}
diff --git a/proto/MarkTargetInvestigationMonsterNotify.proto b/proto/MarkTargetInvestigationMonsterNotify.proto
index 23ddd68f..84b818d2 100644
--- a/proto/MarkTargetInvestigationMonsterNotify.proto
+++ b/proto/MarkTargetInvestigationMonsterNotify.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1915
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MarkTargetInvestigationMonsterNotify {
- uint32 scene_id = 11;
- uint32 monster_id = 4;
- uint32 group_id = 5;
- uint32 investigation_monster_id = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1921;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 monster_id = 10;
+ uint32 scene_id = 7;
+ uint32 group_id = 15;
+ uint32 investigation_monster_id = 3;
}
diff --git a/proto/MassiveBoxInfo.proto b/proto/MassiveBoxInfo.proto
new file mode 100644
index 00000000..9f09627f
--- /dev/null
+++ b/proto/MassiveBoxInfo.proto
@@ -0,0 +1,32 @@
+// 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 MassiveBoxInfo {
+ int32 id = 1;
+ uint32 config_id = 2;
+ Vector center = 3;
+ Vector extents = 4;
+ Vector up = 5;
+ Vector forward = 6;
+ Vector right = 7;
+}
diff --git a/proto/MassiveEntityElementOpBatchNotify.proto b/proto/MassiveEntityElementOpBatchNotify.proto
new file mode 100644
index 00000000..a4637d18
--- /dev/null
+++ b/proto/MassiveEntityElementOpBatchNotify.proto
@@ -0,0 +1,46 @@
+// 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 "ShapeBox.proto";
+import "ShapeSphere.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MassiveEntityElementOpBatchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 363;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 attacker_id = 8;
+ float attack_element_durability = 4;
+ int32 Unk3300_PNANGDNNFCH = 2;
+ int32 entity_type = 10;
+ int32 Unk3300_KNLDJPEMCKP = 7;
+ uint32 op_idx = 11;
+ uint32 user_id = 1;
+ oneof check_shape {
+ ShapeSphere shape_sphere = 14;
+ ShapeBox shape_box = 13;
+ }
+}
diff --git a/proto/MassiveEntityState.proto b/proto/MassiveEntityState.proto
new file mode 100644
index 00000000..5e8cf23d
--- /dev/null
+++ b/proto/MassiveEntityState.proto
@@ -0,0 +1,26 @@
+// 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 MassiveEntityState {
+ uint32 entity_type = 1;
+ int64 obj_id = 2;
+ uint32 element_state = 3;
+}
diff --git a/proto/MassiveEntityStateChangedNotify.proto b/proto/MassiveEntityStateChangedNotify.proto
new file mode 100644
index 00000000..ed0771b9
--- /dev/null
+++ b/proto/MassiveEntityStateChangedNotify.proto
@@ -0,0 +1,35 @@
+// 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 "MassiveEntityState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MassiveEntityStateChangedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 349;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated MassiveEntityState massive_entity_state_list = 14;
+}
diff --git a/proto/MassiveGrassInfo.proto b/proto/MassiveGrassInfo.proto
new file mode 100644
index 00000000..4dfa0f81
--- /dev/null
+++ b/proto/MassiveGrassInfo.proto
@@ -0,0 +1,28 @@
+// 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 MassiveGrassInfo {
+ uint32 id = 1;
+ Vector center = 2;
+ Vector size = 3;
+}
diff --git a/proto/MassiveWaterInfo.proto b/proto/MassiveWaterInfo.proto
new file mode 100644
index 00000000..54ec8919
--- /dev/null
+++ b/proto/MassiveWaterInfo.proto
@@ -0,0 +1,24 @@
+// 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 MassiveWaterInfo {
+ int64 id = 1;
+}
diff --git a/proto/MatchPlayerInfo.proto b/proto/MatchPlayerInfo.proto
new file mode 100644
index 00000000..716ff1ba
--- /dev/null
+++ b/proto/MatchPlayerInfo.proto
@@ -0,0 +1,27 @@
+// 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 "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MatchPlayerInfo {
+ bool is_agreed = 4;
+ OnlinePlayerInfo player_info = 15;
+}
diff --git a/proto/MatchReason.proto b/proto/MatchReason.proto
new file mode 100644
index 00000000..d0ffeefd
--- /dev/null
+++ b/proto/MatchReason.proto
@@ -0,0 +1,33 @@
+// 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 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..2014a74e
--- /dev/null
+++ b/proto/MatchType.proto
@@ -0,0 +1,29 @@
+// 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 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/MaterialDeleteInfo.proto b/proto/MaterialDeleteInfo.proto
index fdfec23d..aff0f12a 100644
--- a/proto/MaterialDeleteInfo.proto
+++ b/proto/MaterialDeleteInfo.proto
@@ -20,13 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MaterialDeleteInfo {
- bool has_delete_config = 1;
- oneof delete_info {
- CountDownDelete count_down_delete = 2;
- DateTimeDelete date_delete = 3;
- DelayWeekCountDownDelete delay_week_count_down_delete = 4;
- }
-
message CountDownDelete {
map delete_time_num_map = 1;
uint32 config_count_down_time = 2;
@@ -41,4 +34,11 @@ message MaterialDeleteInfo {
uint32 config_delay_week = 2;
uint32 config_count_down_time = 3;
}
+
+ bool has_delete_config = 1;
+ oneof delete_info {
+ CountDownDelete count_down_delete = 2;
+ DateTimeDelete date_delete = 3;
+ DelayWeekCountDownDelete delay_week_count_down_delete = 4;
+ }
}
diff --git a/proto/MaterialDeleteReturnNotify.proto b/proto/MaterialDeleteReturnNotify.proto
index b67010b3..a8e3ef62 100644
--- a/proto/MaterialDeleteReturnNotify.proto
+++ b/proto/MaterialDeleteReturnNotify.proto
@@ -21,11 +21,16 @@ import "MaterialDeleteReturnType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 661
-// EnetChannelId: 0
-// EnetIsReliable: true
message MaterialDeleteReturnNotify {
- map return_item_map = 5;
- MaterialDeleteReturnType type = 8;
- map delete_material_map = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 698;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MaterialDeleteReturnType type = 7;
+ map Unk3300_OFOKFKBALJD = 12;
+ map Unk3300_LAIHDKJAHAF = 8;
}
diff --git a/proto/MaterialDeleteUpdateNotify.proto b/proto/MaterialDeleteUpdateNotify.proto
index c993af54..51094440 100644
--- a/proto/MaterialDeleteUpdateNotify.proto
+++ b/proto/MaterialDeleteUpdateNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 700
-// EnetChannelId: 0
-// EnetIsReliable: true
-message MaterialDeleteUpdateNotify {}
+message MaterialDeleteUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 604;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/MaterialInfo.proto b/proto/MaterialInfo.proto
index 96bd4bf4..8fc42336 100644
--- a/proto/MaterialInfo.proto
+++ b/proto/MaterialInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MaterialInfo {
- uint32 count = 11;
- uint64 guid = 5;
+ uint64 guid = 1;
+ uint32 count = 13;
}
diff --git a/proto/McoinExchangeHcoinReq.proto b/proto/McoinExchangeHcoinReq.proto
index b02cbcb9..e05d4554 100644
--- a/proto/McoinExchangeHcoinReq.proto
+++ b/proto/McoinExchangeHcoinReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 616
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message McoinExchangeHcoinReq {
- uint32 hcoin = 5;
- uint32 mcoin_cost = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 623;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 hcoin = 1;
+ uint32 mcoin_cost = 3;
}
diff --git a/proto/McoinExchangeHcoinRsp.proto b/proto/McoinExchangeHcoinRsp.proto
index 2f593ff4..722a3876 100644
--- a/proto/McoinExchangeHcoinRsp.proto
+++ b/proto/McoinExchangeHcoinRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 687
-// EnetChannelId: 0
-// EnetIsReliable: true
message McoinExchangeHcoinRsp {
- uint32 mcoin_cost = 8;
- uint32 hcoin = 7;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 687;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mcoin_cost = 12;
+ int32 retcode = 10;
+ uint32 hcoin = 1;
}
diff --git a/proto/MechanicusCandidateTeamCreateReq.proto b/proto/MechanicusCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..7379a4b0
--- /dev/null
+++ b/proto/MechanicusCandidateTeamCreateReq.proto
@@ -0,0 +1,33 @@
+// 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 MechanicusCandidateTeamCreateReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3925;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficult_level = 2;
+}
diff --git a/proto/MechanicusCandidateTeamCreateRsp.proto b/proto/MechanicusCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..14d9c28f
--- /dev/null
+++ b/proto/MechanicusCandidateTeamCreateRsp.proto
@@ -0,0 +1,34 @@
+// 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 MechanicusCandidateTeamCreateRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3942;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 difficult_level = 11;
+ uint32 dungeon_id = 5;
+ int32 retcode = 10;
+}
diff --git a/proto/MechanicusCloseNotify.proto b/proto/MechanicusCloseNotify.proto
new file mode 100644
index 00000000..f9b49f1c
--- /dev/null
+++ b/proto/MechanicusCloseNotify.proto
@@ -0,0 +1,32 @@
+// 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 MechanicusCloseNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3943;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mechanicus_id = 9;
+}
diff --git a/proto/MechanicusCoinNotify.proto b/proto/MechanicusCoinNotify.proto
new file mode 100644
index 00000000..69eb22c9
--- /dev/null
+++ b/proto/MechanicusCoinNotify.proto
@@ -0,0 +1,33 @@
+// 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 MechanicusCoinNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3919;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 coin = 8;
+ uint32 mechanicus_id = 5;
+}
diff --git a/proto/MechanicusInfo.proto b/proto/MechanicusInfo.proto
new file mode 100644
index 00000000..056378cd
--- /dev/null
+++ b/proto/MechanicusInfo.proto
@@ -0,0 +1,32 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MechanicusInfo {
+ uint32 mechanicus_id = 1;
+ uint32 punish_over_time = 11;
+ bool is_finish_teach_dungeon = 7;
+ repeated uint32 Unk3300_KJLGFEPIENG = 6;
+ repeated uint32 Unk3300_EEBEOCMAIKN = 9;
+ uint32 coin = 10;
+ repeated Uint32Pair gear_level_pair_list = 13;
+}
diff --git a/proto/MechanicusLevelupGearReq.proto b/proto/MechanicusLevelupGearReq.proto
new file mode 100644
index 00000000..7660e7b1
--- /dev/null
+++ b/proto/MechanicusLevelupGearReq.proto
@@ -0,0 +1,34 @@
+// 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 MechanicusLevelupGearReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3978;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mechanicus_id = 14;
+ uint32 gear_id = 13;
+}
diff --git a/proto/MechanicusLevelupGearRsp.proto b/proto/MechanicusLevelupGearRsp.proto
new file mode 100644
index 00000000..e710e91a
--- /dev/null
+++ b/proto/MechanicusLevelupGearRsp.proto
@@ -0,0 +1,35 @@
+// 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 MechanicusLevelupGearRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3957;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 gear_id = 9;
+ uint32 mechanicus_id = 4;
+ uint32 after_gear_level = 12;
+}
diff --git a/proto/MechanicusOpenNotify.proto b/proto/MechanicusOpenNotify.proto
new file mode 100644
index 00000000..dd8a9a7c
--- /dev/null
+++ b/proto/MechanicusOpenNotify.proto
@@ -0,0 +1,32 @@
+// 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 MechanicusOpenNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4000;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mechanicus_id = 13;
+}
diff --git a/proto/MechanicusSequenceOpenNotify.proto b/proto/MechanicusSequenceOpenNotify.proto
new file mode 100644
index 00000000..dd0084e8
--- /dev/null
+++ b/proto/MechanicusSequenceOpenNotify.proto
@@ -0,0 +1,33 @@
+// 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 MechanicusSequenceOpenNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3956;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mechanicus_id = 12;
+ uint32 sequence_id = 9;
+}
diff --git a/proto/MechanicusUnlockGearReq.proto b/proto/MechanicusUnlockGearReq.proto
new file mode 100644
index 00000000..1d7cf21e
--- /dev/null
+++ b/proto/MechanicusUnlockGearReq.proto
@@ -0,0 +1,34 @@
+// 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 MechanicusUnlockGearReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3961;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gear_id = 6;
+ uint32 mechanicus_id = 10;
+}
diff --git a/proto/MechanicusUnlockGearRsp.proto b/proto/MechanicusUnlockGearRsp.proto
new file mode 100644
index 00000000..59c1194e
--- /dev/null
+++ b/proto/MechanicusUnlockGearRsp.proto
@@ -0,0 +1,34 @@
+// 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 MechanicusUnlockGearRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3947;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gear_id = 1;
+ uint32 mechanicus_id = 7;
+ int32 retcode = 10;
+}
diff --git a/proto/MeetNpcReq.proto b/proto/MeetNpcReq.proto
new file mode 100644
index 00000000..06c34d65
--- /dev/null
+++ b/proto/MeetNpcReq.proto
@@ -0,0 +1,33 @@
+// 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 MeetNpcReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 561;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 npc_id = 15;
+}
diff --git a/proto/MeetNpcRsp.proto b/proto/MeetNpcRsp.proto
new file mode 100644
index 00000000..6d8540ea
--- /dev/null
+++ b/proto/MeetNpcRsp.proto
@@ -0,0 +1,33 @@
+// 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 MeetNpcRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 547;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint32 npc_first_met_id = 7;
+}
diff --git a/proto/MetNpcIdListNotify.proto b/proto/MetNpcIdListNotify.proto
new file mode 100644
index 00000000..62abcf37
--- /dev/null
+++ b/proto/MetNpcIdListNotify.proto
@@ -0,0 +1,32 @@
+// 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 MetNpcIdListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 543;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 npc_first_met_id_list = 4;
+}
diff --git a/proto/MichiaeMatsuriActivityDetailInfo.proto b/proto/MichiaeMatsuriActivityDetailInfo.proto
index 5460aafa..ba7eaf85 100644
--- a/proto/MichiaeMatsuriActivityDetailInfo.proto
+++ b/proto/MichiaeMatsuriActivityDetailInfo.proto
@@ -24,9 +24,9 @@ import "MichiaeMatsuriStage.proto";
option java_package = "emu.grasscutter.net.proto";
message MichiaeMatsuriActivityDetailInfo {
- repeated MichiaeMatsuriChallengePositionInfo challenge_pos_list = 6;
- uint32 gain_crystal_exp = 13;
- repeated uint32 unlocked_crystal_skill_list = 2;
- repeated MichiaeMatsuriChestPositionInfo chest_pos_list = 10;
+ uint32 gain_crystal_exp = 11;
repeated MichiaeMatsuriStage stage_list = 14;
+ repeated uint32 unlocked_crystal_skill_list = 5;
+ repeated MichiaeMatsuriChallengePositionInfo challenge_pos_list = 3;
+ repeated MichiaeMatsuriChestPositionInfo chest_pos_list = 12;
}
diff --git a/proto/MichiaeMatsuriChallengePositionInfo.proto b/proto/MichiaeMatsuriChallengePositionInfo.proto
index 93e3db28..25ba8e82 100644
--- a/proto/MichiaeMatsuriChallengePositionInfo.proto
+++ b/proto/MichiaeMatsuriChallengePositionInfo.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message MichiaeMatsuriChallengePositionInfo {
- uint32 group_id = 4;
uint32 gadget_id = 7;
- Vector pos = 8;
+ Vector pos = 4;
+ uint32 group_id = 11;
}
diff --git a/proto/MichiaeMatsuriChestPositionInfo.proto b/proto/MichiaeMatsuriChestPositionInfo.proto
index aa6a3894..437a5300 100644
--- a/proto/MichiaeMatsuriChestPositionInfo.proto
+++ b/proto/MichiaeMatsuriChestPositionInfo.proto
@@ -23,6 +23,6 @@ option java_package = "emu.grasscutter.net.proto";
message MichiaeMatsuriChestPositionInfo {
Vector pos = 10;
- uint32 group_id = 2;
- uint32 config_id = 11;
+ uint32 group_id = 8;
+ uint32 config_id = 5;
}
diff --git a/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto b/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
new file mode 100644
index 00000000..da647b35
--- /dev/null
+++ b/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
@@ -0,0 +1,32 @@
+// 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 MichiaeMatsuriDarkPressureLevelUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8136;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dark_pressure_level = 9;
+}
diff --git a/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto b/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
new file mode 100644
index 00000000..a7b5bb31
--- /dev/null
+++ b/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriGainCrystalExpUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8318;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 13;
+ uint32 gain_crystal_exp = 3;
+}
diff --git a/proto/MichiaeMatsuriInteractStatueReq.proto b/proto/MichiaeMatsuriInteractStatueReq.proto
new file mode 100644
index 00000000..29f01b42
--- /dev/null
+++ b/proto/MichiaeMatsuriInteractStatueReq.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriInteractStatueReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8008;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 statue_entity_id = 9;
+}
diff --git a/proto/MichiaeMatsuriInteractStatueRsp.proto b/proto/MichiaeMatsuriInteractStatueRsp.proto
new file mode 100644
index 00000000..87650a7e
--- /dev/null
+++ b/proto/MichiaeMatsuriInteractStatueRsp.proto
@@ -0,0 +1,32 @@
+// 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 MichiaeMatsuriInteractStatueRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8150;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+}
diff --git a/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto b/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
new file mode 100644
index 00000000..10735ed8
--- /dev/null
+++ b/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriRemoveChallengeMarkNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8581;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 10;
+ uint32 gadget_id = 13;
+}
diff --git a/proto/MichiaeMatsuriRemoveChestMarkNotify.proto b/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
new file mode 100644
index 00000000..613cc472
--- /dev/null
+++ b/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriRemoveChestMarkNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8203;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 5;
+ uint32 config_id = 6;
+}
diff --git a/proto/MichiaeMatsuriStage.proto b/proto/MichiaeMatsuriStage.proto
index 756b9fbc..abaa6759 100644
--- a/proto/MichiaeMatsuriStage.proto
+++ b/proto/MichiaeMatsuriStage.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MichiaeMatsuriStage {
- bool is_open = 11;
- uint32 open_time = 5;
- uint32 stage_id = 12;
+ uint32 stage_id = 4;
+ bool is_open = 2;
+ uint32 open_time = 1;
}
diff --git a/proto/MichiaeMatsuriStartBossChallengeReq.proto b/proto/MichiaeMatsuriStartBossChallengeReq.proto
new file mode 100644
index 00000000..035f5a86
--- /dev/null
+++ b/proto/MichiaeMatsuriStartBossChallengeReq.proto
@@ -0,0 +1,34 @@
+// 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 MichiaeMatsuriStartBossChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8650;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficulty = 4;
+ uint32 gadget_entity_id = 6;
+}
diff --git a/proto/MichiaeMatsuriStartBossChallengeRsp.proto b/proto/MichiaeMatsuriStartBossChallengeRsp.proto
new file mode 100644
index 00000000..914289b4
--- /dev/null
+++ b/proto/MichiaeMatsuriStartBossChallengeRsp.proto
@@ -0,0 +1,32 @@
+// 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 MichiaeMatsuriStartBossChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8953;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/MichiaeMatsuriStartDarkChallengeReq.proto b/proto/MichiaeMatsuriStartDarkChallengeReq.proto
new file mode 100644
index 00000000..be549bdf
--- /dev/null
+++ b/proto/MichiaeMatsuriStartDarkChallengeReq.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriStartDarkChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8166;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 worktop_entity_id = 15;
+}
diff --git a/proto/MichiaeMatsuriStartDarkChallengeRsp.proto b/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
new file mode 100644
index 00000000..99d2f29d
--- /dev/null
+++ b/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
@@ -0,0 +1,32 @@
+// 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 MichiaeMatsuriStartDarkChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8379;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto b/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
new file mode 100644
index 00000000..1dfdc41d
--- /dev/null
+++ b/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriUnlockCrystalSkillReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8632;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 crystal_skill_id = 10;
+}
diff --git a/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto b/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
new file mode 100644
index 00000000..e523d4a9
--- /dev/null
+++ b/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
@@ -0,0 +1,33 @@
+// 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 MichiaeMatsuriUnlockCrystalSkillRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8874;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 crystal_skill_id = 8;
+ int32 retcode = 10;
+}
diff --git a/proto/MiracleRingDataNotify.proto b/proto/MiracleRingDataNotify.proto
new file mode 100644
index 00000000..6de36662
--- /dev/null
+++ b/proto/MiracleRingDataNotify.proto
@@ -0,0 +1,36 @@
+// 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 MiracleRingDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5222;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_gadget_created = 15;
+ uint32 gadget_entity_id = 7;
+ uint32 Unk3300_OONPDLMPLNC = 9;
+ uint32 Unk3300_POIAEGJNEKP = 8;
+ uint32 last_take_reward_time = 12;
+}
diff --git a/proto/MiracleRingDeliverItemReq.proto b/proto/MiracleRingDeliverItemReq.proto
index 3d888b44..2d2db64f 100644
--- a/proto/MiracleRingDeliverItemReq.proto
+++ b/proto/MiracleRingDeliverItemReq.proto
@@ -22,14 +22,19 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5229
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MiracleRingDeliverItemReq {
- InterOpType op_type = 9;
- repeated ItemParam item_param_list = 1;
- repeated uint64 food_weapon_guid_list = 4;
- uint32 gadget_id = 14;
- uint32 gadget_entity_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5244;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ItemParam item_param_list = 3;
+ uint32 gadget_entity_id = 6;
+ uint32 gadget_id = 8;
+ repeated uint64 food_weapon_guid_list = 13;
+ InterOpType op_type = 15;
}
diff --git a/proto/MiracleRingDeliverItemRsp.proto b/proto/MiracleRingDeliverItemRsp.proto
index 93863ed6..000f7a67 100644
--- a/proto/MiracleRingDeliverItemRsp.proto
+++ b/proto/MiracleRingDeliverItemRsp.proto
@@ -22,13 +22,18 @@ import "InteractType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5222
-// EnetChannelId: 0
-// EnetIsReliable: true
message MiracleRingDeliverItemRsp {
- InteractType interact_type = 15;
- int32 retcode = 11;
- InterOpType op_type = 14;
- uint32 gadget_id = 4;
- uint32 gadget_entity_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5217;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gadget_id = 2;
+ InterOpType op_type = 6;
+ uint32 gadget_entity_id = 13;
+ int32 retcode = 15;
+ InteractType interact_type = 12;
}
diff --git a/proto/MiracleRingDestroyNotify.proto b/proto/MiracleRingDestroyNotify.proto
new file mode 100644
index 00000000..211037c3
--- /dev/null
+++ b/proto/MiracleRingDestroyNotify.proto
@@ -0,0 +1,32 @@
+// 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 MiracleRingDestroyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5212;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 8;
+}
diff --git a/proto/MiracleRingDropResultNotify.proto b/proto/MiracleRingDropResultNotify.proto
new file mode 100644
index 00000000..660c5f77
--- /dev/null
+++ b/proto/MiracleRingDropResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 MiracleRingDropResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5231;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 last_take_reward_time = 15;
+ int32 drop_result = 8;
+}
diff --git a/proto/MiracleRingTakeRewardReq.proto b/proto/MiracleRingTakeRewardReq.proto
new file mode 100644
index 00000000..f58e914b
--- /dev/null
+++ b/proto/MiracleRingTakeRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 MiracleRingTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5235;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gadget_entity_id = 14;
+ uint32 gadget_id = 9;
+}
diff --git a/proto/MiracleRingTakeRewardRsp.proto b/proto/MiracleRingTakeRewardRsp.proto
new file mode 100644
index 00000000..e18e0d63
--- /dev/null
+++ b/proto/MiracleRingTakeRewardRsp.proto
@@ -0,0 +1,32 @@
+// 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 MiracleRingTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5227;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+}
diff --git a/proto/MistTrialActivityDetailInfo.proto b/proto/MistTrialActivityDetailInfo.proto
index cc5fde03..9aa54d3c 100644
--- a/proto/MistTrialActivityDetailInfo.proto
+++ b/proto/MistTrialActivityDetailInfo.proto
@@ -22,5 +22,5 @@ import "MistTrialLevelData.proto";
option java_package = "emu.grasscutter.net.proto";
message MistTrialActivityDetailInfo {
- repeated MistTrialLevelData trial_level_data_list = 5;
+ repeated MistTrialLevelData trial_level_data_list = 1;
}
diff --git a/proto/MistTrialBestAvatar.proto b/proto/MistTrialBestAvatar.proto
new file mode 100644
index 00000000..87251bbe
--- /dev/null
+++ b/proto/MistTrialBestAvatar.proto
@@ -0,0 +1,28 @@
+// 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 "AvatarType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MistTrialBestAvatar {
+ uint32 avatar_id = 4;
+ uint32 costume_id = 12;
+ AvatarType avatar_type = 6;
+}
diff --git a/proto/MistTrialDunegonFailNotify.proto b/proto/MistTrialDunegonFailNotify.proto
new file mode 100644
index 00000000..e60ea919
--- /dev/null
+++ b/proto/MistTrialDunegonFailNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8135
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MistTrialDunegonFailNotify {
+ int32 dungeon_id = 9;
+}
diff --git a/proto/MistTrialDungeonFailNotify.proto b/proto/MistTrialDungeonFailNotify.proto
new file mode 100644
index 00000000..b2b77385
--- /dev/null
+++ b/proto/MistTrialDungeonFailNotify.proto
@@ -0,0 +1,32 @@
+// 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 MistTrialDungeonFailNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8320;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 dungeon_id = 13;
+}
diff --git a/proto/MistTrialFloorLevelNotify.proto b/proto/MistTrialFloorLevelNotify.proto
new file mode 100644
index 00000000..a5a539c3
--- /dev/null
+++ b/proto/MistTrialFloorLevelNotify.proto
@@ -0,0 +1,34 @@
+// 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 MistTrialFloorLevelNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 988;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_scene_id = 6;
+ uint32 floor_level = 7;
+}
diff --git a/proto/MistTrialGetChallengeMissionReq.proto b/proto/MistTrialGetChallengeMissionReq.proto
new file mode 100644
index 00000000..d605447f
--- /dev/null
+++ b/proto/MistTrialGetChallengeMissionReq.proto
@@ -0,0 +1,33 @@
+// 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 MistTrialGetChallengeMissionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8048;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 trial_id = 12;
+}
diff --git a/proto/MistTrialGetChallengeMissionRsp.proto b/proto/MistTrialGetChallengeMissionRsp.proto
new file mode 100644
index 00000000..e8f9f6f0
--- /dev/null
+++ b/proto/MistTrialGetChallengeMissionRsp.proto
@@ -0,0 +1,36 @@
+// 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 "MistTrialMissionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MistTrialGetChallengeMissionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8193;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_id = 6;
+ repeated MistTrialMissionInfo mission_info_list = 3;
+ int32 retcode = 7;
+}
diff --git a/proto/MistTrialGetDungeonExhibitionDataReq.proto b/proto/MistTrialGetDungeonExhibitionDataReq.proto
new file mode 100644
index 00000000..6e094c89
--- /dev/null
+++ b/proto/MistTrialGetDungeonExhibitionDataReq.proto
@@ -0,0 +1,33 @@
+// 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 MistTrialGetDungeonExhibitionDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8983;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 trial_id = 6;
+}
diff --git a/proto/MistTrialGetDungeonExhibitionDataRsp.proto b/proto/MistTrialGetDungeonExhibitionDataRsp.proto
new file mode 100644
index 00000000..f0be723b
--- /dev/null
+++ b/proto/MistTrialGetDungeonExhibitionDataRsp.proto
@@ -0,0 +1,33 @@
+// 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 MistTrialGetDungeonExhibitionDataRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8903;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_id = 10;
+ int32 retcode = 2;
+}
diff --git a/proto/MistTrialLevelData.proto b/proto/MistTrialLevelData.proto
index 5b55becd..d81fe58d 100644
--- a/proto/MistTrialLevelData.proto
+++ b/proto/MistTrialLevelData.proto
@@ -17,10 +17,15 @@
syntax = "proto3";
+import "MistTrialBestAvatar.proto";
+
option java_package = "emu.grasscutter.net.proto";
message MistTrialLevelData {
- uint32 open_time = 1;
- bool is_open = 12;
- uint32 level_id = 7;
+ uint32 open_time = 10;
+ repeated MistTrialBestAvatar best_avatar_list = 3;
+ uint32 level_id = 14;
+ uint32 first_pass_time = 1;
+ MistTrialBestAvatar best_hit_avatar = 11;
+ bool is_open = 9;
}
diff --git a/proto/MistTrialMissionInfo.proto b/proto/MistTrialMissionInfo.proto
new file mode 100644
index 00000000..b429d450
--- /dev/null
+++ b/proto/MistTrialMissionInfo.proto
@@ -0,0 +1,25 @@
+// 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 MistTrialMissionInfo {
+ uint32 param = 8;
+ uint32 watcher_list_id = 5;
+}
diff --git a/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto b/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..5274b614
--- /dev/null
+++ b/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,38 @@
+// 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 MistTrialSelectAvatarAndEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8226;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ message SelectAvatarIndex {}
+
+ repeated SelectAvatarIndex select_avatar_index_list = 11;
+ repeated uint32 select_trial_avatar_id_list = 1;
+ uint32 enter_point_id = 8;
+ uint32 trial_id = 5;
+}
diff --git a/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto b/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..fda4d1de
--- /dev/null
+++ b/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 MistTrialSelectAvatarAndEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8658;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_id = 2;
+ int32 retcode = 7;
+}
diff --git a/proto/MistTrialSettleNotify.proto b/proto/MistTrialSettleNotify.proto
new file mode 100644
index 00000000..be1e75c8
--- /dev/null
+++ b/proto/MistTrialSettleNotify.proto
@@ -0,0 +1,40 @@
+// 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 "MistTrialBestAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MistTrialSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8116;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map Unk3300_KFKHAACDJDJ = 5;
+ map Unk3300_GMPEELLANLI = 2;
+ uint32 dungeon_scene_id = 12;
+ uint32 first_pass_time = 8;
+ MistTrialBestAvatar best_hit_avatar = 3;
+ repeated MistTrialBestAvatar best_avatar_list = 9;
+}
diff --git a/proto/ModifierProperty.proto b/proto/ModifierProperty.proto
index ab235f75..7e551f5f 100644
--- a/proto/ModifierProperty.proto
+++ b/proto/ModifierProperty.proto
@@ -22,6 +22,6 @@ import "AbilityString.proto";
option java_package = "emu.grasscutter.net.proto";
message ModifierProperty {
- AbilityString key = 15;
+ AbilityString key = 7;
float value = 5;
}
diff --git a/proto/MonsterAIConfigHashNotify.proto b/proto/MonsterAIConfigHashNotify.proto
index fe392591..d257775a 100644
--- a/proto/MonsterAIConfigHashNotify.proto
+++ b/proto/MonsterAIConfigHashNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3039
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MonsterAIConfigHashNotify {
- uint32 job_id = 10;
- uint32 entity_id = 15;
- int32 hash_value = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3050;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 hash_value = 7;
+ uint32 entity_id = 14;
+ uint32 job_id = 11;
}
diff --git a/proto/MonsterAlertChangeNotify.proto b/proto/MonsterAlertChangeNotify.proto
new file mode 100644
index 00000000..f563034f
--- /dev/null
+++ b/proto/MonsterAlertChangeNotify.proto
@@ -0,0 +1,35 @@
+// 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 MonsterAlertChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 303;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 monster_entity_list = 5;
+ uint32 is_alert = 12;
+ uint32 avatar_entity_id = 15;
+}
diff --git a/proto/MonsterForceAlertNotify.proto b/proto/MonsterForceAlertNotify.proto
new file mode 100644
index 00000000..382afc57
--- /dev/null
+++ b/proto/MonsterForceAlertNotify.proto
@@ -0,0 +1,32 @@
+// 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 MonsterForceAlertNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 333;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 monster_entity_id = 1;
+}
diff --git a/proto/MonsterPointArrayRouteUpdateNotify.proto b/proto/MonsterPointArrayRouteUpdateNotify.proto
index 292113a1..32e7ec2f 100644
--- a/proto/MonsterPointArrayRouteUpdateNotify.proto
+++ b/proto/MonsterPointArrayRouteUpdateNotify.proto
@@ -21,10 +21,15 @@ import "MonsterRoute.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3410
-// EnetChannelId: 0
-// EnetIsReliable: true
message MonsterPointArrayRouteUpdateNotify {
- uint32 entity_id = 7;
- MonsterRoute monster_route = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3384;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 5;
+ MonsterRoute monster_route = 11;
}
diff --git a/proto/MonsterSummonTagNotify.proto b/proto/MonsterSummonTagNotify.proto
new file mode 100644
index 00000000..cb2db5f5
--- /dev/null
+++ b/proto/MonsterSummonTagNotify.proto
@@ -0,0 +1,33 @@
+// 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 MonsterSummonTagNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1379;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 monster_entity_id = 8;
+ map summon_tag_map = 4;
+}
diff --git a/proto/MoonfinTrialActivityDetailInfo.proto b/proto/MoonfinTrialActivityDetailInfo.proto
index 96780196..becd5556 100644
--- a/proto/MoonfinTrialActivityDetailInfo.proto
+++ b/proto/MoonfinTrialActivityDetailInfo.proto
@@ -22,6 +22,6 @@ import "MoonfinTrialLevelInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message MoonfinTrialActivityDetailInfo {
+ uint32 special_fish_count = 13;
map level_info_map = 5;
- uint32 special_fish_count = 11;
}
diff --git a/proto/MoonfinTrialLevelInfo.proto b/proto/MoonfinTrialLevelInfo.proto
index c460ade3..30179b78 100644
--- a/proto/MoonfinTrialLevelInfo.proto
+++ b/proto/MoonfinTrialLevelInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MoonfinTrialLevelInfo {
- uint32 best_record = 3;
- uint32 open_time = 1;
+ uint32 best_record = 15;
+ uint32 open_time = 13;
}
diff --git a/proto/MpBlockNotify.proto b/proto/MpBlockNotify.proto
new file mode 100644
index 00000000..1934ce9e
--- /dev/null
+++ b/proto/MpBlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 MpBlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1806;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 end_time = 12;
+}
diff --git a/proto/MpPlayGuestReplyInviteReq.proto b/proto/MpPlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..e250f700
--- /dev/null
+++ b/proto/MpPlayGuestReplyInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayGuestReplyInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1837;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mp_play_id = 13;
+ bool is_agree = 12;
+}
diff --git a/proto/MpPlayGuestReplyInviteRsp.proto b/proto/MpPlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..3f03362c
--- /dev/null
+++ b/proto/MpPlayGuestReplyInviteRsp.proto
@@ -0,0 +1,33 @@
+// 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 MpPlayGuestReplyInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1804;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mp_play_id = 7;
+ int32 retcode = 2;
+}
diff --git a/proto/MpPlayGuestReplyNotify.proto b/proto/MpPlayGuestReplyNotify.proto
new file mode 100644
index 00000000..e8096026
--- /dev/null
+++ b/proto/MpPlayGuestReplyNotify.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayGuestReplyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1810;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 4;
+ uint32 uid = 11;
+ uint32 mp_play_id = 2;
+}
diff --git a/proto/MpPlayInviteResultNotify.proto b/proto/MpPlayInviteResultNotify.proto
new file mode 100644
index 00000000..1c820f4f
--- /dev/null
+++ b/proto/MpPlayInviteResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 MpPlayInviteResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1839;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool all_agree = 14;
+ uint32 mp_play_id = 2;
+}
diff --git a/proto/MpPlayOwnerCheckReq.proto b/proto/MpPlayOwnerCheckReq.proto
new file mode 100644
index 00000000..16962c9b
--- /dev/null
+++ b/proto/MpPlayOwnerCheckReq.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayOwnerCheckReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1802;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mp_play_id = 13;
+ bool is_skip_match = 7;
+}
diff --git a/proto/MpPlayOwnerCheckRsp.proto b/proto/MpPlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..5f86027f
--- /dev/null
+++ b/proto/MpPlayOwnerCheckRsp.proto
@@ -0,0 +1,35 @@
+// 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 MpPlayOwnerCheckRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1843;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 wrong_uid = 4;
+ uint32 mp_play_id = 9;
+ bool is_skip_match = 15;
+ int32 retcode = 6;
+}
diff --git a/proto/MpPlayOwnerInviteNotify.proto b/proto/MpPlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..f1b5bca1
--- /dev/null
+++ b/proto/MpPlayOwnerInviteNotify.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayOwnerInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1821;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mp_play_id = 11;
+ bool is_remain_reward = 4;
+ uint32 cd = 7;
+}
diff --git a/proto/MpPlayOwnerStartInviteReq.proto b/proto/MpPlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..a2264ff6
--- /dev/null
+++ b/proto/MpPlayOwnerStartInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayOwnerStartInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1809;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_skip_match = 9;
+ uint32 mp_play_id = 10;
+}
diff --git a/proto/MpPlayOwnerStartInviteRsp.proto b/proto/MpPlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..35f90f78
--- /dev/null
+++ b/proto/MpPlayOwnerStartInviteRsp.proto
@@ -0,0 +1,34 @@
+// 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 MpPlayOwnerStartInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1830;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_skip_match = 14;
+ int32 retcode = 8;
+ uint32 mp_play_id = 4;
+}
diff --git a/proto/MpPlayPrepareInterruptNotify.proto b/proto/MpPlayPrepareInterruptNotify.proto
new file mode 100644
index 00000000..3a8135b0
--- /dev/null
+++ b/proto/MpPlayPrepareInterruptNotify.proto
@@ -0,0 +1,32 @@
+// 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 MpPlayPrepareInterruptNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1850;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mp_play_id = 1;
+}
diff --git a/proto/MpPlayPrepareNotify.proto b/proto/MpPlayPrepareNotify.proto
new file mode 100644
index 00000000..1339e6a8
--- /dev/null
+++ b/proto/MpPlayPrepareNotify.proto
@@ -0,0 +1,33 @@
+// 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 MpPlayPrepareNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1801;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mp_play_id = 3;
+ uint32 prepare_end_time = 13;
+}
diff --git a/proto/MsgParam.proto b/proto/MsgParam.proto
new file mode 100644
index 00000000..622c50e9
--- /dev/null
+++ b/proto/MsgParam.proto
@@ -0,0 +1,28 @@
+// 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 MsgParam {
+ oneof param {
+ uint32 int_param = 13;
+ float flt_param = 14;
+ string str_param = 4;
+ }
+}
diff --git a/proto/MultistagePlayEndNotify.proto b/proto/MultistagePlayEndNotify.proto
new file mode 100644
index 00000000..53f41006
--- /dev/null
+++ b/proto/MultistagePlayEndNotify.proto
@@ -0,0 +1,33 @@
+// 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 MultistagePlayEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5345;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 4;
+ uint32 play_index = 15;
+}
diff --git a/proto/MultistagePlayFinishStageReq.proto b/proto/MultistagePlayFinishStageReq.proto
new file mode 100644
index 00000000..1237048d
--- /dev/null
+++ b/proto/MultistagePlayFinishStageReq.proto
@@ -0,0 +1,34 @@
+// 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 MultistagePlayFinishStageReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5330;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_id = 12;
+ uint32 play_index = 7;
+}
diff --git a/proto/MultistagePlayFinishStageRsp.proto b/proto/MultistagePlayFinishStageRsp.proto
new file mode 100644
index 00000000..a8b038e7
--- /dev/null
+++ b/proto/MultistagePlayFinishStageRsp.proto
@@ -0,0 +1,34 @@
+// 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 MultistagePlayFinishStageRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5325;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 group_id = 2;
+ uint32 play_index = 3;
+}
diff --git a/proto/MultistagePlayInfo.proto b/proto/MultistagePlayInfo.proto
new file mode 100644
index 00000000..ef0075cc
--- /dev/null
+++ b/proto/MultistagePlayInfo.proto
@@ -0,0 +1,49 @@
+// 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 "BrickBreakerStageInfo.proto";
+import "CharAmusementInfo.proto";
+import "CoinCollectStageInfo.proto";
+import "HideAndSeekStageInfo.proto";
+import "InBattleChessInfo.proto";
+import "InBattleFleurFairInfo.proto";
+import "InBattleIrodoriChessInfo.proto";
+import "InBattleMechanicusInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MultistagePlayInfo {
+ uint32 play_index = 13;
+ uint32 duration = 2;
+ uint32 stage_type = 5;
+ uint32 group_id = 1;
+ uint32 stage_index = 10;
+ uint32 begin_time = 9;
+ uint32 play_type = 15;
+ oneof detail {
+ InBattleMechanicusInfo mechanicus_info = 1303;
+ InBattleFleurFairInfo fleur_fair_info = 1502;
+ HideAndSeekStageInfo hide_and_seek_info = 1725;
+ InBattleChessInfo chess_info = 1756;
+ InBattleIrodoriChessInfo irodori_chess_info = 1835;
+ CharAmusementInfo char_amusement_info = 1015;
+ BrickBreakerStageInfo brick_breaker_info = 547;
+ CoinCollectStageInfo coin_collect_info = 1263;
+ }
+}
diff --git a/proto/MultistagePlayInfoNotify.proto b/proto/MultistagePlayInfoNotify.proto
new file mode 100644
index 00000000..c5515c14
--- /dev/null
+++ b/proto/MultistagePlayInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "MultistagePlayInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MultistagePlayInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5379;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MultistagePlayInfo info = 5;
+}
diff --git a/proto/MultistagePlaySettleNotify.proto b/proto/MultistagePlaySettleNotify.proto
new file mode 100644
index 00000000..d66066bd
--- /dev/null
+++ b/proto/MultistagePlaySettleNotify.proto
@@ -0,0 +1,42 @@
+// 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 "InBattleChessSettleInfo.proto";
+import "InBattleIrodoriChessSettleInfo.proto";
+import "InBattleMechanicusSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MultistagePlaySettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5360;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 3;
+ uint32 play_index = 9;
+ oneof detail {
+ InBattleMechanicusSettleInfo mechanicus_settle_info = 649;
+ InBattleChessSettleInfo chess_settle_info = 512;
+ InBattleIrodoriChessSettleInfo irodori_chess_settle_info = 520;
+ }
+}
diff --git a/proto/MultistagePlayStageEndNotify.proto b/proto/MultistagePlayStageEndNotify.proto
new file mode 100644
index 00000000..2adfca48
--- /dev/null
+++ b/proto/MultistagePlayStageEndNotify.proto
@@ -0,0 +1,33 @@
+// 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 MultistagePlayStageEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5392;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 group_id = 3;
+ uint32 play_index = 1;
+}
diff --git a/proto/MultistageSettleWatcherInfo.proto b/proto/MultistageSettleWatcherInfo.proto
new file mode 100644
index 00000000..e2a5df4c
--- /dev/null
+++ b/proto/MultistageSettleWatcherInfo.proto
@@ -0,0 +1,27 @@
+// 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 MultistageSettleWatcherInfo {
+ bool is_inverse = 3;
+ uint32 cur_progress = 6;
+ uint32 watcher_id = 5;
+ uint32 total_progress = 11;
+}
diff --git a/proto/MuqadasPotionActivityDetailInfo.proto b/proto/MuqadasPotionActivityDetailInfo.proto
index 2d1112fa..9fedd1ff 100644
--- a/proto/MuqadasPotionActivityDetailInfo.proto
+++ b/proto/MuqadasPotionActivityDetailInfo.proto
@@ -22,5 +22,5 @@ import "MuqadasPotionLevelData.proto";
option java_package = "emu.grasscutter.net.proto";
message MuqadasPotionActivityDetailInfo {
- repeated MuqadasPotionLevelData muqadas_potion_level_data_list = 8;
+ repeated MuqadasPotionLevelData muqadas_potion_level_data_list = 5;
}
diff --git a/proto/MuqadasPotionActivityEnterDungeonReq.proto b/proto/MuqadasPotionActivityEnterDungeonReq.proto
new file mode 100644
index 00000000..895dc048
--- /dev/null
+++ b/proto/MuqadasPotionActivityEnterDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 MuqadasPotionActivityEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22772;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 4;
+}
diff --git a/proto/MuqadasPotionActivityEnterDungeonRsp.proto b/proto/MuqadasPotionActivityEnterDungeonRsp.proto
new file mode 100644
index 00000000..1fafaf41
--- /dev/null
+++ b/proto/MuqadasPotionActivityEnterDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 MuqadasPotionActivityEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22650;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 14;
+ int32 retcode = 15;
+}
diff --git a/proto/MuqadasPotionCaptureWeaknessReq.proto b/proto/MuqadasPotionCaptureWeaknessReq.proto
new file mode 100644
index 00000000..5ab0bfbc
--- /dev/null
+++ b/proto/MuqadasPotionCaptureWeaknessReq.proto
@@ -0,0 +1,34 @@
+// 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 MuqadasPotionCaptureWeaknessReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 24162;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 7;
+ uint32 capture_weakness_count = 10;
+}
diff --git a/proto/MuqadasPotionCaptureWeaknessRsp.proto b/proto/MuqadasPotionCaptureWeaknessRsp.proto
new file mode 100644
index 00000000..8d6561d5
--- /dev/null
+++ b/proto/MuqadasPotionCaptureWeaknessRsp.proto
@@ -0,0 +1,32 @@
+// 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 MuqadasPotionCaptureWeaknessRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21366;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+}
diff --git a/proto/MuqadasPotionDetailInfo.proto b/proto/MuqadasPotionDetailInfo.proto
new file mode 100644
index 00000000..b840574a
--- /dev/null
+++ b/proto/MuqadasPotionDetailInfo.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3000_IIBHKLNAHHC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MuqadasPotionDetailInfo {
+ repeated Unk3000_IIBHKLNAHHC Unk3000_IBEFNBFGAOP = 8;
+}
diff --git a/proto/MuqadasPotionDungeonSettleNotify.proto b/proto/MuqadasPotionDungeonSettleNotify.proto
index 31b89f0c..2648bc93 100644
--- a/proto/MuqadasPotionDungeonSettleNotify.proto
+++ b/proto/MuqadasPotionDungeonSettleNotify.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 20005
-// EnetChannelId: 0
-// EnetIsReliable: true
message MuqadasPotionDungeonSettleNotify {
- uint32 final_score = 11;
- uint32 capture_weakness_count = 15;
- bool is_success = 6;
- uint32 level_id = 10;
- bool is_new_record = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22734;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_success = 1;
+ bool is_new_record = 5;
+ uint32 level_id = 8;
+ uint32 capture_weakness_count = 3;
+ uint32 final_score = 9;
}
diff --git a/proto/MuqadasPotionLevelData.proto b/proto/MuqadasPotionLevelData.proto
index adef172f..eaa40de9 100644
--- a/proto/MuqadasPotionLevelData.proto
+++ b/proto/MuqadasPotionLevelData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MuqadasPotionLevelData {
- uint32 level_id = 15;
+ bool is_open = 1;
+ uint32 level_id = 2;
uint32 max_score = 9;
- bool is_open = 10;
}
diff --git a/proto/MuqadasPotionRestartDungeonReq.proto b/proto/MuqadasPotionRestartDungeonReq.proto
new file mode 100644
index 00000000..c0275473
--- /dev/null
+++ b/proto/MuqadasPotionRestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 MuqadasPotionRestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20087;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/MuqadasPotionRestartDungeonRsp.proto b/proto/MuqadasPotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..1d08e501
--- /dev/null
+++ b/proto/MuqadasPotionRestartDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 MuqadasPotionRestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20780;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/MusicGameActivityDetailInfo.proto b/proto/MusicGameActivityDetailInfo.proto
index c5fecac8..e9743fd6 100644
--- a/proto/MusicGameActivityDetailInfo.proto
+++ b/proto/MusicGameActivityDetailInfo.proto
@@ -23,7 +23,7 @@ import "UgcMusicBriefInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message MusicGameActivityDetailInfo {
- repeated UgcMusicBriefInfo ugc_record_list = 4;
- repeated UgcMusicBriefInfo ugc_search_list = 7;
- map music_game_record_map = 8;
+ repeated UgcMusicBriefInfo Unk3300_AAGCDCOIPJM = 2;
+ repeated UgcMusicBriefInfo Unk3300_OKHAACGHMAP = 12;
+ map music_game_record_map = 9;
}
diff --git a/proto/MusicGameRecord.proto b/proto/MusicGameRecord.proto
index 9d679af7..60558cb6 100644
--- a/proto/MusicGameRecord.proto
+++ b/proto/MusicGameRecord.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message MusicGameRecord {
- bool is_unlock = 9;
- uint32 max_score = 11;
- uint32 max_combo = 6;
+ bool is_unlock = 3;
+ uint32 max_combo = 14;
+ uint32 max_score = 7;
}
diff --git a/proto/MusicGameSettleReq.proto b/proto/MusicGameSettleReq.proto
index cea475c1..9b28a78d 100644
--- a/proto/MusicGameSettleReq.proto
+++ b/proto/MusicGameSettleReq.proto
@@ -19,27 +19,32 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8892
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MusicGameSettleReq {
- repeated uint32 button_list = 384;
- uint32 delay = 795;
- repeated uint32 note_list = 4;
- uint32 score_rating = 15;
- uint32 score = 9;
- uint64 ugc_guid = 6;
- uint32 restart_times = 13;
- bool is_custom_delay = 422;
- uint32 max_combo = 5;
- uint32 is_full_combo = 1058;
- float speed = 409;
- bool is_save_score = 3;
- uint32 combo = 1;
- uint32 music_basic_id = 7;
- uint32 star_rating = 2;
- uint32 volume = 1953;
- uint32 correct_hit = 14;
- bool is_custom_speed = 1285;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8998;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 Unk3300_MLLDAPCIDDO = 14;
+ repeated uint32 Unk3300_HHBCEPNLCLL = 1007;
+ bool Unk3300_DMLNKOLOAAH = 1984;
+ uint32 Unk3300_EBOJMGOCPLE = 82;
+ uint32 max_combo = 10;
+ bool is_save_score = 7;
+ float speed = 790;
+ uint32 Unk3300_MDHEJNFHBBI = 15;
+ uint32 score = 8;
+ bool Unk3300_BHIGAMNDFML = 291;
+ uint32 correct_hit = 11;
+ uint32 Unk3300_HEPJNCAOEMP = 1;
+ uint32 combo = 4;
+ uint32 Unk3300_IPODKENCAOK = 304;
+ uint64 ugc_guid = 3;
+ uint32 Unk3300_AHAGHAHGPLD = 12;
+ uint32 music_basic_id = 5;
+ uint32 Unk3300_GJMIIDIOOMM = 1951;
}
diff --git a/proto/MusicGameSettleRsp.proto b/proto/MusicGameSettleRsp.proto
index d1f08acd..5bf8e358 100644
--- a/proto/MusicGameSettleRsp.proto
+++ b/proto/MusicGameSettleRsp.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8673
-// EnetChannelId: 0
-// EnetIsReliable: true
message MusicGameSettleRsp {
- int32 retcode = 11;
- uint32 music_basic_id = 5;
- bool is_new_record = 6;
- bool is_unlock_next_level = 2;
- uint64 ugc_guid = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8360;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint64 ugc_guid = 7;
+ bool is_new_record = 8;
+ bool is_unlock_next_level = 10;
+ uint32 music_basic_id = 1;
}
diff --git a/proto/MusicGameStartReq.proto b/proto/MusicGameStartReq.proto
index e75c643b..dd38cbfd 100644
--- a/proto/MusicGameStartReq.proto
+++ b/proto/MusicGameStartReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8406
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message MusicGameStartReq {
- uint32 music_basic_id = 2;
- bool is_save_score = 11;
- uint64 ugc_guid = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8820;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 music_basic_id = 11;
+ bool is_save_score = 12;
+ uint64 ugc_guid = 9;
}
diff --git a/proto/MusicGameStartRsp.proto b/proto/MusicGameStartRsp.proto
index 27ef489f..60d943a6 100644
--- a/proto/MusicGameStartRsp.proto
+++ b/proto/MusicGameStartRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8326
-// EnetChannelId: 0
-// EnetIsReliable: true
message MusicGameStartRsp {
- uint32 music_basic_id = 4;
- int32 retcode = 1;
- uint64 ugc_guid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8216;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint32 music_basic_id = 13;
+ uint64 ugc_guid = 5;
}
diff --git a/proto/MusicRecord.proto b/proto/MusicRecord.proto
new file mode 100644
index 00000000..2c4015ec
--- /dev/null
+++ b/proto/MusicRecord.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_AAAMOFPACEA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message MusicRecord {
+ repeated Unk2700_AAAMOFPACEA Unk2700_MBJFOAGKKDJ = 4;
+ uint32 Unk2700_DFIBAIILJHN = 13;
+}
diff --git a/proto/NavMeshStatsNotify.proto b/proto/NavMeshStatsNotify.proto
new file mode 100644
index 00000000..0c1ca0f2
--- /dev/null
+++ b/proto/NavMeshStatsNotify.proto
@@ -0,0 +1,35 @@
+// 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 "PbNavMeshStatsInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message NavMeshStatsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2323;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated PbNavMeshStatsInfo infos = 3;
+}
diff --git a/proto/NicknameAuditConfigNotify.proto b/proto/NicknameAuditConfigNotify.proto
new file mode 100644
index 00000000..331c009b
--- /dev/null
+++ b/proto/NicknameAuditConfigNotify.proto
@@ -0,0 +1,33 @@
+// 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 NicknameAuditConfigNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 171;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 submit_limit = 3;
+ bool is_open = 8;
+}
diff --git a/proto/NicknameSignatureAuditData.proto b/proto/NicknameSignatureAuditData.proto
new file mode 100644
index 00000000..9edc7a25
--- /dev/null
+++ b/proto/NicknameSignatureAuditData.proto
@@ -0,0 +1,34 @@
+// 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 "ContentAuditAuxiliaryField.proto";
+import "ContentAuditField.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message NicknameSignatureAuditData {
+ string aid = 1;
+ string entity_id = 2;
+ string lang = 3;
+ string queue_key = 4;
+ string region = 5;
+ uint32 uid = 6;
+ repeated ContentAuditField audit_field_list = 7;
+ repeated ContentAuditAuxiliaryField aux_field_list = 8;
+}
diff --git a/proto/NightCrowGadgetObservationMatchReq.proto b/proto/NightCrowGadgetObservationMatchReq.proto
new file mode 100644
index 00000000..ee2b6ff7
--- /dev/null
+++ b/proto/NightCrowGadgetObservationMatchReq.proto
@@ -0,0 +1,34 @@
+// 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 NightCrowGadgetObservationMatchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 895;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gadget_entity_id = 7;
+ uint32 target_gadget_state = 1;
+}
diff --git a/proto/NightCrowGadgetObservationMatchRsp.proto b/proto/NightCrowGadgetObservationMatchRsp.proto
new file mode 100644
index 00000000..7570c31c
--- /dev/null
+++ b/proto/NightCrowGadgetObservationMatchRsp.proto
@@ -0,0 +1,32 @@
+// 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 NightCrowGadgetObservationMatchRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 864;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/NormalUidOpNotify.proto b/proto/NormalUidOpNotify.proto
new file mode 100644
index 00000000..d27974b7
--- /dev/null
+++ b/proto/NormalUidOpNotify.proto
@@ -0,0 +1,35 @@
+// 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 NormalUidOpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5742;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 param_index = 2;
+ repeated uint32 param_uid_list = 1;
+ uint32 duration = 8;
+ repeated uint32 param_list = 11;
+}
diff --git a/proto/NpcPositionInfo.proto b/proto/NpcPositionInfo.proto
new file mode 100644
index 00000000..5207d0e1
--- /dev/null
+++ b/proto/NpcPositionInfo.proto
@@ -0,0 +1,27 @@
+// 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 NpcPositionInfo {
+ uint32 npc_id = 1;
+ Vector pos = 2;
+}
diff --git a/proto/NpcTalkReq.proto b/proto/NpcTalkReq.proto
index 1a35263b..e038b8b7 100644
--- a/proto/NpcTalkReq.proto
+++ b/proto/NpcTalkReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 572
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message NpcTalkReq {
- uint32 entity_id = 8;
- uint32 npc_entity_id = 9;
- uint32 talk_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 14;
+ uint32 npc_entity_id = 11;
+ uint32 talk_id = 12;
}
diff --git a/proto/NpcTalkRsp.proto b/proto/NpcTalkRsp.proto
index 66491090..db798bd2 100644
--- a/proto/NpcTalkRsp.proto
+++ b/proto/NpcTalkRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 598
-// EnetChannelId: 0
-// EnetIsReliable: true
message NpcTalkRsp {
- uint32 cur_talk_id = 9;
- uint32 npc_entity_id = 6;
- int32 retcode = 3;
- uint32 entity_id = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 530;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 cur_talk_id = 12;
+ uint32 npc_entity_id = 4;
+ uint32 entity_id = 2;
}
diff --git a/proto/NpcTalkStateNotify.proto b/proto/NpcTalkStateNotify.proto
new file mode 100644
index 00000000..0ce9d95d
--- /dev/null
+++ b/proto/NpcTalkStateNotify.proto
@@ -0,0 +1,32 @@
+// 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 NpcTalkStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 450;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_ban = 2;
+}
diff --git a/proto/ObstacleInfo.proto b/proto/ObstacleInfo.proto
index 67d720f3..a179d928 100644
--- a/proto/ObstacleInfo.proto
+++ b/proto/ObstacleInfo.proto
@@ -24,14 +24,14 @@ import "Vector3Int.proto";
option java_package = "emu.grasscutter.net.proto";
message ObstacleInfo {
- MathQuaternion rotation = 4;
- int32 obstacle_id = 2;
- Vector center = 14;
- ShapeType shape = 6;
- Vector3Int extents = 12;
-
enum ShapeType {
SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
}
+
+ MathQuaternion rotation = 11;
+ ShapeType shape = 2;
+ Vector3Int extents = 4;
+ Vector center = 7;
+ int32 obstacle_id = 10;
}
diff --git a/proto/ObstacleModifyNotify.proto b/proto/ObstacleModifyNotify.proto
index 221ecd14..eccfd793 100644
--- a/proto/ObstacleModifyNotify.proto
+++ b/proto/ObstacleModifyNotify.proto
@@ -21,12 +21,17 @@ import "ObstacleInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2312
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ObstacleModifyNotify {
- repeated int32 remove_obstacle_ids = 9;
- repeated ObstacleInfo add_obstacles = 6;
- uint32 scene_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2356;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated int32 remove_obstacle_ids = 7;
+ repeated ObstacleInfo add_obstacles = 15;
+ uint32 scene_id = 12;
}
diff --git a/proto/OfferingInteractReq.proto b/proto/OfferingInteractReq.proto
new file mode 100644
index 00000000..3a0aabd9
--- /dev/null
+++ b/proto/OfferingInteractReq.proto
@@ -0,0 +1,33 @@
+// 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 OfferingInteractReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2920;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 offering_id = 9;
+}
diff --git a/proto/OfferingInteractRsp.proto b/proto/OfferingInteractRsp.proto
new file mode 100644
index 00000000..704d1682
--- /dev/null
+++ b/proto/OfferingInteractRsp.proto
@@ -0,0 +1,35 @@
+// 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 "PlayerOfferingData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OfferingInteractRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2906;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+ PlayerOfferingData offering_data = 4;
+}
diff --git a/proto/OfficialCustomDungeon.proto b/proto/OfficialCustomDungeon.proto
index aaf6a0a1..4e550bde 100644
--- a/proto/OfficialCustomDungeon.proto
+++ b/proto/OfficialCustomDungeon.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message OfficialCustomDungeon {
- uint32 dungeon_id = 11;
- uint32 win_times = 3;
+ uint32 dungeon_id = 4;
+ uint32 win_times = 13;
}
diff --git a/proto/OneofGatherPointDetectorData.proto b/proto/OneofGatherPointDetectorData.proto
index 9feb5bc0..f1e47166 100644
--- a/proto/OneofGatherPointDetectorData.proto
+++ b/proto/OneofGatherPointDetectorData.proto
@@ -22,11 +22,11 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message OneofGatherPointDetectorData {
- Vector hint_center_pos = 7;
- uint32 hint_radius = 14;
- uint32 material_id = 10;
- uint32 config_id = 6;
- uint32 group_id = 13;
- bool is_all_collected = 4;
- bool is_hint_valid = 15;
+ uint32 hint_radius = 4;
+ uint32 config_id = 3;
+ bool is_hint_valid = 11;
+ Vector hint_center_pos = 12;
+ bool is_all_collected = 10;
+ uint32 group_id = 1;
+ uint32 material_id = 9;
}
diff --git a/proto/OneofGatherPointDetectorDataNotify.proto b/proto/OneofGatherPointDetectorDataNotify.proto
new file mode 100644
index 00000000..63b0b378
--- /dev/null
+++ b/proto/OneofGatherPointDetectorDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "OneofGatherPointDetectorData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OneofGatherPointDetectorDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4293;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 2;
+}
diff --git a/proto/OneoffGatherPointDetectorData.proto b/proto/OneoffGatherPointDetectorData.proto
new file mode 100644
index 00000000..1a33adeb
--- /dev/null
+++ b/proto/OneoffGatherPointDetectorData.proto
@@ -0,0 +1,16 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "Vector.proto";
+
+message OneoffGatherPointDetectorData {
+ uint32 material_id = 1;
+ bool is_all_collected = 2;
+ bool is_hint_valid = 3;
+ Vector hint_center_pos = 4;
+ uint32 hint_radius = 5;
+ uint32 group_id = 6;
+ uint32 config_id = 7;
+}
diff --git a/proto/OneoffGatherPointDetectorDataNotify.proto b/proto/OneoffGatherPointDetectorDataNotify.proto
new file mode 100644
index 00000000..03f12c5b
--- /dev/null
+++ b/proto/OneoffGatherPointDetectorDataNotify.proto
@@ -0,0 +1,18 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "OneoffGatherPointDetectorData.proto";
+
+message OneoffGatherPointDetectorDataNotify {
+ enum CmdId {
+ option allow_alias = true;
+ NONE = 0;
+ ENET_CHANNEL_ID = 0;
+ ENET_IS_RELIABLE = 1;
+ CMD_ID = 4262;
+ }
+
+ repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 6;
+}
diff --git a/proto/OpActivityDataNotify.proto b/proto/OpActivityDataNotify.proto
new file mode 100644
index 00000000..d37295a7
--- /dev/null
+++ b/proto/OpActivityDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "OpActivityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OpActivityDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5156;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated OpActivityInfo op_activity_info_list = 4;
+}
diff --git a/proto/OpActivityInfo.proto b/proto/OpActivityInfo.proto
index a0205f9a..779c72b9 100644
--- a/proto/OpActivityInfo.proto
+++ b/proto/OpActivityInfo.proto
@@ -22,12 +22,12 @@ import "BonusOpActivityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message OpActivityInfo {
- uint32 activity_id = 2;
- uint32 end_time = 6;
- uint32 begin_time = 5;
- bool is_has_change = 1;
- uint32 schedule_id = 13;
+ uint32 activity_id = 15;
+ uint32 schedule_id = 14;
+ uint32 end_time = 4;
+ uint32 begin_time = 13;
+ bool is_has_change = 7;
oneof detail {
- BonusOpActivityInfo bonus_info = 12;
+ BonusOpActivityInfo bonus_info = 6;
}
}
diff --git a/proto/OpActivityStateNotify.proto b/proto/OpActivityStateNotify.proto
new file mode 100644
index 00000000..9e525d96
--- /dev/null
+++ b/proto/OpActivityStateNotify.proto
@@ -0,0 +1,35 @@
+// 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 "OpActivityTagBriefInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OpActivityStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 finished_bonus_activity_id_list = 6;
+ repeated OpActivityTagBriefInfo opened_op_activity_info_list = 8;
+}
diff --git a/proto/OpActivityTagBriefInfo.proto b/proto/OpActivityTagBriefInfo.proto
new file mode 100644
index 00000000..3f85586f
--- /dev/null
+++ b/proto/OpActivityTagBriefInfo.proto
@@ -0,0 +1,26 @@
+// 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 OpActivityTagBriefInfo {
+ bool has_reward = 14;
+ uint32 op_activity_type = 2;
+ uint32 config_id = 13;
+}
diff --git a/proto/OpActivityUpdateNotify.proto b/proto/OpActivityUpdateNotify.proto
new file mode 100644
index 00000000..d2b1ab58
--- /dev/null
+++ b/proto/OpActivityUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "OpActivityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OpActivityUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ OpActivityInfo op_activity_info = 9;
+}
diff --git a/proto/OpenBlossomCircleCampGuideNotify.proto b/proto/OpenBlossomCircleCampGuideNotify.proto
new file mode 100644
index 00000000..14d5a032
--- /dev/null
+++ b/proto/OpenBlossomCircleCampGuideNotify.proto
@@ -0,0 +1,34 @@
+// 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 OpenBlossomCircleCampGuideNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2761;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 refresh_id = 8;
+ repeated uint32 circle_camp_id_list = 6;
+}
diff --git a/proto/OpenStateChangeNotify.proto b/proto/OpenStateChangeNotify.proto
index 11357153..7d989715 100644
--- a/proto/OpenStateChangeNotify.proto
+++ b/proto/OpenStateChangeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 127
-// EnetChannelId: 0
-// EnetIsReliable: true
message OpenStateChangeNotify {
- map open_state_map = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 117;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map open_state_map = 3;
}
diff --git a/proto/OpenStateUpdateNotify.proto b/proto/OpenStateUpdateNotify.proto
index 04f2e034..73a8772c 100644
--- a/proto/OpenStateUpdateNotify.proto
+++ b/proto/OpenStateUpdateNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 193
-// EnetChannelId: 0
-// EnetIsReliable: true
message OpenStateUpdateNotify {
- map open_state_map = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 107;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map open_state_map = 12;
}
diff --git a/proto/Operation.proto b/proto/Operation.proto
new file mode 100644
index 00000000..27996c33
--- /dev/null
+++ b/proto/Operation.proto
@@ -0,0 +1,11 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum Operation {
+ Add = 0;
+ Mod = 1;
+ Del = 2;
+ Get = 3;
+}
diff --git a/proto/OrderDisplayNotify.proto b/proto/OrderDisplayNotify.proto
new file mode 100644
index 00000000..e3d784a2
--- /dev/null
+++ b/proto/OrderDisplayNotify.proto
@@ -0,0 +1,33 @@
+// 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 OrderDisplayNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4131;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 order_id = 5;
+}
diff --git a/proto/OrderFinishNotify.proto b/proto/OrderFinishNotify.proto
new file mode 100644
index 00000000..d081a803
--- /dev/null
+++ b/proto/OrderFinishNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OrderFinishNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4122;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 order_id = 8;
+ string product_id = 5;
+ uint32 card_product_remain_days = 6;
+ repeated ItemParam item_list = 4;
+ uint32 add_mcoin = 14;
+}
diff --git a/proto/OtherCustomDungeonBrief.proto b/proto/OtherCustomDungeonBrief.proto
new file mode 100644
index 00000000..50d1dfe3
--- /dev/null
+++ b/proto/OtherCustomDungeonBrief.proto
@@ -0,0 +1,39 @@
+// 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 "CustomDungeonAbstract.proto";
+import "CustomDungeonSetting.proto";
+import "CustomDungeonSocial.proto";
+import "SocialDetail.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message OtherCustomDungeonBrief {
+ bool is_adventure_dungeon = 12;
+ uint32 battle_min_cost_time = 10;
+ repeated uint32 tag_list = 13;
+ bool is_stored = 8;
+ uint32 dungeon_id = 15;
+ bool is_psn_platform = 1;
+ uint64 dungeon_guid = 7;
+ CustomDungeonSetting setting = 2;
+ CustomDungeonSocial social = 14;
+ CustomDungeonAbstract abstract = 4;
+ SocialDetail creator_detail = 11;
+}
diff --git a/proto/OtherPlayerEnterHomeNotify.proto b/proto/OtherPlayerEnterHomeNotify.proto
new file mode 100644
index 00000000..5a54a595
--- /dev/null
+++ b/proto/OtherPlayerEnterHomeNotify.proto
@@ -0,0 +1,39 @@
+// 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 OtherPlayerEnterHomeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4749;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum Reason {
+ REASON_INVALID = 0;
+ REASON_ENTER = 1;
+ REASON_LEAVE = 2;
+ }
+
+ string nickname = 5;
+ Reason reason = 10;
+}
diff --git a/proto/OutStuckCustomDungeonReq.proto b/proto/OutStuckCustomDungeonReq.proto
new file mode 100644
index 00000000..f348ff70
--- /dev/null
+++ b/proto/OutStuckCustomDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 OutStuckCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6213;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/OutStuckCustomDungeonRsp.proto b/proto/OutStuckCustomDungeonRsp.proto
new file mode 100644
index 00000000..6b9a5a24
--- /dev/null
+++ b/proto/OutStuckCustomDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 OutStuckCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6238;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 10;
+}
diff --git a/proto/PBNavMeshPoly.proto b/proto/PBNavMeshPoly.proto
new file mode 100644
index 00000000..78bc980f
--- /dev/null
+++ b/proto/PBNavMeshPoly.proto
@@ -0,0 +1,33 @@
+// 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 PBNavMeshPoly {
+ enum EdgeType {
+ EDGE_TYPE_INNER = 0;
+ EDGE_TYPE_TILE_BOUND = 1;
+ EDGE_TYPE_TILE_BOUND_UNCONNECT = 2;
+ EDGE_TYPE_TILE_BOUND_OVERIDE = 3;
+ }
+
+ int32 area = 14;
+ repeated int32 vects = 13;
+ repeated EdgeType edge_types = 5;
+}
diff --git a/proto/PBNavMeshTile.proto b/proto/PBNavMeshTile.proto
new file mode 100644
index 00000000..e50db8c8
--- /dev/null
+++ b/proto/PBNavMeshTile.proto
@@ -0,0 +1,28 @@
+// 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 "PBNavMeshPoly.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PBNavMeshTile {
+ repeated Vector vecs = 12;
+ repeated PBNavMeshPoly polys = 13;
+}
diff --git a/proto/PSNBlackListNotify.proto b/proto/PSNBlackListNotify.proto
new file mode 100644
index 00000000..bd663f5a
--- /dev/null
+++ b/proto/PSNBlackListNotify.proto
@@ -0,0 +1,34 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PSNBlackListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4085;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FriendBrief psn_blacklist = 13;
+}
diff --git a/proto/PSNFriendListNotify.proto b/proto/PSNFriendListNotify.proto
new file mode 100644
index 00000000..c584c6b3
--- /dev/null
+++ b/proto/PSNFriendListNotify.proto
@@ -0,0 +1,34 @@
+// 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 "FriendBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PSNFriendListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4087;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated FriendBrief psn_friend_list = 1;
+}
diff --git a/proto/PSPlayerApplyEnterMpReq.proto b/proto/PSPlayerApplyEnterMpReq.proto
index 56bcc8a6..a8444297 100644
--- a/proto/PSPlayerApplyEnterMpReq.proto
+++ b/proto/PSPlayerApplyEnterMpReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1841
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PSPlayerApplyEnterMpReq {
- string target_psn_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1808;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string target_psn_id = 9;
}
diff --git a/proto/PSPlayerApplyEnterMpRsp.proto b/proto/PSPlayerApplyEnterMpRsp.proto
index d36f2236..28db4b60 100644
--- a/proto/PSPlayerApplyEnterMpRsp.proto
+++ b/proto/PSPlayerApplyEnterMpRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1842
-// EnetChannelId: 0
-// EnetIsReliable: true
message PSPlayerApplyEnterMpRsp {
- string target_psn_id = 2;
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1845;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string target_psn_id = 3;
+ int32 retcode = 5;
uint32 param = 10;
}
diff --git a/proto/ParentQuest.proto b/proto/ParentQuest.proto
index 93dfc276..980ffa95 100644
--- a/proto/ParentQuest.proto
+++ b/proto/ParentQuest.proto
@@ -24,15 +24,15 @@ import "ParentQuestRandomInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ParentQuest {
- repeated int32 quest_var = 14;
- map time_var_map = 8;
- uint32 parent_quest_state = 1;
- bool is_finished = 7;
- repeated InferencePageInfo inference_page_list = 15;
- ParentQuestRandomInfo random_info = 12;
+ repeated InferencePageInfo inference_page_list = 5;
+ repeated int32 quest_var = 7;
+ uint64 video_key = 11;
+ uint32 Unk3300_BOMOHKDHMNH = 15;
+ ParentQuestRandomInfo random_info = 9;
uint32 parent_quest_id = 3;
- bool is_random = 13;
- uint64 video_key = 6;
- uint32 quest_var_seq = 11;
- repeated ChildQuest child_quest_list = 9;
+ bool is_random = 12;
+ repeated ChildQuest child_quest_list = 8;
+ bool is_finished = 1;
+ map time_var_map = 2;
+ uint32 Unk3300_PCIHJLPPHNJ = 14;
}
diff --git a/proto/ParentQuestInferenceDataNotify.proto b/proto/ParentQuestInferenceDataNotify.proto
index fd5e816b..c1e8cc67 100644
--- a/proto/ParentQuestInferenceDataNotify.proto
+++ b/proto/ParentQuestInferenceDataNotify.proto
@@ -21,10 +21,15 @@ import "InferencePageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 402
-// EnetChannelId: 0
-// EnetIsReliable: true
message ParentQuestInferenceDataNotify {
- uint32 parent_quest_id = 2;
- repeated InferencePageInfo inference_page_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 493;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 parent_quest_id = 8;
+ repeated InferencePageInfo inference_page_list = 14;
}
diff --git a/proto/ParentQuestRandomInfo.proto b/proto/ParentQuestRandomInfo.proto
index 60ed2343..b779fc9d 100644
--- a/proto/ParentQuestRandomInfo.proto
+++ b/proto/ParentQuestRandomInfo.proto
@@ -21,6 +21,6 @@ option java_package = "emu.grasscutter.net.proto";
message ParentQuestRandomInfo {
repeated uint32 factor_list = 1;
- uint32 template_id = 8;
- uint32 entrance_id = 2;
+ uint32 entrance_id = 8;
+ uint32 template_id = 15;
}
diff --git a/proto/ParkourLevelInfo.proto b/proto/ParkourLevelInfo.proto
index f450d917..73af6c1e 100644
--- a/proto/ParkourLevelInfo.proto
+++ b/proto/ParkourLevelInfo.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message ParkourLevelInfo {
- uint32 best_record = 12;
- bool is_open = 9;
- uint32 open_time = 7;
Vector pos = 2;
+ bool is_open = 7;
+ uint32 best_record = 14;
+ uint32 open_time = 4;
}
diff --git a/proto/PathfindingEnterSceneReq.proto b/proto/PathfindingEnterSceneReq.proto
index eb5c205b..c513aac6 100644
--- a/proto/PathfindingEnterSceneReq.proto
+++ b/proto/PathfindingEnterSceneReq.proto
@@ -21,16 +21,21 @@ import "ObstacleInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2307
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PathfindingEnterSceneReq {
- uint32 scene_id = 12;
- repeated uint32 activity_id = 14;
- uint32 scene_tag_hash = 15;
- uint32 version = 6;
- bool is_editor = 11;
- repeated ObstacleInfo obstacles = 13;
- uint32 polygon_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2400;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_id = 10;
+ uint32 Unk3300_MGGFOILELKH = 12;
+ uint32 Unk3300_JHLKDOHPIFB = 2;
+ repeated uint32 activity_id = 13;
+ uint32 version = 11;
+ bool is_editor = 8;
+ repeated ObstacleInfo obstacles = 5;
}
diff --git a/proto/PathfindingEnterSceneRsp.proto b/proto/PathfindingEnterSceneRsp.proto
index 8fac5ba0..26ab6b49 100644
--- a/proto/PathfindingEnterSceneRsp.proto
+++ b/proto/PathfindingEnterSceneRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2321
-// EnetChannelId: 0
-// EnetIsReliable: true
message PathfindingEnterSceneRsp {
- int32 retcode = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2343;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
}
diff --git a/proto/PathfindingPingNotify.proto b/proto/PathfindingPingNotify.proto
new file mode 100644
index 00000000..5077d702
--- /dev/null
+++ b/proto/PathfindingPingNotify.proto
@@ -0,0 +1,31 @@
+// 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 PathfindingPingNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2319;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/PbNavMeshStatsInfo.proto b/proto/PbNavMeshStatsInfo.proto
new file mode 100644
index 00000000..69b25000
--- /dev/null
+++ b/proto/PbNavMeshStatsInfo.proto
@@ -0,0 +1,27 @@
+// 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 PbNavMeshStatsInfo {
+ int32 Unk3300_MOKPJBIPHNI = 8;
+ int32 Unk3300_IMLHLJAOBLF = 3;
+ int32 Unk3300_DHJKKJLKDHB = 15;
+ int32 Unk3300_EEONKADBJME = 13;
+}
diff --git a/proto/PerformOperationNotify.proto b/proto/PerformOperationNotify.proto
new file mode 100644
index 00000000..3afcc5fd
--- /dev/null
+++ b/proto/PerformOperationNotify.proto
@@ -0,0 +1,43 @@
+// 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 PerformOperationNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1176;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum OperateType {
+ OPERATE_TYPE_NONE = 0;
+ OPERATE_TYPE_EFFECT = 1;
+ }
+
+ OperateType operate_type = 13;
+ uint32 index = 7;
+ Vector pos = 9;
+ uint32 entity_id = 5;
+ Vector rot = 4;
+}
diff --git a/proto/PersistentDungeonSwitchAvatarReq.proto b/proto/PersistentDungeonSwitchAvatarReq.proto
new file mode 100644
index 00000000..1c8adf35
--- /dev/null
+++ b/proto/PersistentDungeonSwitchAvatarReq.proto
@@ -0,0 +1,34 @@
+// 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 PersistentDungeonSwitchAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1624;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 cur_avatar_guid = 14;
+ repeated uint64 avatar_team_guid_list = 2;
+}
diff --git a/proto/PersistentDungeonSwitchAvatarRsp.proto b/proto/PersistentDungeonSwitchAvatarRsp.proto
new file mode 100644
index 00000000..8a30eb83
--- /dev/null
+++ b/proto/PersistentDungeonSwitchAvatarRsp.proto
@@ -0,0 +1,34 @@
+// 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 PersistentDungeonSwitchAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1677;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ repeated uint64 avatar_team_guid_list = 9;
+ uint64 cur_avatar_guid = 15;
+}
diff --git a/proto/PersonalLineAllDataReq.proto b/proto/PersonalLineAllDataReq.proto
index 9061d721..7258f91a 100644
--- a/proto/PersonalLineAllDataReq.proto
+++ b/proto/PersonalLineAllDataReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 474
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message PersonalLineAllDataReq {}
+message PersonalLineAllDataReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 434;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/PersonalLineAllDataRsp.proto b/proto/PersonalLineAllDataRsp.proto
index 319bb84c..c4fdd282 100644
--- a/proto/PersonalLineAllDataRsp.proto
+++ b/proto/PersonalLineAllDataRsp.proto
@@ -21,14 +21,19 @@ import "LockedPersonallineData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 476
-// EnetChannelId: 0
-// EnetIsReliable: true
message PersonalLineAllDataRsp {
- uint32 cur_finished_daily_task_count = 5;
- repeated uint32 can_be_unlocked_personal_line_list = 13;
- int32 retcode = 15;
- repeated uint32 ongoing_personal_line_list = 8;
- uint32 legendary_key_count = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 495;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_finished_daily_task_count = 12;
repeated LockedPersonallineData locked_personal_line_list = 10;
+ int32 retcode = 2;
+ repeated uint32 Unk3300_BHLEGLEICFJ = 1;
+ repeated uint32 Unk3300_BGCIGNEGBIN = 6;
+ uint32 legendary_key_count = 5;
}
diff --git a/proto/PersonalLineNewUnlockNotify.proto b/proto/PersonalLineNewUnlockNotify.proto
new file mode 100644
index 00000000..427b5ffd
--- /dev/null
+++ b/proto/PersonalLineNewUnlockNotify.proto
@@ -0,0 +1,32 @@
+// 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 PersonalLineNewUnlockNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 411;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 personal_line_id_list = 6;
+}
diff --git a/proto/PersonalSceneJumpReq.proto b/proto/PersonalSceneJumpReq.proto
index c1dc01e4..aa587a24 100644
--- a/proto/PersonalSceneJumpReq.proto
+++ b/proto/PersonalSceneJumpReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 284
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PersonalSceneJumpReq {
- uint32 point_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 252;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 point_id = 14;
}
diff --git a/proto/PersonalSceneJumpRsp.proto b/proto/PersonalSceneJumpRsp.proto
index 0b80c14a..f00477c9 100644
--- a/proto/PersonalSceneJumpRsp.proto
+++ b/proto/PersonalSceneJumpRsp.proto
@@ -21,11 +21,16 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 280
-// EnetChannelId: 0
-// EnetIsReliable: true
message PersonalSceneJumpRsp {
- uint32 dest_scene_id = 5;
- int32 retcode = 8;
- Vector dest_pos = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 274;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dest_scene_id = 3;
+ Vector dest_pos = 8;
+ int32 retcode = 7;
}
diff --git a/proto/PhotoActivityClientViewReq.proto b/proto/PhotoActivityClientViewReq.proto
new file mode 100644
index 00000000..15dc66e0
--- /dev/null
+++ b/proto/PhotoActivityClientViewReq.proto
@@ -0,0 +1,33 @@
+// 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 PhotoActivityClientViewReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 9000;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 pos_id = 13;
+}
diff --git a/proto/PhotoActivityClientViewRsp.proto b/proto/PhotoActivityClientViewRsp.proto
new file mode 100644
index 00000000..15291426
--- /dev/null
+++ b/proto/PhotoActivityClientViewRsp.proto
@@ -0,0 +1,33 @@
+// 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 PhotoActivityClientViewRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8963;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ uint32 pos_id = 2;
+}
diff --git a/proto/PhotoActivityDetailInfo.proto b/proto/PhotoActivityDetailInfo.proto
index c02d77be..b5d5a6b6 100644
--- a/proto/PhotoActivityDetailInfo.proto
+++ b/proto/PhotoActivityDetailInfo.proto
@@ -22,6 +22,6 @@ import "PhotoPosData.proto";
option java_package = "emu.grasscutter.net.proto";
message PhotoActivityDetailInfo {
- bool is_content_closed = 4;
- repeated PhotoPosData photo_pos_data_list = 12;
+ bool is_content_closed = 5;
+ repeated PhotoPosData photo_pos_data_list = 14;
}
diff --git a/proto/PhotoActivityFinishReq.proto b/proto/PhotoActivityFinishReq.proto
new file mode 100644
index 00000000..548d9e39
--- /dev/null
+++ b/proto/PhotoActivityFinishReq.proto
@@ -0,0 +1,35 @@
+// 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 PhotoActivityFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8395;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 pos_id = 8;
+ uint32 check_root_id = 11;
+ bool is_succ = 15;
+}
diff --git a/proto/PhotoActivityFinishRsp.proto b/proto/PhotoActivityFinishRsp.proto
new file mode 100644
index 00000000..1106e28a
--- /dev/null
+++ b/proto/PhotoActivityFinishRsp.proto
@@ -0,0 +1,33 @@
+// 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 PhotoActivityFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8847;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 pos_id = 9;
+}
diff --git a/proto/PhotoGallerySettleInfo.proto b/proto/PhotoGallerySettleInfo.proto
new file mode 100644
index 00000000..b181bc68
--- /dev/null
+++ b/proto/PhotoGallerySettleInfo.proto
@@ -0,0 +1,26 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PhotoGallerySettleInfo {
+ GalleryStopReason reason = 13;
+}
diff --git a/proto/PhotoPosData.proto b/proto/PhotoPosData.proto
index fe885555..11523134 100644
--- a/proto/PhotoPosData.proto
+++ b/proto/PhotoPosData.proto
@@ -22,9 +22,9 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message PhotoPosData {
- Vector center = 15;
- uint32 open_time = 2;
- bool is_view = 4;
+ uint32 open_time = 10;
uint32 pos_id = 9;
- bool is_open = 6;
+ Vector center = 7;
+ bool is_view = 13;
+ bool is_open = 3;
}
diff --git a/proto/PhotoStage.proto b/proto/PhotoStage.proto
new file mode 100644
index 00000000..b09a916e
--- /dev/null
+++ b/proto/PhotoStage.proto
@@ -0,0 +1,30 @@
+// 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 PhotoStage {
+ Vector center = 15;
+ uint32 open_time = 2;
+ bool Unk2700_DDOBNKLLLDF = 4;
+ uint32 Unk2700_CKGJEOOKFIF = 9;
+ bool is_open = 6;
+}
diff --git a/proto/PingReq.proto b/proto/PingReq.proto
index 9b8845d6..8fc9baf4 100644
--- a/proto/PingReq.proto
+++ b/proto/PingReq.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 7
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PingReq {
- uint32 client_time = 12;
- float ue_time = 14;
- double total_tick_time = 6;
- bytes sc_data = 10;
- uint32 seq = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 100;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 client_time = 6;
+ double total_tick_time = 9;
+ float ue_time = 2;
+ uint32 seq = 12;
+ bytes sc_data = 3;
}
diff --git a/proto/PingRsp.proto b/proto/PingRsp.proto
index c1f83219..1a82acee 100644
--- a/proto/PingRsp.proto
+++ b/proto/PingRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 21
-// EnetChannelId: 0
-// EnetIsReliable: true
message PingRsp {
- uint32 client_time = 15;
- int32 retcode = 6;
- uint32 seq = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 43;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 client_time = 10;
+ uint32 seq = 15;
}
diff --git a/proto/PlaceInfo.proto b/proto/PlaceInfo.proto
new file mode 100644
index 00000000..8eeddcbb
--- /dev/null
+++ b/proto/PlaceInfo.proto
@@ -0,0 +1,27 @@
+// 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 PlaceInfo {
+ Vector pos = 1;
+ Vector rot = 2;
+}
diff --git a/proto/PlantFlowerAcceptAllGiveFlowerReq.proto b/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
new file mode 100644
index 00000000..49529591
--- /dev/null
+++ b/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerAcceptAllGiveFlowerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8240;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 14;
+}
diff --git a/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto b/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
new file mode 100644
index 00000000..b94c5b8f
--- /dev/null
+++ b/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
@@ -0,0 +1,36 @@
+// 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 "PlantFlowerAcceptFlowerResultInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerAcceptAllGiveFlowerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8313;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 12;
+ int32 retcode = 6;
+ repeated PlantFlowerAcceptFlowerResultInfo accept_flower_result_info_list = 13;
+}
diff --git a/proto/PlantFlowerAcceptFlowerResultInfo.proto b/proto/PlantFlowerAcceptFlowerResultInfo.proto
new file mode 100644
index 00000000..c79d0127
--- /dev/null
+++ b/proto/PlantFlowerAcceptFlowerResultInfo.proto
@@ -0,0 +1,26 @@
+// 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 PlantFlowerAcceptFlowerResultInfo {
+ uint32 uid = 9;
+ map Unk3300_PALEJEDIAJP = 6;
+ map Unk3300_ILAADDCOPKE = 7;
+}
diff --git a/proto/PlantFlowerAcceptGiveFlowerReq.proto b/proto/PlantFlowerAcceptGiveFlowerReq.proto
new file mode 100644
index 00000000..8fc868a0
--- /dev/null
+++ b/proto/PlantFlowerAcceptGiveFlowerReq.proto
@@ -0,0 +1,34 @@
+// 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 PlantFlowerAcceptGiveFlowerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8300;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 13;
+ uint32 schedule_id = 12;
+}
diff --git a/proto/PlantFlowerAcceptGiveFlowerRsp.proto b/proto/PlantFlowerAcceptGiveFlowerRsp.proto
new file mode 100644
index 00000000..99337cf2
--- /dev/null
+++ b/proto/PlantFlowerAcceptGiveFlowerRsp.proto
@@ -0,0 +1,36 @@
+// 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 "PlantFlowerAcceptFlowerResultInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerAcceptGiveFlowerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8554;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ PlantFlowerAcceptFlowerResultInfo accept_flower_result_info = 3;
+ uint32 schedule_id = 6;
+ int32 retcode = 9;
+}
diff --git a/proto/PlantFlowerActivityDetailInfo.proto b/proto/PlantFlowerActivityDetailInfo.proto
index 10828271..0cb6f6dd 100644
--- a/proto/PlantFlowerActivityDetailInfo.proto
+++ b/proto/PlantFlowerActivityDetailInfo.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PlantFlowerActivityDetailInfo {
- bool is_content_closed = 3;
- map wish_flower_num_map = 10;
- uint32 today_seed_reward_id = 11;
uint32 day_index = 1;
- bool is_today_has_awarded = 13;
- map used_flower_num_map = 7;
+ uint32 today_seed_reward_id = 15;
+ bool is_content_closed = 3;
+ map Unk3300_EPMKDFOBLFK = 9;
+ map Unk3300_ELAIBMDIBFJ = 5;
+ bool is_today_has_awarded = 8;
}
diff --git a/proto/PlantFlowerEditFlowerCombinationReq.proto b/proto/PlantFlowerEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..2b3ab846
--- /dev/null
+++ b/proto/PlantFlowerEditFlowerCombinationReq.proto
@@ -0,0 +1,37 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerEditFlowerCombinationReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8396;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 3;
+ CustomGadgetTreeInfo flower_combination_info = 8;
+ uint32 schedule_id = 12;
+}
diff --git a/proto/PlantFlowerEditFlowerCombinationRsp.proto b/proto/PlantFlowerEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..1e726743
--- /dev/null
+++ b/proto/PlantFlowerEditFlowerCombinationRsp.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerEditFlowerCombinationRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8684;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 7;
+ int32 retcode = 8;
+}
diff --git a/proto/PlantFlowerFriendFlowerWishData.proto b/proto/PlantFlowerFriendFlowerWishData.proto
new file mode 100644
index 00000000..d053119e
--- /dev/null
+++ b/proto/PlantFlowerFriendFlowerWishData.proto
@@ -0,0 +1,29 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerFriendFlowerWishData {
+ uint32 uid = 5;
+ map flower_num_map = 11;
+ ProfilePicture profile_picture = 8;
+ string nickname = 15;
+}
diff --git a/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto b/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..b0d812eb
--- /dev/null
+++ b/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerGetCanGiveFriendFlowerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8545;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 14;
+}
diff --git a/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto b/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..f2189357
--- /dev/null
+++ b/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
@@ -0,0 +1,34 @@
+// 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 PlantFlowerGetCanGiveFriendFlowerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8273;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map flower_num_map = 5;
+ int32 retcode = 3;
+ uint32 schedule_id = 13;
+}
diff --git a/proto/PlantFlowerGetFriendFlowerWishListReq.proto b/proto/PlantFlowerGetFriendFlowerWishListReq.proto
new file mode 100644
index 00000000..8eaf210a
--- /dev/null
+++ b/proto/PlantFlowerGetFriendFlowerWishListReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerGetFriendFlowerWishListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8132;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 10;
+}
diff --git a/proto/PlantFlowerGetFriendFlowerWishListRsp.proto b/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
new file mode 100644
index 00000000..b3ea4dc5
--- /dev/null
+++ b/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
@@ -0,0 +1,36 @@
+// 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 "PlantFlowerFriendFlowerWishData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerGetFriendFlowerWishListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8682;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 14;
+ int32 retcode = 7;
+ repeated PlantFlowerFriendFlowerWishData friend_flower_wish_list = 13;
+}
diff --git a/proto/PlantFlowerGetRecvFlowerListReq.proto b/proto/PlantFlowerGetRecvFlowerListReq.proto
new file mode 100644
index 00000000..75f02928
--- /dev/null
+++ b/proto/PlantFlowerGetRecvFlowerListReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerGetRecvFlowerListReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8662;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 6;
+}
diff --git a/proto/PlantFlowerGetRecvFlowerListRsp.proto b/proto/PlantFlowerGetRecvFlowerListRsp.proto
new file mode 100644
index 00000000..b561e699
--- /dev/null
+++ b/proto/PlantFlowerGetRecvFlowerListRsp.proto
@@ -0,0 +1,36 @@
+// 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 "PlantFlowerRecvFlowerData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerGetRecvFlowerListRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8229;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PlantFlowerRecvFlowerData recv_flower_list = 15;
+ int32 retcode = 11;
+ uint32 schedule_id = 4;
+}
diff --git a/proto/PlantFlowerGetSeedInfoReq.proto b/proto/PlantFlowerGetSeedInfoReq.proto
new file mode 100644
index 00000000..e97c4ba8
--- /dev/null
+++ b/proto/PlantFlowerGetSeedInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerGetSeedInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8674;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 14;
+}
diff --git a/proto/PlantFlowerGetSeedInfoRsp.proto b/proto/PlantFlowerGetSeedInfoRsp.proto
new file mode 100644
index 00000000..7d382f81
--- /dev/null
+++ b/proto/PlantFlowerGetSeedInfoRsp.proto
@@ -0,0 +1,34 @@
+// 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 PlantFlowerGetSeedInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8912;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 seed_reward_id = 8;
+ uint32 schedule_id = 13;
+}
diff --git a/proto/PlantFlowerGiveFriendFlowerReq.proto b/proto/PlantFlowerGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..833a63eb
--- /dev/null
+++ b/proto/PlantFlowerGiveFriendFlowerReq.proto
@@ -0,0 +1,35 @@
+// 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 PlantFlowerGiveFriendFlowerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8930;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 6;
+ uint32 uid = 3;
+ map flower_num_map = 13;
+}
diff --git a/proto/PlantFlowerGiveFriendFlowerRsp.proto b/proto/PlantFlowerGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..9884fa71
--- /dev/null
+++ b/proto/PlantFlowerGiveFriendFlowerRsp.proto
@@ -0,0 +1,34 @@
+// 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 PlantFlowerGiveFriendFlowerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8559;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 limit_flower_list = 12;
+ uint32 schedule_id = 10;
+ int32 retcode = 14;
+}
diff --git a/proto/PlantFlowerHaveRecvFlowerNotify.proto b/proto/PlantFlowerHaveRecvFlowerNotify.proto
new file mode 100644
index 00000000..f83e1541
--- /dev/null
+++ b/proto/PlantFlowerHaveRecvFlowerNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlantFlowerHaveRecvFlowerNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8101;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 11;
+}
diff --git a/proto/PlantFlowerRecvFlowerData.proto b/proto/PlantFlowerRecvFlowerData.proto
new file mode 100644
index 00000000..4ad88ed6
--- /dev/null
+++ b/proto/PlantFlowerRecvFlowerData.proto
@@ -0,0 +1,29 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlantFlowerRecvFlowerData {
+ string nickname = 14;
+ uint32 uid = 2;
+ ProfilePicture profile_picture = 12;
+ map flower_num_map = 11;
+}
diff --git a/proto/PlantFlowerSetFlowerWishReq.proto b/proto/PlantFlowerSetFlowerWishReq.proto
new file mode 100644
index 00000000..1f84f55f
--- /dev/null
+++ b/proto/PlantFlowerSetFlowerWishReq.proto
@@ -0,0 +1,34 @@
+// 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 PlantFlowerSetFlowerWishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8420;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 4;
+ map flower_num_map = 3;
+}
diff --git a/proto/PlantFlowerSetFlowerWishRsp.proto b/proto/PlantFlowerSetFlowerWishRsp.proto
new file mode 100644
index 00000000..730542fd
--- /dev/null
+++ b/proto/PlantFlowerSetFlowerWishRsp.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerSetFlowerWishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8324;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 5;
+ int32 retcode = 12;
+}
diff --git a/proto/PlantFlowerTakeSeedRewardReq.proto b/proto/PlantFlowerTakeSeedRewardReq.proto
new file mode 100644
index 00000000..9180385a
--- /dev/null
+++ b/proto/PlantFlowerTakeSeedRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerTakeSeedRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8611;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 2;
+}
diff --git a/proto/PlantFlowerTakeSeedRewardRsp.proto b/proto/PlantFlowerTakeSeedRewardRsp.proto
new file mode 100644
index 00000000..01647492
--- /dev/null
+++ b/proto/PlantFlowerTakeSeedRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 PlantFlowerTakeSeedRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8685;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 11;
+ int32 retcode = 6;
+}
diff --git a/proto/PlatformChangeRouteNotify.proto b/proto/PlatformChangeRouteNotify.proto
index 5197361f..dde3f585 100644
--- a/proto/PlatformChangeRouteNotify.proto
+++ b/proto/PlatformChangeRouteNotify.proto
@@ -21,11 +21,16 @@ import "PlatformInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 268
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlatformChangeRouteNotify {
- uint32 entity_id = 2;
- PlatformInfo platform = 1;
- uint32 scene_time = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 288;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_time = 13;
+ PlatformInfo platform = 14;
+ uint32 entity_id = 8;
}
diff --git a/proto/PlatformStartRouteNotify.proto b/proto/PlatformStartRouteNotify.proto
index 7ef6a7c7..92d4963a 100644
--- a/proto/PlatformStartRouteNotify.proto
+++ b/proto/PlatformStartRouteNotify.proto
@@ -21,11 +21,16 @@ import "PlatformInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 218
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlatformStartRouteNotify {
- PlatformInfo platform = 15;
- uint32 scene_time = 12;
- uint32 entity_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 208;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 12;
+ uint32 scene_time = 7;
+ PlatformInfo platform = 2;
}
diff --git a/proto/PlatformStopRouteNotify.proto b/proto/PlatformStopRouteNotify.proto
index 1f453f3d..443f5d28 100644
--- a/proto/PlatformStopRouteNotify.proto
+++ b/proto/PlatformStopRouteNotify.proto
@@ -21,11 +21,16 @@ import "PlatformInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 266
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlatformStopRouteNotify {
- uint32 scene_time = 9;
- uint32 entity_id = 12;
- PlatformInfo platform = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 209;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ PlatformInfo platform = 7;
+ uint32 scene_time = 10;
+ uint32 entity_id = 6;
}
diff --git a/proto/PlayProduct.proto b/proto/PlayProduct.proto
new file mode 100644
index 00000000..44f2a8dd
--- /dev/null
+++ b/proto/PlayProduct.proto
@@ -0,0 +1,26 @@
+// 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 PlayProduct {
+ string product_id = 1;
+ string price_tier = 2;
+ uint32 schedule_id = 3;
+}
diff --git a/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto b/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
new file mode 100644
index 00000000..bb39837a
--- /dev/null
+++ b/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerAllowEnterMpAfterAgreeMatchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4184;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 11;
+}
diff --git a/proto/PlayerApplyEnterHomeNotify.proto b/proto/PlayerApplyEnterHomeNotify.proto
new file mode 100644
index 00000000..92a6df51
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeNotify.proto
@@ -0,0 +1,35 @@
+// 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 "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerApplyEnterHomeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4486;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 src_app_id = 8;
+ OnlinePlayerInfo src_player_info = 10;
+}
diff --git a/proto/PlayerApplyEnterHomeResultNotify.proto b/proto/PlayerApplyEnterHomeResultNotify.proto
new file mode 100644
index 00000000..0ddbfc2c
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultNotify.proto
@@ -0,0 +1,47 @@
+// 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 PlayerApplyEnterHomeResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4793;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum Reason {
+ REASON_PLAYER_JUDGE = 0;
+ REASON_PLAYER_ENTER_OPTION_REFUSE = 1;
+ REASON_PLAYER_ENTER_OPTION_DIRECT = 2;
+ REASON_SYSTEM_JUDGE = 3;
+ REASON_HOST_IN_MATCH = 4;
+ REASON_PS_PLAYER_NOT_ACCEPT_OTHERS = 5;
+ REASON_OPEN_STATE_NOT_OPEN = 6;
+ REASON_HOST_IN_EDIT_MODE = 7;
+ REASON_PRIOR_CHECK = 8;
+ }
+
+ uint32 target_uid = 9;
+ string target_nickname = 2;
+ bool is_agreed = 13;
+ Reason reason = 5;
+}
diff --git a/proto/PlayerApplyEnterHomeResultReq.proto b/proto/PlayerApplyEnterHomeResultReq.proto
new file mode 100644
index 00000000..71aab577
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultReq.proto
@@ -0,0 +1,34 @@
+// 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 PlayerApplyEnterHomeResultReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4646;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 apply_uid = 9;
+ bool is_agreed = 2;
+}
diff --git a/proto/PlayerApplyEnterHomeResultRsp.proto b/proto/PlayerApplyEnterHomeResultRsp.proto
new file mode 100644
index 00000000..9b2ff446
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultRsp.proto
@@ -0,0 +1,35 @@
+// 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 PlayerApplyEnterHomeResultRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4542;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 apply_uid = 3;
+ bool is_agreed = 6;
+ uint32 param = 4;
+ int32 retcode = 14;
+}
diff --git a/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto b/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
new file mode 100644
index 00000000..f79e063c
--- /dev/null
+++ b/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
@@ -0,0 +1,37 @@
+// 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 "MatchType.proto";
+import "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerApplyEnterMpAfterMatchAgreedNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4168;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 matchserver_id = 3;
+ OnlinePlayerInfo src_player_info = 7;
+ MatchType match_type = 5;
+}
diff --git a/proto/PlayerApplyEnterMpNotify.proto b/proto/PlayerApplyEnterMpNotify.proto
index feabd28e..7dab5151 100644
--- a/proto/PlayerApplyEnterMpNotify.proto
+++ b/proto/PlayerApplyEnterMpNotify.proto
@@ -21,11 +21,16 @@ import "OnlinePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1826
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerApplyEnterMpNotify {
- uint32 src_thread_index = 5;
- uint32 src_app_id = 6;
- OnlinePlayerInfo src_player_info = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1842;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ OnlinePlayerInfo src_player_info = 12;
+ uint32 src_thread_index = 9;
+ uint32 src_app_id = 13;
}
diff --git a/proto/PlayerApplyEnterMpReq.proto b/proto/PlayerApplyEnterMpReq.proto
index 2d14088f..a4f29aa1 100644
--- a/proto/PlayerApplyEnterMpReq.proto
+++ b/proto/PlayerApplyEnterMpReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1818
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerApplyEnterMpReq {
- uint32 target_uid = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1841;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 2;
}
diff --git a/proto/PlayerApplyEnterMpResultNotify.proto b/proto/PlayerApplyEnterMpResultNotify.proto
index eecbdeba..b3f45ee1 100644
--- a/proto/PlayerApplyEnterMpResultNotify.proto
+++ b/proto/PlayerApplyEnterMpResultNotify.proto
@@ -19,14 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1807
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerApplyEnterMpResultNotify {
- bool is_agreed = 2;
- string target_nickname = 12;
- Reason reason = 13;
- uint32 target_uid = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1835;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum Reason {
REASON_PLAYER_JUDGE = 0;
@@ -44,4 +44,9 @@ message PlayerApplyEnterMpResultNotify {
REASON_PLAYER_NOT_IN_PLAYER_WORLD = 12;
REASON_MAX_PLAYER = 13;
}
+
+ Reason reason = 10;
+ string target_nickname = 5;
+ bool is_agreed = 2;
+ uint32 target_uid = 4;
}
diff --git a/proto/PlayerApplyEnterMpResultReq.proto b/proto/PlayerApplyEnterMpResultReq.proto
index 888d1195..82464f4e 100644
--- a/proto/PlayerApplyEnterMpResultReq.proto
+++ b/proto/PlayerApplyEnterMpResultReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1802
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerApplyEnterMpResultReq {
- uint32 apply_uid = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1827;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 apply_uid = 7;
bool is_agreed = 12;
}
diff --git a/proto/PlayerApplyEnterMpResultRsp.proto b/proto/PlayerApplyEnterMpResultRsp.proto
index 605069aa..fc4f6af6 100644
--- a/proto/PlayerApplyEnterMpResultRsp.proto
+++ b/proto/PlayerApplyEnterMpResultRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1831
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerApplyEnterMpResultRsp {
- int32 retcode = 1;
- bool is_agreed = 3;
- uint32 apply_uid = 10;
- uint32 param = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1831;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 apply_uid = 8;
+ uint32 param = 9;
+ bool is_agreed = 13;
+ int32 retcode = 15;
}
diff --git a/proto/PlayerApplyEnterMpRsp.proto b/proto/PlayerApplyEnterMpRsp.proto
index 5fb5dc48..a89eefae 100644
--- a/proto/PlayerApplyEnterMpRsp.proto
+++ b/proto/PlayerApplyEnterMpRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1825
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerApplyEnterMpRsp {
- int32 retcode = 5;
- uint32 target_uid = 3;
- uint32 param = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1822;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 5;
+ int32 retcode = 9;
+ uint32 param = 14;
}
diff --git a/proto/PlayerCancelMatchReq.proto b/proto/PlayerCancelMatchReq.proto
new file mode 100644
index 00000000..d12ba04b
--- /dev/null
+++ b/proto/PlayerCancelMatchReq.proto
@@ -0,0 +1,35 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerCancelMatchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4185;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ MatchType match_type = 1;
+}
diff --git a/proto/PlayerCancelMatchRsp.proto b/proto/PlayerCancelMatchRsp.proto
new file mode 100644
index 00000000..cc50d868
--- /dev/null
+++ b/proto/PlayerCancelMatchRsp.proto
@@ -0,0 +1,35 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerCancelMatchRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4177;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ MatchType match_type = 10;
+}
diff --git a/proto/PlayerChatCDNotify.proto b/proto/PlayerChatCDNotify.proto
new file mode 100644
index 00000000..88283c7e
--- /dev/null
+++ b/proto/PlayerChatCDNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerChatCDNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3450;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 over_time = 14;
+}
diff --git a/proto/PlayerChatNotify.proto b/proto/PlayerChatNotify.proto
index 014d11c8..21ce7f68 100644
--- a/proto/PlayerChatNotify.proto
+++ b/proto/PlayerChatNotify.proto
@@ -21,10 +21,15 @@ import "ChatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3010
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerChatNotify {
- ChatInfo chat_info = 3;
- uint32 channel_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3265;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChatInfo chat_info = 11;
+ uint32 channel_id = 13;
}
diff --git a/proto/PlayerChatReq.proto b/proto/PlayerChatReq.proto
index 5f6dbeeb..49426f95 100644
--- a/proto/PlayerChatReq.proto
+++ b/proto/PlayerChatReq.proto
@@ -21,11 +21,16 @@ import "ChatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3185
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerChatReq {
- uint32 channel_id = 13;
- ChatInfo chat_info = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3305;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 channel_id = 3;
+ ChatInfo chat_info = 9;
}
diff --git a/proto/PlayerChatRsp.proto b/proto/PlayerChatRsp.proto
index b791519a..36a35ec1 100644
--- a/proto/PlayerChatRsp.proto
+++ b/proto/PlayerChatRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3228
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerChatRsp {
- uint32 chat_forbidden_endtime = 15;
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3087;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 chat_forbidden_endtime = 8;
+ int32 retcode = 12;
}
diff --git a/proto/PlayerCompoundMaterialBoostReq.proto b/proto/PlayerCompoundMaterialBoostReq.proto
index a13c324a..6fc143ca 100644
--- a/proto/PlayerCompoundMaterialBoostReq.proto
+++ b/proto/PlayerCompoundMaterialBoostReq.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 185
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerCompoundMaterialBoostReq {
- bool is_boost_all = 8;
- uint32 target_compound_group_id = 14;
- uint32 consume_material_id = 9;
- uint32 consume_material_count = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 159;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_boost_all = 13;
+ uint32 Unk3300_PPDDLODBIKG = 8;
+ uint32 Unk3300_BGHFBCLHCIG = 5;
+ uint32 Unk3300_FEGPHHFLFLM = 11;
}
diff --git a/proto/PlayerCompoundMaterialBoostRsp.proto b/proto/PlayerCompoundMaterialBoostRsp.proto
index 3474988a..f9da4dd5 100644
--- a/proto/PlayerCompoundMaterialBoostRsp.proto
+++ b/proto/PlayerCompoundMaterialBoostRsp.proto
@@ -23,12 +23,17 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 125
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerCompoundMaterialBoostRsp {
- repeated ItemParam take_item_list = 2;
- CompoundBoostTakeStatusType take_status = 6;
- int32 retcode = 7;
- repeated CompoundQueueData compound_que_data_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 129;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated CompoundQueueData compound_queue_data_list = 10;
+ CompoundBoostTakeStatusType take_status = 4;
+ repeated ItemParam take_item_list = 3;
+ int32 retcode = 13;
}
diff --git a/proto/PlayerCompoundMaterialReq.proto b/proto/PlayerCompoundMaterialReq.proto
index 7cc354e6..0a07786e 100644
--- a/proto/PlayerCompoundMaterialReq.proto
+++ b/proto/PlayerCompoundMaterialReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 150
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerCompoundMaterialReq {
- uint32 count = 11;
- uint32 compound_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 146;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 compound_id = 4;
+ uint32 count = 3;
}
diff --git a/proto/PlayerCompoundMaterialRsp.proto b/proto/PlayerCompoundMaterialRsp.proto
index 4defc484..49d2932e 100644
--- a/proto/PlayerCompoundMaterialRsp.proto
+++ b/proto/PlayerCompoundMaterialRsp.proto
@@ -21,10 +21,15 @@ import "CompoundQueueData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 143
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerCompoundMaterialRsp {
- CompoundQueueData compound_que_data = 5;
- int32 retcode = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 175;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ CompoundQueueData compound_queue_data = 9;
+ int32 retcode = 5;
}
diff --git a/proto/PlayerConfirmMatchReq.proto b/proto/PlayerConfirmMatchReq.proto
new file mode 100644
index 00000000..4610238a
--- /dev/null
+++ b/proto/PlayerConfirmMatchReq.proto
@@ -0,0 +1,36 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerConfirmMatchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4167;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ MatchType match_type = 3;
+ bool is_agreed = 14;
+}
diff --git a/proto/PlayerConfirmMatchRsp.proto b/proto/PlayerConfirmMatchRsp.proto
new file mode 100644
index 00000000..9bf3cf14
--- /dev/null
+++ b/proto/PlayerConfirmMatchRsp.proto
@@ -0,0 +1,37 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerConfirmMatchRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4162;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agreed = 10;
+ MatchType match_type = 1;
+ int32 retcode = 11;
+ uint32 match_id = 5;
+}
diff --git a/proto/PlayerCookArgsReq.proto b/proto/PlayerCookArgsReq.proto
index 94360cea..2b10a7db 100644
--- a/proto/PlayerCookArgsReq.proto
+++ b/proto/PlayerCookArgsReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 166
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerCookArgsReq {
- uint32 assist_avatar = 10;
- uint32 recipe_id = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 109;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 recipe_id = 13;
+ uint32 assist_avatar = 15;
}
diff --git a/proto/PlayerCookArgsRsp.proto b/proto/PlayerCookArgsRsp.proto
index 2a8c46a4..8b1311df 100644
--- a/proto/PlayerCookArgsRsp.proto
+++ b/proto/PlayerCookArgsRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 168
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerCookArgsRsp {
- int32 retcode = 4;
- float qte_range_ratio = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 188;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ float qte_range_ratio = 3;
}
diff --git a/proto/PlayerCookReq.proto b/proto/PlayerCookReq.proto
index aa90a92f..3cf126cd 100644
--- a/proto/PlayerCookReq.proto
+++ b/proto/PlayerCookReq.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 194
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerCookReq {
- uint32 cook_count = 1;
- uint32 qte_quality = 12;
- uint32 recipe_id = 8;
- uint32 assist_avatar = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 105;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 recipe_id = 1;
+ uint32 Unk3300_NDPHNNOFEBL = 5;
+ uint32 Unk3300_JPICLIDLIEC = 7;
+ uint32 assist_avatar = 12;
}
diff --git a/proto/PlayerCookRsp.proto b/proto/PlayerCookRsp.proto
index 74149ca1..2640c3a0 100644
--- a/proto/PlayerCookRsp.proto
+++ b/proto/PlayerCookRsp.proto
@@ -22,14 +22,19 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 188
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerCookRsp {
- repeated ItemParam extral_item_list = 15;
- uint32 cook_count = 12;
- repeated ItemParam item_list = 11;
- int32 retcode = 3;
- uint32 qte_quality = 5;
- CookRecipeData recipe_data = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 194;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ CookRecipeData recipe_data = 12;
+ repeated ItemParam item_list = 5;
+ uint32 Unk3300_NDPHNNOFEBL = 1;
+ repeated ItemParam extra_item_list = 3;
+ uint32 Unk3300_JPICLIDLIEC = 11;
}
diff --git a/proto/PlayerCustomDungeonMuipData.proto b/proto/PlayerCustomDungeonMuipData.proto
new file mode 100644
index 00000000..af9aeff9
--- /dev/null
+++ b/proto/PlayerCustomDungeonMuipData.proto
@@ -0,0 +1,29 @@
+// 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 "CustomDungeonBattleRecordMuipData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerCustomDungeonMuipData {
+ uint32 uid = 1;
+ repeated uint64 publish_dungeon_list = 2;
+ repeated uint64 store_dungeon_list = 3;
+ repeated CustomDungeonBattleRecordMuipData battle_record_list = 4;
+}
diff --git a/proto/PlayerDataNotify.proto b/proto/PlayerDataNotify.proto
index e63ec532..70132485 100644
--- a/proto/PlayerDataNotify.proto
+++ b/proto/PlayerDataNotify.proto
@@ -21,13 +21,18 @@ import "PropValue.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 190
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerDataNotify {
- uint64 server_time = 7;
- string nick_name = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 147;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
bool is_first_login_today = 12;
- uint32 region_id = 6;
- map prop_map = 15;
+ string nick_name = 9;
+ uint64 server_time = 1;
+ map prop_map = 4;
+ uint32 region_id = 2;
}
diff --git a/proto/PlayerDeathZoneNotify.proto b/proto/PlayerDeathZoneNotify.proto
new file mode 100644
index 00000000..59903597
--- /dev/null
+++ b/proto/PlayerDeathZoneNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerDeathZoneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6272;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cur_death_zone_id = 11;
+}
diff --git a/proto/PlayerDieOption.proto b/proto/PlayerDieOption.proto
new file mode 100644
index 00000000..88ada092
--- /dev/null
+++ b/proto/PlayerDieOption.proto
@@ -0,0 +1,27 @@
+// 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 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/PlayerEnterDungeonReq.proto b/proto/PlayerEnterDungeonReq.proto
index 6b6766f4..bbae9087 100644
--- a/proto/PlayerEnterDungeonReq.proto
+++ b/proto/PlayerEnterDungeonReq.proto
@@ -21,12 +21,17 @@ import "DungeonEnterPosInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 912
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerEnterDungeonReq {
- DungeonEnterPosInfo enter_pos_info = 2;
- uint32 point_id = 13;
- uint32 dungeon_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 956;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 dungeon_id = 4;
+ DungeonEnterPosInfo enter_pos_info = 9;
+ uint32 point_id = 1;
}
diff --git a/proto/PlayerEnterDungeonRsp.proto b/proto/PlayerEnterDungeonRsp.proto
index d7afd965..5f00ed78 100644
--- a/proto/PlayerEnterDungeonRsp.proto
+++ b/proto/PlayerEnterDungeonRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 935
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerEnterDungeonRsp {
- uint32 dungeon_id = 2;
- uint32 point_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 919;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
int32 retcode = 5;
+ uint32 point_id = 6;
+ uint32 dungeon_id = 1;
}
diff --git a/proto/PlayerEnterSceneInfoNotify.proto b/proto/PlayerEnterSceneInfoNotify.proto
index c6aa8998..e049ed00 100644
--- a/proto/PlayerEnterSceneInfoNotify.proto
+++ b/proto/PlayerEnterSceneInfoNotify.proto
@@ -23,14 +23,19 @@ import "TeamEnterSceneInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 214
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerEnterSceneInfoNotify {
- TeamEnterSceneInfo team_enter_info = 8;
- uint32 enter_scene_token = 12;
- repeated AvatarEnterSceneInfo avatar_enter_info = 7;
- uint32 cur_avatar_entity_id = 6;
- MPLevelEntityInfo mp_level_entity_info = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 241;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ TeamEnterSceneInfo team_enter_info = 6;
+ repeated AvatarEnterSceneInfo avatar_enter_info = 10;
+ uint32 cur_avatar_entity_id = 4;
+ MPLevelEntityInfo mp_level_entity_info = 15;
+ uint32 enter_scene_token = 1;
}
diff --git a/proto/PlayerEnterSceneNotify.proto b/proto/PlayerEnterSceneNotify.proto
index 3675c6e7..eed0c98b 100644
--- a/proto/PlayerEnterSceneNotify.proto
+++ b/proto/PlayerEnterSceneNotify.proto
@@ -22,24 +22,29 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 272
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerEnterSceneNotify {
- uint32 prev_scene_id = 6;
- uint32 dungeon_id = 12;
- bool is_skip_ui = 1732;
- uint32 scene_id = 15;
- EnterType type = 13;
- uint64 scene_begin_time = 14;
- uint32 world_level = 11;
- uint32 world_type = 1490;
- uint32 target_uid = 4;
- bool is_first_login_enter_scene = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 279;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_LIDGFMDDOOM = 1224;
+ bool Unk3300_LFFBNEBMAAG = 32;
+ uint32 world_level = 4;
+ Vector pos = 1;
+ bool Unk3300_OKMNOFOHKOB = 3;
+ uint32 Unk3300_LLHABHMLNAH = 13;
+ uint32 enter_scene_token = 6;
+ uint32 dungeon_id = 2;
+ uint32 scene_id = 11;
+ EnterType type = 12;
repeated uint32 scene_tag_id_list = 5;
- string scene_transaction = 1842;
- Vector prev_pos = 8;
- uint32 enter_reason = 1828;
- Vector pos = 7;
- uint32 enter_scene_token = 2;
+ uint64 scene_begin_time = 9;
+ uint32 Unk3300_OOLKIEKNKKN = 287;
+ uint32 target_uid = 8;
+ Vector prev_pos = 10;
+ string scene_transaction = 370;
}
diff --git a/proto/PlayerEyePointStateNotify.proto b/proto/PlayerEyePointStateNotify.proto
new file mode 100644
index 00000000..0d7e31e6
--- /dev/null
+++ b/proto/PlayerEyePointStateNotify.proto
@@ -0,0 +1,49 @@
+// 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 "CylinderRegionSize.proto";
+import "PolygonRegionSize.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerEyePointStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3079;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector eye_point_pos = 12;
+ bool Unk3300_KFOHOBLMMLB = 9;
+ uint32 Unk3300_GNFJIOEGHOE = 1;
+ uint32 Unk3300_BIHEKNFDDDI = 8;
+ int32 fix_lod_level = 11;
+ bool Unk3300_NIPFCFCBFAE = 14;
+ uint32 Unk3300_JGEMKKJAHKA = 13;
+ uint32 Unk3300_EOPFNBBBGPK = 6;
+ oneof region_size {
+ float sphere_radius = 1413;
+ Vector cubic_size = 1362;
+ CylinderRegionSize cylinder_size = 1250;
+ PolygonRegionSize polygon_size = 608;
+ }
+}
diff --git a/proto/PlayerFishingDataNotify.proto b/proto/PlayerFishingDataNotify.proto
new file mode 100644
index 00000000..c8a7cd14
--- /dev/null
+++ b/proto/PlayerFishingDataNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerFishingDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5821;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 last_fish_rod_id = 8;
+}
diff --git a/proto/PlayerForceExitReq.proto b/proto/PlayerForceExitReq.proto
new file mode 100644
index 00000000..088fef9b
--- /dev/null
+++ b/proto/PlayerForceExitReq.proto
@@ -0,0 +1,31 @@
+// 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 PlayerForceExitReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 126;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/PlayerForceExitRsp.proto b/proto/PlayerForceExitRsp.proto
index 89538baf..629178a8 100644
--- a/proto/PlayerForceExitRsp.proto
+++ b/proto/PlayerForceExitRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 159
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerForceExitRsp {
- int32 retcode = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 177;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
}
diff --git a/proto/PlayerGCGMatchConfirmNotify.proto b/proto/PlayerGCGMatchConfirmNotify.proto
new file mode 100644
index 00000000..7b8a04c8
--- /dev/null
+++ b/proto/PlayerGCGMatchConfirmNotify.proto
@@ -0,0 +1,34 @@
+// 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 PlayerGCGMatchConfirmNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4171;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 6;
+ uint32 match_id = 14;
+ uint32 uid = 5;
+}
diff --git a/proto/PlayerGCGMatchDismissNotify.proto b/proto/PlayerGCGMatchDismissNotify.proto
new file mode 100644
index 00000000..6d15634b
--- /dev/null
+++ b/proto/PlayerGCGMatchDismissNotify.proto
@@ -0,0 +1,36 @@
+// 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 "MatchReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerGCGMatchDismissNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4180;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 uid_list = 11;
+ MatchReason reason = 7;
+ uint32 match_id = 4;
+}
diff --git a/proto/PlayerGameTimeByLuaNotify.proto b/proto/PlayerGameTimeByLuaNotify.proto
new file mode 100644
index 00000000..f2fc6a7d
--- /dev/null
+++ b/proto/PlayerGameTimeByLuaNotify.proto
@@ -0,0 +1,34 @@
+// 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 PlayerGameTimeByLuaNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 186;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 game_time = 12;
+ uint32 uid = 8;
+ uint32 sim_speed = 14;
+}
diff --git a/proto/PlayerGameTimeNotify.proto b/proto/PlayerGameTimeNotify.proto
index b9b906c4..2418599a 100644
--- a/proto/PlayerGameTimeNotify.proto
+++ b/proto/PlayerGameTimeNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 131
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerGameTimeNotify {
- uint32 uid = 7;
- uint32 game_time = 3;
- bool is_home = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 15;
+ bool is_home = 10;
+ uint32 game_time = 4;
}
diff --git a/proto/PlayerGeneralMatchConfirmNotify.proto b/proto/PlayerGeneralMatchConfirmNotify.proto
new file mode 100644
index 00000000..c7ff1f26
--- /dev/null
+++ b/proto/PlayerGeneralMatchConfirmNotify.proto
@@ -0,0 +1,34 @@
+// 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 PlayerGeneralMatchConfirmNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4195;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 match_id = 2;
+ uint32 uid = 6;
+ bool is_agree = 13;
+}
diff --git a/proto/PlayerGeneralMatchDismissNotify.proto b/proto/PlayerGeneralMatchDismissNotify.proto
new file mode 100644
index 00000000..f2b3ffcf
--- /dev/null
+++ b/proto/PlayerGeneralMatchDismissNotify.proto
@@ -0,0 +1,36 @@
+// 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 "MatchReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerGeneralMatchDismissNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4158;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MatchReason reason = 11;
+ repeated uint32 uid_list = 10;
+ uint32 match_id = 3;
+}
diff --git a/proto/PlayerGetForceQuitBanInfoReq.proto b/proto/PlayerGetForceQuitBanInfoReq.proto
index a0d88270..4797a2ff 100644
--- a/proto/PlayerGetForceQuitBanInfoReq.proto
+++ b/proto/PlayerGetForceQuitBanInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4164
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message PlayerGetForceQuitBanInfoReq {}
+message PlayerGetForceQuitBanInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4152;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/PlayerGetForceQuitBanInfoRsp.proto b/proto/PlayerGetForceQuitBanInfoRsp.proto
index 3f9b7471..a6acf33c 100644
--- a/proto/PlayerGetForceQuitBanInfoRsp.proto
+++ b/proto/PlayerGetForceQuitBanInfoRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4197
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerGetForceQuitBanInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4193;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 match_id = 13;
+ uint32 expire_time = 2;
int32 retcode = 4;
- uint32 match_id = 8;
- uint32 expire_time = 13;
}
diff --git a/proto/PlayerHomeCompInfo.proto b/proto/PlayerHomeCompInfo.proto
index 42eb2590..11f4a6aa 100644
--- a/proto/PlayerHomeCompInfo.proto
+++ b/proto/PlayerHomeCompInfo.proto
@@ -22,8 +22,8 @@ import "FriendEnterHomeOption.proto";
option java_package = "emu.grasscutter.net.proto";
message PlayerHomeCompInfo {
- repeated uint32 unlocked_module_id_list = 4;
- repeated uint32 seen_module_id_list = 2;
- repeated uint32 levelup_reward_got_level_list = 7;
- FriendEnterHomeOption friend_enter_home_option = 8;
+ FriendEnterHomeOption friend_enter_home_option = 13;
+ repeated uint32 seen_module_id_list = 5;
+ repeated uint32 Unk3300_PBEFIJCEKMH = 2;
+ repeated uint32 Unk3300_JJPCFPAKFLM = 11;
}
diff --git a/proto/PlayerHomeCompInfoNotify.proto b/proto/PlayerHomeCompInfoNotify.proto
index 84dcb0af..22098723 100644
--- a/proto/PlayerHomeCompInfoNotify.proto
+++ b/proto/PlayerHomeCompInfoNotify.proto
@@ -21,9 +21,14 @@ import "PlayerHomeCompInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4880
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerHomeCompInfoNotify {
- PlayerHomeCompInfo comp_info = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4818;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ PlayerHomeCompInfo comp_info = 2;
}
diff --git a/proto/PlayerInjectFixNotify.proto b/proto/PlayerInjectFixNotify.proto
new file mode 100644
index 00000000..24e30e66
--- /dev/null
+++ b/proto/PlayerInjectFixNotify.proto
@@ -0,0 +1,33 @@
+// 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 PlayerInjectFixNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 165;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 id = 11;
+ bytes inject_fix = 12;
+}
diff --git a/proto/PlayerInvestigationAllInfoNotify.proto b/proto/PlayerInvestigationAllInfoNotify.proto
new file mode 100644
index 00000000..c7a1da22
--- /dev/null
+++ b/proto/PlayerInvestigationAllInfoNotify.proto
@@ -0,0 +1,36 @@
+// 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 "Investigation.proto";
+import "InvestigationTarget.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerInvestigationAllInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1916;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Investigation investigation_list = 11;
+ repeated InvestigationTarget investigation_target_list = 5;
+}
diff --git a/proto/PlayerInvestigationNotify.proto b/proto/PlayerInvestigationNotify.proto
new file mode 100644
index 00000000..fa62e5b7
--- /dev/null
+++ b/proto/PlayerInvestigationNotify.proto
@@ -0,0 +1,34 @@
+// 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 "Investigation.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerInvestigationNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1915;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Investigation investigation_list = 12;
+}
diff --git a/proto/PlayerInvestigationTargetNotify.proto b/proto/PlayerInvestigationTargetNotify.proto
new file mode 100644
index 00000000..345a8657
--- /dev/null
+++ b/proto/PlayerInvestigationTargetNotify.proto
@@ -0,0 +1,34 @@
+// 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 "InvestigationTarget.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerInvestigationTargetNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1902;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated InvestigationTarget investigation_target_list = 10;
+}
diff --git a/proto/PlayerLevelRewardUpdateNotify.proto b/proto/PlayerLevelRewardUpdateNotify.proto
index 6a7eac59..624e9c59 100644
--- a/proto/PlayerLevelRewardUpdateNotify.proto
+++ b/proto/PlayerLevelRewardUpdateNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 200
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerLevelRewardUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 104;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
repeated uint32 level_list = 9;
}
diff --git a/proto/PlayerLocationInfo.proto b/proto/PlayerLocationInfo.proto
index d834a795..4954e919 100644
--- a/proto/PlayerLocationInfo.proto
+++ b/proto/PlayerLocationInfo.proto
@@ -22,7 +22,7 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message PlayerLocationInfo {
- uint32 uid = 15;
- Vector pos = 3;
+ uint32 uid = 7;
Vector rot = 13;
+ Vector pos = 3;
}
diff --git a/proto/PlayerLoginReq.proto b/proto/PlayerLoginReq.proto
index d88b2f27..066cf494 100644
--- a/proto/PlayerLoginReq.proto
+++ b/proto/PlayerLoginReq.proto
@@ -22,51 +22,56 @@ import "TrackingIOInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 112
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerLoginReq {
- uint32 language_type = 6;
- uint32 reg_platform = 615;
- TrackingIOInfo tracking_io_info = 1660;
- uint32 account_type = 13;
- string token = 15;
- bytes extra_bin_data = 1458;
- uint32 channel_id = 1314;
- uint32 client_data_version = 688;
- string account_uid = 2;
- string client_version = 12;
- string security_library_md5 = 772;
- string country_code = 2000;
- string psn_id = 1268;
- uint32 client_port = 431;
- string device_name = 9;
- string cps = 1163;
- uint64 login_rand = 3;
- uint32 target_home_param = 984;
- AdjustTrackingInfo adjust_tracking_info = 1816;
- bool is_transfer = 908;
- uint32 tag = 1787;
- bool is_guest = 5;
- bytes environment_error_code = 2026;
- string online_id = 903;
- bool is_editor = 8;
- string checksum_client_version = 861;
- bytes security_cmd_reply = 1995;
- string security_library_version = 1213;
- string birthday = 1652;
- string device_uuid = 4;
- uint32 client_token = 1546;
- uint32 sub_channel_id = 23;
- uint32 target_uid = 11;
- string device_info = 1;
- string client_verison_hash = 1707;
- string checksum = 1532;
- uint32 platform_type = 14;
- uint32 target_home_owner_uid = 1864;
- uint32 cloud_client_ip = 1335;
- uint32 gm_uid = 612;
- string system_version = 10;
- string platform = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 156;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string device_uuid = 5;
+ uint32 target_uid = 10;
+ bytes extra_bin_data = 2046;
+ string platform = 4;
+ string Unk3300_LNPPCJMBOMN = 1334;
+ uint32 channel_id = 1565;
+ string Unk3300_EJBMMPBPDBE = 2040;
+ uint32 language_type = 11;
+ uint32 client_data_version = 847;
+ uint32 Unk3300_FDNAJOFMOAK = 7;
+ string Unk3300_BBAABEHNFOE = 868;
+ string online_id = 577;
+ uint32 Unk3300_PMGFBMJNNCL = 82;
+ string Unk3300_EAMDLGIILGK = 12;
+ string birthday = 875;
+ uint32 tag = 525;
+ string account_uid = 14;
+ string Unk3300_NALKBABGLDG = 15;
+ uint32 Unk3300_IADFJHNFKIB = 1458;
+ bool is_editor = 1;
+ string token = 8;
+ uint32 reg_platform = 424;
+ string Unk3300_CHDCMLIBMPO = 581;
+ uint32 Unk3300_OOBHAIIIPHH = 85;
+ uint32 Unk3300_NDLANBEIGEG = 1320;
+ string country_code = 104;
+ uint32 Unk3300_PIPLDEAPMMN = 1790;
+ TrackingIOInfo tracking_io_info = 1713;
+ bool is_transfer = 624;
+ string Unk3300_BIAKNIALBFJ = 828;
+ string client_version = 2;
+ bool is_guest = 13;
+ string Unk3300_OBJKBHMKJGM = 6;
+ uint32 target_home_owner_uid = 899;
+ string psn_id = 1146;
+ bytes Unk3300_ILHAIPDJIMH = 874;
+ uint32 Unk3300_OFFHPAFIFGD = 1028;
+ uint64 login_rand = 9;
+ AdjustTrackingInfo adjust_tracking_info = 64;
+ bytes Unk3300_FCDEBMBICIJ = 256;
+ uint32 platform_type = 3;
+ string Unk3300_CFLCCIICKDE = 1983;
}
diff --git a/proto/PlayerLoginRsp.proto b/proto/PlayerLoginRsp.proto
index 9ff8e830..3f990171 100644
--- a/proto/PlayerLoginRsp.proto
+++ b/proto/PlayerLoginRsp.proto
@@ -24,43 +24,48 @@ import "ShortAbilityHashPair.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 135
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerLoginRsp {
- uint32 client_data_version = 1;
- bool is_sc_open = 1429;
- int32 retcode = 15;
- map block_info_map = 571;
- bool is_audit = 1685;
- bool is_transfer = 2018;
- string client_silence_md5 = 1746;
- ResVersionConfig next_res_version_config = 1573;
- uint32 client_silence_data_version = 6;
- uint64 login_rand = 4;
- bool is_new_player = 8;
- string client_version_suffix = 1047;
- string game_biz = 5;
- string next_resource_url = 621;
- bool is_relogin = 10;
- double total_tick_time = 125;
- bool is_enable_client_hash_debug = 932;
- bytes sc_info = 2024;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 login_rand = 9;
+ bytes Unk3300_DHCMDHHDLFF = 2;
+ string Unk3300_HMGCPAGLDHB = 16;
+ double total_tick_time = 530;
+ bool Unk3300_LLIJKLDBHNN = 5;
+ bool is_audit = 930;
+ string birthday = 1387;
+ bool Unk3300_HGFNECIJDLN = 13;
+ string client_silence_version_suffix = 908;
+ string client_version_suffix = 1845;
+ string next_resource_url = 1324;
+ bool Unk3300_EJKCNNDFAAI = 196;
+ repeated ShortAbilityHashPair short_ability_hash_map = 1373;
+ bool is_data_need_relogin = 1119;
+ ResVersionConfig res_version_config = 808;
+ uint32 client_silence_data_version = 1;
+ uint32 target_uid = 15;
+ string Unk3300_NEICPFBPNPD = 99;
+ bool Unk3300_CANONIPHMDI = 1522;
+ bool Unk3300_IIHDKKNJPGD = 8;
+ uint32 player_data_version = 14;
+ bytes Unk3300_MOPDDGHMKBD = 1888;
+ string country_code = 360;
+ ResVersionConfig next_res_version_config = 1688;
+ bool Unk3300_IADLIIMGDMC = 17;
+ map block_info_map = 2018;
+ bool is_transfer = 295;
+ uint32 target_home_owner_uid = 446;
+ string game_biz = 4;
+ map ability_hash_map = 3;
int32 ability_hash_code = 12;
- string register_cps = 2040;
- bool is_login_rsp_split = 1649;
- bool is_use_ability_hash = 2;
- map ability_hash_map = 11;
- repeated ShortAbilityHashPair short_ability_hash_map = 250;
- string client_md5 = 1830;
- string country_code = 1900;
- bool is_data_need_relogin = 951;
- ResVersionConfig res_version_config = 1969;
- repeated FeatureBlockInfo feature_block_info_list = 1352;
- string birthday = 624;
- uint32 target_uid = 14;
- bytes player_data = 13;
- string client_silence_version_suffix = 1299;
- uint32 target_home_owner_uid = 553;
- uint32 player_data_version = 7;
+ uint32 client_data_version = 10;
+ string Unk3300_OPGDBOLKLJA = 1299;
+ int32 retcode = 7;
+ repeated FeatureBlockInfo feature_block_info_list = 138;
}
diff --git a/proto/PlayerLogoutNotify.proto b/proto/PlayerLogoutNotify.proto
new file mode 100644
index 00000000..e83967ee
--- /dev/null
+++ b/proto/PlayerLogoutNotify.proto
@@ -0,0 +1,31 @@
+// 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 PlayerLogoutNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 161;
+ // ENET_CHANNEL_ID = 0;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/PlayerLogoutReq.proto b/proto/PlayerLogoutReq.proto
new file mode 100644
index 00000000..985104a6
--- /dev/null
+++ b/proto/PlayerLogoutReq.proto
@@ -0,0 +1,44 @@
+// 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 PlayerLogoutReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 200;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ enum Reason {
+ REASON_DISCONNECT = 0;
+ REASON_CLIENT_REQ = 1;
+ REASON_TIMEOUT = 2;
+ REASON_ADMIN_REQ = 3;
+ REASON_SERVER_CLOSE = 4;
+ REASON_GM_CLEAR = 5;
+ REASON_PLAYER_TRANSFER = 6;
+ REASON_CLIENT_CHECKSUM_INVALID = 7;
+ }
+
+ Reason reason = 9;
+}
diff --git a/proto/PlayerLogoutRsp.proto b/proto/PlayerLogoutRsp.proto
new file mode 100644
index 00000000..9855e8e9
--- /dev/null
+++ b/proto/PlayerLogoutRsp.proto
@@ -0,0 +1,32 @@
+// 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 PlayerLogoutRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 143;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/PlayerLuaShellNotify.proto b/proto/PlayerLuaShellNotify.proto
new file mode 100644
index 00000000..00d1e2f2
--- /dev/null
+++ b/proto/PlayerLuaShellNotify.proto
@@ -0,0 +1,37 @@
+// 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 "LuaShellType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerLuaShellNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 166;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 id = 8;
+ LuaShellType shell_type = 1;
+ bytes lua_shell = 4;
+ uint32 use_type = 2;
+}
diff --git a/proto/PlayerMatchAgreedResultNotify.proto b/proto/PlayerMatchAgreedResultNotify.proto
new file mode 100644
index 00000000..10c797b3
--- /dev/null
+++ b/proto/PlayerMatchAgreedResultNotify.proto
@@ -0,0 +1,44 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerMatchAgreedResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4165;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ 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;
+ }
+
+ MatchType match_type = 12;
+ uint32 target_uid = 4;
+ Reason reason = 13;
+}
diff --git a/proto/PlayerMatchInfoNotify.proto b/proto/PlayerMatchInfoNotify.proto
new file mode 100644
index 00000000..5234777f
--- /dev/null
+++ b/proto/PlayerMatchInfoNotify.proto
@@ -0,0 +1,42 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerMatchInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4172;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 4;
+ uint32 Unk3300_BNEIANJBLBL = 5;
+ uint32 Unk3300_OCILKHJPJED = 10;
+ uint32 host_uid = 12;
+ MatchType match_type = 13;
+ uint32 mechanicus_difficult_level = 15;
+ uint32 mp_play_id = 2;
+ uint32 match_id = 7;
+ repeated uint32 match_param_list = 11;
+}
diff --git a/proto/PlayerMatchStopNotify.proto b/proto/PlayerMatchStopNotify.proto
new file mode 100644
index 00000000..a3867402
--- /dev/null
+++ b/proto/PlayerMatchStopNotify.proto
@@ -0,0 +1,35 @@
+// 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 "MatchReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerMatchStopNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4181;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MatchReason reason = 10;
+ uint32 host_uid = 8;
+}
diff --git a/proto/PlayerMatchSuccNotify.proto b/proto/PlayerMatchSuccNotify.proto
new file mode 100644
index 00000000..1db50ea1
--- /dev/null
+++ b/proto/PlayerMatchSuccNotify.proto
@@ -0,0 +1,43 @@
+// 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 "GCGMatchInfo.proto";
+import "GeneralMatchInfo.proto";
+import "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerMatchSuccNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4194;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ GeneralMatchInfo general_match_info = 7;
+ uint32 dungeon_id = 3;
+ MatchType match_type = 15;
+ uint32 mechanicus_difficult_level = 5;
+ uint32 confirm_end_time = 13;
+ GCGMatchInfo gcg_match_info = 9;
+ uint32 mp_play_id = 11;
+ uint32 host_uid = 10;
+}
diff --git a/proto/PlayerNicknameAuditDataNotify.proto b/proto/PlayerNicknameAuditDataNotify.proto
new file mode 100644
index 00000000..f16a3273
--- /dev/null
+++ b/proto/PlayerNicknameAuditDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ContentAuditInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerNicknameAuditDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 162;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ContentAuditInfo info = 7;
+}
diff --git a/proto/PlayerNicknameNotify.proto b/proto/PlayerNicknameNotify.proto
new file mode 100644
index 00000000..ce1c680b
--- /dev/null
+++ b/proto/PlayerNicknameNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerNicknameNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 151;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string nickname = 4;
+}
diff --git a/proto/PlayerOfferingData.proto b/proto/PlayerOfferingData.proto
new file mode 100644
index 00000000..cb8de65a
--- /dev/null
+++ b/proto/PlayerOfferingData.proto
@@ -0,0 +1,28 @@
+// 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 PlayerOfferingData {
+ uint32 level = 8;
+ uint32 offering_id = 3;
+ bool is_new_max_level = 14;
+ bool is_first_interact = 9;
+ repeated uint32 taken_level_reward_list = 2;
+}
diff --git a/proto/PlayerOfferingDataNotify.proto b/proto/PlayerOfferingDataNotify.proto
new file mode 100644
index 00000000..80b36051
--- /dev/null
+++ b/proto/PlayerOfferingDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "PlayerOfferingData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerOfferingDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2911;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PlayerOfferingData offering_data_list = 11;
+}
diff --git a/proto/PlayerOfferingReq.proto b/proto/PlayerOfferingReq.proto
new file mode 100644
index 00000000..84b8bee5
--- /dev/null
+++ b/proto/PlayerOfferingReq.proto
@@ -0,0 +1,33 @@
+// 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 PlayerOfferingReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2915;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 offering_id = 15;
+}
diff --git a/proto/PlayerOfferingRsp.proto b/proto/PlayerOfferingRsp.proto
new file mode 100644
index 00000000..6dbba7dc
--- /dev/null
+++ b/proto/PlayerOfferingRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+import "PlayerOfferingData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerOfferingRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2916;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ repeated ItemParam item_list = 3;
+ PlayerOfferingData offering_data = 10;
+}
diff --git a/proto/PlayerPreEnterMpNotify.proto b/proto/PlayerPreEnterMpNotify.proto
new file mode 100644
index 00000000..446be528
--- /dev/null
+++ b/proto/PlayerPreEnterMpNotify.proto
@@ -0,0 +1,40 @@
+// 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 PlayerPreEnterMpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1817;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum State {
+ STATE_INVALID = 0;
+ STATE_START = 1;
+ STATE_TIMEOUT = 2;
+ }
+
+ string nickname = 6;
+ uint32 uid = 4;
+ State state = 10;
+}
diff --git a/proto/PlayerPropChangeNotify.proto b/proto/PlayerPropChangeNotify.proto
index 09b5d2e0..58821347 100644
--- a/proto/PlayerPropChangeNotify.proto
+++ b/proto/PlayerPropChangeNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 139
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerPropChangeNotify {
- uint32 prop_delta = 13;
- uint32 prop_type = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 116;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 prop_delta = 4;
+ uint32 prop_type = 13;
}
diff --git a/proto/PlayerPropChangeReasonNotify.proto b/proto/PlayerPropChangeReasonNotify.proto
index 419679a3..e07a1e2d 100644
--- a/proto/PlayerPropChangeReasonNotify.proto
+++ b/proto/PlayerPropChangeReasonNotify.proto
@@ -21,12 +21,17 @@ import "PropChangeReason.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1299
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerPropChangeReasonNotify {
- uint32 prop_type = 6;
- float old_value = 12;
- PropChangeReason reason = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1257;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ float old_value = 10;
float cur_value = 11;
+ PropChangeReason reason = 2;
+ uint32 prop_type = 5;
}
diff --git a/proto/PlayerPropNotify.proto b/proto/PlayerPropNotify.proto
index 642445c5..feb20e49 100644
--- a/proto/PlayerPropNotify.proto
+++ b/proto/PlayerPropNotify.proto
@@ -21,9 +21,14 @@ import "PropValue.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 175
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerPropNotify {
- map prop_map = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 139;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map prop_map = 1;
}
diff --git a/proto/PlayerQuitDungeonReq.proto b/proto/PlayerQuitDungeonReq.proto
index e157276a..ecb9e1f1 100644
--- a/proto/PlayerQuitDungeonReq.proto
+++ b/proto/PlayerQuitDungeonReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 907
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerQuitDungeonReq {
- bool is_quit_immediately = 10;
- uint32 point_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1000;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_quit_immediately = 3;
+ uint32 point_id = 8;
}
diff --git a/proto/PlayerQuitDungeonRsp.proto b/proto/PlayerQuitDungeonRsp.proto
new file mode 100644
index 00000000..7b42d386
--- /dev/null
+++ b/proto/PlayerQuitDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 PlayerQuitDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 943;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 point_id = 10;
+ int32 retcode = 6;
+}
diff --git a/proto/PlayerQuitFromHomeNotify.proto b/proto/PlayerQuitFromHomeNotify.proto
new file mode 100644
index 00000000..1be23050
--- /dev/null
+++ b/proto/PlayerQuitFromHomeNotify.proto
@@ -0,0 +1,42 @@
+// 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 PlayerQuitFromHomeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4724;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum QuitReason {
+ QUIT_REASON_INVALID = 0;
+ QUIT_REASON_KICK_BY_HOST = 1;
+ QUIT_REASON_BACK_TO_MY_WORLD = 2;
+ QUIT_REASON_HOME_BLOCKED = 3;
+ QUIT_REASON_HOME_IN_EDIT_MODE = 4;
+ QUIT_REASON_BY_MUIP = 5;
+ QUIT_REASON_CUR_MODULE_CLOSED = 6;
+ }
+
+ QuitReason reason = 11;
+}
diff --git a/proto/PlayerQuitFromMpNotify.proto b/proto/PlayerQuitFromMpNotify.proto
new file mode 100644
index 00000000..2f0a64b2
--- /dev/null
+++ b/proto/PlayerQuitFromMpNotify.proto
@@ -0,0 +1,46 @@
+// 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 PlayerQuitFromMpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1844;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ 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;
+ QUIT_REASON_KICK_BY_HOST_ENTER_HOME = 7;
+ QUIT_REASON_HOST_SCENE_INVALID = 8;
+ QUIT_REASON_KICK_BY_PLAY = 9;
+ QUIT_REASON_KICK_BY_ISLAND_PARTY_GALLERY_START_FAILED = 10;
+ }
+
+ QuitReason reason = 2;
+}
diff --git a/proto/PlayerRTTInfo.proto b/proto/PlayerRTTInfo.proto
index 0539f02f..2b4d05b7 100644
--- a/proto/PlayerRTTInfo.proto
+++ b/proto/PlayerRTTInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PlayerRTTInfo {
- uint32 rtt = 2;
- uint32 uid = 1;
+ uint32 rtt = 12;
+ uint32 uid = 14;
}
diff --git a/proto/PlayerRandomCookReq.proto b/proto/PlayerRandomCookReq.proto
new file mode 100644
index 00000000..9dfd7640
--- /dev/null
+++ b/proto/PlayerRandomCookReq.proto
@@ -0,0 +1,35 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerRandomCookReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 172;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ItemParam material_list = 5;
+}
diff --git a/proto/PlayerRandomCookRsp.proto b/proto/PlayerRandomCookRsp.proto
new file mode 100644
index 00000000..4a3c0ac7
--- /dev/null
+++ b/proto/PlayerRandomCookRsp.proto
@@ -0,0 +1,32 @@
+// 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 PlayerRandomCookRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 103;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/PlayerRechargeDataNotify.proto b/proto/PlayerRechargeDataNotify.proto
new file mode 100644
index 00000000..27ff5806
--- /dev/null
+++ b/proto/PlayerRechargeDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ProductPriceTier.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerRechargeDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4127;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ProductPriceTier product_price_tier_list = 7;
+ uint32 card_product_remain_days = 6;
+}
diff --git a/proto/PlayerReportReq.proto b/proto/PlayerReportReq.proto
new file mode 100644
index 00000000..94101409
--- /dev/null
+++ b/proto/PlayerReportReq.proto
@@ -0,0 +1,39 @@
+// 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 "ReportReasonType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerReportReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4022;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string target_home_module_name = 5;
+ uint32 target_uid = 10;
+ ReportReasonType reason = 7;
+ string content = 11;
+ uint32 target_home_module_id = 15;
+}
diff --git a/proto/PlayerReportRsp.proto b/proto/PlayerReportRsp.proto
new file mode 100644
index 00000000..978c08c1
--- /dev/null
+++ b/proto/PlayerReportRsp.proto
@@ -0,0 +1,34 @@
+// 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 PlayerReportRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4082;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cd_time = 8;
+ int32 retcode = 7;
+ uint32 target_uid = 11;
+}
diff --git a/proto/PlayerRoutineDataNotify.proto b/proto/PlayerRoutineDataNotify.proto
new file mode 100644
index 00000000..da2a5be8
--- /dev/null
+++ b/proto/PlayerRoutineDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "PlayerRoutineInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerRoutineDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3542;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PlayerRoutineInfo routine_info_list = 11;
+}
diff --git a/proto/PlayerRoutineInfo.proto b/proto/PlayerRoutineInfo.proto
new file mode 100644
index 00000000..65efa147
--- /dev/null
+++ b/proto/PlayerRoutineInfo.proto
@@ -0,0 +1,25 @@
+// 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 PlayerRoutineInfo {
+ uint32 routine_type = 5;
+ uint32 finished_num = 9;
+}
diff --git a/proto/PlayerSetLanguageReq.proto b/proto/PlayerSetLanguageReq.proto
new file mode 100644
index 00000000..107960a8
--- /dev/null
+++ b/proto/PlayerSetLanguageReq.proto
@@ -0,0 +1,33 @@
+// 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 PlayerSetLanguageReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 111;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 language_type = 5;
+}
diff --git a/proto/PlayerSetLanguageRsp.proto b/proto/PlayerSetLanguageRsp.proto
new file mode 100644
index 00000000..31a60814
--- /dev/null
+++ b/proto/PlayerSetLanguageRsp.proto
@@ -0,0 +1,32 @@
+// 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 PlayerSetLanguageRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 150;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/PlayerSetOnlyMPWithPSPlayerReq.proto b/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
new file mode 100644
index 00000000..373ddf91
--- /dev/null
+++ b/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
@@ -0,0 +1,33 @@
+// 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 PlayerSetOnlyMPWithPSPlayerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1815;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_only = 10;
+}
diff --git a/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto b/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
new file mode 100644
index 00000000..e28ad2ab
--- /dev/null
+++ b/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
@@ -0,0 +1,33 @@
+// 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 PlayerSetOnlyMPWithPSPlayerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1818;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_only = 4;
+ int32 retcode = 11;
+}
diff --git a/proto/PlayerSetPauseReq.proto b/proto/PlayerSetPauseReq.proto
index e1bbb531..3ec9d000 100644
--- a/proto/PlayerSetPauseReq.proto
+++ b/proto/PlayerSetPauseReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 124
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PlayerSetPauseReq {
- bool is_paused = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 122;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_paused = 15;
}
diff --git a/proto/PlayerSetPauseRsp.proto b/proto/PlayerSetPauseRsp.proto
index 516a529f..fca14daf 100644
--- a/proto/PlayerSetPauseRsp.proto
+++ b/proto/PlayerSetPauseRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 156
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerSetPauseRsp {
- int32 retcode = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 182;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
}
diff --git a/proto/PlayerSignatureAuditDataNotify.proto b/proto/PlayerSignatureAuditDataNotify.proto
new file mode 100644
index 00000000..0dc1d142
--- /dev/null
+++ b/proto/PlayerSignatureAuditDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ContentAuditInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerSignatureAuditDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4036;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ContentAuditInfo info = 11;
+}
diff --git a/proto/PlayerSignatureNotify.proto b/proto/PlayerSignatureNotify.proto
new file mode 100644
index 00000000..a05e9896
--- /dev/null
+++ b/proto/PlayerSignatureNotify.proto
@@ -0,0 +1,32 @@
+// 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 PlayerSignatureNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4041;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string signature = 13;
+}
diff --git a/proto/PlayerStartMatchReq.proto b/proto/PlayerStartMatchReq.proto
new file mode 100644
index 00000000..8bccb64d
--- /dev/null
+++ b/proto/PlayerStartMatchReq.proto
@@ -0,0 +1,40 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerStartMatchReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4192;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mp_play_id = 12;
+ uint32 mechanicus_difficult_level = 15;
+ uint32 dungeon_id = 10;
+ uint32 match_id = 2;
+ MatchType match_type = 8;
+ repeated uint32 match_param_list = 3;
+}
diff --git a/proto/PlayerStartMatchRsp.proto b/proto/PlayerStartMatchRsp.proto
new file mode 100644
index 00000000..a20ce3ab
--- /dev/null
+++ b/proto/PlayerStartMatchRsp.proto
@@ -0,0 +1,41 @@
+// 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 "MatchType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PlayerStartMatchRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4191;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 1;
+ uint32 match_id = 12;
+ MatchType match_type = 10;
+ uint32 punish_end_time = 8;
+ uint32 mp_play_id = 11;
+ uint32 param = 7;
+ uint32 mechanicus_difficult_level = 3;
+ int32 retcode = 6;
+}
diff --git a/proto/PlayerStoreNotify.proto b/proto/PlayerStoreNotify.proto
index 89120821..387d06a9 100644
--- a/proto/PlayerStoreNotify.proto
+++ b/proto/PlayerStoreNotify.proto
@@ -22,11 +22,16 @@ import "StoreType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 672
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerStoreNotify {
- repeated Item item_list = 15;
- uint32 weight_limit = 8;
- StoreType store_type = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 679;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ StoreType store_type = 1;
+ uint32 weight_limit = 14;
+ repeated Item item_list = 10;
}
diff --git a/proto/PlayerTimeNotify.proto b/proto/PlayerTimeNotify.proto
index 4f89f7cd..10723d05 100644
--- a/proto/PlayerTimeNotify.proto
+++ b/proto/PlayerTimeNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 191
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerTimeNotify {
- uint64 server_time = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 121;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_paused = 12;
uint64 player_time = 11;
- bool is_paused = 14;
+ uint64 server_time = 5;
}
diff --git a/proto/PlayerUidExtInfo.proto b/proto/PlayerUidExtInfo.proto
new file mode 100644
index 00000000..870f117e
--- /dev/null
+++ b/proto/PlayerUidExtInfo.proto
@@ -0,0 +1,24 @@
+// 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 PlayerUidExtInfo {
+ uint32 reg_platform = 1;
+}
diff --git a/proto/PlayerWidgetInfo.proto b/proto/PlayerWidgetInfo.proto
index c83f09a8..9b3a6674 100644
--- a/proto/PlayerWidgetInfo.proto
+++ b/proto/PlayerWidgetInfo.proto
@@ -22,6 +22,6 @@ import "WidgetSlotData.proto";
option java_package = "emu.grasscutter.net.proto";
message PlayerWidgetInfo {
- uint32 uid = 14;
- repeated WidgetSlotData slot_list = 13;
+ uint32 uid = 6;
+ repeated WidgetSlotData slot_list = 4;
}
diff --git a/proto/PlayerWorldLocationInfo.proto b/proto/PlayerWorldLocationInfo.proto
index e4074b37..95a50a6a 100644
--- a/proto/PlayerWorldLocationInfo.proto
+++ b/proto/PlayerWorldLocationInfo.proto
@@ -22,6 +22,6 @@ import "PlayerLocationInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message PlayerWorldLocationInfo {
- uint32 scene_id = 1;
- PlayerLocationInfo player_loc = 12;
+ PlayerLocationInfo player_loc = 3;
+ uint32 scene_id = 11;
}
diff --git a/proto/PlayerWorldSceneInfo.proto b/proto/PlayerWorldSceneInfo.proto
index fec560b0..4411cb40 100644
--- a/proto/PlayerWorldSceneInfo.proto
+++ b/proto/PlayerWorldSceneInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PlayerWorldSceneInfo {
- uint32 scene_id = 11;
- repeated uint32 scene_tag_id_list = 8;
- bool is_locked = 12;
+ bool is_locked = 3;
+ uint32 scene_id = 8;
+ repeated uint32 scene_tag_id_list = 11;
}
diff --git a/proto/PlayerWorldSceneInfoListNotify.proto b/proto/PlayerWorldSceneInfoListNotify.proto
index 52af74e7..9d7aa04f 100644
--- a/proto/PlayerWorldSceneInfoListNotify.proto
+++ b/proto/PlayerWorldSceneInfoListNotify.proto
@@ -21,9 +21,14 @@ import "PlayerWorldSceneInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3129
-// EnetChannelId: 0
-// EnetIsReliable: true
message PlayerWorldSceneInfoListNotify {
- repeated PlayerWorldSceneInfo info_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3059;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PlayerWorldSceneInfo info_list = 2;
}
diff --git a/proto/PolygonRegionSize.proto b/proto/PolygonRegionSize.proto
new file mode 100644
index 00000000..95a2981c
--- /dev/null
+++ b/proto/PolygonRegionSize.proto
@@ -0,0 +1,27 @@
+// 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 "VectorPlane.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PolygonRegionSize {
+ float height = 3;
+ repeated VectorPlane point_list = 9;
+}
diff --git a/proto/PostEnterSceneReq.proto b/proto/PostEnterSceneReq.proto
index 0658f04f..7d2fb0c4 100644
--- a/proto/PostEnterSceneReq.proto
+++ b/proto/PostEnterSceneReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3312
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PostEnterSceneReq {
- uint32 enter_scene_token = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3286;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 enter_scene_token = 3;
}
diff --git a/proto/PostEnterSceneRsp.proto b/proto/PostEnterSceneRsp.proto
index 42862312..113c3145 100644
--- a/proto/PostEnterSceneRsp.proto
+++ b/proto/PostEnterSceneRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3184
-// EnetChannelId: 0
-// EnetIsReliable: true
message PostEnterSceneRsp {
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3094;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
uint32 enter_scene_token = 12;
}
diff --git a/proto/PotionActivityDetailInfo.proto b/proto/PotionActivityDetailInfo.proto
index 7d582b4e..b499b400 100644
--- a/proto/PotionActivityDetailInfo.proto
+++ b/proto/PotionActivityDetailInfo.proto
@@ -22,5 +22,5 @@ import "PotionStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message PotionActivityDetailInfo {
- repeated PotionStageData stage_list = 10;
+ repeated PotionStageData stage_list = 4;
}
diff --git a/proto/PotionAvatarInfo.proto b/proto/PotionAvatarInfo.proto
index 1d1ffd2a..8dcc9ebf 100644
--- a/proto/PotionAvatarInfo.proto
+++ b/proto/PotionAvatarInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PotionAvatarInfo {
- bool is_trial = 6;
- uint64 avatar_id = 8;
+ bool is_trial = 15;
+ uint64 avatar_id = 1;
}
diff --git a/proto/PotionDungeonAvatar.proto b/proto/PotionDungeonAvatar.proto
new file mode 100644
index 00000000..6751f02c
--- /dev/null
+++ b/proto/PotionDungeonAvatar.proto
@@ -0,0 +1,25 @@
+// 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 PotionDungeonAvatar {
+ uint64 avatar_guid = 14;
+ bool is_trial = 1;
+}
diff --git a/proto/PotionDungeonResultInfo.proto b/proto/PotionDungeonResultInfo.proto
index 9cf9f6ee..5e49a9a9 100644
--- a/proto/PotionDungeonResultInfo.proto
+++ b/proto/PotionDungeonResultInfo.proto
@@ -20,10 +20,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PotionDungeonResultInfo {
- uint32 final_score = 8;
- uint32 left_time = 9;
- uint32 difficulty_level = 14;
- uint32 mode_id = 11;
- uint32 level_id = 4;
- uint32 stage_id = 2;
+ uint32 left_time = 7;
+ uint32 mode_id = 13;
+ uint32 stage_id = 1;
+ uint32 level_id = 2;
+ uint32 final_score = 15;
+ uint32 difficulty_level = 8;
}
diff --git a/proto/PotionEnterDungeonNotify.proto b/proto/PotionEnterDungeonNotify.proto
new file mode 100644
index 00000000..d16bd237
--- /dev/null
+++ b/proto/PotionEnterDungeonNotify.proto
@@ -0,0 +1,38 @@
+// 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 "PotionDungeonAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PotionEnterDungeonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8777;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 mode_id = 11;
+ uint32 level_id = 3;
+ repeated PotionDungeonAvatar dungeon_avatar_list = 1;
+ uint32 difficulty_level = 14;
+ uint32 stage_id = 10;
+}
diff --git a/proto/PotionEnterDungeonReq.proto b/proto/PotionEnterDungeonReq.proto
new file mode 100644
index 00000000..87027b9f
--- /dev/null
+++ b/proto/PotionEnterDungeonReq.proto
@@ -0,0 +1,39 @@
+// 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 "PotionAvatarInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PotionEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8945;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 6;
+ repeated PotionAvatarInfo avatar_info_list = 15;
+ uint32 mode_id = 10;
+ repeated uint32 buff_id_list = 9;
+ uint32 stage_id = 2;
+}
diff --git a/proto/PotionEnterDungeonRsp.proto b/proto/PotionEnterDungeonRsp.proto
new file mode 100644
index 00000000..7e1677a3
--- /dev/null
+++ b/proto/PotionEnterDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 PotionEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8679;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/PotionLevelData.proto b/proto/PotionLevelData.proto
index 628617d2..446db414 100644
--- a/proto/PotionLevelData.proto
+++ b/proto/PotionLevelData.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message PotionLevelData {
- uint32 level_id = 10;
- uint32 score = 7;
- uint32 mode_id = 5;
- uint32 difficulty_level = 2;
+ uint32 difficulty_level = 3;
+ uint32 mode_id = 7;
+ uint32 score = 1;
+ uint32 level_id = 9;
}
diff --git a/proto/PotionResetChallengeReq.proto b/proto/PotionResetChallengeReq.proto
new file mode 100644
index 00000000..9e940d83
--- /dev/null
+++ b/proto/PotionResetChallengeReq.proto
@@ -0,0 +1,33 @@
+// 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 PotionResetChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8331;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 4;
+}
diff --git a/proto/PotionResetChallengeRsp.proto b/proto/PotionResetChallengeRsp.proto
new file mode 100644
index 00000000..40c27c40
--- /dev/null
+++ b/proto/PotionResetChallengeRsp.proto
@@ -0,0 +1,35 @@
+// 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 "PotionStageData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PotionResetChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8804;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ PotionStageData stage_data = 5;
+}
diff --git a/proto/PotionRestartDungeonReq.proto b/proto/PotionRestartDungeonReq.proto
new file mode 100644
index 00000000..c209909d
--- /dev/null
+++ b/proto/PotionRestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 PotionRestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8575;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/PotionRestartDungeonRsp.proto b/proto/PotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..4fb92eda
--- /dev/null
+++ b/proto/PotionRestartDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 PotionRestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8492;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+}
diff --git a/proto/PotionSaveDungeonResultReq.proto b/proto/PotionSaveDungeonResultReq.proto
new file mode 100644
index 00000000..ea8cd126
--- /dev/null
+++ b/proto/PotionSaveDungeonResultReq.proto
@@ -0,0 +1,34 @@
+// 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 PotionSaveDungeonResultReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8672;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 14;
+ uint32 stage_id = 7;
+}
diff --git a/proto/PotionSaveDungeonResultRsp.proto b/proto/PotionSaveDungeonResultRsp.proto
new file mode 100644
index 00000000..ed462653
--- /dev/null
+++ b/proto/PotionSaveDungeonResultRsp.proto
@@ -0,0 +1,32 @@
+// 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 PotionSaveDungeonResultRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8579;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+}
diff --git a/proto/PotionStage.proto b/proto/PotionStage.proto
new file mode 100644
index 00000000..17454e5f
--- /dev/null
+++ b/proto/PotionStage.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_JLHKOLGFAMI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PotionStage {
+ uint32 stage_id = 11;
+ repeated uint32 Unk2700_HFHCCJFDOKA = 2;
+ bool is_open = 15;
+ repeated Unk2700_JLHKOLGFAMI level_list = 14;
+ repeated uint32 Unk2700_LONIJGBDPIG = 13;
+}
diff --git a/proto/PotionStageData.proto b/proto/PotionStageData.proto
index 16ac4441..5ad482e5 100644
--- a/proto/PotionStageData.proto
+++ b/proto/PotionStageData.proto
@@ -22,9 +22,9 @@ import "PotionLevelData.proto";
option java_package = "emu.grasscutter.net.proto";
message PotionStageData {
- uint32 stage_id = 11;
- repeated uint32 cool_down_buff_id_list = 2;
- bool is_open = 15;
- repeated PotionLevelData level_list = 14;
- repeated uint32 cool_down_avatar_id_list = 13;
+ repeated uint32 Unk3300_BMEHJHFCPMA = 7;
+ repeated uint32 Unk3300_NLMEPPPMCKI = 9;
+ uint32 stage_id = 13;
+ bool is_open = 8;
+ repeated PotionLevelData level_list = 11;
}
diff --git a/proto/PrivateChatNotify.proto b/proto/PrivateChatNotify.proto
index 3782a4e8..5fcc9e1a 100644
--- a/proto/PrivateChatNotify.proto
+++ b/proto/PrivateChatNotify.proto
@@ -21,9 +21,14 @@ import "ChatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4962
-// EnetChannelId: 0
-// EnetIsReliable: true
message PrivateChatNotify {
- ChatInfo chat_info = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5006;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ChatInfo chat_info = 9;
}
diff --git a/proto/PrivateChatReq.proto b/proto/PrivateChatReq.proto
index 1c26ead5..db67fde0 100644
--- a/proto/PrivateChatReq.proto
+++ b/proto/PrivateChatReq.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5022
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PrivateChatReq {
- uint32 target_uid = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5029;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 5;
oneof content {
- string text = 3;
- uint32 icon = 4;
+ string text = 1;
+ uint32 icon = 13;
}
}
diff --git a/proto/PrivateChatRsp.proto b/proto/PrivateChatRsp.proto
new file mode 100644
index 00000000..6b813fef
--- /dev/null
+++ b/proto/PrivateChatRsp.proto
@@ -0,0 +1,33 @@
+// 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 PrivateChatRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4980;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 chat_forbidden_endtime = 6;
+}
diff --git a/proto/PrivateChatSetSequenceReq.proto b/proto/PrivateChatSetSequenceReq.proto
new file mode 100644
index 00000000..d45c433d
--- /dev/null
+++ b/proto/PrivateChatSetSequenceReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 4985
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PrivateChatSetSequenceReq {
+ uint32 target_uid = 11;
+ uint32 sequence = 15;
+}
diff --git a/proto/PrivateChatSetSequenceRsp.proto b/proto/PrivateChatSetSequenceRsp.proto
new file mode 100644
index 00000000..0fcbe07c
--- /dev/null
+++ b/proto/PrivateChatSetSequenceRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4957
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PrivateChatSetSequenceRsp {
+ int32 retcode = 13;
+}
diff --git a/proto/ProductPriceTier.proto b/proto/ProductPriceTier.proto
new file mode 100644
index 00000000..97f82af7
--- /dev/null
+++ b/proto/ProductPriceTier.proto
@@ -0,0 +1,25 @@
+// 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 ProductPriceTier {
+ string price_tier = 3;
+ string product_id = 14;
+}
diff --git a/proto/ProfilePictureChangeNotify.proto b/proto/ProfilePictureChangeNotify.proto
index de978841..6709b029 100644
--- a/proto/ProfilePictureChangeNotify.proto
+++ b/proto/ProfilePictureChangeNotify.proto
@@ -21,10 +21,15 @@ import "ProfilePicture.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4016
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ProfilePictureChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4023;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
ProfilePicture profile_picture = 12;
}
diff --git a/proto/ProjectorOptionReq.proto b/proto/ProjectorOptionReq.proto
new file mode 100644
index 00000000..620394d1
--- /dev/null
+++ b/proto/ProjectorOptionReq.proto
@@ -0,0 +1,40 @@
+// 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 ProjectorOptionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 803;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ enum ProjectorOpType {
+ PROJECTOR_OP_TYPE_NONE = 0;
+ PROJECTOR_OP_TYPE_CREATE = 1;
+ PROJECTOR_OP_TYPE_DESTROY = 2;
+ }
+
+ uint32 op_type = 2;
+ uint32 entity_id = 8;
+}
diff --git a/proto/ProjectorOptionRsp.proto b/proto/ProjectorOptionRsp.proto
new file mode 100644
index 00000000..3a7873f0
--- /dev/null
+++ b/proto/ProjectorOptionRsp.proto
@@ -0,0 +1,34 @@
+// 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 ProjectorOptionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 833;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 entity_id = 1;
+ uint32 op_type = 14;
+}
diff --git a/proto/ProudSkillChangeNotify.proto b/proto/ProudSkillChangeNotify.proto
index 6c60462b..72556653 100644
--- a/proto/ProudSkillChangeNotify.proto
+++ b/proto/ProudSkillChangeNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1031
-// EnetChannelId: 0
-// EnetIsReliable: true
message ProudSkillChangeNotify {
- uint64 avatar_guid = 11;
- uint32 entity_id = 4;
- uint32 skill_depot_id = 8;
- repeated uint32 proud_skill_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1027;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 13;
+ repeated uint32 proud_skill_list = 5;
+ uint32 skill_depot_id = 12;
+ uint32 entity_id = 3;
}
diff --git a/proto/ProudSkillExtraLevelNotify.proto b/proto/ProudSkillExtraLevelNotify.proto
index efb09ee2..2e4408b5 100644
--- a/proto/ProudSkillExtraLevelNotify.proto
+++ b/proto/ProudSkillExtraLevelNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1081
-// EnetChannelId: 0
-// EnetIsReliable: true
message ProudSkillExtraLevelNotify {
- uint32 talent_type = 11;
- uint32 talent_index = 8;
- uint64 avatar_guid = 15;
- uint32 extra_level = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1025;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 13;
+ uint32 Unk3300_ODIOPLHJHAE = 4;
+ uint32 Unk3300_LKNFMODMEIA = 8;
+ uint32 Unk3300_IPDBADAAHBA = 2;
}
diff --git a/proto/ProudSkillUpgradeReq.proto b/proto/ProudSkillUpgradeReq.proto
new file mode 100644
index 00000000..f4634290
--- /dev/null
+++ b/proto/ProudSkillUpgradeReq.proto
@@ -0,0 +1,35 @@
+// 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 ProudSkillUpgradeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1078;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 avatar_guid = 13;
+ uint32 old_proud_skill_level = 3;
+ uint32 proud_skill_id = 2;
+}
diff --git a/proto/ProudSkillUpgradeRsp.proto b/proto/ProudSkillUpgradeRsp.proto
new file mode 100644
index 00000000..89faf5ae
--- /dev/null
+++ b/proto/ProudSkillUpgradeRsp.proto
@@ -0,0 +1,34 @@
+// 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 ProudSkillUpgradeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1057;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 avatar_guid = 3;
+ uint32 proud_skill_id = 15;
+ int32 retcode = 13;
+}
diff --git a/proto/PublishCustomDungeonReq.proto b/proto/PublishCustomDungeonReq.proto
new file mode 100644
index 00000000..424b358f
--- /dev/null
+++ b/proto/PublishCustomDungeonReq.proto
@@ -0,0 +1,34 @@
+// 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 PublishCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6245;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 dungeon_guid = 6;
+ repeated uint32 tag_list = 9;
+}
diff --git a/proto/PublishCustomDungeonRsp.proto b/proto/PublishCustomDungeonRsp.proto
new file mode 100644
index 00000000..cedb0bb7
--- /dev/null
+++ b/proto/PublishCustomDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 PublishCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6202;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+}
diff --git a/proto/PublishUgcReq.proto b/proto/PublishUgcReq.proto
new file mode 100644
index 00000000..0ee5b448
--- /dev/null
+++ b/proto/PublishUgcReq.proto
@@ -0,0 +1,36 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PublishUgcReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6312;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 ugc_guid = 12;
+ UgcType ugc_type = 10;
+}
diff --git a/proto/PublishUgcRsp.proto b/proto/PublishUgcRsp.proto
new file mode 100644
index 00000000..3caf0b94
--- /dev/null
+++ b/proto/PublishUgcRsp.proto
@@ -0,0 +1,36 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PublishUgcRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6334;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ UgcType ugc_type = 2;
+ uint64 ugc_guid = 12;
+ int32 retcode = 10;
+}
diff --git a/proto/PullPrivateChatReq.proto b/proto/PullPrivateChatReq.proto
index 8b293c87..4437a341 100644
--- a/proto/PullPrivateChatReq.proto
+++ b/proto/PullPrivateChatReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4971
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PullPrivateChatReq {
- uint32 target_uid = 5;
- uint32 pull_num = 7;
- uint32 from_sequence = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4993;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 from_sequence = 5;
+ uint32 target_uid = 12;
+ uint32 pull_num = 11;
}
diff --git a/proto/PullPrivateChatRsp.proto b/proto/PullPrivateChatRsp.proto
index ccdef7b0..bbf343ee 100644
--- a/proto/PullPrivateChatRsp.proto
+++ b/proto/PullPrivateChatRsp.proto
@@ -21,10 +21,15 @@ import "ChatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4953
-// EnetChannelId: 0
-// EnetIsReliable: true
message PullPrivateChatRsp {
- repeated ChatInfo chat_info = 15;
- int32 retcode = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5011;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ChatInfo chat_info = 6;
+ int32 retcode = 1;
}
diff --git a/proto/PullRecentChatReq.proto b/proto/PullRecentChatReq.proto
index 45dad3ea..81be2ff2 100644
--- a/proto/PullRecentChatReq.proto
+++ b/proto/PullRecentChatReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5040
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message PullRecentChatReq {
- uint32 pull_num = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4997;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 pull_num = 3;
uint32 begin_sequence = 15;
}
diff --git a/proto/PullRecentChatRsp.proto b/proto/PullRecentChatRsp.proto
index 65228bde..746fe2f9 100644
--- a/proto/PullRecentChatRsp.proto
+++ b/proto/PullRecentChatRsp.proto
@@ -21,10 +21,15 @@ import "ChatInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5023
-// EnetChannelId: 0
-// EnetIsReliable: true
message PullRecentChatRsp {
- repeated ChatInfo chat_info = 15;
- int32 retcode = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5028;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ChatInfo chat_info = 13;
+ int32 retcode = 11;
}
diff --git a/proto/PushTipsAllDataNotify.proto b/proto/PushTipsAllDataNotify.proto
new file mode 100644
index 00000000..e4312ed9
--- /dev/null
+++ b/proto/PushTipsAllDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "PushTipsData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PushTipsAllDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2237;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PushTipsData push_tips_list = 4;
+}
diff --git a/proto/PushTipsChangeNotify.proto b/proto/PushTipsChangeNotify.proto
new file mode 100644
index 00000000..5b36945b
--- /dev/null
+++ b/proto/PushTipsChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "PushTipsData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message PushTipsChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2289;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PushTipsData push_tips_list = 5;
+}
diff --git a/proto/PushTipsData.proto b/proto/PushTipsData.proto
new file mode 100644
index 00000000..c1e7e3db
--- /dev/null
+++ b/proto/PushTipsData.proto
@@ -0,0 +1,25 @@
+// 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 PushTipsData {
+ uint32 push_tips_id = 4;
+ uint32 state = 7;
+}
diff --git a/proto/PushTipsReadFinishReq.proto b/proto/PushTipsReadFinishReq.proto
new file mode 100644
index 00000000..341d060d
--- /dev/null
+++ b/proto/PushTipsReadFinishReq.proto
@@ -0,0 +1,33 @@
+// 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 PushTipsReadFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2244;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 push_tips_id = 11;
+}
diff --git a/proto/PushTipsReadFinishRsp.proto b/proto/PushTipsReadFinishRsp.proto
new file mode 100644
index 00000000..54a21071
--- /dev/null
+++ b/proto/PushTipsReadFinishRsp.proto
@@ -0,0 +1,33 @@
+// 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 PushTipsReadFinishRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2207;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 push_tips_id = 13;
+ int32 retcode = 12;
+}
diff --git a/proto/QueryCodexMonsterBeKilledNumReq.proto b/proto/QueryCodexMonsterBeKilledNumReq.proto
index 95585153..a0dac106 100644
--- a/proto/QueryCodexMonsterBeKilledNumReq.proto
+++ b/proto/QueryCodexMonsterBeKilledNumReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4203
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QueryCodexMonsterBeKilledNumReq {
- repeated uint32 codex_id_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4204;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 codex_id_list = 3;
}
diff --git a/proto/QueryCodexMonsterBeKilledNumRsp.proto b/proto/QueryCodexMonsterBeKilledNumRsp.proto
index 2e920733..55170a13 100644
--- a/proto/QueryCodexMonsterBeKilledNumRsp.proto
+++ b/proto/QueryCodexMonsterBeKilledNumRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4209
-// EnetChannelId: 0
-// EnetIsReliable: true
message QueryCodexMonsterBeKilledNumRsp {
- repeated uint32 codex_id_list = 4;
- repeated uint32 be_captured_num_list = 6;
- repeated uint32 be_killed_num_list = 12;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4202;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_ALELNLIODAO = 11;
+ repeated uint32 Unk3300_INHAGEELNNC = 5;
+ int32 retcode = 2;
+ repeated uint32 codex_id_list = 10;
}
diff --git a/proto/QueryFilter.proto b/proto/QueryFilter.proto
index 48f3de1c..3bd1fc6c 100644
--- a/proto/QueryFilter.proto
+++ b/proto/QueryFilter.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message QueryFilter {
- int32 type_id = 9;
- int32 area_mask = 13;
+ int32 area_mask = 4;
+ int32 type_id = 3;
}
diff --git a/proto/QueryPathReq.proto b/proto/QueryPathReq.proto
index 673047ec..02658d97 100644
--- a/proto/QueryPathReq.proto
+++ b/proto/QueryPathReq.proto
@@ -23,23 +23,28 @@ import "Vector3Int.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2372
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QueryPathReq {
- OptionType query_type = 13;
- Vector3Int source_extend = 6;
- Vector source_pos = 2;
- QueryFilter filter = 12;
- int32 query_id = 15;
- Vector3Int destination_extend = 4;
- repeated Vector destination_pos = 10;
- uint32 scene_id = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2379;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
enum OptionType {
OPTION_TYPE_NONE = 0;
OPTION_TYPE_NORMAL = 1;
OPTION_TYPE_FIRST_CAN_GO = 2;
}
+
+ QueryFilter filter = 7;
+ int32 query_id = 3;
+ repeated Vector destination_pos = 6;
+ OptionType query_type = 11;
+ Vector3Int Unk3300_LHNGPJFOMIK = 4;
+ uint32 scene_id = 2;
+ Vector source_pos = 8;
+ Vector3Int Unk3300_CLGJBBJDOLN = 5;
}
diff --git a/proto/QueryPathRsp.proto b/proto/QueryPathRsp.proto
index b310598f..abe73ee0 100644
--- a/proto/QueryPathRsp.proto
+++ b/proto/QueryPathRsp.proto
@@ -21,18 +21,23 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2398
-// EnetChannelId: 0
-// EnetIsReliable: true
message QueryPathRsp {
- int32 query_id = 12;
- repeated Vector corners = 6;
- PathStatusType query_status = 8;
- int32 retcode = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2330;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum PathStatusType {
PATH_STATUS_TYPE_FAIL = 0;
PATH_STATUS_TYPE_SUCC = 1;
PATH_STATUS_TYPE_PARTIAL = 2;
}
+
+ PathStatusType query_status = 3;
+ int32 retcode = 10;
+ int32 query_id = 8;
+ repeated Vector corners = 1;
}
diff --git a/proto/QuestCreateEntityReq.proto b/proto/QuestCreateEntityReq.proto
index 6f01f2b9..12c19ec7 100644
--- a/proto/QuestCreateEntityReq.proto
+++ b/proto/QuestCreateEntityReq.proto
@@ -21,13 +21,18 @@ import "CreateEntityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 499
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QuestCreateEntityReq {
- uint32 parent_quest_id = 9;
- bool is_rewind = 3;
- uint32 quest_id = 2;
- CreateEntityInfo entity = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 457;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 parent_quest_id = 14;
+ CreateEntityInfo entity = 3;
+ uint32 quest_id = 5;
+ bool is_rewind = 11;
}
diff --git a/proto/QuestCreateEntityRsp.proto b/proto/QuestCreateEntityRsp.proto
index 1cb69c3f..6b92cd36 100644
--- a/proto/QuestCreateEntityRsp.proto
+++ b/proto/QuestCreateEntityRsp.proto
@@ -21,14 +21,19 @@ import "CreateEntityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 431
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestCreateEntityRsp {
- uint32 quest_id = 13;
- int32 retcode = 8;
- uint32 entity_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
CreateEntityInfo entity = 11;
- uint32 parent_quest_id = 1;
- bool is_rewind = 14;
+ uint32 entity_id = 3;
+ bool is_rewind = 9;
+ uint32 parent_quest_id = 2;
+ int32 retcode = 7;
+ uint32 quest_id = 1;
}
diff --git a/proto/QuestDelNotify.proto b/proto/QuestDelNotify.proto
index efa81752..b103b95e 100644
--- a/proto/QuestDelNotify.proto
+++ b/proto/QuestDelNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 412
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestDelNotify {
- uint32 quest_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 456;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quest_id = 8;
}
diff --git a/proto/QuestDestroyEntityReq.proto b/proto/QuestDestroyEntityReq.proto
index cceda2b9..de3acda6 100644
--- a/proto/QuestDestroyEntityReq.proto
+++ b/proto/QuestDestroyEntityReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 475
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QuestDestroyEntityReq {
- uint32 scene_id = 2;
- uint32 entity_id = 9;
- uint32 quest_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 439;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 8;
+ uint32 quest_id = 5;
+ uint32 scene_id = 6;
}
diff --git a/proto/QuestDestroyEntityRsp.proto b/proto/QuestDestroyEntityRsp.proto
index dbf45f55..144669d5 100644
--- a/proto/QuestDestroyEntityRsp.proto
+++ b/proto/QuestDestroyEntityRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 448
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestDestroyEntityRsp {
- uint32 quest_id = 14;
- uint32 scene_id = 9;
- uint32 entity_id = 12;
- int32 retcode = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 448;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 scene_id = 6;
+ uint32 entity_id = 8;
+ uint32 quest_id = 9;
}
diff --git a/proto/QuestDestroyNpcReq.proto b/proto/QuestDestroyNpcReq.proto
index 2fd020c9..2186bcbf 100644
--- a/proto/QuestDestroyNpcReq.proto
+++ b/proto/QuestDestroyNpcReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 422
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QuestDestroyNpcReq {
- uint32 npc_id = 1;
- uint32 parent_quest_id = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 437;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 npc_id = 15;
+ uint32 parent_quest_id = 2;
}
diff --git a/proto/QuestDestroyNpcRsp.proto b/proto/QuestDestroyNpcRsp.proto
index c834779d..3b550f53 100644
--- a/proto/QuestDestroyNpcRsp.proto
+++ b/proto/QuestDestroyNpcRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 465
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestDestroyNpcRsp {
- uint32 npc_id = 12;
- uint32 parent_quest_id = 4;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 489;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 npc_id = 14;
+ uint32 parent_quest_id = 8;
+ int32 retcode = 13;
}
diff --git a/proto/QuestGlobalVar.proto b/proto/QuestGlobalVar.proto
index acf86fa4..d05dff76 100644
--- a/proto/QuestGlobalVar.proto
+++ b/proto/QuestGlobalVar.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message QuestGlobalVar {
- int32 value = 8;
- uint32 key = 4;
+ int32 value = 4;
+ uint32 key = 9;
}
diff --git a/proto/QuestGlobalVarNotify.proto b/proto/QuestGlobalVarNotify.proto
index 02671441..0f90a5cc 100644
--- a/proto/QuestGlobalVarNotify.proto
+++ b/proto/QuestGlobalVarNotify.proto
@@ -21,9 +21,14 @@ import "QuestGlobalVar.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 434
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestGlobalVarNotify {
- repeated QuestGlobalVar var_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 480;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated QuestGlobalVar var_list = 8;
}
diff --git a/proto/QuestListNotify.proto b/proto/QuestListNotify.proto
index c7f3a2bc..3036602a 100644
--- a/proto/QuestListNotify.proto
+++ b/proto/QuestListNotify.proto
@@ -21,9 +21,14 @@ import "Quest.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 472
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestListNotify {
- repeated Quest quest_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 479;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Quest quest_list = 13;
}
diff --git a/proto/QuestListUpdateNotify.proto b/proto/QuestListUpdateNotify.proto
index 9c58396d..df249f35 100644
--- a/proto/QuestListUpdateNotify.proto
+++ b/proto/QuestListUpdateNotify.proto
@@ -21,9 +21,14 @@ import "Quest.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 498
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestListUpdateNotify {
- repeated Quest quest_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 430;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated Quest quest_list = 7;
}
diff --git a/proto/QuestProgressUpdateNotify.proto b/proto/QuestProgressUpdateNotify.proto
index 41e8532b..f34c787b 100644
--- a/proto/QuestProgressUpdateNotify.proto
+++ b/proto/QuestProgressUpdateNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 482
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestProgressUpdateNotify {
- uint32 quest_id = 12;
- repeated uint32 fail_progress_list = 6;
- repeated uint32 finish_progress_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 490;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quest_id = 9;
+ repeated uint32 finish_progress_list = 12;
+ repeated uint32 fail_progress_list = 15;
}
diff --git a/proto/QuestRenameAvatarReq.proto b/proto/QuestRenameAvatarReq.proto
new file mode 100644
index 00000000..dc2a298d
--- /dev/null
+++ b/proto/QuestRenameAvatarReq.proto
@@ -0,0 +1,35 @@
+// 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 QuestRenameAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 487;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string avatar_name = 11;
+ uint32 rename_id = 12;
+ bool is_check = 4;
+}
diff --git a/proto/QuestRenameAvatarRsp.proto b/proto/QuestRenameAvatarRsp.proto
new file mode 100644
index 00000000..c64b11a6
--- /dev/null
+++ b/proto/QuestRenameAvatarRsp.proto
@@ -0,0 +1,35 @@
+// 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 QuestRenameAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 485;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ bool is_check = 4;
+ uint32 rename_id = 15;
+ string avatar_name = 8;
+}
diff --git a/proto/QuestTransmitReq.proto b/proto/QuestTransmitReq.proto
index 767ae86a..329a8d69 100644
--- a/proto/QuestTransmitReq.proto
+++ b/proto/QuestTransmitReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 450
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QuestTransmitReq {
- uint32 point_id = 15;
- uint32 quest_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 446;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 quest_id = 12;
+ uint32 point_id = 1;
}
diff --git a/proto/QuestTransmitRsp.proto b/proto/QuestTransmitRsp.proto
index ff702a01..50ed3c49 100644
--- a/proto/QuestTransmitRsp.proto
+++ b/proto/QuestTransmitRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 443
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestTransmitRsp {
- uint32 point_id = 12;
- int32 retcode = 5;
- uint32 quest_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 475;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 quest_id = 2;
+ int32 retcode = 14;
+ uint32 point_id = 6;
}
diff --git a/proto/QuestUpdateQuestTimeVarNotify.proto b/proto/QuestUpdateQuestTimeVarNotify.proto
index bb3e9aff..845aaa11 100644
--- a/proto/QuestUpdateQuestTimeVarNotify.proto
+++ b/proto/QuestUpdateQuestTimeVarNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 456
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestUpdateQuestTimeVarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 482;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
map time_var_map = 1;
- uint32 parent_quest_id = 3;
+ uint32 parent_quest_id = 14;
}
diff --git a/proto/QuestUpdateQuestVarNotify.proto b/proto/QuestUpdateQuestVarNotify.proto
index 09b0a8aa..ecf6dafe 100644
--- a/proto/QuestUpdateQuestVarNotify.proto
+++ b/proto/QuestUpdateQuestVarNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 453
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestUpdateQuestVarNotify {
- repeated int32 quest_var = 1;
- uint32 parent_quest_id = 12;
- uint32 parent_quest_var_seq = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 473;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 parent_quest_var_seq = 9;
+ repeated int32 quest_var = 3;
+ uint32 parent_quest_id = 7;
}
diff --git a/proto/QuestUpdateQuestVarReq.proto b/proto/QuestUpdateQuestVarReq.proto
index 72c54db4..bb689c3b 100644
--- a/proto/QuestUpdateQuestVarReq.proto
+++ b/proto/QuestUpdateQuestVarReq.proto
@@ -21,13 +21,18 @@ import "QuestVarOp.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 447
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message QuestUpdateQuestVarReq {
- uint32 parent_quest_id = 9;
- repeated QuestVarOp quest_var_op_list = 4;
- uint32 quest_id = 11;
- uint32 parent_quest_var_seq = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 476;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 parent_quest_var_seq = 7;
+ repeated QuestVarOp quest_var_op_list = 11;
+ uint32 quest_id = 5;
+ uint32 parent_quest_id = 2;
}
diff --git a/proto/QuestUpdateQuestVarRsp.proto b/proto/QuestUpdateQuestVarRsp.proto
index 59d73195..cfbc2a9e 100644
--- a/proto/QuestUpdateQuestVarRsp.proto
+++ b/proto/QuestUpdateQuestVarRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 439
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuestUpdateQuestVarRsp {
- int32 retcode = 10;
- uint32 parent_quest_var_seq = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 416;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 parent_quest_var_seq = 1;
uint32 parent_quest_id = 8;
- uint32 quest_id = 15;
+ uint32 quest_id = 11;
}
diff --git a/proto/QuestVarOp.proto b/proto/QuestVarOp.proto
index b532d5cf..a9d75ed1 100644
--- a/proto/QuestVarOp.proto
+++ b/proto/QuestVarOp.proto
@@ -21,6 +21,6 @@ option java_package = "emu.grasscutter.net.proto";
message QuestVarOp {
uint32 index = 9;
- int32 value = 5;
- bool is_add = 6;
+ bool is_add = 3;
+ int32 value = 8;
}
diff --git a/proto/QuickOpenActivityReq.proto b/proto/QuickOpenActivityReq.proto
new file mode 100644
index 00000000..e859adc1
--- /dev/null
+++ b/proto/QuickOpenActivityReq.proto
@@ -0,0 +1,33 @@
+// 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 QuickOpenActivityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8302;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 activity_id = 8;
+}
diff --git a/proto/QuickOpenActivityRsp.proto b/proto/QuickOpenActivityRsp.proto
new file mode 100644
index 00000000..b302fbf0
--- /dev/null
+++ b/proto/QuickOpenActivityRsp.proto
@@ -0,0 +1,33 @@
+// 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 QuickOpenActivityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8677;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+ uint32 activity_id = 9;
+}
diff --git a/proto/QuickUseWidgetReq.proto b/proto/QuickUseWidgetReq.proto
new file mode 100644
index 00000000..3ddd4f9b
--- /dev/null
+++ b/proto/QuickUseWidgetReq.proto
@@ -0,0 +1,42 @@
+// 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 "WidgetCameraInfo.proto";
+import "WidgetCreateLocationInfo.proto";
+import "WidgetCreatorInfo.proto";
+import "WidgetThunderBirdFeatherInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message QuickUseWidgetReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4284;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+ oneof param {
+ WidgetCreateLocationInfo location_info = 1872;
+ WidgetCameraInfo camera_info = 1835;
+ WidgetCreatorInfo creator_info = 72;
+ WidgetThunderBirdFeatherInfo thunder_bird_feather_info = 491;
+ }
+}
diff --git a/proto/QuickUseWidgetRsp.proto b/proto/QuickUseWidgetRsp.proto
index 9da852bb..96729369 100644
--- a/proto/QuickUseWidgetRsp.proto
+++ b/proto/QuickUseWidgetRsp.proto
@@ -23,15 +23,20 @@ import "SkyCrystalDetectorQuickUseResult.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4270
-// EnetChannelId: 0
-// EnetIsReliable: true
message QuickUseWidgetRsp {
- uint32 material_id = 6;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4265;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 material_id = 11;
+ int32 retcode = 12;
oneof param {
- OneofGatherPointDetectorData detector_data = 3;
- ClientCollectorData client_collector_data = 15;
- SkyCrystalDetectorQuickUseResult sky_crystal_detector_quick_use_result = 168922;
+ OneofGatherPointDetectorData detector_data = 14;
+ ClientCollectorData client_collector_data = 10;
+ SkyCrystalDetectorQuickUseResult sky_crystal_detector_quick_use_result = 172322;
}
}
diff --git a/proto/RacingGalleryInfo.proto b/proto/RacingGalleryInfo.proto
new file mode 100644
index 00000000..30f73259
--- /dev/null
+++ b/proto/RacingGalleryInfo.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_OJJNGIHDJEH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RacingGalleryInfo {
+ repeated Unk2700_OJJNGIHDJEH record_list = 7;
+}
diff --git a/proto/RacingGallerySettleInfo.proto b/proto/RacingGallerySettleInfo.proto
new file mode 100644
index 00000000..8b29d848
--- /dev/null
+++ b/proto/RacingGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RacingGallerySettleInfo {
+ uint32 winner_uid = 10;
+ uint32 use_time = 15;
+ GalleryStopReason reason = 11;
+}
diff --git a/proto/ReadMailNotify.proto b/proto/ReadMailNotify.proto
index 76b7dec4..be719da8 100644
--- a/proto/ReadMailNotify.proto
+++ b/proto/ReadMailNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1412
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReadMailNotify {
- repeated uint32 mail_id_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1456;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 mail_id_list = 7;
}
diff --git a/proto/ReadNicknameAuditReq.proto b/proto/ReadNicknameAuditReq.proto
new file mode 100644
index 00000000..5e20940c
--- /dev/null
+++ b/proto/ReadNicknameAuditReq.proto
@@ -0,0 +1,31 @@
+// 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 ReadNicknameAuditReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 132;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ReadNicknameAuditRsp.proto b/proto/ReadNicknameAuditRsp.proto
new file mode 100644
index 00000000..43e761c0
--- /dev/null
+++ b/proto/ReadNicknameAuditRsp.proto
@@ -0,0 +1,32 @@
+// 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 ReadNicknameAuditRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 168;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/ReadPrivateChatReq.proto b/proto/ReadPrivateChatReq.proto
index b6318b64..c230a84b 100644
--- a/proto/ReadPrivateChatReq.proto
+++ b/proto/ReadPrivateChatReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5049
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReadPrivateChatReq {
- uint32 target_uid = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5007;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 15;
}
diff --git a/proto/ReadPrivateChatRsp.proto b/proto/ReadPrivateChatRsp.proto
new file mode 100644
index 00000000..b9770ca9
--- /dev/null
+++ b/proto/ReadPrivateChatRsp.proto
@@ -0,0 +1,32 @@
+// 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 ReadPrivateChatRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4977;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/ReadSignatureAuditReq.proto b/proto/ReadSignatureAuditReq.proto
new file mode 100644
index 00000000..2daa2cb3
--- /dev/null
+++ b/proto/ReadSignatureAuditReq.proto
@@ -0,0 +1,31 @@
+// 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 ReadSignatureAuditReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4002;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ReadSignatureAuditRsp.proto b/proto/ReadSignatureAuditRsp.proto
new file mode 100644
index 00000000..6616a24c
--- /dev/null
+++ b/proto/ReadSignatureAuditRsp.proto
@@ -0,0 +1,32 @@
+// 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 ReadSignatureAuditRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4012;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/ReceivedTrialAvatarActivityRewardReq.proto b/proto/ReceivedTrialAvatarActivityRewardReq.proto
new file mode 100644
index 00000000..68b023d6
--- /dev/null
+++ b/proto/ReceivedTrialAvatarActivityRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 ReceivedTrialAvatarActivityRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2155;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 trial_avatar_index_id = 9;
+}
diff --git a/proto/ReceivedTrialAvatarActivityRewardRsp.proto b/proto/ReceivedTrialAvatarActivityRewardRsp.proto
new file mode 100644
index 00000000..11dbe7de
--- /dev/null
+++ b/proto/ReceivedTrialAvatarActivityRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 ReceivedTrialAvatarActivityRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2175;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 6;
+ int32 retcode = 8;
+ uint32 trial_avatar_index_id = 10;
+}
diff --git a/proto/RechargeReq.proto b/proto/RechargeReq.proto
new file mode 100644
index 00000000..3c09e007
--- /dev/null
+++ b/proto/RechargeReq.proto
@@ -0,0 +1,41 @@
+// 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 "PlayProduct.proto";
+import "ShopCardProduct.proto";
+import "ShopConcertProduct.proto";
+import "ShopMcoinProduct.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RechargeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4142;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ShopMcoinProduct mcoin_product = 10;
+ ShopCardProduct card_product = 4;
+ PlayProduct play_product = 3;
+ ShopConcertProduct concert_product = 11;
+}
diff --git a/proto/RechargeRsp.proto b/proto/RechargeRsp.proto
new file mode 100644
index 00000000..a9741223
--- /dev/null
+++ b/proto/RechargeRsp.proto
@@ -0,0 +1,34 @@
+// 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 RechargeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4141;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string product_id = 10;
+ bool is_show_minors_hint = 1;
+ int32 retcode = 9;
+}
diff --git a/proto/RedPointData.proto b/proto/RedPointData.proto
new file mode 100644
index 00000000..ccd65a47
--- /dev/null
+++ b/proto/RedPointData.proto
@@ -0,0 +1,26 @@
+// 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 RedPointData {
+ uint32 red_point_type = 1;
+ bool is_show = 2;
+ uint32 content_id = 3;
+}
diff --git a/proto/RedeemLegendaryKeyReq.proto b/proto/RedeemLegendaryKeyReq.proto
new file mode 100644
index 00000000..5a6b94ad
--- /dev/null
+++ b/proto/RedeemLegendaryKeyReq.proto
@@ -0,0 +1,31 @@
+// 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 RedeemLegendaryKeyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 464;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/RedeemLegendaryKeyRsp.proto b/proto/RedeemLegendaryKeyRsp.proto
new file mode 100644
index 00000000..a9ad10cc
--- /dev/null
+++ b/proto/RedeemLegendaryKeyRsp.proto
@@ -0,0 +1,33 @@
+// 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 RedeemLegendaryKeyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 467;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ uint32 legendary_key_count = 2;
+}
diff --git a/proto/ReformFireworksReq.proto b/proto/ReformFireworksReq.proto
new file mode 100644
index 00000000..0d488272
--- /dev/null
+++ b/proto/ReformFireworksReq.proto
@@ -0,0 +1,35 @@
+// 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 "FireworksReformData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReformFireworksReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6074;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ FireworksReformData fireworks_reform_data = 1;
+}
diff --git a/proto/ReformFireworksRsp.proto b/proto/ReformFireworksRsp.proto
new file mode 100644
index 00000000..b8f866cc
--- /dev/null
+++ b/proto/ReformFireworksRsp.proto
@@ -0,0 +1,32 @@
+// 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 ReformFireworksRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6062;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/RefreshBackgroundAvatarReq.proto b/proto/RefreshBackgroundAvatarReq.proto
new file mode 100644
index 00000000..d74586f2
--- /dev/null
+++ b/proto/RefreshBackgroundAvatarReq.proto
@@ -0,0 +1,31 @@
+// 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 RefreshBackgroundAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1765;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/RefreshBackgroundAvatarRsp.proto b/proto/RefreshBackgroundAvatarRsp.proto
new file mode 100644
index 00000000..d91d5f2d
--- /dev/null
+++ b/proto/RefreshBackgroundAvatarRsp.proto
@@ -0,0 +1,33 @@
+// 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 RefreshBackgroundAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1744;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map hp_full_time_map = 4;
+ int32 retcode = 11;
+}
diff --git a/proto/RefreshEntityAuthNotify.proto b/proto/RefreshEntityAuthNotify.proto
new file mode 100644
index 00000000..5152d164
--- /dev/null
+++ b/proto/RefreshEntityAuthNotify.proto
@@ -0,0 +1,33 @@
+// 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 RefreshEntityAuthNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3099;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 entity_id_list = 4;
+}
diff --git a/proto/RefreshRogueDiaryCardReq.proto b/proto/RefreshRogueDiaryCardReq.proto
new file mode 100644
index 00000000..78736a19
--- /dev/null
+++ b/proto/RefreshRogueDiaryCardReq.proto
@@ -0,0 +1,33 @@
+// 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 RefreshRogueDiaryCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8868;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 refresh_card_list = 9;
+}
diff --git a/proto/RefreshRogueDiaryCardRsp.proto b/proto/RefreshRogueDiaryCardRsp.proto
new file mode 100644
index 00000000..a4af69d1
--- /dev/null
+++ b/proto/RefreshRogueDiaryCardRsp.proto
@@ -0,0 +1,33 @@
+// 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 RefreshRogueDiaryCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8359;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ repeated uint32 rand_card_list = 14;
+}
diff --git a/proto/RefreshRoguelikeDungeonCardReq.proto b/proto/RefreshRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..b0b090cc
--- /dev/null
+++ b/proto/RefreshRoguelikeDungeonCardReq.proto
@@ -0,0 +1,31 @@
+// 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 RefreshRoguelikeDungeonCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8065;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/RefreshRoguelikeDungeonCardRsp.proto b/proto/RefreshRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..1bb0d423
--- /dev/null
+++ b/proto/RefreshRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,33 @@
+// 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 RefreshRoguelikeDungeonCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8994;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ repeated uint32 res_card_list = 2;
+}
diff --git a/proto/RegionSearch.proto b/proto/RegionSearch.proto
new file mode 100644
index 00000000..7e4877f6
--- /dev/null
+++ b/proto/RegionSearch.proto
@@ -0,0 +1,29 @@
+// 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 "RegionSearchState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RegionSearch {
+ RegionSearchState state = 2;
+ bool is_entered = 6;
+ uint32 progress = 5;
+ uint32 region_search_id = 1;
+}
diff --git a/proto/RegionSearchChangeRegionNotify.proto b/proto/RegionSearchChangeRegionNotify.proto
new file mode 100644
index 00000000..986513c8
--- /dev/null
+++ b/proto/RegionSearchChangeRegionNotify.proto
@@ -0,0 +1,40 @@
+// 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 RegionSearchChangeRegionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5641;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ enum RegionEvent {
+ REGION_EVENT_NONE = 0;
+ REGION_EVENT_ENTER = 1;
+ REGION_EVENT_LEAVE = 2;
+ }
+
+ uint32 region_id = 6;
+ RegionEvent event = 11;
+}
diff --git a/proto/RegionSearchInfo.proto b/proto/RegionSearchInfo.proto
new file mode 100644
index 00000000..fb27b57f
--- /dev/null
+++ b/proto/RegionSearchInfo.proto
@@ -0,0 +1,28 @@
+// 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 "RegionSearch.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RegionSearchInfo {
+ bool is_entered = 2;
+ repeated RegionSearch region_search_list = 7;
+ uint32 id = 9;
+}
diff --git a/proto/RegionSearchNotify.proto b/proto/RegionSearchNotify.proto
new file mode 100644
index 00000000..cd669bed
--- /dev/null
+++ b/proto/RegionSearchNotify.proto
@@ -0,0 +1,35 @@
+// 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 "RegionSearchInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RegionSearchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5642;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated RegionSearchInfo region_search_list = 3;
+ uint32 uid = 14;
+}
diff --git a/proto/RegionSearchState.proto b/proto/RegionSearchState.proto
new file mode 100644
index 00000000..91b3dd27
--- /dev/null
+++ b/proto/RegionSearchState.proto
@@ -0,0 +1,28 @@
+// 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 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/RegionalPlayInfoNotify.proto b/proto/RegionalPlayInfoNotify.proto
new file mode 100644
index 00000000..cf5c6efa
--- /dev/null
+++ b/proto/RegionalPlayInfoNotify.proto
@@ -0,0 +1,38 @@
+// 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 "RegionalPlayVar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RegionalPlayInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6292;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 play_type = 3;
+ repeated RegionalPlayVar var_list = 13;
+ string play_name = 5;
+ bool Unk3300_FMEPEBIHNOL = 1;
+ bool Unk3300_MBGOJOBNPNG = 14;
+}
diff --git a/proto/RegionalPlayVar.proto b/proto/RegionalPlayVar.proto
new file mode 100644
index 00000000..c833712e
--- /dev/null
+++ b/proto/RegionalPlayVar.proto
@@ -0,0 +1,27 @@
+// 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 RegionalPlayVar {
+ uint32 type = 5;
+ float Unk3300_FOBMHHNIPPH = 4;
+ float Unk3300_PIDHFABKIJN = 3;
+ float value = 2;
+}
diff --git a/proto/ReliquaryDecomposeReq.proto b/proto/ReliquaryDecomposeReq.proto
index cfbfd9c1..398334ca 100644
--- a/proto/ReliquaryDecomposeReq.proto
+++ b/proto/ReliquaryDecomposeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 638
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReliquaryDecomposeReq {
- uint32 config_id = 13;
- uint32 target_count = 9;
- repeated uint64 guid_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 631;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 config_id = 4;
+ uint32 target_count = 15;
+ repeated uint64 guid_list = 13;
}
diff --git a/proto/ReliquaryDecomposeRsp.proto b/proto/ReliquaryDecomposeRsp.proto
index c71b8496..431cb1f9 100644
--- a/proto/ReliquaryDecomposeRsp.proto
+++ b/proto/ReliquaryDecomposeRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 611
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReliquaryDecomposeRsp {
- int32 retcode = 3;
- repeated uint64 guid_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 601;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 guid_list = 6;
+ int32 retcode = 11;
}
diff --git a/proto/ReliquaryFilterStateNotify.proto b/proto/ReliquaryFilterStateNotify.proto
new file mode 100644
index 00000000..f47c1017
--- /dev/null
+++ b/proto/ReliquaryFilterStateNotify.proto
@@ -0,0 +1,32 @@
+// 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 ReliquaryFilterStateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 669;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ map reliquary_filter_state_map = 10;
+}
diff --git a/proto/ReliquaryFilterStateSaveNotify.proto b/proto/ReliquaryFilterStateSaveNotify.proto
new file mode 100644
index 00000000..e3a42f48
--- /dev/null
+++ b/proto/ReliquaryFilterStateSaveNotify.proto
@@ -0,0 +1,33 @@
+// 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 ReliquaryFilterStateSaveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 638;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map reliquary_filter_state_map = 4;
+}
diff --git a/proto/ReliquaryPromoteReq.proto b/proto/ReliquaryPromoteReq.proto
index 4b2fe862..3303c41b 100644
--- a/proto/ReliquaryPromoteReq.proto
+++ b/proto/ReliquaryPromoteReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 627
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReliquaryPromoteReq {
- uint64 item_guid = 10;
- uint64 target_guid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 617;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 target_guid = 3;
+ uint64 item_guid = 2;
}
diff --git a/proto/ReliquaryPromoteRsp.proto b/proto/ReliquaryPromoteRsp.proto
index 70a1d453..12b5512f 100644
--- a/proto/ReliquaryPromoteRsp.proto
+++ b/proto/ReliquaryPromoteRsp.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 694
-// EnetChannelId: 0
-// EnetIsReliable: true
message ReliquaryPromoteRsp {
- uint32 old_promote_level = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 605;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_IALPGNADFKA = 8;
+ uint32 Unk3300_GGFCIPAKKDP = 9;
+ repeated uint32 Unk3300_MGELABLMFOE = 13;
+ int32 retcode = 10;
uint64 target_reliquary_guid = 6;
- repeated uint32 cur_append_prop_list = 9;
- int32 retcode = 12;
- uint32 cur_promote_level = 2;
- repeated uint32 old_append_prop_list = 8;
+ uint32 Unk3300_MBEBIACJNBB = 4;
}
diff --git a/proto/ReliquaryUpgradeReq.proto b/proto/ReliquaryUpgradeReq.proto
index 7968549c..d35d4337 100644
--- a/proto/ReliquaryUpgradeReq.proto
+++ b/proto/ReliquaryUpgradeReq.proto
@@ -21,12 +21,17 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 604
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ReliquaryUpgradeReq {
- repeated ItemParam item_param_list = 11;
- uint64 target_reliquary_guid = 6;
- repeated uint64 food_reliquary_guid_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 644;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 food_reliquary_guid_list = 3;
+ repeated ItemParam item_param_list = 15;
+ uint64 target_reliquary_guid = 8;
}
diff --git a/proto/ReliquaryUpgradeRsp.proto b/proto/ReliquaryUpgradeRsp.proto
index 380b1ae2..f4323f2a 100644
--- a/proto/ReliquaryUpgradeRsp.proto
+++ b/proto/ReliquaryUpgradeRsp.proto
@@ -19,15 +19,20 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 693
-// EnetChannelId: 0
-// EnetIsReliable: true
message ReliquaryUpgradeRsp {
- uint32 old_level = 4;
- uint32 cur_level = 13;
- uint64 target_reliquary_guid = 9;
- repeated uint32 cur_append_prop_list = 2;
- uint32 power_up_rate = 6;
- repeated uint32 old_append_prop_list = 15;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 607;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_MGELABLMFOE = 13;
+ int32 retcode = 11;
+ uint64 target_reliquary_guid = 14;
+ uint32 cur_level = 2;
+ uint32 old_level = 6;
+ repeated uint32 Unk3300_IALPGNADFKA = 10;
+ uint32 power_up_rate = 1;
}
diff --git a/proto/RemotePlayerWidgetNotify.proto b/proto/RemotePlayerWidgetNotify.proto
new file mode 100644
index 00000000..3f6d8513
--- /dev/null
+++ b/proto/RemotePlayerWidgetNotify.proto
@@ -0,0 +1,34 @@
+// 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 "PlayerWidgetInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RemotePlayerWidgetNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5910;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated PlayerWidgetInfo player_widget_info_list = 10;
+}
diff --git a/proto/RemoveBlacklistReq.proto b/proto/RemoveBlacklistReq.proto
new file mode 100644
index 00000000..36ca5031
--- /dev/null
+++ b/proto/RemoveBlacklistReq.proto
@@ -0,0 +1,33 @@
+// 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 RemoveBlacklistReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4003;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 4;
+}
diff --git a/proto/RemoveBlacklistRsp.proto b/proto/RemoveBlacklistRsp.proto
new file mode 100644
index 00000000..54f7713f
--- /dev/null
+++ b/proto/RemoveBlacklistRsp.proto
@@ -0,0 +1,33 @@
+// 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 RemoveBlacklistRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4033;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 target_uid = 6;
+ int32 retcode = 8;
+}
diff --git a/proto/RemoveCustomDungeonReq.proto b/proto/RemoveCustomDungeonReq.proto
new file mode 100644
index 00000000..f2636c80
--- /dev/null
+++ b/proto/RemoveCustomDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 RemoveCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6234;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 dungeon_guid = 7;
+}
diff --git a/proto/RemoveCustomDungeonRsp.proto b/proto/RemoveCustomDungeonRsp.proto
new file mode 100644
index 00000000..c83bb312
--- /dev/null
+++ b/proto/RemoveCustomDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 RemoveCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6215;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 dungeon_guid = 3;
+ int32 retcode = 10;
+}
diff --git a/proto/RemoveRandTaskInfoNotify.proto b/proto/RemoveRandTaskInfoNotify.proto
new file mode 100644
index 00000000..40d5c3c0
--- /dev/null
+++ b/proto/RemoveRandTaskInfoNotify.proto
@@ -0,0 +1,41 @@
+// 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 RemoveRandTaskInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 198;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum FinishReason {
+ FINISH_REASON_DEFAULT = 0;
+ FINISH_REASON_CLEAR = 1;
+ FINISH_REASON_DISTANCE = 2;
+ FINISH_REASON_FINISH = 3;
+ }
+
+ uint32 rand_task_id = 10;
+ FinishReason reason = 13;
+ bool is_succ = 5;
+}
diff --git a/proto/ReplayCustomDungeonReq.proto b/proto/ReplayCustomDungeonReq.proto
new file mode 100644
index 00000000..65a8d2d6
--- /dev/null
+++ b/proto/ReplayCustomDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 ReplayCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6214;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ReplayCustomDungeonRsp.proto b/proto/ReplayCustomDungeonRsp.proto
new file mode 100644
index 00000000..038a8c80
--- /dev/null
+++ b/proto/ReplayCustomDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 ReplayCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6248;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/ReportFightAntiCheatNotify.proto b/proto/ReportFightAntiCheatNotify.proto
new file mode 100644
index 00000000..d861a5c7
--- /dev/null
+++ b/proto/ReportFightAntiCheatNotify.proto
@@ -0,0 +1,34 @@
+// 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 ReportFightAntiCheatNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 388;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_MIFNAAADBBP = 8;
+ uint32 Unk3300_ABCKMPPMNCH = 10;
+}
diff --git a/proto/ReportReasonType.proto b/proto/ReportReasonType.proto
new file mode 100644
index 00000000..536b8acb
--- /dev/null
+++ b/proto/ReportReasonType.proto
@@ -0,0 +1,30 @@
+// 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 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..5113f641
--- /dev/null
+++ b/proto/ReportTrackingIOInfoNotify.proto
@@ -0,0 +1,37 @@
+// 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 ReportTrackingIOInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4144;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string Unk3300_KGGPDKGDELG = 13;
+ string Unk3300_DJHKHEFPCDK = 10;
+ string Unk3300_PIBFPDAMJLE = 6;
+ string Unk3300_CNPIGDOEJPB = 8;
+ string Unk3300_GEJJKDLGFPH = 3;
+}
diff --git a/proto/RequestLiveInfoReq.proto b/proto/RequestLiveInfoReq.proto
new file mode 100644
index 00000000..91a3d0fb
--- /dev/null
+++ b/proto/RequestLiveInfoReq.proto
@@ -0,0 +1,33 @@
+// 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 RequestLiveInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 805;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 live_id = 13;
+}
diff --git a/proto/RequestLiveInfoRsp.proto b/proto/RequestLiveInfoRsp.proto
new file mode 100644
index 00000000..157a1645
--- /dev/null
+++ b/proto/RequestLiveInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 RequestLiveInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 894;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+ string Unk3300_BDOGCPKPLOK = 11;
+ string Unk3300_DNGGIOIKLHC = 6;
+ uint32 live_id = 10;
+}
diff --git a/proto/ReserveRogueDiaryAvatarReq.proto b/proto/ReserveRogueDiaryAvatarReq.proto
new file mode 100644
index 00000000..c6a4df4a
--- /dev/null
+++ b/proto/ReserveRogueDiaryAvatarReq.proto
@@ -0,0 +1,35 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReserveRogueDiaryAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8311;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated RogueDiaryAvatar reserve_avatar_list = 3;
+}
diff --git a/proto/ReserveRogueDiaryAvatarRsp.proto b/proto/ReserveRogueDiaryAvatarRsp.proto
new file mode 100644
index 00000000..f95f2852
--- /dev/null
+++ b/proto/ReserveRogueDiaryAvatarRsp.proto
@@ -0,0 +1,32 @@
+// 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 ReserveRogueDiaryAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8901;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+}
diff --git a/proto/ResetRogueDiaryPlayReq.proto b/proto/ResetRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..20afca03
--- /dev/null
+++ b/proto/ResetRogueDiaryPlayReq.proto
@@ -0,0 +1,33 @@
+// 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 ResetRogueDiaryPlayReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8125;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 9;
+}
diff --git a/proto/ResetRogueDiaryPlayRsp.proto b/proto/ResetRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..0b53cab4
--- /dev/null
+++ b/proto/ResetRogueDiaryPlayRsp.proto
@@ -0,0 +1,32 @@
+// 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 ResetRogueDiaryPlayRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8943;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/ResinCard.proto b/proto/ResinCard.proto
new file mode 100644
index 00000000..9fb85bd8
--- /dev/null
+++ b/proto/ResinCard.proto
@@ -0,0 +1,11 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "ItemParam.proto";
+
+message ResinCard {
+ repeated ItemParam baseItemList = 1;
+ repeated ItemParam perDayItemList = 2;
+}
diff --git a/proto/ResinCardData.proto b/proto/ResinCardData.proto
new file mode 100644
index 00000000..3a9970e3
--- /dev/null
+++ b/proto/ResinCardData.proto
@@ -0,0 +1,27 @@
+// 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 ResinCardData {
+ uint32 last_daily_reward_time = 10;
+ uint32 config_id = 2;
+ uint32 expire_time = 13;
+ uint32 remain_reward_days = 11;
+}
diff --git a/proto/ResinCardDataUpdateNotify.proto b/proto/ResinCardDataUpdateNotify.proto
new file mode 100644
index 00000000..399c2107
--- /dev/null
+++ b/proto/ResinCardDataUpdateNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ResinCardData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ResinCardDataUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4134;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 today_start_time = 4;
+ repeated ResinCardData card_data_list = 14;
+}
diff --git a/proto/ResinChangeNotify.proto b/proto/ResinChangeNotify.proto
index dd1587d3..863222ed 100644
--- a/proto/ResinChangeNotify.proto
+++ b/proto/ResinChangeNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 642
-// EnetChannelId: 0
-// EnetIsReliable: true
message ResinChangeNotify {
- uint32 next_add_timestamp = 6;
- uint32 cur_buy_count = 4;
- uint32 cur_value = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 611;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_KGLIHGLNAJK = 11;
+ uint32 Unk3300_DADMLCPIHKJ = 13;
+ uint32 cur_value = 10;
}
diff --git a/proto/RestartCoinCollectPlaySingleModeReq.proto b/proto/RestartCoinCollectPlaySingleModeReq.proto
new file mode 100644
index 00000000..db12db20
--- /dev/null
+++ b/proto/RestartCoinCollectPlaySingleModeReq.proto
@@ -0,0 +1,34 @@
+// 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 RestartCoinCollectPlaySingleModeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 21382;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level_id = 2;
+ uint32 multistage_play_index = 3;
+}
diff --git a/proto/RestartCoinCollectPlaySingleModeRsp.proto b/proto/RestartCoinCollectPlaySingleModeRsp.proto
new file mode 100644
index 00000000..5f83bf7a
--- /dev/null
+++ b/proto/RestartCoinCollectPlaySingleModeRsp.proto
@@ -0,0 +1,33 @@
+// 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 RestartCoinCollectPlaySingleModeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23294;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 10;
+ int32 retcode = 6;
+}
diff --git a/proto/RestartEffigyChallengeReq.proto b/proto/RestartEffigyChallengeReq.proto
new file mode 100644
index 00000000..47282031
--- /dev/null
+++ b/proto/RestartEffigyChallengeReq.proto
@@ -0,0 +1,31 @@
+// 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 RestartEffigyChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2051;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/RestartEffigyChallengeRsp.proto b/proto/RestartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..3b2e1c94
--- /dev/null
+++ b/proto/RestartEffigyChallengeRsp.proto
@@ -0,0 +1,32 @@
+// 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 RestartEffigyChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2172;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/ResumeRogueDiaryDungeonReq.proto b/proto/ResumeRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..8ab03aac
--- /dev/null
+++ b/proto/ResumeRogueDiaryDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 ResumeRogueDiaryDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8704;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 15;
+}
diff --git a/proto/ResumeRogueDiaryDungeonRsp.proto b/proto/ResumeRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..d0c68714
--- /dev/null
+++ b/proto/ResumeRogueDiaryDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 ResumeRogueDiaryDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8332;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+}
diff --git a/proto/Retcode.proto b/proto/Retcode.proto
index 47312fcf..e5586dd5 100644
--- a/proto/Retcode.proto
+++ b/proto/Retcode.proto
@@ -124,6 +124,9 @@ enum Retcode {
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;
@@ -287,6 +290,8 @@ enum Retcode {
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;
@@ -446,6 +451,7 @@ enum Retcode {
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;
@@ -512,6 +518,7 @@ enum Retcode {
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;
@@ -704,8 +711,10 @@ enum Retcode {
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;
@@ -753,6 +762,7 @@ enum Retcode {
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;
@@ -768,6 +778,7 @@ enum Retcode {
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;
@@ -868,6 +879,21 @@ enum Retcode {
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;
@@ -986,6 +1012,33 @@ enum Retcode {
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;
@@ -1052,4 +1105,115 @@ enum Retcode {
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..f1d39daf
--- /dev/null
+++ b/proto/RetryCurRogueDiaryDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 RetryCurRogueDiaryDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8696;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/RetryCurRogueDiaryDungeonRsp.proto b/proto/RetryCurRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..7129b2a8
--- /dev/null
+++ b/proto/RetryCurRogueDiaryDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 RetryCurRogueDiaryDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8269;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
+}
diff --git a/proto/ReunionActivateNotify.proto b/proto/ReunionActivateNotify.proto
new file mode 100644
index 00000000..50515ae1
--- /dev/null
+++ b/proto/ReunionActivateNotify.proto
@@ -0,0 +1,35 @@
+// 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 "ReunionBriefInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionActivateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5071;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_activate = 7;
+ ReunionBriefInfo reunion_brief_info = 9;
+}
diff --git a/proto/ReunionBriefInfo.proto b/proto/ReunionBriefInfo.proto
new file mode 100644
index 00000000..b827fac3
--- /dev/null
+++ b/proto/ReunionBriefInfo.proto
@@ -0,0 +1,37 @@
+// 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 "ReunionPrivilegeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionBriefInfo {
+ uint32 first_day_start_time = 1;
+ string version = 11;
+ uint32 mission_id = 6;
+ uint32 finish_time = 2;
+ bool Unk3300_OKGAAEDENEI = 13;
+ uint32 privilege_id = 5;
+ ReunionPrivilegeInfo privilege_info = 10;
+ uint32 start_time = 14;
+ uint32 first_gift_reward_id = 9;
+ bool Unk3300_ODKLPOMKKPD = 8;
+ bool Unk3300_MHHLEJIFFIM = 7;
+ uint32 sign_in_config_id = 12;
+}
diff --git a/proto/ReunionBriefInfoReq.proto b/proto/ReunionBriefInfoReq.proto
new file mode 100644
index 00000000..fc9b7a45
--- /dev/null
+++ b/proto/ReunionBriefInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 ReunionBriefInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5092;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ReunionBriefInfoRsp.proto b/proto/ReunionBriefInfoRsp.proto
new file mode 100644
index 00000000..fe862226
--- /dev/null
+++ b/proto/ReunionBriefInfoRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ReunionBriefInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionBriefInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5091;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ ReunionBriefInfo reunion_brief_info = 13;
+ bool is_activate = 15;
+}
diff --git a/proto/ReunionDailyRefreshNotify.proto b/proto/ReunionDailyRefreshNotify.proto
new file mode 100644
index 00000000..941db6d6
--- /dev/null
+++ b/proto/ReunionDailyRefreshNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ReunionBriefInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionDailyRefreshNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5054;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ReunionBriefInfo reunion_brief_info = 6;
+}
diff --git a/proto/ReunionMissionInfo.proto b/proto/ReunionMissionInfo.proto
new file mode 100644
index 00000000..a8a8a5fd
--- /dev/null
+++ b/proto/ReunionMissionInfo.proto
@@ -0,0 +1,33 @@
+// 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 "ReunionWatcherInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionMissionInfo {
+ bool is_taken_reward = 10;
+ bool is_finished = 13;
+ repeated ReunionWatcherInfo watcher_list = 15;
+ repeated ReunionWatcherInfo cur_day_watcher_list = 8;
+ uint32 next_refresh_time = 5;
+ repeated bool is_taken_reward_list = 4;
+ uint32 mission_id = 9;
+ uint32 cur_score = 2;
+}
diff --git a/proto/ReunionPrivilegeChangeNotify.proto b/proto/ReunionPrivilegeChangeNotify.proto
new file mode 100644
index 00000000..8514a7a2
--- /dev/null
+++ b/proto/ReunionPrivilegeChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ReunionPrivilegeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ReunionPrivilegeChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5087;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ReunionPrivilegeInfo privilege_info = 10;
+}
diff --git a/proto/ReunionPrivilegeInfo.proto b/proto/ReunionPrivilegeInfo.proto
new file mode 100644
index 00000000..3bbd915c
--- /dev/null
+++ b/proto/ReunionPrivilegeInfo.proto
@@ -0,0 +1,26 @@
+// 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 ReunionPrivilegeInfo {
+ uint32 Unk3300_GJBEAFPMFAA = 14;
+ uint32 privilege_id = 2;
+ uint32 Unk3300_ALOLACFGMHI = 1;
+}
diff --git a/proto/ReunionSettleNotify.proto b/proto/ReunionSettleNotify.proto
new file mode 100644
index 00000000..6321364f
--- /dev/null
+++ b/proto/ReunionSettleNotify.proto
@@ -0,0 +1,30 @@
+// 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 ReunionSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5080;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/ReunionSignInInfo.proto b/proto/ReunionSignInInfo.proto
new file mode 100644
index 00000000..67da8bb8
--- /dev/null
+++ b/proto/ReunionSignInInfo.proto
@@ -0,0 +1,27 @@
+// 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 ReunionSignInInfo {
+ uint32 Unk3300_MNJELIDKMCF = 3;
+ repeated uint32 reward_day_list = 12;
+ uint32 config_id = 8;
+ uint32 Unk3300_NFNOKBNBLGE = 10;
+}
diff --git a/proto/ReunionWatcherInfo.proto b/proto/ReunionWatcherInfo.proto
new file mode 100644
index 00000000..b1d25c7b
--- /dev/null
+++ b/proto/ReunionWatcherInfo.proto
@@ -0,0 +1,28 @@
+// 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 ReunionWatcherInfo {
+ uint32 total_progress = 4;
+ uint32 reward_unlock_time = 1;
+ uint32 watcher_id = 9;
+ bool is_taken_reward = 12;
+ uint32 cur_progress = 10;
+}
diff --git a/proto/Reward.proto b/proto/Reward.proto
new file mode 100644
index 00000000..5b76190d
--- /dev/null
+++ b/proto/Reward.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Reward {
+ uint32 reward_id = 1;
+ repeated ItemParam item_list = 2;
+}
diff --git a/proto/RobotPushPlayerDataNotify.proto b/proto/RobotPushPlayerDataNotify.proto
index b51f8bcb..11f3d404 100644
--- a/proto/RobotPushPlayerDataNotify.proto
+++ b/proto/RobotPushPlayerDataNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 97
-// EnetChannelId: 0
-// EnetIsReliable: true
message RobotPushPlayerDataNotify {
- bytes bin = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 99;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bytes bin = 7;
}
diff --git a/proto/RockBoardExploreDetailInfo.proto b/proto/RockBoardExploreDetailInfo.proto
index e6a9380c..18ab77cd 100644
--- a/proto/RockBoardExploreDetailInfo.proto
+++ b/proto/RockBoardExploreDetailInfo.proto
@@ -22,5 +22,5 @@ import "RockBoardExploreStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message RockBoardExploreDetailInfo {
- repeated RockBoardExploreStageData stage_data_list = 9;
+ repeated RockBoardExploreStageData stage_data_list = 13;
}
diff --git a/proto/RockBoardExploreStageData.proto b/proto/RockBoardExploreStageData.proto
index b1428961..f1f3e843 100644
--- a/proto/RockBoardExploreStageData.proto
+++ b/proto/RockBoardExploreStageData.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RockBoardExploreStageData {
- bool is_finish = 6;
- uint32 open_time = 7;
- bool is_open = 5;
- uint32 stage_id = 3;
+ bool is_finish = 8;
+ bool is_open = 9;
+ uint32 open_time = 12;
+ uint32 stage_id = 13;
}
diff --git a/proto/RogueAvatarInfo.proto b/proto/RogueAvatarInfo.proto
index 6f26a2a8..0d27b2db 100644
--- a/proto/RogueAvatarInfo.proto
+++ b/proto/RogueAvatarInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RogueAvatarInfo {
- bool is_onstage = 5;
- bool is_alive = 3;
- uint32 avatar_id = 14;
+ bool is_onstage = 2;
+ bool is_alive = 8;
+ uint32 avatar_id = 5;
}
diff --git a/proto/RogueCellInfo.proto b/proto/RogueCellInfo.proto
new file mode 100644
index 00000000..68e97630
--- /dev/null
+++ b/proto/RogueCellInfo.proto
@@ -0,0 +1,30 @@
+// 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 "RogueCellState.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueCellInfo {
+ uint32 dungeon_id = 1;
+ uint32 cell_config_id = 14;
+ uint32 cell_id = 2;
+ RogueCellState state = 9;
+ uint32 cell_type = 13;
+}
diff --git a/proto/RogueCellState.proto b/proto/RogueCellState.proto
new file mode 100644
index 00000000..7af01852
--- /dev/null
+++ b/proto/RogueCellState.proto
@@ -0,0 +1,28 @@
+// 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 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..eb5c7b0d
--- /dev/null
+++ b/proto/RogueCellUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "RogueCellInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueCellUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8851;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ RogueCellInfo cell_info = 5;
+}
diff --git a/proto/RogueDiaryActivityDetailInfo.proto b/proto/RogueDiaryActivityDetailInfo.proto
index d6a47631..2cbb184e 100644
--- a/proto/RogueDiaryActivityDetailInfo.proto
+++ b/proto/RogueDiaryActivityDetailInfo.proto
@@ -23,8 +23,8 @@ import "RogueDiaryStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message RogueDiaryActivityDetailInfo {
+ bool is_content_closed = 3;
repeated RogueDiaryStageInfo stage_list = 11;
- bool is_have_progress = 10;
- bool is_content_closed = 2;
- RogueDiaryProgress cur_progress = 7;
+ bool is_have_progress = 5;
+ RogueDiaryProgress cur_progress = 10;
}
diff --git a/proto/RogueDiaryAvatar.proto b/proto/RogueDiaryAvatar.proto
new file mode 100644
index 00000000..429e7e43
--- /dev/null
+++ b/proto/RogueDiaryAvatar.proto
@@ -0,0 +1,30 @@
+// 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 "ActivityDungeonAvatar.proto";
+import "RogueDiaryAvatarDisableStatus.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryAvatar {
+ uint32 level = 10;
+ repeated RogueDiaryAvatarDisableStatus disable_status_list = 7;
+ uint32 tired_round = 2;
+ ActivityDungeonAvatar avatar = 14;
+}
diff --git a/proto/RogueDiaryAvatarDisableStatus.proto b/proto/RogueDiaryAvatarDisableStatus.proto
new file mode 100644
index 00000000..3635146d
--- /dev/null
+++ b/proto/RogueDiaryAvatarDisableStatus.proto
@@ -0,0 +1,27 @@
+// 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 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..93fe93a0
--- /dev/null
+++ b/proto/RogueDiaryCoinAddNotify.proto
@@ -0,0 +1,33 @@
+// 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 RogueDiaryCoinAddNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8525;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 num = 11;
+}
diff --git a/proto/RogueDiaryDungeonInfoNotify.proto b/proto/RogueDiaryDungeonInfoNotify.proto
new file mode 100644
index 00000000..7351c9be
--- /dev/null
+++ b/proto/RogueDiaryDungeonInfoNotify.proto
@@ -0,0 +1,44 @@
+// 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 "RogueDiaryRoomInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryDungeonInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8096;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 12;
+ uint32 time = 9;
+ repeated uint32 Unk3300_MMBEJGDFCGE = 6;
+ uint32 cur_room = 1;
+ repeated uint32 Unk3300_DKCFGLAKPJL = 8;
+ uint32 dungeon_id = 7;
+ repeated RogueDiaryRoomInfo room_list = 5;
+ uint32 difficulty = 14;
+ uint32 cur_round = 10;
+ uint32 coin = 3;
+}
diff --git a/proto/RogueDiaryDungeonRecord.proto b/proto/RogueDiaryDungeonRecord.proto
index e63b49e7..cb58dbf9 100644
--- a/proto/RogueDiaryDungeonRecord.proto
+++ b/proto/RogueDiaryDungeonRecord.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RogueDiaryDungeonRecord {
+ uint32 finish_time = 14;
bool is_finish = 10;
- uint32 max_round = 5;
- uint32 finish_time = 15;
- uint32 difficulty = 13;
+ uint32 difficulty = 5;
+ uint32 max_round = 7;
}
diff --git a/proto/RogueDiaryDungeonSettleNotify.proto b/proto/RogueDiaryDungeonSettleNotify.proto
index fc816bfb..56d2b866 100644
--- a/proto/RogueDiaryDungeonSettleNotify.proto
+++ b/proto/RogueDiaryDungeonSettleNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8895
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message RogueDiaryDungeonSettleNotify {
- uint32 explore_time = 1;
- bool is_finish = 3;
- uint32 cur_round = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8726;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_finish = 14;
+ uint32 cur_round = 11;
+ uint32 explore_time = 4;
}
diff --git a/proto/RogueDiaryProgress.proto b/proto/RogueDiaryProgress.proto
index e05d2020..86ff9504 100644
--- a/proto/RogueDiaryProgress.proto
+++ b/proto/RogueDiaryProgress.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RogueDiaryProgress {
- uint32 difficulty = 7;
- repeated uint32 optional_card_list = 4;
- bool is_enter_dungeon = 9;
- uint32 stage_id = 12;
- uint32 cur_round = 3;
+ uint32 difficulty = 10;
+ bool is_enter_dungeon = 3;
+ uint32 stage_id = 6;
+ repeated uint32 optional_card_list = 5;
+ uint32 cur_round = 4;
}
diff --git a/proto/RogueDiaryRepairInfoNotify.proto b/proto/RogueDiaryRepairInfoNotify.proto
new file mode 100644
index 00000000..b9622b3e
--- /dev/null
+++ b/proto/RogueDiaryRepairInfoNotify.proto
@@ -0,0 +1,43 @@
+// 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 "RogueDiaryAvatar.proto";
+import "RogueDiaryRoomInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryRepairInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8084;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated RogueDiaryAvatar avatar_list = 2;
+ repeated RogueDiaryAvatar trial_avatar_list = 10;
+ repeated RogueDiaryRoomInfo room_list = 11;
+ repeated uint32 select_card_list = 12;
+ repeated uint32 chosen_card_list = 5;
+ uint32 stage_id = 7;
+ repeated RogueDiaryAvatar select_avatar_list = 3;
+ repeated uint32 rand_card_list = 13;
+}
diff --git a/proto/RogueDiaryReviveAvatarReq.proto b/proto/RogueDiaryReviveAvatarReq.proto
new file mode 100644
index 00000000..8ad6b9d5
--- /dev/null
+++ b/proto/RogueDiaryReviveAvatarReq.proto
@@ -0,0 +1,35 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryReviveAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8678;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ RogueDiaryAvatar revive_avatar = 15;
+}
diff --git a/proto/RogueDiaryReviveAvatarRsp.proto b/proto/RogueDiaryReviveAvatarRsp.proto
new file mode 100644
index 00000000..d1122abd
--- /dev/null
+++ b/proto/RogueDiaryReviveAvatarRsp.proto
@@ -0,0 +1,32 @@
+// 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 RogueDiaryReviveAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8061;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+}
diff --git a/proto/RogueDiaryRoomInfo.proto b/proto/RogueDiaryRoomInfo.proto
new file mode 100644
index 00000000..45e21327
--- /dev/null
+++ b/proto/RogueDiaryRoomInfo.proto
@@ -0,0 +1,28 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryRoomInfo {
+ bool is_boss = 6;
+ uint32 config_id = 3;
+ repeated Uint32Pair monster_list = 4;
+}
diff --git a/proto/RogueDiaryStage.proto b/proto/RogueDiaryStage.proto
new file mode 100644
index 00000000..1f1d116a
--- /dev/null
+++ b/proto/RogueDiaryStage.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_CMOCCENBOLJ.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryStage {
+ uint32 stage_id = 1;
+ Unk2700_CMOCCENBOLJ best_record = 12;
+ bool Unk2700_PEDCFBJLHGP = 10;
+}
diff --git a/proto/RogueDiaryStageInfo.proto b/proto/RogueDiaryStageInfo.proto
index 493e6faa..e52e08a1 100644
--- a/proto/RogueDiaryStageInfo.proto
+++ b/proto/RogueDiaryStageInfo.proto
@@ -22,7 +22,7 @@ import "RogueDiaryDungeonRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message RogueDiaryStageInfo {
- uint32 stage_id = 1;
- RogueDiaryDungeonRecord best_record = 12;
- bool is_have_try = 10;
+ uint32 stage_id = 15;
+ RogueDiaryDungeonRecord best_record = 9;
+ bool is_have_try = 11;
}
diff --git a/proto/RogueDiaryTiredAvatarNotify.proto b/proto/RogueDiaryTiredAvatarNotify.proto
new file mode 100644
index 00000000..a922cb5d
--- /dev/null
+++ b/proto/RogueDiaryTiredAvatarNotify.proto
@@ -0,0 +1,38 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueDiaryTiredAvatarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8660;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_DMEMBBPEIGK = 1;
+ uint32 Unk3300_BGEJGLBMFII = 14;
+ bool is_need_show = 11;
+ repeated RogueDiaryAvatar optional_tired_avatar_list = 5;
+}
diff --git a/proto/RogueDungeonPlayerCellChangeNotify.proto b/proto/RogueDungeonPlayerCellChangeNotify.proto
new file mode 100644
index 00000000..e122208d
--- /dev/null
+++ b/proto/RogueDungeonPlayerCellChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 RogueDungeonPlayerCellChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8093;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 cell_id = 4;
+ uint32 old_cell_id = 7;
+}
diff --git a/proto/RogueEffectRecord.proto b/proto/RogueEffectRecord.proto
new file mode 100644
index 00000000..a9cb852b
--- /dev/null
+++ b/proto/RogueEffectRecord.proto
@@ -0,0 +1,27 @@
+// 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 RogueEffectRecord {
+ uint32 source_id = 9;
+ bool is_new = 8;
+ uint32 count = 3;
+ repeated uint32 extra_param_list = 15;
+}
diff --git a/proto/RogueEliteCellDifficultyType.proto b/proto/RogueEliteCellDifficultyType.proto
new file mode 100644
index 00000000..9aa50f1f
--- /dev/null
+++ b/proto/RogueEliteCellDifficultyType.proto
@@ -0,0 +1,25 @@
+// 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 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..d1fd31ad
--- /dev/null
+++ b/proto/RogueFinishRepairReq.proto
@@ -0,0 +1,36 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RogueFinishRepairReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8483;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated RogueDiaryAvatar chosen_avatar_list = 14;
+ repeated uint32 chosen_card_list = 15;
+}
diff --git a/proto/RogueFinishRepairRsp.proto b/proto/RogueFinishRepairRsp.proto
new file mode 100644
index 00000000..0c3963be
--- /dev/null
+++ b/proto/RogueFinishRepairRsp.proto
@@ -0,0 +1,32 @@
+// 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 RogueFinishRepairRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8503;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/RogueHealAvatarsReq.proto b/proto/RogueHealAvatarsReq.proto
new file mode 100644
index 00000000..19d27b7d
--- /dev/null
+++ b/proto/RogueHealAvatarsReq.proto
@@ -0,0 +1,34 @@
+// 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 RogueHealAvatarsReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8175;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 cell_id = 2;
+ uint32 dungeon_id = 15;
+}
diff --git a/proto/RogueHealAvatarsRsp.proto b/proto/RogueHealAvatarsRsp.proto
new file mode 100644
index 00000000..6f9f8eaa
--- /dev/null
+++ b/proto/RogueHealAvatarsRsp.proto
@@ -0,0 +1,34 @@
+// 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 RogueHealAvatarsRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8252;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 3;
+ uint32 cell_id = 8;
+ int32 retcode = 9;
+}
diff --git a/proto/RogueResumeDungeonReq.proto b/proto/RogueResumeDungeonReq.proto
new file mode 100644
index 00000000..f751d117
--- /dev/null
+++ b/proto/RogueResumeDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 RogueResumeDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8275;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 9;
+}
diff --git a/proto/RogueResumeDungeonRsp.proto b/proto/RogueResumeDungeonRsp.proto
new file mode 100644
index 00000000..ab92009a
--- /dev/null
+++ b/proto/RogueResumeDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 RogueResumeDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8772;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 15;
+ int32 retcode = 5;
+}
diff --git a/proto/RogueShowAvatarTeamInfo.proto b/proto/RogueShowAvatarTeamInfo.proto
index 5a8281c1..18d57d46 100644
--- a/proto/RogueShowAvatarTeamInfo.proto
+++ b/proto/RogueShowAvatarTeamInfo.proto
@@ -22,5 +22,5 @@ import "RogueAvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message RogueShowAvatarTeamInfo {
- repeated RogueAvatarInfo avatar_list = 12;
+ repeated RogueAvatarInfo avatar_list = 13;
}
diff --git a/proto/RogueStageInfo.proto b/proto/RogueStageInfo.proto
index e192f59c..526aa6e2 100644
--- a/proto/RogueStageInfo.proto
+++ b/proto/RogueStageInfo.proto
@@ -23,19 +23,19 @@ import "RoguelikeRuneRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message RogueStageInfo {
- RogueShowAvatarTeamInfo avatar_team = 2;
- bool is_passed = 5;
+ uint32 revise_monster_level = 1966;
+ bool is_passed = 11;
+ uint32 Unk3300_GGHMFKNHPAJ = 2;
+ RogueShowAvatarTeamInfo avatar_team = 8;
+ bool is_taken_reward = 9;
+ bool Unk3300_HMCJOLLKMMB = 14;
+ repeated RoguelikeRuneRecord rune_record_list = 5;
+ bool Unk3300_HMAELBBOFDN = 6;
+ uint32 Unk3300_CMMGKMMMOAL = 3;
+ bool is_open = 13;
uint32 stage_id = 7;
- uint32 revise_monster_level = 205;
- repeated RoguelikeRuneRecord rune_record_list = 6;
- bool is_open = 1;
- uint32 cur_level = 4;
- uint32 cached_coin_c_num = 1409;
- bool is_taken_reward = 11;
- bool is_in_combat = 12;
- uint32 cached_coin_b_num = 14;
- uint32 explore_cell_num = 15;
- uint32 coin_c_num = 8;
- bool is_explored = 9;
- uint32 max_passed_level = 3;
+ uint32 Unk3300_DABPFCPCNCB = 4;
+ uint32 cur_level = 12;
+ uint32 Unk3300_OHHBEPOICLI = 1;
+ uint32 Unk3300_HPKFHLLCJBM = 275;
}
diff --git a/proto/RogueSwitchAvatarReq.proto b/proto/RogueSwitchAvatarReq.proto
new file mode 100644
index 00000000..fcc1727f
--- /dev/null
+++ b/proto/RogueSwitchAvatarReq.proto
@@ -0,0 +1,36 @@
+// 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 RogueSwitchAvatarReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8399;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint64 onstage_avatar_guid_list = 8;
+ uint32 dungeon_id = 10;
+ uint32 cell_id = 11;
+ uint64 cur_avatar_guid = 4;
+}
diff --git a/proto/RogueSwitchAvatarRsp.proto b/proto/RogueSwitchAvatarRsp.proto
new file mode 100644
index 00000000..5a1719bf
--- /dev/null
+++ b/proto/RogueSwitchAvatarRsp.proto
@@ -0,0 +1,37 @@
+// 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 RogueSwitchAvatarRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8445;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint64 backstage_avatar_guid_list = 3;
+ uint32 dungeon_id = 15;
+ repeated uint64 onstage_avatar_guid_list = 8;
+ uint32 cell_id = 1;
+ uint64 cur_avatar_guid = 5;
+ int32 retcode = 7;
+}
diff --git a/proto/RoguelikeCardGachaNotify.proto b/proto/RoguelikeCardGachaNotify.proto
new file mode 100644
index 00000000..173a6e80
--- /dev/null
+++ b/proto/RoguelikeCardGachaNotify.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeCardGachaNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8057;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_can_refresh = 7;
+ repeated uint32 card_list = 15;
+}
diff --git a/proto/RoguelikeDungeonActivityDetailInfo.proto b/proto/RoguelikeDungeonActivityDetailInfo.proto
index b7368fb8..4d21bdd2 100644
--- a/proto/RoguelikeDungeonActivityDetailInfo.proto
+++ b/proto/RoguelikeDungeonActivityDetailInfo.proto
@@ -23,10 +23,10 @@ import "RoguelikeShikigamiRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message RoguelikeDungeonActivityDetailInfo {
- repeated RogueStageInfo stage_list = 8;
- repeated RoguelikeShikigamiRecord shikigami_list = 5;
- repeated uint32 equipped_rune_list = 14;
- uint32 content_close_time = 6;
- bool is_content_closed = 10;
- repeated uint32 rune_list = 2;
+ repeated RogueStageInfo stage_list = 14;
+ repeated uint32 equipped_rune_list = 9;
+ uint32 content_close_time = 11;
+ repeated uint32 rune_list = 3;
+ repeated RoguelikeShikigamiRecord shikigami_list = 4;
+ bool is_content_closed = 5;
}
diff --git a/proto/RoguelikeDungeonSettleInfo.proto b/proto/RoguelikeDungeonSettleInfo.proto
index e150a063..2986a18c 100644
--- a/proto/RoguelikeDungeonSettleInfo.proto
+++ b/proto/RoguelikeDungeonSettleInfo.proto
@@ -22,11 +22,11 @@ import "RoguelikeSettleCoinInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message RoguelikeDungeonSettleInfo {
- uint32 stage_id = 5;
- bool is_final_level = 15;
- map finished_challenge_cell_num_map = 3;
- bool is_coin_c_reach_limit = 13;
- uint32 cur_level = 9;
- uint32 total_coin_b_num = 6;
- uint32 total_coin_c_num = 10;
+ uint32 stage_id = 9;
+ uint32 Unk3300_GMMECMPDJMI = 8;
+ uint32 Unk3300_PBELMOJKKHP = 4;
+ uint32 cur_level = 14;
+ bool Unk3300_AHIEENGKPFA = 10;
+ bool Unk3300_BPLKJMIOKHM = 15;
+ map finished_challenge_cell_num_map = 6;
}
diff --git a/proto/RoguelikeEffectDataNotify.proto b/proto/RoguelikeEffectDataNotify.proto
new file mode 100644
index 00000000..f68c1a81
--- /dev/null
+++ b/proto/RoguelikeEffectDataNotify.proto
@@ -0,0 +1,35 @@
+// 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 "RogueEffectRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RoguelikeEffectDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8544;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated RogueEffectRecord card_list = 3;
+ repeated RogueEffectRecord curse_list = 8;
+}
diff --git a/proto/RoguelikeEffectViewReq.proto b/proto/RoguelikeEffectViewReq.proto
new file mode 100644
index 00000000..6decf62b
--- /dev/null
+++ b/proto/RoguelikeEffectViewReq.proto
@@ -0,0 +1,34 @@
+// 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 RoguelikeEffectViewReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8605;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 Unk3300_FKGJGIJHKJI = 10;
+ repeated uint32 Unk3300_LMIIAEPBKNB = 15;
+}
diff --git a/proto/RoguelikeEffectViewRsp.proto b/proto/RoguelikeEffectViewRsp.proto
new file mode 100644
index 00000000..cc9d5c18
--- /dev/null
+++ b/proto/RoguelikeEffectViewRsp.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeEffectViewRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8437;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 8;
+}
diff --git a/proto/RoguelikeGiveUpReq.proto b/proto/RoguelikeGiveUpReq.proto
new file mode 100644
index 00000000..54cf263a
--- /dev/null
+++ b/proto/RoguelikeGiveUpReq.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeGiveUpReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8442;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 3;
+}
diff --git a/proto/RoguelikeGiveUpRsp.proto b/proto/RoguelikeGiveUpRsp.proto
new file mode 100644
index 00000000..798bbc7a
--- /dev/null
+++ b/proto/RoguelikeGiveUpRsp.proto
@@ -0,0 +1,38 @@
+// 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 "RoguelikeDungeonSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RoguelikeGiveUpRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8905;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ uint32 stage_id = 14;
+ oneof info {
+ RoguelikeDungeonSettleInfo settle_info = 2;
+ }
+}
diff --git a/proto/RoguelikeMistClearNotify.proto b/proto/RoguelikeMistClearNotify.proto
new file mode 100644
index 00000000..9fc1b879
--- /dev/null
+++ b/proto/RoguelikeMistClearNotify.proto
@@ -0,0 +1,30 @@
+// 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 RoguelikeMistClearNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8768;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/RoguelikeRefreshCardCostUpdateNotify.proto b/proto/RoguelikeRefreshCardCostUpdateNotify.proto
new file mode 100644
index 00000000..e37c2696
--- /dev/null
+++ b/proto/RoguelikeRefreshCardCostUpdateNotify.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeRefreshCardCostUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8210;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 item_count = 13;
+ uint32 item_id = 15;
+}
diff --git a/proto/RoguelikeResourceBonusPropUpdateNotify.proto b/proto/RoguelikeResourceBonusPropUpdateNotify.proto
new file mode 100644
index 00000000..80840b55
--- /dev/null
+++ b/proto/RoguelikeResourceBonusPropUpdateNotify.proto
@@ -0,0 +1,32 @@
+// 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 RoguelikeResourceBonusPropUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8426;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ float bonus_resource_prop = 5;
+}
diff --git a/proto/RoguelikeRuneRecord.proto b/proto/RoguelikeRuneRecord.proto
index 79f48ca2..95ff79a4 100644
--- a/proto/RoguelikeRuneRecord.proto
+++ b/proto/RoguelikeRuneRecord.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RoguelikeRuneRecord {
- uint32 left_count = 14;
- uint32 rune_id = 6;
- uint32 max_count = 4;
+ uint32 rune_id = 10;
+ uint32 Unk3300_JLOLMLFAPHH = 1;
+ uint32 Unk3300_IGBOJLPPKON = 11;
}
diff --git a/proto/RoguelikeRuneRecordUpdateNotify.proto b/proto/RoguelikeRuneRecordUpdateNotify.proto
new file mode 100644
index 00000000..b6db917c
--- /dev/null
+++ b/proto/RoguelikeRuneRecordUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "RoguelikeRuneRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message RoguelikeRuneRecordUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8629;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated RoguelikeRuneRecord rune_record_list = 11;
+}
diff --git a/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto b/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..d5bf2c57
--- /dev/null
+++ b/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,35 @@
+// 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 RoguelikeSelectAvatarAndEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8988;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 1;
+ repeated uint64 onstage_avatar_guid_list = 12;
+ repeated uint64 backstage_avatar_guid_list = 4;
+}
diff --git a/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto b/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..5a12b288
--- /dev/null
+++ b/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeSelectAvatarAndEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8910;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ uint32 stage_id = 1;
+}
diff --git a/proto/RoguelikeSettleCoinInfo.proto b/proto/RoguelikeSettleCoinInfo.proto
index c7f719cd..14a3c32c 100644
--- a/proto/RoguelikeSettleCoinInfo.proto
+++ b/proto/RoguelikeSettleCoinInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RoguelikeSettleCoinInfo {
- uint32 coin_c = 8;
- uint32 coin_b = 10;
- uint32 cell_num = 1;
+ uint32 Unk3300_MFKOIMONCLA = 10;
+ uint32 Unk3300_LFEKGBBAMHE = 12;
+ uint32 coin_c = 6;
}
diff --git a/proto/RoguelikeShikigamiRecord.proto b/proto/RoguelikeShikigamiRecord.proto
index f2e96c39..ec6c8a04 100644
--- a/proto/RoguelikeShikigamiRecord.proto
+++ b/proto/RoguelikeShikigamiRecord.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RoguelikeShikigamiRecord {
- uint32 id = 6;
- uint32 level = 3;
+ uint32 id = 2;
+ uint32 level = 10;
}
diff --git a/proto/RoguelikeTakeStageFirstPassRewardReq.proto b/proto/RoguelikeTakeStageFirstPassRewardReq.proto
new file mode 100644
index 00000000..38f17736
--- /dev/null
+++ b/proto/RoguelikeTakeStageFirstPassRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeTakeStageFirstPassRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8531;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 2;
+}
diff --git a/proto/RoguelikeTakeStageFirstPassRewardRsp.proto b/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
new file mode 100644
index 00000000..827d4eec
--- /dev/null
+++ b/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 RoguelikeTakeStageFirstPassRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8182;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 15;
+ int32 retcode = 10;
+}
diff --git a/proto/RoutePointChangeInfo.proto b/proto/RoutePointChangeInfo.proto
index ebc37021..9b65795b 100644
--- a/proto/RoutePointChangeInfo.proto
+++ b/proto/RoutePointChangeInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message RoutePointChangeInfo {
- float wait_time = 6;
- float target_velocity = 14;
- uint32 point_index = 11;
+ float target_velocity = 12;
+ float wait_time = 14;
+ uint32 point_index = 4;
}
diff --git a/proto/SalesmanActivityDetailInfo.proto b/proto/SalesmanActivityDetailInfo.proto
index 7a7eaa21..761a8b0a 100644
--- a/proto/SalesmanActivityDetailInfo.proto
+++ b/proto/SalesmanActivityDetailInfo.proto
@@ -22,14 +22,14 @@ import "SalesmanStatusType.proto";
option java_package = "emu.grasscutter.net.proto";
message SalesmanActivityDetailInfo {
- uint32 special_reward_preview_id = 3;
- SalesmanStatusType status = 4;
- uint32 last_deliver_time = 2;
- map selected_reward_id_map = 5;
- uint32 deliver_count = 11;
- bool is_has_taken_special_reward = 7;
- uint32 day_index = 12;
- uint32 cond_day_count = 6;
- uint32 day_reward_id = 9;
- bool is_today_has_delivered = 13;
+ SalesmanStatusType status = 5;
+ map selected_reward_id_map = 12;
+ uint32 Unk3300_DIJFOCBGIAM = 7;
+ bool Unk3300_DJFCEFKGKPI = 2;
+ uint32 day_index = 9;
+ uint32 Unk3300_LPABHMOPFCE = 6;
+ uint32 Unk3300_KNJCBGFKLFD = 10;
+ uint32 Unk3300_FOFFAEEBBNP = 3;
+ bool Unk3300_JNALBACFNFN = 14;
+ uint32 day_reward_id = 11;
}
diff --git a/proto/SalesmanDeliverItemReq.proto b/proto/SalesmanDeliverItemReq.proto
index 3850a565..d9f0fb13 100644
--- a/proto/SalesmanDeliverItemReq.proto
+++ b/proto/SalesmanDeliverItemReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2138
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SalesmanDeliverItemReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2057;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint32 schedule_id = 4;
}
diff --git a/proto/SalesmanDeliverItemRsp.proto b/proto/SalesmanDeliverItemRsp.proto
index 077f9562..69c2f2f5 100644
--- a/proto/SalesmanDeliverItemRsp.proto
+++ b/proto/SalesmanDeliverItemRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2104
-// EnetChannelId: 0
-// EnetIsReliable: true
message SalesmanDeliverItemRsp {
- uint32 schedule_id = 9;
- int32 retcode = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2151;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 schedule_id = 8;
}
diff --git a/proto/SalesmanTakeRewardReq.proto b/proto/SalesmanTakeRewardReq.proto
new file mode 100644
index 00000000..454ac184
--- /dev/null
+++ b/proto/SalesmanTakeRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 SalesmanTakeRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2069;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 position = 15;
+ uint32 schedule_id = 14;
+}
diff --git a/proto/SalesmanTakeRewardRsp.proto b/proto/SalesmanTakeRewardRsp.proto
new file mode 100644
index 00000000..f9b15fc5
--- /dev/null
+++ b/proto/SalesmanTakeRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 SalesmanTakeRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2026;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reward_id = 12;
+ int32 retcode = 4;
+ uint32 position = 15;
+ uint32 schedule_id = 2;
+}
diff --git a/proto/SalesmanTakeSpecialRewardReq.proto b/proto/SalesmanTakeSpecialRewardReq.proto
new file mode 100644
index 00000000..07de6cab
--- /dev/null
+++ b/proto/SalesmanTakeSpecialRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 SalesmanTakeSpecialRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2067;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 11;
+}
diff --git a/proto/SalesmanTakeSpecialRewardRsp.proto b/proto/SalesmanTakeSpecialRewardRsp.proto
new file mode 100644
index 00000000..b7006539
--- /dev/null
+++ b/proto/SalesmanTakeSpecialRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 SalesmanTakeSpecialRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2044;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 6;
+ int32 retcode = 7;
+}
diff --git a/proto/SalvageBundleChallengeInfo.proto b/proto/SalvageBundleChallengeInfo.proto
index 47ad74d0..ff787a06 100644
--- a/proto/SalvageBundleChallengeInfo.proto
+++ b/proto/SalvageBundleChallengeInfo.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SalvageBundleChallengeInfo {
- repeated uint32 finished_bundle_list = 13;
+ repeated uint32 finished_bundle_list = 11;
}
diff --git a/proto/SalvageChallengeInfo.proto b/proto/SalvageChallengeInfo.proto
index 774477f6..6ebe79fa 100644
--- a/proto/SalvageChallengeInfo.proto
+++ b/proto/SalvageChallengeInfo.proto
@@ -23,11 +23,11 @@ import "SalvageScoreChallengeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SalvageChallengeInfo {
- uint32 challenge_type = 5;
- bool is_unlock = 12;
+ uint32 challenge_type = 11;
+ bool is_unlock = 14;
oneof challenge_detail {
- SalvageBundleChallengeInfo bundle_info = 11;
- SalvageScoreChallengeInfo score_challenge_info = 13;
- uint32 boss_challenge_id = 2;
+ SalvageBundleChallengeInfo bundle_info = 2;
+ SalvageScoreChallengeInfo score_challenge_info = 9;
+ uint32 boss_challenge_id = 12;
}
}
diff --git a/proto/SalvageEscortGallerySettleInfo.proto b/proto/SalvageEscortGallerySettleInfo.proto
new file mode 100644
index 00000000..32dd2b93
--- /dev/null
+++ b/proto/SalvageEscortGallerySettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "SalvageEscortStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvageEscortGallerySettleInfo {
+ uint32 time_remain = 15;
+ SalvageEscortStopReason reason = 11;
+}
diff --git a/proto/SalvageEscortRestartReq.proto b/proto/SalvageEscortRestartReq.proto
new file mode 100644
index 00000000..ce3841f9
--- /dev/null
+++ b/proto/SalvageEscortRestartReq.proto
@@ -0,0 +1,33 @@
+// 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 SalvageEscortRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8520;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 1;
+}
diff --git a/proto/SalvageEscortRestartRsp.proto b/proto/SalvageEscortRestartRsp.proto
new file mode 100644
index 00000000..4b4c9175
--- /dev/null
+++ b/proto/SalvageEscortRestartRsp.proto
@@ -0,0 +1,33 @@
+// 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 SalvageEscortRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8553;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 7;
+ int32 retcode = 8;
+}
diff --git a/proto/SalvageEscortSettleInfo.proto b/proto/SalvageEscortSettleInfo.proto
new file mode 100644
index 00000000..2d80b4f3
--- /dev/null
+++ b/proto/SalvageEscortSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "SalvageEscortGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvageEscortSettleInfo {
+ SalvageEscortGallerySettleInfo settle_info = 6;
+ bool is_new_record = 2;
+}
diff --git a/proto/SalvageEscortSettleNotify.proto b/proto/SalvageEscortSettleNotify.proto
new file mode 100644
index 00000000..80a1ac8a
--- /dev/null
+++ b/proto/SalvageEscortSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "SalvageEscortSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvageEscortSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8798;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SalvageEscortSettleInfo settle_info = 1;
+ uint32 gallery_id = 6;
+}
diff --git a/proto/SalvageEscortStopReason.proto b/proto/SalvageEscortStopReason.proto
new file mode 100644
index 00000000..daad30d9
--- /dev/null
+++ b/proto/SalvageEscortStopReason.proto
@@ -0,0 +1,30 @@
+// 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 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..79c3adab
--- /dev/null
+++ b/proto/SalvagePreventGallerySettleInfo.proto
@@ -0,0 +1,29 @@
+// 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 "SalvagePreventStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvagePreventGallerySettleInfo {
+ uint32 monster_count = 2;
+ SalvagePreventStopReason reason = 11;
+ uint32 final_score = 4;
+ uint32 time_remain = 8;
+}
diff --git a/proto/SalvagePreventRestartReq.proto b/proto/SalvagePreventRestartReq.proto
new file mode 100644
index 00000000..27d7112d
--- /dev/null
+++ b/proto/SalvagePreventRestartReq.proto
@@ -0,0 +1,33 @@
+// 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 SalvagePreventRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8796;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 7;
+}
diff --git a/proto/SalvagePreventRestartRsp.proto b/proto/SalvagePreventRestartRsp.proto
new file mode 100644
index 00000000..88e50132
--- /dev/null
+++ b/proto/SalvagePreventRestartRsp.proto
@@ -0,0 +1,33 @@
+// 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 SalvagePreventRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8493;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 gallery_id = 6;
+}
diff --git a/proto/SalvagePreventSettleInfo.proto b/proto/SalvagePreventSettleInfo.proto
new file mode 100644
index 00000000..14c0dabf
--- /dev/null
+++ b/proto/SalvagePreventSettleInfo.proto
@@ -0,0 +1,27 @@
+// 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 "SalvagePreventGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvagePreventSettleInfo {
+ SalvagePreventGallerySettleInfo settle_info = 4;
+ bool is_new_record = 12;
+}
diff --git a/proto/SalvagePreventSettleNotify.proto b/proto/SalvagePreventSettleNotify.proto
new file mode 100644
index 00000000..f0fda643
--- /dev/null
+++ b/proto/SalvagePreventSettleNotify.proto
@@ -0,0 +1,35 @@
+// 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 "SalvagePreventSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SalvagePreventSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8435;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 13;
+ SalvagePreventSettleInfo settle_info = 11;
+}
diff --git a/proto/SalvagePreventStopReason.proto b/proto/SalvagePreventStopReason.proto
new file mode 100644
index 00000000..91df65c3
--- /dev/null
+++ b/proto/SalvagePreventStopReason.proto
@@ -0,0 +1,30 @@
+// 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 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
index 894b3bdd..a9125a50 100644
--- a/proto/SalvageScoreChallengeInfo.proto
+++ b/proto/SalvageScoreChallengeInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SalvageScoreChallengeInfo {
- uint32 salvage_challenge_id = 13;
- uint32 max_score = 7;
+ uint32 max_score = 8;
+ uint32 salvage_challenge_id = 10;
}
diff --git a/proto/SalvageStageInfo.proto b/proto/SalvageStageInfo.proto
index 7d13103e..6bfd82e8 100644
--- a/proto/SalvageStageInfo.proto
+++ b/proto/SalvageStageInfo.proto
@@ -22,7 +22,7 @@ import "SalvageChallengeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SalvageStageInfo {
- repeated SalvageChallengeInfo challenge_info_list = 9;
- bool is_open = 10;
- uint32 stage_id = 2;
+ uint32 stage_id = 13;
+ repeated SalvageChallengeInfo challenge_info_list = 3;
+ bool is_open = 7;
}
diff --git a/proto/SaveCoopDialogReq.proto b/proto/SaveCoopDialogReq.proto
new file mode 100644
index 00000000..9156cd8a
--- /dev/null
+++ b/proto/SaveCoopDialogReq.proto
@@ -0,0 +1,34 @@
+// 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 SaveCoopDialogReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1954;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_AMKDDJEPAKM = 10;
+ uint32 Unk3300_KMBGNIICNAF = 8;
+}
diff --git a/proto/SaveCoopDialogRsp.proto b/proto/SaveCoopDialogRsp.proto
new file mode 100644
index 00000000..0ca52780
--- /dev/null
+++ b/proto/SaveCoopDialogRsp.proto
@@ -0,0 +1,34 @@
+// 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 SaveCoopDialogRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1960;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 Unk3300_AMKDDJEPAKM = 15;
+ uint32 Unk3300_KMBGNIICNAF = 9;
+}
diff --git a/proto/SaveCustomDungeonRoomReq.proto b/proto/SaveCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..551ffe4f
--- /dev/null
+++ b/proto/SaveCustomDungeonRoomReq.proto
@@ -0,0 +1,38 @@
+// 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 "CustomDungeonRoom.proto";
+import "CustomDungeonSetting.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SaveCustomDungeonRoomReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6222;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ CustomDungeonSetting setting = 1;
+ CustomDungeonRoom custom_dungeon_room = 4;
+ bool is_update_setting = 12;
+}
diff --git a/proto/SaveCustomDungeonRoomRsp.proto b/proto/SaveCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..c2ee76c3
--- /dev/null
+++ b/proto/SaveCustomDungeonRoomRsp.proto
@@ -0,0 +1,36 @@
+// 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 "CustomDungeonBlock.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SaveCustomDungeonRoomRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6235;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 room_id = 3;
+ repeated CustomDungeonBlock error_block_list = 8;
+}
diff --git a/proto/SaveMainCoopReq.proto b/proto/SaveMainCoopReq.proto
new file mode 100644
index 00000000..972f17a4
--- /dev/null
+++ b/proto/SaveMainCoopReq.proto
@@ -0,0 +1,37 @@
+// 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 SaveMainCoopReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1972;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map Unk3300_JFPLEDLNJPF = 14;
+ uint32 self_confidence = 6;
+ uint32 id = 13;
+ uint32 save_point_id = 2;
+ map Unk3300_OMEEMFJFKBH = 12;
+}
diff --git a/proto/SaveMainCoopRsp.proto b/proto/SaveMainCoopRsp.proto
new file mode 100644
index 00000000..b59c2a40
--- /dev/null
+++ b/proto/SaveMainCoopRsp.proto
@@ -0,0 +1,34 @@
+// 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 SaveMainCoopRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1985;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 id = 11;
+ repeated uint32 save_point_id_list = 3;
+ int32 retcode = 6;
+}
diff --git a/proto/SaveUgcReq.proto b/proto/SaveUgcReq.proto
new file mode 100644
index 00000000..2fb77d85
--- /dev/null
+++ b/proto/SaveUgcReq.proto
@@ -0,0 +1,43 @@
+// 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 "UgcMusicBriefInfo.proto";
+import "UgcMusicRecord.proto";
+import "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SaveUgcReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6344;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ UgcType ugc_type = 3;
+ oneof record {
+ UgcMusicRecord music_record = 11;
+ }
+ oneof brief {
+ UgcMusicBriefInfo music_brief_info = 260;
+ }
+}
diff --git a/proto/SaveUgcRsp.proto b/proto/SaveUgcRsp.proto
new file mode 100644
index 00000000..99c263d3
--- /dev/null
+++ b/proto/SaveUgcRsp.proto
@@ -0,0 +1,36 @@
+// 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 "UgcType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SaveUgcRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6317;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 ugc_guid = 9;
+ int32 retcode = 8;
+ UgcType ugc_type = 2;
+}
diff --git a/proto/SceneAreaUnlockNotify.proto b/proto/SceneAreaUnlockNotify.proto
index 7cc59fcb..100d8967 100644
--- a/proto/SceneAreaUnlockNotify.proto
+++ b/proto/SceneAreaUnlockNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 293
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneAreaUnlockNotify {
- repeated uint32 area_list = 10;
- uint32 scene_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 207;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 1;
+ repeated uint32 area_list = 5;
}
diff --git a/proto/SceneAreaWeatherNotify.proto b/proto/SceneAreaWeatherNotify.proto
index ea1b1443..c4c4b132 100644
--- a/proto/SceneAreaWeatherNotify.proto
+++ b/proto/SceneAreaWeatherNotify.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 230
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneAreaWeatherNotify {
- uint32 weather_area_id = 1;
- uint32 weather_gadget_id = 9;
- uint32 climate_type = 14;
- float trans_duration = 15;
- map weather_value_map = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 250;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 weather_gadget_id = 6;
+ map weather_value_map = 11;
+ uint32 climate_type = 7;
+ float trans_duration = 10;
+ uint32 weather_area_id = 15;
}
diff --git a/proto/SceneAudioNotify.proto b/proto/SceneAudioNotify.proto
new file mode 100644
index 00000000..34495257
--- /dev/null
+++ b/proto/SceneAudioNotify.proto
@@ -0,0 +1,37 @@
+// 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 SceneAudioNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3009;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 source_uid = 6;
+ repeated float param2 = 11;
+ repeated string param3 = 13;
+ int32 type = 15;
+ repeated uint32 param1 = 14;
+}
diff --git a/proto/SceneAvatarStaminaStepReq.proto b/proto/SceneAvatarStaminaStepReq.proto
new file mode 100644
index 00000000..f880abcf
--- /dev/null
+++ b/proto/SceneAvatarStaminaStepReq.proto
@@ -0,0 +1,36 @@
+// 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 SceneAvatarStaminaStepReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 257;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool use_client_rot = 9;
+ Vector rot = 12;
+}
diff --git a/proto/SceneAvatarStaminaStepRsp.proto b/proto/SceneAvatarStaminaStepRsp.proto
new file mode 100644
index 00000000..3b7785f7
--- /dev/null
+++ b/proto/SceneAvatarStaminaStepRsp.proto
@@ -0,0 +1,36 @@
+// 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 SceneAvatarStaminaStepRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 227;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector rot = 1;
+ bool use_client_rot = 9;
+ int32 retcode = 7;
+}
diff --git a/proto/SceneCreateEntityReq.proto b/proto/SceneCreateEntityReq.proto
new file mode 100644
index 00000000..0ba767fb
--- /dev/null
+++ b/proto/SceneCreateEntityReq.proto
@@ -0,0 +1,38 @@
+// 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 "CreateEntityInfo.proto";
+import "CreateReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneCreateEntityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 294;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ CreateReason reason = 4;
+ CreateEntityInfo entity = 8;
+ bool is_destroy_when_disconnect = 15;
+}
diff --git a/proto/SceneCreateEntityRsp.proto b/proto/SceneCreateEntityRsp.proto
new file mode 100644
index 00000000..09956010
--- /dev/null
+++ b/proto/SceneCreateEntityRsp.proto
@@ -0,0 +1,36 @@
+// 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 "CreateEntityInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneCreateEntityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 272;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ CreateEntityInfo entity = 4;
+ uint32 entity_id = 5;
+}
diff --git a/proto/SceneDataNotify.proto b/proto/SceneDataNotify.proto
new file mode 100644
index 00000000..d9c3bd76
--- /dev/null
+++ b/proto/SceneDataNotify.proto
@@ -0,0 +1,33 @@
+// 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 SceneDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3368;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 scene_tag_id_list = 3;
+ repeated string level_config_name_list = 6;
+}
diff --git a/proto/SceneDestroyEntityReq.proto b/proto/SceneDestroyEntityReq.proto
new file mode 100644
index 00000000..fa280013
--- /dev/null
+++ b/proto/SceneDestroyEntityReq.proto
@@ -0,0 +1,33 @@
+// 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 SceneDestroyEntityReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 203;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 11;
+}
diff --git a/proto/SceneDestroyEntityRsp.proto b/proto/SceneDestroyEntityRsp.proto
new file mode 100644
index 00000000..48898ec0
--- /dev/null
+++ b/proto/SceneDestroyEntityRsp.proto
@@ -0,0 +1,33 @@
+// 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 SceneDestroyEntityRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 233;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 entity_id = 15;
+ int32 retcode = 5;
+}
diff --git a/proto/SceneEntitiesMoveCombineNotify.proto b/proto/SceneEntitiesMoveCombineNotify.proto
new file mode 100644
index 00000000..ad02e5ab
--- /dev/null
+++ b/proto/SceneEntitiesMoveCombineNotify.proto
@@ -0,0 +1,33 @@
+// 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 "EntityMoveInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntitiesMoveCombineNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3452;
+ // ENET_CHANNEL_ID = 1;
+ // }
+
+ repeated EntityMoveInfo entity_move_info_list = 14;
+}
diff --git a/proto/SceneEntitiesMovesReq.proto b/proto/SceneEntitiesMovesReq.proto
new file mode 100644
index 00000000..ff7bdd92
--- /dev/null
+++ b/proto/SceneEntitiesMovesReq.proto
@@ -0,0 +1,34 @@
+// 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 "EntityMoveInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntitiesMovesReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 292;
+ // ENET_CHANNEL_ID = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated EntityMoveInfo entity_move_info_list = 11;
+}
diff --git a/proto/SceneEntitiesMovesRsp.proto b/proto/SceneEntitiesMovesRsp.proto
new file mode 100644
index 00000000..997983ce
--- /dev/null
+++ b/proto/SceneEntitiesMovesRsp.proto
@@ -0,0 +1,33 @@
+// 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 "EntityMoveFailInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntitiesMovesRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 245;
+ // ENET_CHANNEL_ID = 1;
+ // }
+
+ repeated EntityMoveFailInfo entity_move_fail_info_list = 10;
+}
diff --git a/proto/SceneEntityAppearNotify.proto b/proto/SceneEntityAppearNotify.proto
index 2af92009..77f979b2 100644
--- a/proto/SceneEntityAppearNotify.proto
+++ b/proto/SceneEntityAppearNotify.proto
@@ -22,11 +22,16 @@ import "VisionType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 221
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneEntityAppearNotify {
- VisionType appear_type = 15;
- uint32 param = 9;
- repeated SceneEntityInfo entity_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 243;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated SceneEntityInfo entity_list = 15;
+ VisionType appear_type = 1;
+ uint32 param = 7;
}
diff --git a/proto/SceneEntityDisappearNotify.proto b/proto/SceneEntityDisappearNotify.proto
index ba05ae60..45fc260a 100644
--- a/proto/SceneEntityDisappearNotify.proto
+++ b/proto/SceneEntityDisappearNotify.proto
@@ -21,11 +21,16 @@ import "VisionType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 203
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneEntityDisappearNotify {
- uint32 param = 6;
- repeated uint32 entity_list = 1;
- VisionType disappear_type = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 261;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 param = 15;
+ VisionType disappear_type = 12;
+ repeated uint32 entity_list = 13;
}
diff --git a/proto/SceneEntityDrownReq.proto b/proto/SceneEntityDrownReq.proto
index 37937b11..59c35adc 100644
--- a/proto/SceneEntityDrownReq.proto
+++ b/proto/SceneEntityDrownReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 227
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SceneEntityDrownReq {
- uint32 entity_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 217;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 14;
}
diff --git a/proto/SceneEntityDrownRsp.proto b/proto/SceneEntityDrownRsp.proto
index 9c884c8c..ea45b711 100644
--- a/proto/SceneEntityDrownRsp.proto
+++ b/proto/SceneEntityDrownRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 294
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneEntityDrownRsp {
- int32 retcode = 8;
- uint32 entity_id = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 205;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 entity_id = 5;
}
diff --git a/proto/SceneEntityMoveNotify.proto b/proto/SceneEntityMoveNotify.proto
index bd771e4e..3cc11e9a 100644
--- a/proto/SceneEntityMoveNotify.proto
+++ b/proto/SceneEntityMoveNotify.proto
@@ -21,12 +21,17 @@ import "MotionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 275
-// EnetChannelId: 1
-// EnetIsReliable: true
message SceneEntityMoveNotify {
- MotionInfo motion_info = 6;
- uint32 entity_id = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 239;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reliable_seq = 3;
uint32 scene_time = 15;
- uint32 reliable_seq = 2;
+ uint32 entity_id = 11;
+ MotionInfo motion_info = 14;
}
diff --git a/proto/SceneEntityMoveReq.proto b/proto/SceneEntityMoveReq.proto
new file mode 100644
index 00000000..6f1985b5
--- /dev/null
+++ b/proto/SceneEntityMoveReq.proto
@@ -0,0 +1,37 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntityMoveReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 247;
+ // ENET_CHANNEL_ID = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 scene_time = 5;
+ MotionInfo motion_info = 4;
+ uint32 entity_id = 13;
+ uint32 reliable_seq = 3;
+}
diff --git a/proto/SceneEntityMoveRsp.proto b/proto/SceneEntityMoveRsp.proto
new file mode 100644
index 00000000..0b4642fe
--- /dev/null
+++ b/proto/SceneEntityMoveRsp.proto
@@ -0,0 +1,38 @@
+// 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 "MotionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntityMoveRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 278;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_time = 11;
+ MotionInfo fail_motion = 8;
+ uint32 entity_id = 12;
+ int32 retcode = 9;
+ uint32 reliable_seq = 15;
+}
diff --git a/proto/SceneEntityUpdateNotify.proto b/proto/SceneEntityUpdateNotify.proto
new file mode 100644
index 00000000..6c787e95
--- /dev/null
+++ b/proto/SceneEntityUpdateNotify.proto
@@ -0,0 +1,37 @@
+// 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 "SceneEntityInfo.proto";
+import "VisionType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneEntityUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3115;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ VisionType appear_type = 11;
+ uint32 param = 12;
+ repeated SceneEntityInfo entity_list = 10;
+}
diff --git a/proto/SceneForceLockNotify.proto b/proto/SceneForceLockNotify.proto
index 94eb753d..43600df2 100644
--- a/proto/SceneForceLockNotify.proto
+++ b/proto/SceneForceLockNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 234
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneForceLockNotify {
- repeated uint32 force_id_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 280;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 force_id_list = 1;
}
diff --git a/proto/SceneForceUnlockNotify.proto b/proto/SceneForceUnlockNotify.proto
index 9f8348b1..27633e9a 100644
--- a/proto/SceneForceUnlockNotify.proto
+++ b/proto/SceneForceUnlockNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 206
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneForceUnlockNotify {
- bool is_add = 10;
- repeated uint32 force_id_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 210;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_add = 15;
+ repeated uint32 force_id_list = 11;
}
diff --git a/proto/SceneGadgetInfo.proto b/proto/SceneGadgetInfo.proto
index 5ca8c614..3a99ef15 100644
--- a/proto/SceneGadgetInfo.proto
+++ b/proto/SceneGadgetInfo.proto
@@ -21,6 +21,7 @@ import "AbilityGadgetInfo.proto";
import "BlossomChestInfo.proto";
import "BossChestInfo.proto";
import "ClientGadgetInfo.proto";
+import "CoinCollectOperatorInfo.proto";
import "CustomGadgetTreeInfo.proto";
import "DeshretObeliskGadgetInfo.proto";
import "EchoShellInfo.proto";
@@ -85,5 +86,6 @@ message SceneGadgetInfo {
RoguelikeGadgetInfo roguelike_gadget_info = 61;
NightCrowGadgetInfo night_crow_gadget_info = 62;
DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;
+ CoinCollectOperatorInfo coin_collect_operator_info = 64;
}
}
diff --git a/proto/SceneGalleryBalloonInfo.proto b/proto/SceneGalleryBalloonInfo.proto
new file mode 100644
index 00000000..8e0edbb2
--- /dev/null
+++ b/proto/SceneGalleryBalloonInfo.proto
@@ -0,0 +1,27 @@
+// 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 "BalloonPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryBalloonInfo {
+ map scene_player_balloon_info_map = 13;
+ uint32 end_time = 9;
+}
diff --git a/proto/SceneGalleryBounceConjuringInfo.proto b/proto/SceneGalleryBounceConjuringInfo.proto
new file mode 100644
index 00000000..54518993
--- /dev/null
+++ b/proto/SceneGalleryBounceConjuringInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryBounceConjuringInfo {
+ uint32 total_score = 4;
+ uint32 total_destroyed_machine_count = 12;
+}
diff --git a/proto/SceneGalleryBrokenFloorInfo.proto b/proto/SceneGalleryBrokenFloorInfo.proto
new file mode 100644
index 00000000..727a8367
--- /dev/null
+++ b/proto/SceneGalleryBrokenFloorInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryBrokenFloorInfo {
+ uint32 end_time = 10;
+ map fall_count_map = 15;
+}
diff --git a/proto/SceneGalleryBulletInfo.proto b/proto/SceneGalleryBulletInfo.proto
new file mode 100644
index 00000000..bb905b92
--- /dev/null
+++ b/proto/SceneGalleryBulletInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryBulletInfo {
+ map hit_count_map = 2;
+ uint32 end_time = 13;
+}
diff --git a/proto/SceneGalleryBuoyantCombatInfo.proto b/proto/SceneGalleryBuoyantCombatInfo.proto
new file mode 100644
index 00000000..ec8007d5
--- /dev/null
+++ b/proto/SceneGalleryBuoyantCombatInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGalleryBuoyantCombatInfo {
+ uint32 score = 9;
+ uint32 kill_special_monster_count = 13;
+ uint32 kill_monster_count = 12;
+}
diff --git a/proto/SceneGalleryCharAmusementInfo.proto b/proto/SceneGalleryCharAmusementInfo.proto
new file mode 100644
index 00000000..729d7aa9
--- /dev/null
+++ b/proto/SceneGalleryCharAmusementInfo.proto
@@ -0,0 +1,28 @@
+// 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 SceneGalleryCharAmusementInfo {
+ bool is_success = 13;
+ uint32 max_score = 11;
+ uint32 cur_score = 9;
+ bool is_last_level = 10;
+ bool is_finish = 14;
+}
diff --git a/proto/SceneGalleryCoinCollectInfo.proto b/proto/SceneGalleryCoinCollectInfo.proto
new file mode 100644
index 00000000..c4ad57e4
--- /dev/null
+++ b/proto/SceneGalleryCoinCollectInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryCoinCollectInfo {
+ uint32 Unk3300_DKBJMLJGLIB = 11;
+ uint32 Unk3300_CPLDPCMBHOE = 12;
+}
diff --git a/proto/SceneGalleryCrystalLinkInfo.proto b/proto/SceneGalleryCrystalLinkInfo.proto
new file mode 100644
index 00000000..e5dbd73e
--- /dev/null
+++ b/proto/SceneGalleryCrystalLinkInfo.proto
@@ -0,0 +1,24 @@
+// 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 SceneGalleryCrystalLinkInfo {
+ uint32 score = 13;
+}
diff --git a/proto/SceneGalleryEffigyChallengeV2Info.proto b/proto/SceneGalleryEffigyChallengeV2Info.proto
new file mode 100644
index 00000000..a3722748
--- /dev/null
+++ b/proto/SceneGalleryEffigyChallengeV2Info.proto
@@ -0,0 +1,28 @@
+// 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 SceneGalleryEffigyChallengeV2Info {
+ uint32 Unk3300_MICPCKIOEJA = 1;
+ uint32 Unk3300_BMPCKGJAGPE = 8;
+ uint32 Unk3300_EOGAPBOFHOP = 2;
+ uint32 Unk3300_MBHBNIPEPNJ = 7;
+ uint32 Unk3300_AIEEGIBMOFH = 11;
+}
diff --git a/proto/SceneGalleryFallInfo.proto b/proto/SceneGalleryFallInfo.proto
new file mode 100644
index 00000000..9e48b4c4
--- /dev/null
+++ b/proto/SceneGalleryFallInfo.proto
@@ -0,0 +1,27 @@
+// 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 "FallPlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryFallInfo {
+ uint32 end_time = 4;
+ map scene_player_fall_info_map = 3;
+}
diff --git a/proto/SceneGalleryFlowerInfo.proto b/proto/SceneGalleryFlowerInfo.proto
new file mode 100644
index 00000000..7743d467
--- /dev/null
+++ b/proto/SceneGalleryFlowerInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGalleryFlowerInfo {
+ uint32 cur_score = 5;
+ uint32 target_score = 14;
+ uint32 end_time = 12;
+}
diff --git a/proto/SceneGalleryFungusFighterCaptureInfo.proto b/proto/SceneGalleryFungusFighterCaptureInfo.proto
new file mode 100644
index 00000000..4e165ed7
--- /dev/null
+++ b/proto/SceneGalleryFungusFighterCaptureInfo.proto
@@ -0,0 +1,24 @@
+// 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 SceneGalleryFungusFighterCaptureInfo {
+ bool is_hide_progress = 15;
+}
diff --git a/proto/SceneGalleryFungusFighterTrainingInfo.proto b/proto/SceneGalleryFungusFighterTrainingInfo.proto
new file mode 100644
index 00000000..c41a583c
--- /dev/null
+++ b/proto/SceneGalleryFungusFighterTrainingInfo.proto
@@ -0,0 +1,30 @@
+// 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 SceneGalleryFungusFighterTrainingInfo {
+ uint32 Unk3300_GMLIPFDMDOG = 15;
+ uint32 Unk3300_IOEELCAMDCK = 8;
+ uint32 max_monster_count = 10;
+ uint32 Unk3300_EDHANEGNMJM = 2;
+ uint32 buff_id = 13;
+ uint32 Unk3300_HGPGNCMNDJN = 14;
+ uint32 Unk3300_EKAMCPNGCGH = 5;
+}
diff --git a/proto/SceneGalleryHandballInfo.proto b/proto/SceneGalleryHandballInfo.proto
new file mode 100644
index 00000000..bae4c898
--- /dev/null
+++ b/proto/SceneGalleryHandballInfo.proto
@@ -0,0 +1,27 @@
+// 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 "PlaceInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryHandballInfo {
+ PlaceInfo ball_place_info = 6;
+ bool is_have_ball = 11;
+}
diff --git a/proto/SceneGalleryHideAndSeekInfo.proto b/proto/SceneGalleryHideAndSeekInfo.proto
new file mode 100644
index 00000000..0dc83c66
--- /dev/null
+++ b/proto/SceneGalleryHideAndSeekInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryHideAndSeekInfo {
+ repeated uint32 Unk3300_LHMHALKDBBN = 10;
+ repeated uint32 Unk3300_CNLKMGFFAEC = 7;
+}
diff --git a/proto/SceneGalleryHomeBalloonInfo.proto b/proto/SceneGalleryHomeBalloonInfo.proto
new file mode 100644
index 00000000..ae9c12bf
--- /dev/null
+++ b/proto/SceneGalleryHomeBalloonInfo.proto
@@ -0,0 +1,24 @@
+// 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 SceneGalleryHomeBalloonInfo {
+ uint32 score = 11;
+}
diff --git a/proto/SceneGalleryHomeSeekFurnitureInfo.proto b/proto/SceneGalleryHomeSeekFurnitureInfo.proto
index 92f88b7a..e5aca0db 100644
--- a/proto/SceneGalleryHomeSeekFurnitureInfo.proto
+++ b/proto/SceneGalleryHomeSeekFurnitureInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SceneGalleryHomeSeekFurnitureInfo {
- uint32 cur_tide_left_num = 6;
- map player_score_map = 8;
- uint32 cur_tide_duration_time = 12;
- uint32 cur_tide_total_num = 9;
+ 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..e2a0a622
--- /dev/null
+++ b/proto/SceneGalleryInfo.proto
@@ -0,0 +1,98 @@
+// 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 "GalleryStageType.proto";
+import "SceneGalleryBalloonInfo.proto";
+import "SceneGalleryBounceConjuringInfo.proto";
+import "SceneGalleryBrokenFloorInfo.proto";
+import "SceneGalleryBulletInfo.proto";
+import "SceneGalleryBuoyantCombatInfo.proto";
+import "SceneGalleryCharAmusementInfo.proto";
+import "SceneGalleryCoinCollectInfo.proto";
+import "SceneGalleryCrystalLinkInfo.proto";
+import "SceneGalleryEffigyChallengeV2Info.proto";
+import "SceneGalleryFallInfo.proto";
+import "SceneGalleryFlowerInfo.proto";
+import "SceneGalleryFungusFighterCaptureInfo.proto";
+import "SceneGalleryFungusFighterTrainingInfo.proto";
+import "SceneGalleryHandballInfo.proto";
+import "SceneGalleryHideAndSeekInfo.proto";
+import "SceneGalleryHomeBalloonInfo.proto";
+import "SceneGalleryHomeSeekFurnitureInfo.proto";
+import "SceneGalleryInstableSprayInfo.proto";
+import "SceneGalleryIrodoriMasterInfo.proto";
+import "SceneGalleryIslandPartyDownHillInfo.proto";
+import "SceneGalleryIslandPartyRaftInfo.proto";
+import "SceneGalleryIslandPartySailInfo.proto";
+import "SceneGalleryLuminanceStoneChallengeInfo.proto";
+import "SceneGalleryMuqadasPotionInfo.proto";
+import "SceneGalleryProgressInfo.proto";
+import "SceneGallerySalvageEscortInfo.proto";
+import "SceneGallerySalvagePreventInfo.proto";
+import "SceneGallerySummerTimeV2BoatInfo.proto";
+import "SceneGallerySumoInfo.proto";
+import "SceneGalleryTreasureSeelieInfo.proto";
+import "SceneGalleryVintageHuntingInfo.proto";
+import "SceneGalleryWindFieldInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryInfo {
+ uint32 pre_start_end_time = 14;
+ uint32 owner_uid = 9;
+ repeated SceneGalleryProgressInfo progress_info_list = 10;
+ uint32 gallery_id = 4;
+ uint32 start_time = 3;
+ uint32 player_count = 15;
+ uint32 end_time = 1;
+ GalleryStageType stage = 8;
+ oneof info {
+ SceneGalleryBalloonInfo balloon_info = 5;
+ SceneGalleryFallInfo fall_info = 7;
+ SceneGalleryFlowerInfo flower_info = 11;
+ SceneGalleryBulletInfo bullet_info = 12;
+ SceneGalleryBrokenFloorInfo broken_floor_info = 6;
+ SceneGalleryHideAndSeekInfo hide_and_seek_info = 13;
+ SceneGalleryBuoyantCombatInfo buoyant_combat_info = 1224;
+ SceneGalleryBounceConjuringInfo bounce_conjuring_info = 621;
+ SceneGalleryHandballInfo handball_info = 1835;
+ SceneGallerySumoInfo sumo_info = 877;
+ SceneGallerySalvagePreventInfo salvage_prevent_info = 1477;
+ SceneGallerySalvageEscortInfo salvage_escort_info = 732;
+ SceneGalleryHomeBalloonInfo home_balloon_info = 1866;
+ SceneGalleryCrystalLinkInfo crystal_link_info = 666;
+ SceneGalleryIrodoriMasterInfo irodori_master_info = 1679;
+ SceneGalleryLuminanceStoneChallengeInfo luminance_stone_challenge_info = 1847;
+ SceneGalleryHomeSeekFurnitureInfo home_seek_furniture_info = 540;
+ SceneGalleryIslandPartyDownHillInfo island_party_down_hill_info = 2047;
+ SceneGallerySummerTimeV2BoatInfo summer_time_v2_boat_info = 1890;
+ SceneGalleryIslandPartyRaftInfo island_party_raft_info = 244;
+ SceneGalleryIslandPartySailInfo island_party_sail_info = 633;
+ SceneGalleryInstableSprayInfo instable_spray_info = 75;
+ SceneGalleryMuqadasPotionInfo muqadas_potion_info = 496;
+ SceneGalleryTreasureSeelieInfo treasure_seelie_info = 16;
+ SceneGalleryVintageHuntingInfo vintage_hunting_info = 1470;
+ SceneGalleryWindFieldInfo wind_field_info = 1001;
+ SceneGalleryFungusFighterTrainingInfo fungus_fighter_training_info = 861;
+ SceneGalleryEffigyChallengeV2Info effigy_challenge_info = 1577;
+ SceneGalleryFungusFighterCaptureInfo fungus_fighter_capture_info = 711;
+ SceneGalleryCharAmusementInfo char_amusement_info = 152;
+ SceneGalleryCoinCollectInfo coin_collect_info = 1243;
+ }
+}
diff --git a/proto/SceneGalleryInfoNotify.proto b/proto/SceneGalleryInfoNotify.proto
new file mode 100644
index 00000000..37da147a
--- /dev/null
+++ b/proto/SceneGalleryInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "SceneGalleryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5525;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SceneGalleryInfo gallery_info = 11;
+}
diff --git a/proto/SceneGalleryInstableSprayBuffInfo.proto b/proto/SceneGalleryInstableSprayBuffInfo.proto
new file mode 100644
index 00000000..3e150d09
--- /dev/null
+++ b/proto/SceneGalleryInstableSprayBuffInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGalleryInstableSprayBuffInfo {
+ uint64 Unk3300_KKDFLBMKGEF = 3;
+ uint32 buff_id = 6;
+ uint64 Unk3300_EPHAABKNLHC = 2;
+}
diff --git a/proto/SceneGalleryInstableSprayInfo.proto b/proto/SceneGalleryInstableSprayInfo.proto
new file mode 100644
index 00000000..39db8b86
--- /dev/null
+++ b/proto/SceneGalleryInstableSprayInfo.proto
@@ -0,0 +1,27 @@
+// 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 "SceneGalleryInstableSprayBuffInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryInstableSprayInfo {
+ uint32 score = 10;
+ repeated SceneGalleryInstableSprayBuffInfo buff_info_list = 4;
+}
diff --git a/proto/SceneGalleryIrodoriMasterInfo.proto b/proto/SceneGalleryIrodoriMasterInfo.proto
new file mode 100644
index 00000000..20c6d2b5
--- /dev/null
+++ b/proto/SceneGalleryIrodoriMasterInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGalleryIrodoriMasterInfo {
+ bool is_cg_viewed = 12;
+ uint32 difficulty = 10;
+ uint32 level_id = 7;
+}
diff --git a/proto/SceneGalleryIslandPartyDownHillInfo.proto b/proto/SceneGalleryIslandPartyDownHillInfo.proto
new file mode 100644
index 00000000..0e3c13d8
--- /dev/null
+++ b/proto/SceneGalleryIslandPartyDownHillInfo.proto
@@ -0,0 +1,29 @@
+// 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 "GalleryStartSource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryIslandPartyDownHillInfo {
+ uint32 max_kill_monster_count = 10;
+ GalleryStartSource start_source = 2;
+ uint32 total_kill_monster_count = 12;
+ uint32 coin = 4;
+}
diff --git a/proto/SceneGalleryIslandPartyRaftInfo.proto b/proto/SceneGalleryIslandPartyRaftInfo.proto
new file mode 100644
index 00000000..dc1a4fdf
--- /dev/null
+++ b/proto/SceneGalleryIslandPartyRaftInfo.proto
@@ -0,0 +1,31 @@
+// 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 "GalleryStartSource.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryIslandPartyRaftInfo {
+ uint32 coin = 12;
+ uint32 Unk3300_FBACMOFGPGJ = 6;
+ uint32 point_id = 10;
+ uint32 Unk3300_HHEKIPECDAK = 14;
+ GalleryStartSource start_source = 7;
+ uint32 Unk3300_HNECEGNMKNK = 13;
+}
diff --git a/proto/SceneGalleryIslandPartySailInfo.proto b/proto/SceneGalleryIslandPartySailInfo.proto
new file mode 100644
index 00000000..c6594637
--- /dev/null
+++ b/proto/SceneGalleryIslandPartySailInfo.proto
@@ -0,0 +1,33 @@
+// 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 "GalleryStartSource.proto";
+import "IslandPartySailStage.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryIslandPartySailInfo {
+ uint32 coin = 5;
+ uint32 Unk3300_HCJGDHEMBLM = 4;
+ uint32 Unk3300_MJHMCAPGBIK = 6;
+ uint32 Unk3300_PFCJODGNDCI = 3;
+ IslandPartySailStage stage = 14;
+ uint32 Unk3300_MJOIIJIBAHF = 10;
+ GalleryStartSource start_source = 13;
+}
diff --git a/proto/SceneGalleryLuminanceStoneChallengeInfo.proto b/proto/SceneGalleryLuminanceStoneChallengeInfo.proto
new file mode 100644
index 00000000..8fc6c4cf
--- /dev/null
+++ b/proto/SceneGalleryLuminanceStoneChallengeInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGalleryLuminanceStoneChallengeInfo {
+ uint32 clean_mud_count = 12;
+ uint32 kill_special_monster_count = 3;
+ uint32 score = 4;
+ uint32 kill_monster_count = 8;
+}
diff --git a/proto/SceneGalleryMuqadasPotionInfo.proto b/proto/SceneGalleryMuqadasPotionInfo.proto
new file mode 100644
index 00000000..db537114
--- /dev/null
+++ b/proto/SceneGalleryMuqadasPotionInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGalleryMuqadasPotionInfo {
+ uint32 score = 1;
+ uint32 Unk3300_NHOLGGAFMPH = 5;
+ uint32 Unk3300_LKEICOLMPII = 10;
+ uint32 capture_weakness_count = 12;
+}
diff --git a/proto/SceneGalleryProgressInfo.proto b/proto/SceneGalleryProgressInfo.proto
new file mode 100644
index 00000000..83b74b7e
--- /dev/null
+++ b/proto/SceneGalleryProgressInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGalleryProgressInfo {
+ string key = 3;
+ uint32 ui_form = 12;
+ repeated uint32 progress_stage_list = 7;
+ uint32 progress = 13;
+}
diff --git a/proto/SceneGallerySalvageEscortInfo.proto b/proto/SceneGallerySalvageEscortInfo.proto
new file mode 100644
index 00000000..bab45796
--- /dev/null
+++ b/proto/SceneGallerySalvageEscortInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGallerySalvageEscortInfo {
+ uint32 max_monster_count = 4;
+ uint32 monster_count = 10;
+ uint32 Unk3300_FGDPFNPENNC = 11;
+ uint32 Unk3300_HDMPOAJLPED = 9;
+}
diff --git a/proto/SceneGallerySalvageEscortInfoInfo.proto b/proto/SceneGallerySalvageEscortInfoInfo.proto
new file mode 100644
index 00000000..b560129c
--- /dev/null
+++ b/proto/SceneGallerySalvageEscortInfoInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGallerySalvageEscortInfoInfo {
+ uint32 max_box_count = 14;
+ uint32 max_monster_count = 3;
+ uint32 box_count = 7;
+ uint32 monster_count = 11;
+}
diff --git a/proto/SceneGallerySalvagePreventInfo.proto b/proto/SceneGallerySalvagePreventInfo.proto
new file mode 100644
index 00000000..853de94b
--- /dev/null
+++ b/proto/SceneGallerySalvagePreventInfo.proto
@@ -0,0 +1,24 @@
+// 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 SceneGallerySalvagePreventInfo {
+ uint32 monster_count = 1;
+}
diff --git a/proto/SceneGallerySummerTimeV2BoatInfo.proto b/proto/SceneGallerySummerTimeV2BoatInfo.proto
new file mode 100644
index 00000000..c1453a42
--- /dev/null
+++ b/proto/SceneGallerySummerTimeV2BoatInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGallerySummerTimeV2BoatInfo {
+ uint32 used_time = 6;
+ uint32 param1 = 5;
+ uint32 param3 = 12;
+ uint32 param2 = 3;
+}
diff --git a/proto/SceneGallerySumoInfo.proto b/proto/SceneGallerySumoInfo.proto
new file mode 100644
index 00000000..10df8465
--- /dev/null
+++ b/proto/SceneGallerySumoInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGallerySumoInfo {
+ uint32 kill_elite_monster_num = 4;
+ uint32 score = 7;
+ uint32 kill_normal_monster_num = 12;
+}
diff --git a/proto/SceneGalleryTreasureSeelieInfo.proto b/proto/SceneGalleryTreasureSeelieInfo.proto
new file mode 100644
index 00000000..10da95c4
--- /dev/null
+++ b/proto/SceneGalleryTreasureSeelieInfo.proto
@@ -0,0 +1,25 @@
+// 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 SceneGalleryTreasureSeelieInfo {
+ uint32 progress = 1;
+ uint32 goal = 14;
+}
diff --git a/proto/SceneGalleryVintageHuntingFirstStageInfo.proto b/proto/SceneGalleryVintageHuntingFirstStageInfo.proto
new file mode 100644
index 00000000..6bc27e78
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingFirstStageInfo.proto
@@ -0,0 +1,27 @@
+// 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 SceneGalleryVintageHuntingFirstStageInfo {
+ uint32 Unk3100_BKOPHMFCPGD = 15;
+ uint32 Unk3100_OMMEHLGCBHP = 7;
+ uint32 score = 14;
+ uint32 Unk3100_KCFEMMIGNPG = 11;
+}
diff --git a/proto/SceneGalleryVintageHuntingInfo.proto b/proto/SceneGalleryVintageHuntingInfo.proto
new file mode 100644
index 00000000..f8122e1a
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingInfo.proto
@@ -0,0 +1,33 @@
+// 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 "VintageHuntingFirstStageInfo.proto";
+import "VintageHuntingSecondStageInfo.proto";
+import "VintageHuntingThirdStageInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryVintageHuntingInfo {
+ uint32 stage_id = 9;
+ oneof info {
+ VintageHuntingFirstStageInfo first_stage_info = 5;
+ VintageHuntingSecondStageInfo second_stage_info = 14;
+ VintageHuntingThirdStageInfo third_stage_info = 8;
+ }
+}
diff --git a/proto/SceneGalleryVintageHuntingSecondStageInfo.proto b/proto/SceneGalleryVintageHuntingSecondStageInfo.proto
new file mode 100644
index 00000000..0e09624d
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingSecondStageInfo.proto
@@ -0,0 +1,26 @@
+// 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 SceneGalleryVintageHuntingSecondStageInfo {
+ uint32 total_num = 11;
+ uint32 Unk3100_IFMAFOGLKOO = 13;
+ uint32 Unk3100_KDKPDILFKFK = 3;
+}
diff --git a/proto/SceneGalleryVintageHuntingSettleNotify.proto b/proto/SceneGalleryVintageHuntingSettleNotify.proto
new file mode 100644
index 00000000..080fa411
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingSettleNotify.proto
@@ -0,0 +1,45 @@
+// 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 "VintageHuntingFirstStageSettleInfo.proto";
+import "VintageHuntingSecondStageSettleInfo.proto";
+import "VintageHuntingThirdStageSettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneGalleryVintageHuntingSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22325;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool has_new_watcher = 3;
+ bool is_new_record = 13;
+ uint32 Unk3300_EHGDIKOGLKL = 15;
+ uint32 Unk3300_KOAKHMLFPGM = 6;
+ uint32 stage_id = 9;
+ oneof info {
+ VintageHuntingFirstStageSettleInfo first_stage_info = 7;
+ VintageHuntingSecondStageSettleInfo second_stage_info = 8;
+ VintageHuntingThirdStageSettleInfo third_stage_info = 14;
+ }
+}
diff --git a/proto/SceneGalleryVintageHuntingThirdStageInfo.proto b/proto/SceneGalleryVintageHuntingThirdStageInfo.proto
new file mode 100644
index 00000000..61522885
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingThirdStageInfo.proto
@@ -0,0 +1,22 @@
+// 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 SceneGalleryVintageHuntingThirdStageInfo {}
diff --git a/proto/SceneGalleryWindFieldInfo.proto b/proto/SceneGalleryWindFieldInfo.proto
new file mode 100644
index 00000000..f3d63f24
--- /dev/null
+++ b/proto/SceneGalleryWindFieldInfo.proto
@@ -0,0 +1,31 @@
+// 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 SceneGalleryWindFieldInfo {
+ uint32 Unk3300_MMONPDMIEBN = 6;
+ uint32 Unk3300_OJHJPBCAONA = 2;
+ uint32 Unk3300_NBIBKFKOCFK = 15;
+ uint32 Unk3300_EKMHMHJDHIL = 13;
+ uint32 Unk3300_GNJKOCLJFNM = 7;
+ uint32 Unk3300_GNKCFHMDOHJ = 3;
+ uint32 Unk3300_FFODAKMKGEK = 4;
+ uint32 Unk3300_GLNHBJJJINK = 14;
+}
diff --git a/proto/SceneInitFinishReq.proto b/proto/SceneInitFinishReq.proto
new file mode 100644
index 00000000..f51db398
--- /dev/null
+++ b/proto/SceneInitFinishReq.proto
@@ -0,0 +1,33 @@
+// 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 SceneInitFinishReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 219;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 enter_scene_token = 7;
+}
diff --git a/proto/SceneInitFinishRsp.proto b/proto/SceneInitFinishRsp.proto
index ffb33be4..52c1c380 100644
--- a/proto/SceneInitFinishRsp.proto
+++ b/proto/SceneInitFinishRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 207
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SceneInitFinishRsp {
- int32 retcode = 13;
- uint32 enter_scene_token = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 300;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 7;
+ uint32 enter_scene_token = 4;
}
diff --git a/proto/SceneKickPlayerNotify.proto b/proto/SceneKickPlayerNotify.proto
new file mode 100644
index 00000000..a41cefc4
--- /dev/null
+++ b/proto/SceneKickPlayerNotify.proto
@@ -0,0 +1,34 @@
+// 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 SceneKickPlayerNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 201;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 13;
+ uint32 kicker_uid = 12;
+}
diff --git a/proto/SceneKickPlayerReq.proto b/proto/SceneKickPlayerReq.proto
index 6203c9c6..108e8cb5 100644
--- a/proto/SceneKickPlayerReq.proto
+++ b/proto/SceneKickPlayerReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 264
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SceneKickPlayerReq {
- uint32 target_uid = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 212;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 target_uid = 5;
}
diff --git a/proto/SceneKickPlayerRsp.proto b/proto/SceneKickPlayerRsp.proto
index 1a12f3a0..cda3240a 100644
--- a/proto/SceneKickPlayerRsp.proto
+++ b/proto/SceneKickPlayerRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 238
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneKickPlayerRsp {
- int32 retcode = 13;
- uint32 target_uid = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 231;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 target_uid = 11;
}
diff --git a/proto/ScenePlayBattleInfo.proto b/proto/ScenePlayBattleInfo.proto
new file mode 100644
index 00000000..aebb8771
--- /dev/null
+++ b/proto/ScenePlayBattleInfo.proto
@@ -0,0 +1,33 @@
+// 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 ScenePlayBattleInfo {
+ uint32 duration = 14;
+ uint32 progress = 5;
+ uint32 prepare_end_time = 1;
+ uint32 play_type = 12;
+ repeated uint32 progress_stage_list = 13;
+ uint32 state = 7;
+ uint32 mode = 6;
+ uint32 type = 10;
+ uint32 play_id = 11;
+ uint32 start_time = 8;
+}
diff --git a/proto/ScenePlayBattleInfoListNotify.proto b/proto/ScenePlayBattleInfoListNotify.proto
new file mode 100644
index 00000000..04dbb01f
--- /dev/null
+++ b/proto/ScenePlayBattleInfoListNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ScenePlayBattleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayBattleInfoListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4375;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ScenePlayBattleInfo battle_info_list = 14;
+}
diff --git a/proto/ScenePlayBattleInfoNotify.proto b/proto/ScenePlayBattleInfoNotify.proto
new file mode 100644
index 00000000..f335bdbe
--- /dev/null
+++ b/proto/ScenePlayBattleInfoNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ScenePlayBattleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayBattleInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4429;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ScenePlayBattleInfo battle_info = 8;
+}
diff --git a/proto/ScenePlayBattleInterruptNotify.proto b/proto/ScenePlayBattleInterruptNotify.proto
new file mode 100644
index 00000000..d5048bdb
--- /dev/null
+++ b/proto/ScenePlayBattleInterruptNotify.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayBattleInterruptNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4389;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 interrupt_state = 8;
+ uint32 play_id = 10;
+ uint32 play_type = 1;
+}
diff --git a/proto/ScenePlayBattleResultNotify.proto b/proto/ScenePlayBattleResultNotify.proto
new file mode 100644
index 00000000..49c9ff26
--- /dev/null
+++ b/proto/ScenePlayBattleResultNotify.proto
@@ -0,0 +1,40 @@
+// 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 "ScenePlayBattleSettlePlayerInfo.proto";
+import "ScenePlayBattleSettleRewardInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayBattleResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4398;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ScenePlayBattleSettlePlayerInfo settle_player_info_list = 14;
+ repeated ScenePlayBattleSettleRewardInfo settle_reward_info_list = 10;
+ uint32 cost_time = 6;
+ uint32 play_type = 4;
+ bool is_win = 15;
+ uint32 play_id = 8;
+}
diff --git a/proto/ScenePlayBattleSettlePlayerInfo.proto b/proto/ScenePlayBattleSettlePlayerInfo.proto
new file mode 100644
index 00000000..c1b38e7b
--- /dev/null
+++ b/proto/ScenePlayBattleSettlePlayerInfo.proto
@@ -0,0 +1,34 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayBattleSettlePlayerInfo {
+ uint32 uid = 7;
+ repeated ExhibitionDisplayInfo card_list = 4;
+ ProfilePicture profile_picture = 8;
+ string nickname = 3;
+ int64 param = 11;
+ uint32 statistic_id = 13;
+ string online_id = 5;
+ uint32 head_image = 2;
+}
diff --git a/proto/ScenePlayBattleSettleRewardInfo.proto b/proto/ScenePlayBattleSettleRewardInfo.proto
new file mode 100644
index 00000000..53e71b7c
--- /dev/null
+++ b/proto/ScenePlayBattleSettleRewardInfo.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayBattleSettleRewardInfo {
+ uint32 uid = 7;
+ repeated ItemParam reward_item_list = 11;
+}
diff --git a/proto/ScenePlayBattleUidOpNotify.proto b/proto/ScenePlayBattleUidOpNotify.proto
new file mode 100644
index 00000000..ce8e9fed
--- /dev/null
+++ b/proto/ScenePlayBattleUidOpNotify.proto
@@ -0,0 +1,41 @@
+// 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 ScenePlayBattleUidOpNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4449;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 op = 5;
+ uint32 param_duration = 10;
+ uint32 play_id = 13;
+ repeated uint32 param_target_list = 12;
+ uint32 entity_id = 2;
+ repeated uint32 param_list = 9;
+ string param_str = 11;
+ uint32 param_index = 15;
+ repeated uint32 uid_list = 6;
+ uint32 play_type = 14;
+}
diff --git a/proto/ScenePlayGuestReplyInviteReq.proto b/proto/ScenePlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..576ae3ea
--- /dev/null
+++ b/proto/ScenePlayGuestReplyInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayGuestReplyInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4411;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_agree = 7;
+ uint32 play_id = 4;
+}
diff --git a/proto/ScenePlayGuestReplyInviteRsp.proto b/proto/ScenePlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..799d3f50
--- /dev/null
+++ b/proto/ScenePlayGuestReplyInviteRsp.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayGuestReplyInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4397;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_agree = 1;
+ int32 retcode = 7;
+ uint32 play_id = 15;
+}
diff --git a/proto/ScenePlayGuestReplyNotify.proto b/proto/ScenePlayGuestReplyNotify.proto
new file mode 100644
index 00000000..72afc0fd
--- /dev/null
+++ b/proto/ScenePlayGuestReplyNotify.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayGuestReplyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4428;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 play_id = 4;
+ uint32 guest_uid = 5;
+ bool is_agree = 2;
+}
diff --git a/proto/ScenePlayInfo.proto b/proto/ScenePlayInfo.proto
new file mode 100644
index 00000000..058afe8b
--- /dev/null
+++ b/proto/ScenePlayInfo.proto
@@ -0,0 +1,27 @@
+// 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 ScenePlayInfo {
+ bool is_open = 14;
+ uint32 entry_id = 10;
+ uint32 play_id = 15;
+ uint32 play_type = 13;
+}
diff --git a/proto/ScenePlayInfoListNotify.proto b/proto/ScenePlayInfoListNotify.proto
new file mode 100644
index 00000000..074b5eb6
--- /dev/null
+++ b/proto/ScenePlayInfoListNotify.proto
@@ -0,0 +1,34 @@
+// 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 "ScenePlayInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayInfoListNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4377;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ScenePlayInfo play_info_list = 15;
+}
diff --git a/proto/ScenePlayInviteResultNotify.proto b/proto/ScenePlayInviteResultNotify.proto
new file mode 100644
index 00000000..d4d5133f
--- /dev/null
+++ b/proto/ScenePlayInviteResultNotify.proto
@@ -0,0 +1,33 @@
+// 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 ScenePlayInviteResultNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4407;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 play_id = 14;
+ bool is_all_agree = 11;
+}
diff --git a/proto/ScenePlayOutofRegionNotify.proto b/proto/ScenePlayOutofRegionNotify.proto
new file mode 100644
index 00000000..f80c8a41
--- /dev/null
+++ b/proto/ScenePlayOutofRegionNotify.proto
@@ -0,0 +1,33 @@
+// 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 ScenePlayOutofRegionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4392;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 play_id = 6;
+}
diff --git a/proto/ScenePlayOwnerCheckReq.proto b/proto/ScenePlayOwnerCheckReq.proto
new file mode 100644
index 00000000..fcd1d933
--- /dev/null
+++ b/proto/ScenePlayOwnerCheckReq.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayOwnerCheckReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4380;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 play_id = 10;
+ bool is_skip_match = 8;
+}
diff --git a/proto/ScenePlayOwnerCheckRsp.proto b/proto/ScenePlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..b5d7f7a8
--- /dev/null
+++ b/proto/ScenePlayOwnerCheckRsp.proto
@@ -0,0 +1,36 @@
+// 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 ScenePlayOwnerCheckRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4406;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 wrong_uid = 1;
+ repeated uint32 param_list = 6;
+ int32 retcode = 7;
+ bool is_skip_match = 14;
+ uint32 play_id = 4;
+}
diff --git a/proto/ScenePlayOwnerInviteNotify.proto b/proto/ScenePlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..2414194c
--- /dev/null
+++ b/proto/ScenePlayOwnerInviteNotify.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayOwnerInviteNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4393;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 invite_cd = 12;
+ uint32 play_id = 6;
+ bool is_remain_reward = 14;
+}
diff --git a/proto/ScenePlayOwnerStartInviteReq.proto b/proto/ScenePlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..976ff411
--- /dev/null
+++ b/proto/ScenePlayOwnerStartInviteReq.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayOwnerStartInviteReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4369;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_skip_match = 4;
+ uint32 play_id = 7;
+}
diff --git a/proto/ScenePlayOwnerStartInviteRsp.proto b/proto/ScenePlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..446b0184
--- /dev/null
+++ b/proto/ScenePlayOwnerStartInviteRsp.proto
@@ -0,0 +1,34 @@
+// 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 ScenePlayOwnerStartInviteRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4450;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 play_id = 7;
+ int32 retcode = 10;
+ bool is_skip_match = 15;
+}
diff --git a/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto b/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
new file mode 100644
index 00000000..7d441b53
--- /dev/null
+++ b/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
@@ -0,0 +1,37 @@
+// 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 "SceneEntityInfo.proto";
+import "VisionType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ScenePlayerBackgroundAvatarRefreshNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3388;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 param = 7;
+ VisionType appear_type = 14;
+ repeated SceneEntityInfo entity_list = 12;
+}
diff --git a/proto/ScenePlayerInfo.proto b/proto/ScenePlayerInfo.proto
index 61e039a8..a7ff3178 100644
--- a/proto/ScenePlayerInfo.proto
+++ b/proto/ScenePlayerInfo.proto
@@ -22,10 +22,10 @@ import "OnlinePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message ScenePlayerInfo {
- uint32 scene_id = 10;
- uint32 peer_id = 6;
- OnlinePlayerInfo online_player_info = 13;
- bool is_connected = 2;
- string name = 15;
- uint32 uid = 8;
+ uint32 uid = 2;
+ uint32 scene_id = 7;
+ uint32 peer_id = 15;
+ OnlinePlayerInfo online_player_info = 9;
+ bool is_connected = 3;
+ string name = 1;
}
diff --git a/proto/ScenePlayerInfoNotify.proto b/proto/ScenePlayerInfoNotify.proto
index d0e80079..c8710ff2 100644
--- a/proto/ScenePlayerInfoNotify.proto
+++ b/proto/ScenePlayerInfoNotify.proto
@@ -21,9 +21,14 @@ import "ScenePlayerInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 267
-// EnetChannelId: 0
-// EnetIsReliable: true
message ScenePlayerInfoNotify {
- repeated ScenePlayerInfo player_info_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 253;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ScenePlayerInfo player_info_list = 11;
}
diff --git a/proto/ScenePlayerLocationNotify.proto b/proto/ScenePlayerLocationNotify.proto
index fce570f0..cf04fd6f 100644
--- a/proto/ScenePlayerLocationNotify.proto
+++ b/proto/ScenePlayerLocationNotify.proto
@@ -22,11 +22,16 @@ import "VehicleLocationInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 248
-// EnetChannelId: 1
-// EnetIsReliable: true
message ScenePlayerLocationNotify {
- repeated VehicleLocationInfo vehicle_loc_list = 3;
- uint32 scene_id = 9;
- repeated PlayerLocationInfo player_loc_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 248;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 11;
+ repeated VehicleLocationInfo vehicle_loc_list = 6;
+ repeated PlayerLocationInfo player_loc_list = 4;
}
diff --git a/proto/ScenePlayerSoundNotify.proto b/proto/ScenePlayerSoundNotify.proto
new file mode 100644
index 00000000..6a3632a5
--- /dev/null
+++ b/proto/ScenePlayerSoundNotify.proto
@@ -0,0 +1,42 @@
+// 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 ScenePlayerSoundNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 266;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum PlaySoundType {
+ PLAY_SOUND_TYPE_NONE = 0;
+ PLAY_SOUND_TYPE_START = 1;
+ PLAY_SOUND_TYPE_STOP = 2;
+ }
+
+ Vector play_pos = 6;
+ PlaySoundType play_type = 15;
+ string sound_name = 14;
+}
diff --git a/proto/ScenePointUnlockNotify.proto b/proto/ScenePointUnlockNotify.proto
index 8021eb4e..d0a24863 100644
--- a/proto/ScenePointUnlockNotify.proto
+++ b/proto/ScenePointUnlockNotify.proto
@@ -19,13 +19,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 247
-// EnetChannelId: 0
-// EnetIsReliable: true
message ScenePointUnlockNotify {
- repeated uint32 point_list = 13;
- uint32 scene_id = 6;
- repeated uint32 unhide_point_list = 12;
- repeated uint32 hide_point_list = 1;
- repeated uint32 locked_point_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 276;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_PIGCABAAMMB = 10;
+ repeated uint32 Unk3300_FKANNCGJEFJ = 5;
+ uint32 scene_id = 11;
+ repeated uint32 point_list = 6;
+ repeated uint32 Unk3300_FGPKDGFLJOF = 1;
}
diff --git a/proto/SceneRouteChangeInfo.proto b/proto/SceneRouteChangeInfo.proto
index ba9c67b6..3318af58 100644
--- a/proto/SceneRouteChangeInfo.proto
+++ b/proto/SceneRouteChangeInfo.proto
@@ -22,8 +22,8 @@ import "RoutePointChangeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SceneRouteChangeInfo {
- bool is_forward = 12;
- uint32 route_id = 15;
- uint32 type = 4;
- repeated RoutePointChangeInfo point_list = 1;
+ bool is_forward = 15;
+ uint32 type = 11;
+ repeated RoutePointChangeInfo point_list = 10;
+ uint32 route_id = 12;
}
diff --git a/proto/SceneRouteChangeNotify.proto b/proto/SceneRouteChangeNotify.proto
index 155107ae..ac7ece16 100644
--- a/proto/SceneRouteChangeNotify.proto
+++ b/proto/SceneRouteChangeNotify.proto
@@ -21,11 +21,16 @@ import "SceneRouteChangeInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 240
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneRouteChangeNotify {
- uint32 scene_id = 12;
- uint32 scene_time = 11;
- repeated SceneRouteChangeInfo route_list = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 285;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_time = 3;
+ repeated SceneRouteChangeInfo route_list = 4;
+ uint32 scene_id = 11;
}
diff --git a/proto/SceneTeamAvatar.proto b/proto/SceneTeamAvatar.proto
index e9007bd9..64f6ac3f 100644
--- a/proto/SceneTeamAvatar.proto
+++ b/proto/SceneTeamAvatar.proto
@@ -27,20 +27,20 @@ import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
message SceneTeamAvatar {
- AbilitySyncStateInfo avatar_ability_info = 5;
- AvatarInfo avatar_info = 8;
- bool is_on_scene = 152;
- uint32 entity_id = 9;
- uint64 avatar_guid = 15;
- uint32 scene_id = 1;
- uint32 weapon_entity_id = 7;
- SceneAvatarInfo scene_avatar_info = 3;
- uint64 weapon_guid = 4;
- AbilitySyncStateInfo weapon_ability_info = 11;
- SceneEntityInfo scene_entity_info = 12;
- uint32 player_uid = 14;
- bool is_reconnect = 6;
+ SceneAvatarInfo scene_avatar_info = 14;
+ AvatarInfo avatar_info = 15;
+ uint32 entity_id = 10;
+ AbilitySyncStateInfo Unk3300_EMAGOKCPPKN = 6;
AbilityControlBlock ability_control_block = 2;
- bool is_player_cur_avatar = 13;
- repeated ServerBuff server_buff_list = 10;
+ bool Unk3300_ONCNAJBJGKM = 8;
+ AbilitySyncStateInfo Unk3300_FCDDPFADNAI = 4;
+ uint64 weapon_guid = 12;
+ uint32 player_uid = 1;
+ SceneEntityInfo scene_entity_info = 11;
+ uint32 weapon_entity_id = 5;
+ uint32 scene_id = 9;
+ bool Unk3300_ILECHHKDIEM = 625;
+ uint64 avatar_guid = 3;
+ bool Unk3300_GENGJLPJCCN = 13;
+ repeated ServerBuff server_buff_list = 7;
}
diff --git a/proto/SceneTeamUpdateNotify.proto b/proto/SceneTeamUpdateNotify.proto
index ac0294a5..fdbaa7eb 100644
--- a/proto/SceneTeamUpdateNotify.proto
+++ b/proto/SceneTeamUpdateNotify.proto
@@ -21,10 +21,15 @@ import "SceneTeamAvatar.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1775
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneTeamUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1728;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
repeated SceneTeamAvatar scene_team_avatar_list = 11;
- bool is_in_mp = 15;
+ bool is_in_mp = 7;
}
diff --git a/proto/SceneTimeNotify.proto b/proto/SceneTimeNotify.proto
index d4ae00b4..5a27359a 100644
--- a/proto/SceneTimeNotify.proto
+++ b/proto/SceneTimeNotify.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 245
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneTimeNotify {
- uint64 scene_time = 14;
- bool is_paused = 1;
- uint32 scene_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 296;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 scene_time = 10;
+ uint32 scene_id = 14;
+ bool is_paused = 5;
}
diff --git a/proto/SceneTransToPointReq.proto b/proto/SceneTransToPointReq.proto
index f8d9fb6f..4054e93c 100644
--- a/proto/SceneTransToPointReq.proto
+++ b/proto/SceneTransToPointReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 239
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SceneTransToPointReq {
- uint32 scene_id = 13;
- uint32 point_id = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 216;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 point_id = 9;
+ uint32 scene_id = 7;
}
diff --git a/proto/SceneTransToPointRsp.proto b/proto/SceneTransToPointRsp.proto
index d219544f..bd6b2ade 100644
--- a/proto/SceneTransToPointRsp.proto
+++ b/proto/SceneTransToPointRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 253
-// EnetChannelId: 0
-// EnetIsReliable: true
message SceneTransToPointRsp {
- uint32 point_id = 14;
- uint32 scene_id = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 273;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
int32 retcode = 8;
+ uint32 point_id = 4;
+ uint32 scene_id = 10;
}
diff --git a/proto/SceneUnlockInfo.proto b/proto/SceneUnlockInfo.proto
new file mode 100644
index 00000000..70f0c672
--- /dev/null
+++ b/proto/SceneUnlockInfo.proto
@@ -0,0 +1,10 @@
+// Proto has been converted from Sorapointa to Grasscutter format
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SceneUnlockInfo {
+ uint32 sceneId = 1;
+ bool isLocked = 2;
+ repeated uint32 sceneTagIdList = 3;
+}
diff --git a/proto/SceneWeatherForcastReq.proto b/proto/SceneWeatherForcastReq.proto
new file mode 100644
index 00000000..defd707c
--- /dev/null
+++ b/proto/SceneWeatherForcastReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3110
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneWeatherForcastReq {
+ uint32 weather_area_id = 15;
+}
diff --git a/proto/SceneWeatherForcastRsp.proto b/proto/SceneWeatherForcastRsp.proto
new file mode 100644
index 00000000..e2ffd4c8
--- /dev/null
+++ b/proto/SceneWeatherForcastRsp.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 3012
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneWeatherForcastRsp {
+ uint64 next_climate_time = 14;
+ repeated uint32 forcast_climate_list = 2;
+ int32 retcode = 4;
+}
diff --git a/proto/SceneWeatherForecastReq.proto b/proto/SceneWeatherForecastReq.proto
new file mode 100644
index 00000000..cdd6a3e2
--- /dev/null
+++ b/proto/SceneWeatherForecastReq.proto
@@ -0,0 +1,33 @@
+// 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 SceneWeatherForecastReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3350;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 weather_area_id = 9;
+}
diff --git a/proto/SceneWeatherForecastRsp.proto b/proto/SceneWeatherForecastRsp.proto
new file mode 100644
index 00000000..612bd8c1
--- /dev/null
+++ b/proto/SceneWeatherForecastRsp.proto
@@ -0,0 +1,34 @@
+// 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 SceneWeatherForecastRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3064;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 forecast_climate_list = 15;
+ int32 retcode = 12;
+ uint64 next_climate_time = 4;
+}
diff --git a/proto/ScoreChallengeInfo.proto b/proto/ScoreChallengeInfo.proto
new file mode 100644
index 00000000..eef94a08
--- /dev/null
+++ b/proto/ScoreChallengeInfo.proto
@@ -0,0 +1,25 @@
+// 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 ScoreChallengeInfo {
+ uint32 Unk2700_LJCOLDIKHNE = 13;
+ uint32 max_score = 7;
+}
diff --git a/proto/SeaLampActivityDetailInfo.proto b/proto/SeaLampActivityDetailInfo.proto
index 27b55090..e9661740 100644
--- a/proto/SeaLampActivityDetailInfo.proto
+++ b/proto/SeaLampActivityDetailInfo.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SeaLampActivityDetailInfo {
- uint32 phase_id = 14;
- repeated uint32 taken_phase_reward_list = 1;
- repeated uint32 taken_contribution_reward_list = 7;
- uint32 progress = 8;
- uint32 contribution = 15;
- uint32 factor = 13;
- uint32 days = 4;
+ repeated uint32 Unk3300_ODBFFAIIPMB = 2;
+ uint32 days = 6;
+ uint32 Unk3300_DGMGNJLHFMB = 8;
+ uint32 progress = 5;
+ repeated uint32 Unk3300_FGHDJJCLNFN = 14;
+ uint32 Unk3300_GBCCJMBPBBI = 11;
+ uint32 phase_id = 3;
}
diff --git a/proto/SeaLampActivityInfo.proto b/proto/SeaLampActivityInfo.proto
index 54d02a2a..20c89a5f 100644
--- a/proto/SeaLampActivityInfo.proto
+++ b/proto/SeaLampActivityInfo.proto
@@ -22,13 +22,13 @@ import "SeaLampSectionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SeaLampActivityInfo {
- bool is_mechanicus_open = 14;
- uint32 day_index = 1;
- repeated SeaLampSectionInfo section_info_list = 6;
- uint32 popularity = 10;
- uint32 sea_lamp_coin = 15;
- uint32 first_day_start_time = 11;
- uint32 mechanicus_id = 9;
- bool is_mechanicus_feature_close = 12;
- bool is_content_closed = 5;
+ uint32 day_index = 14;
+ bool is_content_closed = 15;
+ repeated SeaLampSectionInfo section_info_list = 1;
+ uint32 mechanicus_id = 7;
+ uint32 first_day_start_time = 6;
+ uint32 sea_lamp_coin = 11;
+ uint32 popularity = 2;
+ bool Unk3300_JMPCJGJHPIH = 13;
+ bool Unk3300_BAJIGNGJALG = 9;
}
diff --git a/proto/SeaLampCoinNotify.proto b/proto/SeaLampCoinNotify.proto
new file mode 100644
index 00000000..2fa12da4
--- /dev/null
+++ b/proto/SeaLampCoinNotify.proto
@@ -0,0 +1,32 @@
+// 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 SeaLampCoinNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2188;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 sea_lamp_coin = 8;
+}
diff --git a/proto/SeaLampContributeItemReq.proto b/proto/SeaLampContributeItemReq.proto
index c1bc22cb..25cd87fb 100644
--- a/proto/SeaLampContributeItemReq.proto
+++ b/proto/SeaLampContributeItemReq.proto
@@ -21,11 +21,16 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2123
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SeaLampContributeItemReq {
- uint32 activity_id = 8;
- repeated ItemParam item_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2133;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ItemParam item_list = 11;
+ uint32 activity_id = 2;
}
diff --git a/proto/SeaLampContributeItemRsp.proto b/proto/SeaLampContributeItemRsp.proto
index 18bedbea..ca1abd56 100644
--- a/proto/SeaLampContributeItemRsp.proto
+++ b/proto/SeaLampContributeItemRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2139
-// EnetChannelId: 0
-// EnetIsReliable: true
message SeaLampContributeItemRsp {
- uint32 add_contribution = 7;
- uint32 add_progress = 1;
- uint32 total_contribution = 14;
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2116;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 Unk3300_AIINHBHNHOI = 11;
+ uint32 add_progress = 5;
+ uint32 Unk3300_LPHALOGLGAL = 9;
}
diff --git a/proto/SeaLampFlyLampNotify.proto b/proto/SeaLampFlyLampNotify.proto
new file mode 100644
index 00000000..a204ecf6
--- /dev/null
+++ b/proto/SeaLampFlyLampNotify.proto
@@ -0,0 +1,37 @@
+// 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 SeaLampFlyLampNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2114;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Vector pos = 4;
+ uint32 item_id = 3;
+ uint32 item_num = 15;
+ int32 param = 13;
+}
diff --git a/proto/SeaLampFlyLampReq.proto b/proto/SeaLampFlyLampReq.proto
new file mode 100644
index 00000000..4199742c
--- /dev/null
+++ b/proto/SeaLampFlyLampReq.proto
@@ -0,0 +1,38 @@
+// 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 SeaLampFlyLampReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2187;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Vector pos = 5;
+ uint32 item_num = 15;
+ uint32 item_id = 7;
+ int32 param = 14;
+}
diff --git a/proto/SeaLampFlyLampRsp.proto b/proto/SeaLampFlyLampRsp.proto
new file mode 100644
index 00000000..f1ca608c
--- /dev/null
+++ b/proto/SeaLampFlyLampRsp.proto
@@ -0,0 +1,34 @@
+// 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 SeaLampFlyLampRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2161;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 item_num = 9;
+ uint32 item_id = 10;
+}
diff --git a/proto/SeaLampPopularityNotify.proto b/proto/SeaLampPopularityNotify.proto
new file mode 100644
index 00000000..8fd43516
--- /dev/null
+++ b/proto/SeaLampPopularityNotify.proto
@@ -0,0 +1,32 @@
+// 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 SeaLampPopularityNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2135;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 popularity = 6;
+}
diff --git a/proto/SeaLampSectionInfo.proto b/proto/SeaLampSectionInfo.proto
index 679be3c4..87c7b589 100644
--- a/proto/SeaLampSectionInfo.proto
+++ b/proto/SeaLampSectionInfo.proto
@@ -20,5 +20,5 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SeaLampSectionInfo {
- uint32 section_id = 11;
+ uint32 section_id = 8;
}
diff --git a/proto/SeaLampTakeContributionRewardReq.proto b/proto/SeaLampTakeContributionRewardReq.proto
new file mode 100644
index 00000000..66889785
--- /dev/null
+++ b/proto/SeaLampTakeContributionRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 SeaLampTakeContributionRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2199;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 config_id = 15;
+ uint32 activity_id = 14;
+}
diff --git a/proto/SeaLampTakeContributionRewardRsp.proto b/proto/SeaLampTakeContributionRewardRsp.proto
new file mode 100644
index 00000000..e00192f9
--- /dev/null
+++ b/proto/SeaLampTakeContributionRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 SeaLampTakeContributionRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2003;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 config_id = 5;
+}
diff --git a/proto/SeaLampTakePhaseRewardReq.proto b/proto/SeaLampTakePhaseRewardReq.proto
new file mode 100644
index 00000000..62e11a2d
--- /dev/null
+++ b/proto/SeaLampTakePhaseRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 SeaLampTakePhaseRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2006;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 phase_id = 9;
+ uint32 activity_id = 14;
+}
diff --git a/proto/SeaLampTakePhaseRewardRsp.proto b/proto/SeaLampTakePhaseRewardRsp.proto
new file mode 100644
index 00000000..9387ab61
--- /dev/null
+++ b/proto/SeaLampTakePhaseRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 SeaLampTakePhaseRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2105;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 phase_id = 13;
+ int32 retcode = 6;
+}
diff --git a/proto/SealBattleBeginNotify.proto b/proto/SealBattleBeginNotify.proto
new file mode 100644
index 00000000..3496bc48
--- /dev/null
+++ b/proto/SealBattleBeginNotify.proto
@@ -0,0 +1,37 @@
+// 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 "SealBattleType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SealBattleBeginNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 226;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SealBattleType battle_type = 10;
+ uint32 seal_entity_id = 7;
+ uint32 seal_max_progress = 13;
+ uint32 seal_radius = 5;
+}
diff --git a/proto/SealBattleEndNotify.proto b/proto/SealBattleEndNotify.proto
new file mode 100644
index 00000000..cc6fa27b
--- /dev/null
+++ b/proto/SealBattleEndNotify.proto
@@ -0,0 +1,33 @@
+// 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 SealBattleEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 277;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 seal_entity_id = 11;
+ bool is_win = 12;
+}
diff --git a/proto/SealBattleProgressNotify.proto b/proto/SealBattleProgressNotify.proto
new file mode 100644
index 00000000..a2b3e6f7
--- /dev/null
+++ b/proto/SealBattleProgressNotify.proto
@@ -0,0 +1,36 @@
+// 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 SealBattleProgressNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 265;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 end_time = 5;
+ uint32 seal_radius = 1;
+ uint32 max_progress = 9;
+ uint32 seal_entity_id = 6;
+ uint32 progress = 4;
+}
diff --git a/proto/SealBattleType.proto b/proto/SealBattleType.proto
new file mode 100644
index 00000000..8738618d
--- /dev/null
+++ b/proto/SealBattleType.proto
@@ -0,0 +1,26 @@
+// 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 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..191c8822
--- /dev/null
+++ b/proto/SearchCustomDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 SearchCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6201;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string dungeon_code = 7;
+}
diff --git a/proto/SearchCustomDungeonRsp.proto b/proto/SearchCustomDungeonRsp.proto
new file mode 100644
index 00000000..c6c84767
--- /dev/null
+++ b/proto/SearchCustomDungeonRsp.proto
@@ -0,0 +1,35 @@
+// 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 "OtherCustomDungeonBrief.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SearchCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6239;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 2;
+ OtherCustomDungeonBrief custom_dungeon_brief = 8;
+}
diff --git a/proto/SeeMonsterReq.proto b/proto/SeeMonsterReq.proto
new file mode 100644
index 00000000..baaf25c3
--- /dev/null
+++ b/proto/SeeMonsterReq.proto
@@ -0,0 +1,33 @@
+// 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 SeeMonsterReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 206;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 monster_id = 13;
+}
diff --git a/proto/SeeMonsterRsp.proto b/proto/SeeMonsterRsp.proto
new file mode 100644
index 00000000..c31e86de
--- /dev/null
+++ b/proto/SeeMonsterRsp.proto
@@ -0,0 +1,32 @@
+// 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 SeeMonsterRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 255;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/SegmentCRCInfo.proto b/proto/SegmentCRCInfo.proto
new file mode 100644
index 00000000..dec71a3f
--- /dev/null
+++ b/proto/SegmentCRCInfo.proto
@@ -0,0 +1,28 @@
+// 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 SegmentCRCInfo {
+ uint32 size = 6;
+ string crc = 8;
+ uint32 module = 4;
+ int32 retcode = 3;
+ uint32 offset = 9;
+}
diff --git a/proto/SegmentInfo.proto b/proto/SegmentInfo.proto
new file mode 100644
index 00000000..ab798323
--- /dev/null
+++ b/proto/SegmentInfo.proto
@@ -0,0 +1,26 @@
+// 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 SegmentInfo {
+ uint32 module = 1;
+ uint32 size = 7;
+ uint32 offset = 11;
+}
diff --git a/proto/SelectAsterMidDifficultyReq.proto b/proto/SelectAsterMidDifficultyReq.proto
new file mode 100644
index 00000000..16cc1fb3
--- /dev/null
+++ b/proto/SelectAsterMidDifficultyReq.proto
@@ -0,0 +1,35 @@
+// 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 SelectAsterMidDifficultyReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2060;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 4;
+ uint32 difficulty_id = 2;
+ uint32 gadget_entity_id = 12;
+}
diff --git a/proto/SelectAsterMidDifficultyRsp.proto b/proto/SelectAsterMidDifficultyRsp.proto
new file mode 100644
index 00000000..62a8086f
--- /dev/null
+++ b/proto/SelectAsterMidDifficultyRsp.proto
@@ -0,0 +1,35 @@
+// 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 SelectAsterMidDifficultyRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2101;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 15;
+ uint32 gadget_entity_id = 12;
+ int32 retcode = 7;
+ uint32 difficulty_id = 8;
+}
diff --git a/proto/SelectEffigyChallengeConditionReq.proto b/proto/SelectEffigyChallengeConditionReq.proto
new file mode 100644
index 00000000..7397abd6
--- /dev/null
+++ b/proto/SelectEffigyChallengeConditionReq.proto
@@ -0,0 +1,35 @@
+// 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 SelectEffigyChallengeConditionReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2131;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_id = 6;
+ repeated uint32 condition_id_list = 1;
+ uint32 difficulty_id = 11;
+}
diff --git a/proto/SelectEffigyChallengeConditionRsp.proto b/proto/SelectEffigyChallengeConditionRsp.proto
new file mode 100644
index 00000000..60f46587
--- /dev/null
+++ b/proto/SelectEffigyChallengeConditionRsp.proto
@@ -0,0 +1,35 @@
+// 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 SelectEffigyChallengeConditionRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2110;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 difficulty_id = 10;
+ uint32 challenge_id = 7;
+ repeated uint32 condition_id_list = 11;
+ int32 retcode = 9;
+}
diff --git a/proto/SelectRoguelikeDungeonCardReq.proto b/proto/SelectRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..229f1b31
--- /dev/null
+++ b/proto/SelectRoguelikeDungeonCardReq.proto
@@ -0,0 +1,33 @@
+// 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 SelectRoguelikeDungeonCardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8529;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 card_id = 13;
+}
diff --git a/proto/SelectRoguelikeDungeonCardRsp.proto b/proto/SelectRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..9dbf67e1
--- /dev/null
+++ b/proto/SelectRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,33 @@
+// 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 SelectRoguelikeDungeonCardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8720;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 card_id = 14;
+ int32 retcode = 11;
+}
diff --git a/proto/SelectWorktopOptionReq.proto b/proto/SelectWorktopOptionReq.proto
index 261ac02b..e48d3171 100644
--- a/proto/SelectWorktopOptionReq.proto
+++ b/proto/SelectWorktopOptionReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 807
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SelectWorktopOptionReq {
- uint32 gadget_entity_id = 12;
- uint32 option_id = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 900;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 option_id = 7;
+ uint32 gadget_entity_id = 5;
}
diff --git a/proto/SelectWorktopOptionRsp.proto b/proto/SelectWorktopOptionRsp.proto
index d3a1d300..238fbfa9 100644
--- a/proto/SelectWorktopOptionRsp.proto
+++ b/proto/SelectWorktopOptionRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 821
-// EnetChannelId: 0
-// EnetIsReliable: true
message SelectWorktopOptionRsp {
- uint32 gadget_entity_id = 13;
- uint32 option_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 843;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 option_id = 10;
int32 retcode = 4;
+ uint32 gadget_entity_id = 12;
}
diff --git a/proto/ServerAnnounceNotify.proto b/proto/ServerAnnounceNotify.proto
index 9b70c97b..f6450a5b 100644
--- a/proto/ServerAnnounceNotify.proto
+++ b/proto/ServerAnnounceNotify.proto
@@ -21,9 +21,14 @@ import "AnnounceData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2197
-// EnetChannelId: 0
-// EnetIsReliable: true
message ServerAnnounceNotify {
- repeated AnnounceData announce_data_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2129;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AnnounceData announce_data_list = 14;
}
diff --git a/proto/ServerAnnounceRevokeNotify.proto b/proto/ServerAnnounceRevokeNotify.proto
index ff3c984f..2e2b37cc 100644
--- a/proto/ServerAnnounceRevokeNotify.proto
+++ b/proto/ServerAnnounceRevokeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2092
-// EnetChannelId: 0
-// EnetIsReliable: true
message ServerAnnounceRevokeNotify {
- repeated uint32 config_id_list = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2064;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 config_id_list = 9;
}
diff --git a/proto/ServerBuffChangeNotify.proto b/proto/ServerBuffChangeNotify.proto
index 540e0fde..3767e40c 100644
--- a/proto/ServerBuffChangeNotify.proto
+++ b/proto/ServerBuffChangeNotify.proto
@@ -21,18 +21,23 @@ import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 361
-// EnetChannelId: 0
-// EnetIsReliable: true
message ServerBuffChangeNotify {
- ServerBuffChangeType server_buff_change_type = 7;
- bool is_creature_buff = 10;
- repeated uint32 entity_id_list = 1;
- repeated uint64 avatar_guid_list = 12;
- repeated ServerBuff server_buff_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 398;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum ServerBuffChangeType {
SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF = 0;
SERVER_BUFF_CHANGE_TYPE_DEL_SERVER_BUFF = 1;
}
+
+ repeated ServerBuff server_buff_list = 4;
+ bool is_creature_buff = 8;
+ repeated uint32 entity_id_list = 6;
+ ServerBuffChangeType server_buff_change_type = 9;
+ repeated uint64 avatar_guid_list = 5;
}
diff --git a/proto/ServerCombatEndNotify.proto b/proto/ServerCombatEndNotify.proto
new file mode 100644
index 00000000..ece74020
--- /dev/null
+++ b/proto/ServerCombatEndNotify.proto
@@ -0,0 +1,32 @@
+// 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 ServerCombatEndNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1142;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 combat_end_type_list = 15;
+}
diff --git a/proto/ServerCondMeetQuestListUpdateNotify.proto b/proto/ServerCondMeetQuestListUpdateNotify.proto
index 21bb639e..2b3ff3b8 100644
--- a/proto/ServerCondMeetQuestListUpdateNotify.proto
+++ b/proto/ServerCondMeetQuestListUpdateNotify.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 406
-// EnetChannelId: 0
-// EnetIsReliable: true
message ServerCondMeetQuestListUpdateNotify {
- repeated uint32 del_quest_id_list = 1;
- repeated uint32 add_quest_id_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 410;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 Unk3300_MGBDKFMBGBO = 10;
+ repeated uint32 Unk3300_HIEMKEJOFPO = 4;
}
diff --git a/proto/ServerDisconnectClientNotify.proto b/proto/ServerDisconnectClientNotify.proto
new file mode 100644
index 00000000..4367595d
--- /dev/null
+++ b/proto/ServerDisconnectClientNotify.proto
@@ -0,0 +1,32 @@
+// 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 ServerDisconnectClientNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 152;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 data = 4;
+}
diff --git a/proto/ServerGlobalValueChangeNotify.proto b/proto/ServerGlobalValueChangeNotify.proto
new file mode 100644
index 00000000..fb29ef00
--- /dev/null
+++ b/proto/ServerGlobalValueChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 ServerGlobalValueChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1199;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 key_hash = 3;
+ float value = 15;
+ uint32 entity_id = 7;
+}
diff --git a/proto/ServerLogLevel.proto b/proto/ServerLogLevel.proto
new file mode 100644
index 00000000..5c5febf3
--- /dev/null
+++ b/proto/ServerLogLevel.proto
@@ -0,0 +1,28 @@
+// 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 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..7447c398
--- /dev/null
+++ b/proto/ServerLogNotify.proto
@@ -0,0 +1,37 @@
+// 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 "ServerLogLevel.proto";
+import "ServerLogType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ServerLogNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 27;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string server_log = 11;
+ ServerLogLevel log_level = 5;
+ ServerLogType log_type = 9;
+}
diff --git a/proto/ServerLogType.proto b/proto/ServerLogType.proto
new file mode 100644
index 00000000..0fe9d88b
--- /dev/null
+++ b/proto/ServerLogType.proto
@@ -0,0 +1,28 @@
+// 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 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..f5aced2b
--- /dev/null
+++ b/proto/ServerMassiveEntity.proto
@@ -0,0 +1,37 @@
+// 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 "MassiveBoxInfo.proto";
+import "MassiveGrassInfo.proto";
+import "MassiveWaterInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ServerMassiveEntity {
+ uint32 entity_type = 1;
+ uint32 config_id = 2;
+ uint32 runtime_id = 3;
+ uint32 authority_peer_id = 4;
+ int64 obj_id = 5;
+ oneof entity_info {
+ MassiveWaterInfo water_info = 6;
+ MassiveGrassInfo grass_info = 7;
+ MassiveBoxInfo box_info = 8;
+ }
+}
diff --git a/proto/ServerMessageNotify.proto b/proto/ServerMessageNotify.proto
new file mode 100644
index 00000000..9308161c
--- /dev/null
+++ b/proto/ServerMessageNotify.proto
@@ -0,0 +1,32 @@
+// 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 ServerMessageNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5741;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 index = 13;
+}
diff --git a/proto/ServerTimeNotify.proto b/proto/ServerTimeNotify.proto
index 4db05f4d..12416794 100644
--- a/proto/ServerTimeNotify.proto
+++ b/proto/ServerTimeNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 99
-// EnetChannelId: 1
-// EnetIsReliable: true
message ServerTimeNotify {
- uint64 server_time = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 57;
+ // ENET_CHANNEL_ID = 1;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 server_time = 13;
}
diff --git a/proto/ServerTryCancelGeneralMatchNotify.proto b/proto/ServerTryCancelGeneralMatchNotify.proto
new file mode 100644
index 00000000..f5175123
--- /dev/null
+++ b/proto/ServerTryCancelGeneralMatchNotify.proto
@@ -0,0 +1,32 @@
+// 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 ServerTryCancelGeneralMatchNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4159;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 match_id = 12;
+}
diff --git a/proto/ServerUpdateGlobalValueNotify.proto b/proto/ServerUpdateGlobalValueNotify.proto
new file mode 100644
index 00000000..391403cf
--- /dev/null
+++ b/proto/ServerUpdateGlobalValueNotify.proto
@@ -0,0 +1,42 @@
+// 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 ServerUpdateGlobalValueNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1148;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ enum UpdateType {
+ UPDATE_TYPE_INVALID = 0;
+ UPDATE_TYPE_ADD = 1;
+ UPDATE_TYPE_SET = 2;
+ }
+
+ uint32 key_hash = 8;
+ UpdateType update_type = 9;
+ float delta = 6;
+ float value = 3;
+ uint32 entity_id = 15;
+}
diff --git a/proto/SetBattlePassViewedReq.proto b/proto/SetBattlePassViewedReq.proto
index 462645fa..5b208dc6 100644
--- a/proto/SetBattlePassViewedReq.proto
+++ b/proto/SetBattlePassViewedReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2641
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetBattlePassViewedReq {
- uint32 schedule_id = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2608;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 9;
}
diff --git a/proto/SetBattlePassViewedRsp.proto b/proto/SetBattlePassViewedRsp.proto
index c584dd62..f972ba8a 100644
--- a/proto/SetBattlePassViewedRsp.proto
+++ b/proto/SetBattlePassViewedRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2642
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetBattlePassViewedRsp {
- uint32 schedule_id = 2;
- int32 retcode = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2645;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 13;
+ int32 retcode = 6;
}
diff --git a/proto/SetChatEmojiCollectionReq.proto b/proto/SetChatEmojiCollectionReq.proto
index c28f9a0a..433ac426 100644
--- a/proto/SetChatEmojiCollectionReq.proto
+++ b/proto/SetChatEmojiCollectionReq.proto
@@ -21,10 +21,15 @@ import "ChatEmojiCollectionData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4084
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetChatEmojiCollectionReq {
- ChatEmojiCollectionData chat_emoji_collection_data = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4052;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ ChatEmojiCollectionData chat_emoji_collection_data = 13;
}
diff --git a/proto/SetChatEmojiCollectionRsp.proto b/proto/SetChatEmojiCollectionRsp.proto
index 3f22d2ee..2825e023 100644
--- a/proto/SetChatEmojiCollectionRsp.proto
+++ b/proto/SetChatEmojiCollectionRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4080
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetChatEmojiCollectionRsp {
- int32 retcode = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4074;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
}
diff --git a/proto/SetCodexPushtipsReadReq.proto b/proto/SetCodexPushtipsReadReq.proto
new file mode 100644
index 00000000..ed3ce425
--- /dev/null
+++ b/proto/SetCodexPushtipsReadReq.proto
@@ -0,0 +1,34 @@
+// 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 SetCodexPushtipsReadReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4209;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 codex_id = 8;
+ uint32 type_id = 3;
+}
diff --git a/proto/SetCodexPushtipsReadRsp.proto b/proto/SetCodexPushtipsReadRsp.proto
new file mode 100644
index 00000000..7744fa96
--- /dev/null
+++ b/proto/SetCodexPushtipsReadRsp.proto
@@ -0,0 +1,34 @@
+// 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 SetCodexPushtipsReadRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4205;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 9;
+ uint32 type_id = 4;
+ uint32 codex_id = 14;
+}
diff --git a/proto/SetCoopChapterViewedReq.proto b/proto/SetCoopChapterViewedReq.proto
new file mode 100644
index 00000000..92e27167
--- /dev/null
+++ b/proto/SetCoopChapterViewedReq.proto
@@ -0,0 +1,33 @@
+// 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 SetCoopChapterViewedReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1989;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 chapter_id = 6;
+}
diff --git a/proto/SetCoopChapterViewedRsp.proto b/proto/SetCoopChapterViewedRsp.proto
new file mode 100644
index 00000000..be6c83bb
--- /dev/null
+++ b/proto/SetCoopChapterViewedRsp.proto
@@ -0,0 +1,33 @@
+// 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 SetCoopChapterViewedRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2000;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 chapter_id = 9;
+ int32 retcode = 3;
+}
diff --git a/proto/SetCurExpeditionChallengeIdReq.proto b/proto/SetCurExpeditionChallengeIdReq.proto
new file mode 100644
index 00000000..4e9f01b3
--- /dev/null
+++ b/proto/SetCurExpeditionChallengeIdReq.proto
@@ -0,0 +1,33 @@
+// 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 SetCurExpeditionChallengeIdReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2028;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 id = 11;
+}
diff --git a/proto/SetCurExpeditionChallengeIdRsp.proto b/proto/SetCurExpeditionChallengeIdRsp.proto
new file mode 100644
index 00000000..931b0096
--- /dev/null
+++ b/proto/SetCurExpeditionChallengeIdRsp.proto
@@ -0,0 +1,33 @@
+// 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 SetCurExpeditionChallengeIdRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2005;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 id = 13;
+ int32 retcode = 1;
+}
diff --git a/proto/SetEntityClientDataNotify.proto b/proto/SetEntityClientDataNotify.proto
index 10ef3c14..5135b089 100644
--- a/proto/SetEntityClientDataNotify.proto
+++ b/proto/SetEntityClientDataNotify.proto
@@ -21,11 +21,16 @@ import "EntityClientData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3146
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetEntityClientDataNotify {
- uint32 entity_id = 14;
- EntityClientData entity_client_data = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3318;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 entity_id = 15;
+ EntityClientData entity_client_data = 5;
}
diff --git a/proto/SetEquipLockStateReq.proto b/proto/SetEquipLockStateReq.proto
index 1be6545e..1405718c 100644
--- a/proto/SetEquipLockStateReq.proto
+++ b/proto/SetEquipLockStateReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 666
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetEquipLockStateReq {
- bool is_locked = 15;
- uint64 target_equip_guid = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 609;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 target_equip_guid = 10;
+ bool is_locked = 5;
}
diff --git a/proto/SetEquipLockStateRsp.proto b/proto/SetEquipLockStateRsp.proto
index 20e1580b..10fb51a5 100644
--- a/proto/SetEquipLockStateRsp.proto
+++ b/proto/SetEquipLockStateRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 668
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetEquipLockStateRsp {
- uint64 target_equip_guid = 14;
- int32 retcode = 13;
- bool is_locked = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 688;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint64 target_equip_guid = 1;
+ bool is_locked = 3;
+ int32 retcode = 12;
}
diff --git a/proto/SetFriendEnterHomeOptionReq.proto b/proto/SetFriendEnterHomeOptionReq.proto
index 2648ab30..9361dd19 100644
--- a/proto/SetFriendEnterHomeOptionReq.proto
+++ b/proto/SetFriendEnterHomeOptionReq.proto
@@ -21,10 +21,15 @@ import "FriendEnterHomeOption.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4494
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetFriendEnterHomeOptionReq {
- FriendEnterHomeOption option = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4853;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ FriendEnterHomeOption option = 8;
}
diff --git a/proto/SetFriendEnterHomeOptionRsp.proto b/proto/SetFriendEnterHomeOptionRsp.proto
index 55b10d81..ddcd1dde 100644
--- a/proto/SetFriendEnterHomeOptionRsp.proto
+++ b/proto/SetFriendEnterHomeOptionRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4743
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetFriendEnterHomeOptionRsp {
- int32 retcode = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4526;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
}
diff --git a/proto/SetFriendRemarkNameReq.proto b/proto/SetFriendRemarkNameReq.proto
new file mode 100644
index 00000000..e17a205e
--- /dev/null
+++ b/proto/SetFriendRemarkNameReq.proto
@@ -0,0 +1,34 @@
+// 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 SetFriendRemarkNameReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4011;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 uid = 14;
+ string remark_name = 10;
+}
diff --git a/proto/SetFriendRemarkNameRsp.proto b/proto/SetFriendRemarkNameRsp.proto
new file mode 100644
index 00000000..22dae496
--- /dev/null
+++ b/proto/SetFriendRemarkNameRsp.proto
@@ -0,0 +1,35 @@
+// 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 SetFriendRemarkNameRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4050;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string remark_name = 13;
+ bool is_clear_remark = 12;
+ uint32 uid = 1;
+ int32 retcode = 7;
+}
diff --git a/proto/SetH5ActivityRedDotTimestampReq.proto b/proto/SetH5ActivityRedDotTimestampReq.proto
new file mode 100644
index 00000000..ec339a06
--- /dev/null
+++ b/proto/SetH5ActivityRedDotTimestampReq.proto
@@ -0,0 +1,32 @@
+// 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 SetH5ActivityRedDotTimestampReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5685;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 client_red_dot_timestamp = 2;
+}
diff --git a/proto/SetH5ActivityRedDotTimestampRsp.proto b/proto/SetH5ActivityRedDotTimestampRsp.proto
new file mode 100644
index 00000000..1142ca7f
--- /dev/null
+++ b/proto/SetH5ActivityRedDotTimestampRsp.proto
@@ -0,0 +1,32 @@
+// 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 SetH5ActivityRedDotTimestampRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5677;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/SetIsAutoUnlockSpecificEquipReq.proto b/proto/SetIsAutoUnlockSpecificEquipReq.proto
index 4e905a14..02cd34fd 100644
--- a/proto/SetIsAutoUnlockSpecificEquipReq.proto
+++ b/proto/SetIsAutoUnlockSpecificEquipReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 620
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetIsAutoUnlockSpecificEquipReq {
- bool is_auto_unlock_specific_equip = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 602;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_auto_unlock_specific_equip = 8;
}
diff --git a/proto/SetIsAutoUnlockSpecificEquipRsp.proto b/proto/SetIsAutoUnlockSpecificEquipRsp.proto
index b649b433..f44cbcc3 100644
--- a/proto/SetIsAutoUnlockSpecificEquipRsp.proto
+++ b/proto/SetIsAutoUnlockSpecificEquipRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 664
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetIsAutoUnlockSpecificEquipRsp {
- int32 retcode = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 612;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 13;
}
diff --git a/proto/SetLimitOptimizationNotify.proto b/proto/SetLimitOptimizationNotify.proto
new file mode 100644
index 00000000..6c3bb0b7
--- /dev/null
+++ b/proto/SetLimitOptimizationNotify.proto
@@ -0,0 +1,32 @@
+// 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 SetLimitOptimizationNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8066;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_active = 10;
+}
diff --git a/proto/SetNameCardReq.proto b/proto/SetNameCardReq.proto
index d56f3202..ef2dd869 100644
--- a/proto/SetNameCardReq.proto
+++ b/proto/SetNameCardReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4004
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetNameCardReq {
- uint32 name_card_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4044;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 name_card_id = 11;
}
diff --git a/proto/SetNameCardRsp.proto b/proto/SetNameCardRsp.proto
index 0e82efbb..f549b14a 100644
--- a/proto/SetNameCardRsp.proto
+++ b/proto/SetNameCardRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4093
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetNameCardRsp {
- uint32 name_card_id = 11;
- int32 retcode = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4007;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 name_card_id = 9;
+ int32 retcode = 4;
}
diff --git a/proto/SetOpenStateReq.proto b/proto/SetOpenStateReq.proto
index 0dd26f2c..0d2e67a1 100644
--- a/proto/SetOpenStateReq.proto
+++ b/proto/SetOpenStateReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 165
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetOpenStateReq {
- uint32 key = 12;
- uint32 value = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 189;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 key = 10;
+ uint32 value = 12;
}
diff --git a/proto/SetOpenStateRsp.proto b/proto/SetOpenStateRsp.proto
index eba4a446..2c40a1d0 100644
--- a/proto/SetOpenStateRsp.proto
+++ b/proto/SetOpenStateRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 104
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetOpenStateRsp {
- uint32 key = 9;
- int32 retcode = 14;
- uint32 value = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 144;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 value = 5;
+ uint32 key = 12;
}
diff --git a/proto/SetPlayerBirthdayReq.proto b/proto/SetPlayerBirthdayReq.proto
index cdc63459..3f5c62ab 100644
--- a/proto/SetPlayerBirthdayReq.proto
+++ b/proto/SetPlayerBirthdayReq.proto
@@ -21,10 +21,15 @@ import "Birthday.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4048
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerBirthdayReq {
- Birthday birthday = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4048;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ Birthday birthday = 8;
}
diff --git a/proto/SetPlayerBirthdayRsp.proto b/proto/SetPlayerBirthdayRsp.proto
index 7f017649..68958976 100644
--- a/proto/SetPlayerBirthdayRsp.proto
+++ b/proto/SetPlayerBirthdayRsp.proto
@@ -21,10 +21,15 @@ import "Birthday.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4097
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerBirthdayRsp {
- Birthday birthday = 2;
- int32 retcode = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4099;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ Birthday birthday = 1;
+ int32 retcode = 4;
}
diff --git a/proto/SetPlayerBornDataReq.proto b/proto/SetPlayerBornDataReq.proto
index 34b72911..1b4e2a4c 100644
--- a/proto/SetPlayerBornDataReq.proto
+++ b/proto/SetPlayerBornDataReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 105
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerBornDataReq {
- uint32 avatar_id = 2;
- string nick_name = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 142;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string nick_name = 4;
+ uint32 avatar_id = 14;
}
diff --git a/proto/SetPlayerBornDataRsp.proto b/proto/SetPlayerBornDataRsp.proto
index efdc2159..227bfbd1 100644
--- a/proto/SetPlayerBornDataRsp.proto
+++ b/proto/SetPlayerBornDataRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 182
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerBornDataRsp {
- int32 retcode = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 190;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
}
diff --git a/proto/SetPlayerHeadImageReq.proto b/proto/SetPlayerHeadImageReq.proto
index 2d17b674..85a73c4f 100644
--- a/proto/SetPlayerHeadImageReq.proto
+++ b/proto/SetPlayerHeadImageReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4082
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerHeadImageReq {
- uint32 avatar_id = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4090;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 avatar_id = 5;
}
diff --git a/proto/SetPlayerHeadImageRsp.proto b/proto/SetPlayerHeadImageRsp.proto
index dfae85cd..75f5c4b9 100644
--- a/proto/SetPlayerHeadImageRsp.proto
+++ b/proto/SetPlayerHeadImageRsp.proto
@@ -21,11 +21,16 @@ import "ProfilePicture.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4047
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerHeadImageRsp {
- ProfilePicture profile_picture = 6;
- uint32 avatar_id = 5;
- int32 retcode = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4076;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ProfilePicture profile_picture = 14;
+ uint32 avatar_id = 7;
+ int32 retcode = 15;
}
diff --git a/proto/SetPlayerNameReq.proto b/proto/SetPlayerNameReq.proto
index 68c7cc98..77945d21 100644
--- a/proto/SetPlayerNameReq.proto
+++ b/proto/SetPlayerNameReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 153
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerNameReq {
- string nick_name = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 173;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string nick_name = 13;
}
diff --git a/proto/SetPlayerNameRsp.proto b/proto/SetPlayerNameRsp.proto
index e403894a..6e1514ff 100644
--- a/proto/SetPlayerNameRsp.proto
+++ b/proto/SetPlayerNameRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 122
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerNameRsp {
- int32 retcode = 9;
- string nick_name = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 137;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string nick_name = 4;
+ int32 retcode = 11;
}
diff --git a/proto/SetPlayerPropReq.proto b/proto/SetPlayerPropReq.proto
index 3d305037..b3cb5be0 100644
--- a/proto/SetPlayerPropReq.proto
+++ b/proto/SetPlayerPropReq.proto
@@ -21,10 +21,15 @@ import "PropValue.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 197
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerPropReq {
- repeated PropValue prop_list = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 199;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated PropValue prop_list = 3;
}
diff --git a/proto/SetPlayerPropRsp.proto b/proto/SetPlayerPropRsp.proto
index a28eeabb..a30b472c 100644
--- a/proto/SetPlayerPropRsp.proto
+++ b/proto/SetPlayerPropRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 181
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerPropRsp {
- int32 retcode = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 125;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
}
diff --git a/proto/SetPlayerSignatureReq.proto b/proto/SetPlayerSignatureReq.proto
index a08a3eab..931874a3 100644
--- a/proto/SetPlayerSignatureReq.proto
+++ b/proto/SetPlayerSignatureReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4081
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetPlayerSignatureReq {
- string signature = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4025;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ string signature = 15;
}
diff --git a/proto/SetPlayerSignatureRsp.proto b/proto/SetPlayerSignatureRsp.proto
index e0633235..3defe276 100644
--- a/proto/SetPlayerSignatureRsp.proto
+++ b/proto/SetPlayerSignatureRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4005
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetPlayerSignatureRsp {
- string signature = 1;
- int32 retcode = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4042;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ string signature = 12;
}
diff --git a/proto/SetSceneWeatherAreaReq.proto b/proto/SetSceneWeatherAreaReq.proto
new file mode 100644
index 00000000..0c58db40
--- /dev/null
+++ b/proto/SetSceneWeatherAreaReq.proto
@@ -0,0 +1,34 @@
+// 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 SetSceneWeatherAreaReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 214;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ map weather_value_map = 8;
+ uint32 weather_gadget_id = 12;
+}
diff --git a/proto/SetSceneWeatherAreaRsp.proto b/proto/SetSceneWeatherAreaRsp.proto
new file mode 100644
index 00000000..72bca7b7
--- /dev/null
+++ b/proto/SetSceneWeatherAreaRsp.proto
@@ -0,0 +1,32 @@
+// 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 SetSceneWeatherAreaRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 270;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 12;
+}
diff --git a/proto/SetUpAvatarTeamReq.proto b/proto/SetUpAvatarTeamReq.proto
index 17351a23..e7086791 100644
--- a/proto/SetUpAvatarTeamReq.proto
+++ b/proto/SetUpAvatarTeamReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1690
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetUpAvatarTeamReq {
- uint32 team_id = 3;
- repeated uint64 avatar_team_guid_list = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1713;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 team_id = 13;
uint64 cur_avatar_guid = 5;
+ repeated uint64 avatar_team_guid_list = 14;
}
diff --git a/proto/SetUpAvatarTeamRsp.proto b/proto/SetUpAvatarTeamRsp.proto
index 0915c688..ed52d7f2 100644
--- a/proto/SetUpAvatarTeamRsp.proto
+++ b/proto/SetUpAvatarTeamRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1646
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetUpAvatarTeamRsp {
- repeated uint64 avatar_team_guid_list = 1;
- uint32 team_id = 6;
- int32 retcode = 8;
- uint64 cur_avatar_guid = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1622;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 team_id = 10;
+ repeated uint64 avatar_team_guid_list = 9;
+ int32 retcode = 5;
+ uint64 cur_avatar_guid = 11;
}
diff --git a/proto/SetUpLunchBoxWidgetReq.proto b/proto/SetUpLunchBoxWidgetReq.proto
index 802e343a..a1e91fc9 100644
--- a/proto/SetUpLunchBoxWidgetReq.proto
+++ b/proto/SetUpLunchBoxWidgetReq.proto
@@ -21,10 +21,15 @@ import "LunchBoxData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4272
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetUpLunchBoxWidgetReq {
- LunchBoxData lunch_box_data = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4267;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ LunchBoxData lunch_box_data = 7;
}
diff --git a/proto/SetUpLunchBoxWidgetRsp.proto b/proto/SetUpLunchBoxWidgetRsp.proto
index 52daea82..f30dcbc7 100644
--- a/proto/SetUpLunchBoxWidgetRsp.proto
+++ b/proto/SetUpLunchBoxWidgetRsp.proto
@@ -21,10 +21,15 @@ import "LunchBoxData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4294
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetUpLunchBoxWidgetRsp {
- LunchBoxData lunch_box_data = 3;
- int32 retcode = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4262;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+ LunchBoxData lunch_box_data = 2;
}
diff --git a/proto/SetWidgetSlotReq.proto b/proto/SetWidgetSlotReq.proto
index 5b0b421d..66c3c312 100644
--- a/proto/SetWidgetSlotReq.proto
+++ b/proto/SetWidgetSlotReq.proto
@@ -22,12 +22,17 @@ import "WidgetSlotTag.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4259
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message SetWidgetSlotReq {
- repeated WidgetSlotTag tag_list = 15;
- uint32 material_id = 6;
- WidgetSlotOp op = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4255;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 material_id = 2;
+ repeated WidgetSlotTag tag_list = 13;
+ WidgetSlotOp op = 14;
}
diff --git a/proto/SetWidgetSlotRsp.proto b/proto/SetWidgetSlotRsp.proto
index 535658cc..d51d86d9 100644
--- a/proto/SetWidgetSlotRsp.proto
+++ b/proto/SetWidgetSlotRsp.proto
@@ -22,12 +22,17 @@ import "WidgetSlotTag.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4277
-// EnetChannelId: 0
-// EnetIsReliable: true
message SetWidgetSlotRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4261;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 material_id = 4;
+ int32 retcode = 1;
repeated WidgetSlotTag tag_list = 15;
- int32 retcode = 6;
- uint32 material_id = 1;
- WidgetSlotOp op = 4;
+ WidgetSlotOp op = 5;
}
diff --git a/proto/ShapeBox.proto b/proto/ShapeBox.proto
new file mode 100644
index 00000000..bb2ef9fa
--- /dev/null
+++ b/proto/ShapeBox.proto
@@ -0,0 +1,30 @@
+// 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 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..b3e9d975
--- /dev/null
+++ b/proto/ShapeSphere.proto
@@ -0,0 +1,27 @@
+// 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 ShapeSphere {
+ Vector center = 1;
+ float radius = 2;
+}
diff --git a/proto/ShareCDInfo.proto b/proto/ShareCDInfo.proto
new file mode 100644
index 00000000..2c076077
--- /dev/null
+++ b/proto/ShareCDInfo.proto
@@ -0,0 +1,26 @@
+// 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 ShareCDInfo {
+ uint64 cd_start_time = 1;
+ uint32 share_cd_id = 12;
+ uint32 index = 13;
+}
diff --git a/proto/Shop.proto b/proto/Shop.proto
index e1fae8df..86489858 100644
--- a/proto/Shop.proto
+++ b/proto/Shop.proto
@@ -25,12 +25,12 @@ import "ShopMcoinProduct.proto";
option java_package = "emu.grasscutter.net.proto";
message Shop {
- repeated ShopConcertProduct concert_product_list = 3;
- repeated ShopGoods goods_list = 15;
- uint32 city_reputation_level = 2;
- repeated ShopCardProduct card_product_list = 14;
+ uint32 shop_type = 1;
+ uint32 next_refresh_time = 5;
+ uint32 city_id = 12;
+ uint32 city_reputation_level = 8;
+ repeated ShopGoods goods_list = 3;
+ repeated ShopCardProduct card_product_list = 11;
+ repeated ShopConcertProduct concert_product_list = 9;
repeated ShopMcoinProduct mcoin_product_list = 7;
- uint32 next_refresh_time = 11;
- uint32 city_id = 10;
- uint32 shop_type = 13;
}
diff --git a/proto/ShopCardProduct.proto b/proto/ShopCardProduct.proto
index ac5c4a5a..b0fcb13d 100644
--- a/proto/ShopCardProduct.proto
+++ b/proto/ShopCardProduct.proto
@@ -22,6 +22,11 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message ShopCardProduct {
+ message ResinCard {
+ repeated ItemParam base_item_list = 1;
+ repeated ItemParam per_day_item_list = 2;
+ }
+
string product_id = 1;
string price_tier = 2;
uint32 mcoin_base = 3;
@@ -32,9 +37,4 @@ message ShopCardProduct {
oneof extra_card_data {
ResinCard resin_card = 101;
}
-
- message ResinCard {
- repeated ItemParam base_item_list = 1;
- repeated ItemParam per_day_item_list = 2;
- }
}
diff --git a/proto/ShopGoods.proto b/proto/ShopGoods.proto
index fe994191..464387f1 100644
--- a/proto/ShopGoods.proto
+++ b/proto/ShopGoods.proto
@@ -22,24 +22,24 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
message ShopGoods {
- uint32 discount_end_time = 258;
- uint32 min_level = 8;
- uint32 end_time = 11;
- repeated ItemParam cost_item_list = 3;
- uint32 secondary_sheet_id = 318;
- uint32 hcoin = 1;
- uint32 mcoin = 14;
- uint32 discount_id = 1998;
- uint32 single_limit = 247;
- uint32 goods_id = 13;
- uint32 next_refresh_time = 7;
- uint32 max_level = 4;
- uint32 disable_type = 6;
- uint32 discount_begin_time = 574;
- repeated uint32 pre_goods_id_list = 2;
- uint32 begin_time = 5;
- uint32 scoin = 15;
- uint32 bought_num = 10;
- uint32 buy_limit = 12;
- ItemParam goods_item = 9;
+ uint32 Unk3300_PBMKNPCNBCK = 1003;
+ ItemParam goods_item = 15;
+ repeated ItemParam cost_item_list = 7;
+ uint32 bought_num = 14;
+ repeated uint32 pre_goods_id_list = 9;
+ uint32 Unk3300_DFEDKIOCOBL = 5;
+ uint32 Unk3300_NMOPAGJFHOO = 11;
+ uint32 hcoin = 6;
+ uint32 end_time = 3;
+ uint32 next_refresh_time = 10;
+ uint32 Unk3300_DBJCMMBHBNI = 13;
+ uint32 Unk3300_OMKIFIMDGDN = 1037;
+ uint32 Unk3300_EHKFICBACKC = 8;
+ uint32 Unk3300_MBGOMHNBHMG = 777;
+ uint32 Unk3300_KKKNKNOLICI = 2;
+ uint32 Unk3300_CEOMHBNDAOP = 1;
+ uint32 Unk3300_MICPGJCIAPE = 1770;
+ uint32 Unk3300_NJCPAJBCEPH = 505;
+ uint32 begin_time = 12;
+ uint32 Unk3300_OODCCOAIGHI = 4;
}
diff --git a/proto/ShortAbilityHashPair.proto b/proto/ShortAbilityHashPair.proto
index 4635ad4d..c8582972 100644
--- a/proto/ShortAbilityHashPair.proto
+++ b/proto/ShortAbilityHashPair.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ShortAbilityHashPair {
+ sfixed32 ability_name_hash = 6;
sfixed32 ability_config_hash = 15;
- sfixed32 ability_name_hash = 1;
}
diff --git a/proto/ShowClientGuideNotify.proto b/proto/ShowClientGuideNotify.proto
new file mode 100644
index 00000000..1d4c79bd
--- /dev/null
+++ b/proto/ShowClientGuideNotify.proto
@@ -0,0 +1,32 @@
+// 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 ShowClientGuideNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3369;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string guide_name = 6;
+}
diff --git a/proto/ShowClientTutorialNotify.proto b/proto/ShowClientTutorialNotify.proto
new file mode 100644
index 00000000..7a9946ac
--- /dev/null
+++ b/proto/ShowClientTutorialNotify.proto
@@ -0,0 +1,32 @@
+// 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 ShowClientTutorialNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3204;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 tutorial_id = 2;
+}
diff --git a/proto/ShowCommonTipsNotify.proto b/proto/ShowCommonTipsNotify.proto
new file mode 100644
index 00000000..4345edcc
--- /dev/null
+++ b/proto/ShowCommonTipsNotify.proto
@@ -0,0 +1,34 @@
+// 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 ShowCommonTipsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3065;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ string title = 3;
+ string content = 9;
+ uint32 close_time = 13;
+}
diff --git a/proto/ShowMessageNotify.proto b/proto/ShowMessageNotify.proto
new file mode 100644
index 00000000..ff85889f
--- /dev/null
+++ b/proto/ShowMessageNotify.proto
@@ -0,0 +1,36 @@
+// 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 "MsgParam.proto";
+import "SvrMsgId.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ShowMessageNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 19;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SvrMsgId msg_id = 9;
+ repeated MsgParam params = 10;
+}
diff --git a/proto/ShowTemplateReminderNotify.proto b/proto/ShowTemplateReminderNotify.proto
new file mode 100644
index 00000000..0eaf9a94
--- /dev/null
+++ b/proto/ShowTemplateReminderNotify.proto
@@ -0,0 +1,36 @@
+// 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 ShowTemplateReminderNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3300;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_LABCNBEGCED = 6;
+ repeated int32 param_list = 4;
+ uint32 template_reminder_id = 2;
+ bool Unk3300_AENIIBBBPJC = 12;
+ repeated uint32 param_uid_list = 7;
+}
diff --git a/proto/SignInData.proto b/proto/SignInData.proto
new file mode 100644
index 00000000..29a0551a
--- /dev/null
+++ b/proto/SignInData.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SignInData {
+ uint32 day_count = 4;
+ repeated ItemParam reward_item_list = 15;
+}
diff --git a/proto/SignInInfo.proto b/proto/SignInInfo.proto
new file mode 100644
index 00000000..6ea04737
--- /dev/null
+++ b/proto/SignInInfo.proto
@@ -0,0 +1,34 @@
+// 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 "SignInData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SignInInfo {
+ bool is_cond_satisfied = 1;
+ repeated SignInData signin_data_list = 10;
+ uint32 Unk3300_MNJELIDKMCF = 5;
+ uint32 schedule_id = 7;
+ uint32 Unk3300_NFNOKBNBLGE = 3;
+ repeated uint32 reward_day_list = 4;
+ uint32 begin_time = 6;
+ uint32 config_id = 9;
+ uint32 end_time = 8;
+}
diff --git a/proto/SignInInfoReq.proto b/proto/SignInInfoReq.proto
new file mode 100644
index 00000000..050417bf
--- /dev/null
+++ b/proto/SignInInfoReq.proto
@@ -0,0 +1,31 @@
+// 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 SignInInfoReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2556;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/SignInInfoRsp.proto b/proto/SignInInfoRsp.proto
new file mode 100644
index 00000000..68197d9e
--- /dev/null
+++ b/proto/SignInInfoRsp.proto
@@ -0,0 +1,35 @@
+// 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 "SignInInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SignInInfoRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2519;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ repeated SignInInfo sign_in_info_list = 8;
+}
diff --git a/proto/SignatureAuditConfigNotify.proto b/proto/SignatureAuditConfigNotify.proto
new file mode 100644
index 00000000..c8062041
--- /dev/null
+++ b/proto/SignatureAuditConfigNotify.proto
@@ -0,0 +1,33 @@
+// 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 SignatureAuditConfigNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4097;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_open = 6;
+ uint32 submit_limit = 11;
+}
diff --git a/proto/SingleRestartBrickBreakerReq.proto b/proto/SingleRestartBrickBreakerReq.proto
new file mode 100644
index 00000000..0114440b
--- /dev/null
+++ b/proto/SingleRestartBrickBreakerReq.proto
@@ -0,0 +1,34 @@
+// 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 SingleRestartBrickBreakerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20021;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_dungeon = 13;
+ uint32 level_id = 8;
+}
diff --git a/proto/SingleRestartBrickBreakerRsp.proto b/proto/SingleRestartBrickBreakerRsp.proto
new file mode 100644
index 00000000..d845d078
--- /dev/null
+++ b/proto/SingleRestartBrickBreakerRsp.proto
@@ -0,0 +1,34 @@
+// 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 SingleRestartBrickBreakerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 22269;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 8;
+ int32 retcode = 15;
+ bool is_dungeon = 7;
+}
diff --git a/proto/SingleStartBrickBreakerReq.proto b/proto/SingleStartBrickBreakerReq.proto
new file mode 100644
index 00000000..10db9fad
--- /dev/null
+++ b/proto/SingleStartBrickBreakerReq.proto
@@ -0,0 +1,36 @@
+// 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 SingleStartBrickBreakerReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 23663;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_dungeon = 13;
+ uint32 level_id = 8;
+ repeated uint32 chosen_skill_list = 12;
+ repeated uint32 chosen_avatar_list = 5;
+}
diff --git a/proto/SingleStartBrickBreakerRsp.proto b/proto/SingleStartBrickBreakerRsp.proto
new file mode 100644
index 00000000..48beea32
--- /dev/null
+++ b/proto/SingleStartBrickBreakerRsp.proto
@@ -0,0 +1,34 @@
+// 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 SingleStartBrickBreakerRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20712;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level_id = 10;
+ bool is_dungeon = 9;
+ int32 retcode = 8;
+}
diff --git a/proto/SkillRequest.proto b/proto/SkillRequest.proto
new file mode 100644
index 00000000..6d60c8d1
--- /dev/null
+++ b/proto/SkillRequest.proto
@@ -0,0 +1,24 @@
+// 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 SkillRequest {
+ uint32 skill_depot_id = 1;
+}
diff --git a/proto/SkillResponse.proto b/proto/SkillResponse.proto
new file mode 100644
index 00000000..fba594ea
--- /dev/null
+++ b/proto/SkillResponse.proto
@@ -0,0 +1,25 @@
+// 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 SkillResponse {
+ uint32 skill_depot_id = 13;
+ repeated uint32 skill_id_list = 9;
+}
diff --git a/proto/SkyCrystalDetectorData.proto b/proto/SkyCrystalDetectorData.proto
index d50929a1..7b59c1e4 100644
--- a/proto/SkyCrystalDetectorData.proto
+++ b/proto/SkyCrystalDetectorData.proto
@@ -22,8 +22,8 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message SkyCrystalDetectorData {
- bool is_hint_valid = 3;
- Vector hint_center_pos = 8;
- uint32 group_id = 6;
- uint32 config_id = 9;
+ bool is_hint_valid = 1;
+ uint32 group_id = 5;
+ Vector hint_center_pos = 12;
+ uint32 config_id = 7;
}
diff --git a/proto/SkyCrystalDetectorDataUpdateNotify.proto b/proto/SkyCrystalDetectorDataUpdateNotify.proto
new file mode 100644
index 00000000..565512ac
--- /dev/null
+++ b/proto/SkyCrystalDetectorDataUpdateNotify.proto
@@ -0,0 +1,34 @@
+// 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 "SkyCrystalDetectorData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SkyCrystalDetectorDataUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4259;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ SkyCrystalDetectorData sky_crystal_detector_data = 15;
+}
diff --git a/proto/SkyCrystalDetectorQuickUseResult.proto b/proto/SkyCrystalDetectorQuickUseResult.proto
index 3bfd6248..33b94043 100644
--- a/proto/SkyCrystalDetectorQuickUseResult.proto
+++ b/proto/SkyCrystalDetectorQuickUseResult.proto
@@ -22,6 +22,6 @@ import "SkyCrystalDetectorData.proto";
option java_package = "emu.grasscutter.net.proto";
message SkyCrystalDetectorQuickUseResult {
- SkyCrystalDetectorData sky_crystal_detector_data = 9;
- int32 retcode = 8;
+ int32 retcode = 2;
+ SkyCrystalDetectorData sky_crystal_detector_data = 4;
}
diff --git a/proto/SocialDataNotify.proto b/proto/SocialDataNotify.proto
new file mode 100644
index 00000000..0eccb6dc
--- /dev/null
+++ b/proto/SocialDataNotify.proto
@@ -0,0 +1,33 @@
+// 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 SocialDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4075;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_have_first_share = 13;
+}
diff --git a/proto/SpiceActivityDetailInfo.proto b/proto/SpiceActivityDetailInfo.proto
index fe06fd4d..91a2f9ea 100644
--- a/proto/SpiceActivityDetailInfo.proto
+++ b/proto/SpiceActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "SpiceStageData.proto";
option java_package = "emu.grasscutter.net.proto";
message SpiceActivityDetailInfo {
- uint32 current_increase_avatar_fetter_times = 15;
- repeated SpiceStageData spice_stage_list = 7;
- uint32 increase_avatar_fetter_limit_times = 13;
+ uint32 Unk3300_CIHIAJEGCBO = 14;
+ uint32 Unk3300_LAKPMMIPBMI = 8;
+ repeated SpiceStageData spice_stage_data_list = 6;
}
diff --git a/proto/SpiceActivityFinishMakeSpiceReq.proto b/proto/SpiceActivityFinishMakeSpiceReq.proto
new file mode 100644
index 00000000..f2091d79
--- /dev/null
+++ b/proto/SpiceActivityFinishMakeSpiceReq.proto
@@ -0,0 +1,36 @@
+// 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 SpiceActivityFinishMakeSpiceReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8838;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 11;
+ repeated uint32 left_material_id_list = 9;
+ bool is_success = 10;
+ uint32 left_turns = 14;
+}
diff --git a/proto/SpiceActivityFinishMakeSpiceRsp.proto b/proto/SpiceActivityFinishMakeSpiceRsp.proto
new file mode 100644
index 00000000..9aee0975
--- /dev/null
+++ b/proto/SpiceActivityFinishMakeSpiceRsp.proto
@@ -0,0 +1,34 @@
+// 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 SpiceActivityFinishMakeSpiceRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8946;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 8;
+ int32 retcode = 10;
+ bool is_success = 9;
+}
diff --git a/proto/SpiceActivityGivingRecordNotify.proto b/proto/SpiceActivityGivingRecordNotify.proto
new file mode 100644
index 00000000..5db70c38
--- /dev/null
+++ b/proto/SpiceActivityGivingRecordNotify.proto
@@ -0,0 +1,34 @@
+// 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 SpiceActivityGivingRecordNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8719;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_CIHIAJEGCBO = 3;
+ uint32 Unk3300_LAKPMMIPBMI = 2;
+ uint32 avatar_id = 5;
+}
diff --git a/proto/SpiceActivityProcessFoodReq.proto b/proto/SpiceActivityProcessFoodReq.proto
new file mode 100644
index 00000000..34731e25
--- /dev/null
+++ b/proto/SpiceActivityProcessFoodReq.proto
@@ -0,0 +1,35 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SpiceActivityProcessFoodReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8523;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ItemParam normal_food_list = 15;
+}
diff --git a/proto/SpiceActivityProcessFoodRsp.proto b/proto/SpiceActivityProcessFoodRsp.proto
new file mode 100644
index 00000000..5bcbc3bc
--- /dev/null
+++ b/proto/SpiceActivityProcessFoodRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SpiceActivityProcessFoodRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8381;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ repeated ItemParam normal_food_list = 9;
+ repeated ItemParam special_food_list = 14;
+}
diff --git a/proto/SpiceStage.proto b/proto/SpiceStage.proto
new file mode 100644
index 00000000..39e259d4
--- /dev/null
+++ b/proto/SpiceStage.proto
@@ -0,0 +1,26 @@
+// 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 SpiceStage {
+ bool is_open = 12;
+ uint32 Unk2700_KLOFGMKDDAK = 1;
+ uint32 stage_id = 6;
+}
diff --git a/proto/SpiceStageData.proto b/proto/SpiceStageData.proto
index 194249a6..96c71017 100644
--- a/proto/SpiceStageData.proto
+++ b/proto/SpiceStageData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SpiceStageData {
- bool is_open = 12;
- uint32 success_times = 1;
- uint32 stage_id = 6;
+ bool is_open = 4;
+ uint32 stage_id = 5;
+ uint32 success_times = 12;
}
diff --git a/proto/SpringUseReq.proto b/proto/SpringUseReq.proto
new file mode 100644
index 00000000..200b014e
--- /dev/null
+++ b/proto/SpringUseReq.proto
@@ -0,0 +1,33 @@
+// 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 SpringUseReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1651;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 guid = 12;
+}
diff --git a/proto/SpringUseRsp.proto b/proto/SpringUseRsp.proto
new file mode 100644
index 00000000..0e5e6e26
--- /dev/null
+++ b/proto/SpringUseRsp.proto
@@ -0,0 +1,33 @@
+// 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 SpringUseRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1772;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint64 guid = 1;
+}
diff --git a/proto/StakePlayGalleryInfo.proto b/proto/StakePlayGalleryInfo.proto
new file mode 100644
index 00000000..6119aa68
--- /dev/null
+++ b/proto/StakePlayGalleryInfo.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_BEGHDPPNMFM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message StakePlayGalleryInfo {
+ repeated Unk2700_BEGHDPPNMFM record_list = 13;
+}
diff --git a/proto/StartArenaChallengeLevelReq.proto b/proto/StartArenaChallengeLevelReq.proto
new file mode 100644
index 00000000..de646861
--- /dev/null
+++ b/proto/StartArenaChallengeLevelReq.proto
@@ -0,0 +1,35 @@
+// 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 StartArenaChallengeLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2196;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 Unk3300_FDFNFLAKONG = 13;
+ uint32 gadget_entity_id = 3;
+ uint32 Unk3300_DBHAGHMMLAI = 12;
+}
diff --git a/proto/StartArenaChallengeLevelRsp.proto b/proto/StartArenaChallengeLevelRsp.proto
new file mode 100644
index 00000000..96021735
--- /dev/null
+++ b/proto/StartArenaChallengeLevelRsp.proto
@@ -0,0 +1,35 @@
+// 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 StartArenaChallengeLevelRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2171;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_FDFNFLAKONG = 4;
+ int32 retcode = 5;
+ uint32 Unk3300_DBHAGHMMLAI = 13;
+ uint32 gadget_entity_id = 10;
+}
diff --git a/proto/StartBuoyantCombatGalleryReq.proto b/proto/StartBuoyantCombatGalleryReq.proto
new file mode 100644
index 00000000..83b5b6ea
--- /dev/null
+++ b/proto/StartBuoyantCombatGalleryReq.proto
@@ -0,0 +1,34 @@
+// 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 StartBuoyantCombatGalleryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_level = 4;
+ uint32 gallery_id = 12;
+}
diff --git a/proto/StartBuoyantCombatGalleryRsp.proto b/proto/StartBuoyantCombatGalleryRsp.proto
new file mode 100644
index 00000000..14305bb8
--- /dev/null
+++ b/proto/StartBuoyantCombatGalleryRsp.proto
@@ -0,0 +1,34 @@
+// 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 StartBuoyantCombatGalleryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8969;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_level = 6;
+ int32 retcode = 5;
+ uint32 gallery_id = 12;
+}
diff --git a/proto/StartCoopPointReq.proto b/proto/StartCoopPointReq.proto
new file mode 100644
index 00000000..425a77be
--- /dev/null
+++ b/proto/StartCoopPointReq.proto
@@ -0,0 +1,33 @@
+// 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 StartCoopPointReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1995;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 coop_point = 4;
+}
diff --git a/proto/StartCoopPointRsp.proto b/proto/StartCoopPointRsp.proto
new file mode 100644
index 00000000..ae00b4e5
--- /dev/null
+++ b/proto/StartCoopPointRsp.proto
@@ -0,0 +1,37 @@
+// 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 "MainCoop.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message StartCoopPointRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1952;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ MainCoop start_main_coop = 4;
+ int32 retcode = 2;
+ bool is_start = 5;
+ uint32 coop_point = 9;
+}
diff --git a/proto/StartEffigyChallengeReq.proto b/proto/StartEffigyChallengeReq.proto
new file mode 100644
index 00000000..dfe9e5cd
--- /dev/null
+++ b/proto/StartEffigyChallengeReq.proto
@@ -0,0 +1,36 @@
+// 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 StartEffigyChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2157;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_id = 10;
+ uint32 difficulty_id = 3;
+ uint32 point_id = 1;
+ repeated uint32 condition_id_list = 8;
+}
diff --git a/proto/StartEffigyChallengeRsp.proto b/proto/StartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..43643145
--- /dev/null
+++ b/proto/StartEffigyChallengeRsp.proto
@@ -0,0 +1,36 @@
+// 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 StartEffigyChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2169;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 point_id = 4;
+ repeated uint32 condition_id_list = 9;
+ uint32 difficulty_id = 12;
+ int32 retcode = 5;
+ uint32 challenge_id = 10;
+}
diff --git a/proto/StartFishingReq.proto b/proto/StartFishingReq.proto
new file mode 100644
index 00000000..654e3000
--- /dev/null
+++ b/proto/StartFishingReq.proto
@@ -0,0 +1,34 @@
+// 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 StartFishingReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5822;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 fish_pool_id = 2;
+ uint32 rod_entity_id = 6;
+}
diff --git a/proto/StartFishingRsp.proto b/proto/StartFishingRsp.proto
new file mode 100644
index 00000000..9941e150
--- /dev/null
+++ b/proto/StartFishingRsp.proto
@@ -0,0 +1,33 @@
+// 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 StartFishingRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5835;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 fish_pool_id = 3;
+ int32 retcode = 10;
+}
diff --git a/proto/StartRogueDiaryPlayReq.proto b/proto/StartRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..0960e90d
--- /dev/null
+++ b/proto/StartRogueDiaryPlayReq.proto
@@ -0,0 +1,34 @@
+// 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 StartRogueDiaryPlayReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8220;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficulty = 5;
+ uint32 stage_id = 1;
+}
diff --git a/proto/StartRogueDiaryPlayRsp.proto b/proto/StartRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..3594082b
--- /dev/null
+++ b/proto/StartRogueDiaryPlayRsp.proto
@@ -0,0 +1,37 @@
+// 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 "RogueDiaryAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message StartRogueDiaryPlayRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8881;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated RogueDiaryAvatar avatar_list = 15;
+ int32 retcode = 6;
+ repeated RogueDiaryAvatar trial_avatar_list = 9;
+ repeated uint32 rand_card_list = 2;
+}
diff --git a/proto/StartRogueDiaryRoomReq.proto b/proto/StartRogueDiaryRoomReq.proto
new file mode 100644
index 00000000..456175c2
--- /dev/null
+++ b/proto/StartRogueDiaryRoomReq.proto
@@ -0,0 +1,34 @@
+// 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 StartRogueDiaryRoomReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8279;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_select_hard = 10;
+ uint32 room_difficulty = 13;
+}
diff --git a/proto/StartRogueDiaryRoomRsp.proto b/proto/StartRogueDiaryRoomRsp.proto
new file mode 100644
index 00000000..f2aa364b
--- /dev/null
+++ b/proto/StartRogueDiaryRoomRsp.proto
@@ -0,0 +1,32 @@
+// 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 StartRogueDiaryRoomRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8806;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+}
diff --git a/proto/StartRogueEliteCellChallengeReq.proto b/proto/StartRogueEliteCellChallengeReq.proto
new file mode 100644
index 00000000..6db8a118
--- /dev/null
+++ b/proto/StartRogueEliteCellChallengeReq.proto
@@ -0,0 +1,37 @@
+// 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 "RogueEliteCellDifficultyType.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message StartRogueEliteCellChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8485;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ RogueEliteCellDifficultyType difficulty = 6;
+ uint32 cell_id = 10;
+ uint32 dungeon_id = 11;
+}
diff --git a/proto/StartRogueEliteCellChallengeRsp.proto b/proto/StartRogueEliteCellChallengeRsp.proto
new file mode 100644
index 00000000..0cccd40a
--- /dev/null
+++ b/proto/StartRogueEliteCellChallengeRsp.proto
@@ -0,0 +1,34 @@
+// 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 StartRogueEliteCellChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8967;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ uint32 cell_id = 8;
+ uint32 dungeon_id = 12;
+}
diff --git a/proto/StartRogueNormalCellChallengeReq.proto b/proto/StartRogueNormalCellChallengeReq.proto
new file mode 100644
index 00000000..40e78ee4
--- /dev/null
+++ b/proto/StartRogueNormalCellChallengeReq.proto
@@ -0,0 +1,34 @@
+// 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 StartRogueNormalCellChallengeReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8247;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 cell_id = 8;
+ uint32 dungeon_id = 4;
+}
diff --git a/proto/StartRogueNormalCellChallengeRsp.proto b/proto/StartRogueNormalCellChallengeRsp.proto
new file mode 100644
index 00000000..88c6e1e6
--- /dev/null
+++ b/proto/StartRogueNormalCellChallengeRsp.proto
@@ -0,0 +1,34 @@
+// 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 StartRogueNormalCellChallengeRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8146;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 dungeon_id = 13;
+ uint32 cell_id = 8;
+ int32 retcode = 11;
+}
diff --git a/proto/StopReminderNotify.proto b/proto/StopReminderNotify.proto
new file mode 100644
index 00000000..3fa34ab2
--- /dev/null
+++ b/proto/StopReminderNotify.proto
@@ -0,0 +1,33 @@
+// 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 StopReminderNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reminder_id = 3;
+}
diff --git a/proto/StoreCustomDungeonReq.proto b/proto/StoreCustomDungeonReq.proto
new file mode 100644
index 00000000..871fb4cd
--- /dev/null
+++ b/proto/StoreCustomDungeonReq.proto
@@ -0,0 +1,34 @@
+// 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 StoreCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6250;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint64 dungeon_guid = 12;
+ bool is_cancel_store = 11;
+}
diff --git a/proto/StoreCustomDungeonRsp.proto b/proto/StoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..1a6da50f
--- /dev/null
+++ b/proto/StoreCustomDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 StoreCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6206;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+}
diff --git a/proto/StoreItemChangeNotify.proto b/proto/StoreItemChangeNotify.proto
index dfe556bc..c8f3ae26 100644
--- a/proto/StoreItemChangeNotify.proto
+++ b/proto/StoreItemChangeNotify.proto
@@ -22,10 +22,15 @@ import "StoreType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 612
-// EnetChannelId: 0
-// EnetIsReliable: true
message StoreItemChangeNotify {
- StoreType store_type = 12;
- repeated Item item_list = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 656;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ StoreType store_type = 4;
+ repeated Item item_list = 5;
}
diff --git a/proto/StoreItemDelNotify.proto b/proto/StoreItemDelNotify.proto
index b712f822..f46893f2 100644
--- a/proto/StoreItemDelNotify.proto
+++ b/proto/StoreItemDelNotify.proto
@@ -21,10 +21,15 @@ import "StoreType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 635
-// EnetChannelId: 0
-// EnetIsReliable: true
message StoreItemDelNotify {
- repeated uint64 guid_list = 12;
- StoreType store_type = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 619;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ StoreType store_type = 6;
+ repeated uint64 guid_list = 8;
}
diff --git a/proto/StoreWeightLimitNotify.proto b/proto/StoreWeightLimitNotify.proto
index f8239b18..eaab88f2 100644
--- a/proto/StoreWeightLimitNotify.proto
+++ b/proto/StoreWeightLimitNotify.proto
@@ -21,14 +21,19 @@ import "StoreType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 698
-// EnetChannelId: 0
-// EnetIsReliable: true
message StoreWeightLimitNotify {
- uint32 weapon_count_limit = 2;
- StoreType store_type = 7;
- uint32 material_count_limit = 4;
- uint32 reliquary_count_limit = 6;
- uint32 furniture_count_limit = 9;
- uint32 weight_limit = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 630;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_ICDKCEOJKKG = 14;
+ uint32 Unk3300_NIKMCBLHFNJ = 10;
+ uint32 Unk3300_OONMFCGDMMF = 5;
+ uint32 Unk3300_JGPODDEKAPB = 1;
+ uint32 weight_limit = 8;
+ StoreType store_type = 9;
}
diff --git a/proto/StrengthenPointData.proto b/proto/StrengthenPointData.proto
index 36b36647..44a81783 100644
--- a/proto/StrengthenPointData.proto
+++ b/proto/StrengthenPointData.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message StrengthenPointData {
- uint32 base_point = 10;
- uint32 cur_point = 11;
+ uint32 Unk3300_HIKDEKIPCPB = 1;
+ uint32 Unk3300_NNKPOLLBLDO = 10;
}
diff --git a/proto/SubmitInferenceWordReq.proto b/proto/SubmitInferenceWordReq.proto
new file mode 100644
index 00000000..a10e7eb7
--- /dev/null
+++ b/proto/SubmitInferenceWordReq.proto
@@ -0,0 +1,34 @@
+// 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 SubmitInferenceWordReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 404;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 page_id = 10;
+ uint32 word_id = 14;
+}
diff --git a/proto/SubmitInferenceWordRsp.proto b/proto/SubmitInferenceWordRsp.proto
new file mode 100644
index 00000000..942fdc45
--- /dev/null
+++ b/proto/SubmitInferenceWordRsp.proto
@@ -0,0 +1,35 @@
+// 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 SubmitInferenceWordRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 423;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 page_id = 4;
+ int32 retcode = 3;
+ uint32 conclusion_id = 12;
+ uint32 word_id = 15;
+}
diff --git a/proto/SummerTimeDetailInfo.proto b/proto/SummerTimeDetailInfo.proto
index 3521450c..455ae6f9 100644
--- a/proto/SummerTimeDetailInfo.proto
+++ b/proto/SummerTimeDetailInfo.proto
@@ -23,8 +23,8 @@ import "SummerTimeStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeDetailInfo {
- map stage_map = 3;
- uint32 content_close_time = 11;
+ map stage_map = 9;
+ SummerTimeSprintBoatInfo sprint_boat_info = 1;
bool is_content_closed = 13;
- SummerTimeSprintBoatInfo sprint_boat_info = 4;
+ uint32 content_close_time = 12;
}
diff --git a/proto/SummerTimeDungeonInfo.proto b/proto/SummerTimeDungeonInfo.proto
index 2ca7ef5f..13dc0ddc 100644
--- a/proto/SummerTimeDungeonInfo.proto
+++ b/proto/SummerTimeDungeonInfo.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeDungeonInfo {
- uint32 taken_chest_count = 15;
- uint32 total_chest_count = 12;
- uint32 taken_shell_count = 14;
- uint32 dungeon_id = 4;
- uint32 total_shell_count = 13;
+ uint32 dungeon_id = 9;
+ uint32 Unk3300_GMKMNHIBPEP = 1;
+ uint32 Unk3300_HJHODMOIMKG = 8;
+ uint32 Unk3300_GALEDJLAIPM = 5;
+ uint32 Unk3300_EGGFJCICOBD = 12;
}
diff --git a/proto/SummerTimeFloatSignalPositionNotify.proto b/proto/SummerTimeFloatSignalPositionNotify.proto
new file mode 100644
index 00000000..f2bcce89
--- /dev/null
+++ b/proto/SummerTimeFloatSignalPositionNotify.proto
@@ -0,0 +1,36 @@
+// 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 SummerTimeFloatSignalPositionNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8701;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_transfer_anchor = 6;
+ uint32 float_signal_id = 15;
+ Vector position = 14;
+}
diff --git a/proto/SummerTimeFloatSignalUpdateNotify.proto b/proto/SummerTimeFloatSignalUpdateNotify.proto
new file mode 100644
index 00000000..a655b620
--- /dev/null
+++ b/proto/SummerTimeFloatSignalUpdateNotify.proto
@@ -0,0 +1,36 @@
+// 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 SummerTimeFloatSignalUpdateNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8508;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_transfer_anchor = 1;
+ Vector position = 7;
+ uint32 float_signal_id = 12;
+}
diff --git a/proto/SummerTimeSprintBoatInfo.proto b/proto/SummerTimeSprintBoatInfo.proto
index fcbadb64..fec01ea1 100644
--- a/proto/SummerTimeSprintBoatInfo.proto
+++ b/proto/SummerTimeSprintBoatInfo.proto
@@ -22,5 +22,5 @@ import "SummerTimeSprintBoatRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeSprintBoatInfo {
- repeated SummerTimeSprintBoatRecord record_list = 7;
+ repeated SummerTimeSprintBoatRecord record_list = 9;
}
diff --git a/proto/SummerTimeSprintBoatRecord.proto b/proto/SummerTimeSprintBoatRecord.proto
index 687d6ad6..cb03b761 100644
--- a/proto/SummerTimeSprintBoatRecord.proto
+++ b/proto/SummerTimeSprintBoatRecord.proto
@@ -20,9 +20,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeSprintBoatRecord {
- uint32 best_score = 3;
- uint32 start_time = 13;
- bool is_touched = 7;
- repeated uint32 watcher_id_list = 10;
- uint32 group_id = 2;
+ uint32 start_time = 12;
+ uint32 group_id = 5;
+ repeated uint32 watcher_id_list = 2;
+ uint32 best_score = 13;
+ bool is_touched = 6;
}
diff --git a/proto/SummerTimeSprintBoatRestartReq.proto b/proto/SummerTimeSprintBoatRestartReq.proto
new file mode 100644
index 00000000..81137aaf
--- /dev/null
+++ b/proto/SummerTimeSprintBoatRestartReq.proto
@@ -0,0 +1,34 @@
+// 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 SummerTimeSprintBoatRestartReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8111;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 group_id = 13;
+ uint32 schedule_id = 3;
+}
diff --git a/proto/SummerTimeSprintBoatRestartRsp.proto b/proto/SummerTimeSprintBoatRestartRsp.proto
new file mode 100644
index 00000000..bc594839
--- /dev/null
+++ b/proto/SummerTimeSprintBoatRestartRsp.proto
@@ -0,0 +1,34 @@
+// 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 SummerTimeSprintBoatRestartRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8466;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 schedule_id = 13;
+ uint32 group_id = 11;
+ int32 retcode = 3;
+}
diff --git a/proto/SummerTimeSprintBoatSettleNotify.proto b/proto/SummerTimeSprintBoatSettleNotify.proto
new file mode 100644
index 00000000..db86fc24
--- /dev/null
+++ b/proto/SummerTimeSprintBoatSettleNotify.proto
@@ -0,0 +1,39 @@
+// 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 SummerTimeSprintBoatSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8451;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 score = 6;
+ uint32 left_time = 2;
+ bool is_success = 4;
+ uint32 group_id = 5;
+ uint32 Unk3300_PLFMJPNPPLI = 12;
+ uint32 total_num = 10;
+ bool is_new_record = 15;
+ uint32 Unk3300_MEEKFJJIOKE = 14;
+}
diff --git a/proto/SummerTimeStageInfo.proto b/proto/SummerTimeStageInfo.proto
index 6a420f1e..3a5ce19a 100644
--- a/proto/SummerTimeStageInfo.proto
+++ b/proto/SummerTimeStageInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeStageInfo {
- bool is_open = 13;
- uint32 open_time = 10;
- uint32 stage_id = 1;
+ uint32 open_time = 11;
+ uint32 stage_id = 2;
+ bool is_open = 14;
}
diff --git a/proto/SummerTimeV2BoatGallerySettleInfo.proto b/proto/SummerTimeV2BoatGallerySettleInfo.proto
new file mode 100644
index 00000000..8e0c551c
--- /dev/null
+++ b/proto/SummerTimeV2BoatGallerySettleInfo.proto
@@ -0,0 +1,31 @@
+// 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 "GalleryStopReason.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SummerTimeV2BoatGallerySettleInfo {
+ GalleryStopReason reason = 10;
+ uint32 param2 = 12;
+ uint32 used_time = 4;
+ uint32 param1 = 7;
+ uint32 gallery_id = 11;
+ uint32 param3 = 6;
+}
diff --git a/proto/SummerTimeV2BoatSettleNotify.proto b/proto/SummerTimeV2BoatSettleNotify.proto
new file mode 100644
index 00000000..2301899a
--- /dev/null
+++ b/proto/SummerTimeV2BoatSettleNotify.proto
@@ -0,0 +1,37 @@
+// 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 "SummerTimeV2BoatGallerySettleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SummerTimeV2BoatSettleNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8153;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 15;
+ uint32 gallery_id = 2;
+ SummerTimeV2BoatGallerySettleInfo settle_info = 13;
+ uint32 stage_id = 4;
+}
diff --git a/proto/SummerTimeV2BoatStageInfo.proto b/proto/SummerTimeV2BoatStageInfo.proto
index 689af0e4..6abddfc5 100644
--- a/proto/SummerTimeV2BoatStageInfo.proto
+++ b/proto/SummerTimeV2BoatStageInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeV2BoatStageInfo {
- uint32 open_time = 7;
- bool is_open = 14;
- uint32 stage_id = 10;
- uint32 best_score = 13;
+ bool is_open = 11;
+ uint32 stage_id = 13;
+ uint32 open_time = 5;
+ uint32 best_score = 10;
}
diff --git a/proto/SummerTimeV2DetailInfo.proto b/proto/SummerTimeV2DetailInfo.proto
index 41f4f606..7244e613 100644
--- a/proto/SummerTimeV2DetailInfo.proto
+++ b/proto/SummerTimeV2DetailInfo.proto
@@ -23,9 +23,9 @@ import "SummerTimeV2DungeonStageInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeV2DetailInfo {
- repeated SummerTimeV2DungeonStageInfo dungeon_stage_info_list = 13;
- uint32 cur_dungeon_reward_limit = 10;
- bool is_content_closed = 4;
- uint32 taken_reward_count = 5;
- repeated SummerTimeV2BoatStageInfo boat_stage_info_list = 15;
+ bool is_content_closed = 14;
+ uint32 Unk3300_BNNMNCKEHHO = 9;
+ repeated SummerTimeV2DungeonStageInfo dungeon_stage_info_list = 5;
+ uint32 Unk3300_JHBCHFHAGFO = 8;
+ repeated SummerTimeV2BoatStageInfo boat_stage_info_list = 3;
}
diff --git a/proto/SummerTimeV2DungeonSettleInfo.proto b/proto/SummerTimeV2DungeonSettleInfo.proto
index b77b49bf..6b2ae59e 100644
--- a/proto/SummerTimeV2DungeonSettleInfo.proto
+++ b/proto/SummerTimeV2DungeonSettleInfo.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeV2DungeonSettleInfo {
- bool is_success = 5;
- uint32 taken_reward_count = 2;
- uint32 cur_dungeon_reward_limit = 11;
+ uint32 Unk3300_JHBCHFHAGFO = 10;
+ bool is_success = 1;
+ uint32 Unk3300_BNNMNCKEHHO = 11;
}
diff --git a/proto/SummerTimeV2DungeonStageInfo.proto b/proto/SummerTimeV2DungeonStageInfo.proto
index c2569260..33c5030f 100644
--- a/proto/SummerTimeV2DungeonStageInfo.proto
+++ b/proto/SummerTimeV2DungeonStageInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SummerTimeV2DungeonStageInfo {
- uint32 stage_id = 10;
- bool is_open = 3;
- uint32 open_time = 12;
- bool is_prev_dungeon_succeed = 15;
+ bool is_open = 6;
+ uint32 stage_id = 3;
+ bool is_prev_dungeon_succeed = 12;
+ uint32 open_time = 2;
}
diff --git a/proto/SummerTimeV2RestartBoatGalleryReq.proto b/proto/SummerTimeV2RestartBoatGalleryReq.proto
new file mode 100644
index 00000000..c517a023
--- /dev/null
+++ b/proto/SummerTimeV2RestartBoatGalleryReq.proto
@@ -0,0 +1,33 @@
+// 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 SummerTimeV2RestartBoatGalleryReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8885;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 gallery_id = 2;
+}
diff --git a/proto/SummerTimeV2RestartBoatGalleryRsp.proto b/proto/SummerTimeV2RestartBoatGalleryRsp.proto
new file mode 100644
index 00000000..12b14a42
--- /dev/null
+++ b/proto/SummerTimeV2RestartBoatGalleryRsp.proto
@@ -0,0 +1,33 @@
+// 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 SummerTimeV2RestartBoatGalleryRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8225;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gallery_id = 10;
+ int32 retcode = 12;
+}
diff --git a/proto/SummerTimeV2RestartDungeonReq.proto b/proto/SummerTimeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..9578296c
--- /dev/null
+++ b/proto/SummerTimeV2RestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 SummerTimeV2RestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8073;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/SummerTimeV2RestartDungeonRsp.proto b/proto/SummerTimeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..90c77734
--- /dev/null
+++ b/proto/SummerTimeV2RestartDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 SummerTimeV2RestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8686;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/SumoActivityDetailInfo.proto b/proto/SumoActivityDetailInfo.proto
index 18e2844b..af808fe2 100644
--- a/proto/SumoActivityDetailInfo.proto
+++ b/proto/SumoActivityDetailInfo.proto
@@ -23,6 +23,6 @@ option java_package = "emu.grasscutter.net.proto";
message SumoActivityDetailInfo {
uint32 difficulty_id = 11;
- map sumo_stage_map = 13;
- uint32 last_stage_id = 14;
+ uint32 last_stage_id = 12;
+ map sumo_stage_map = 1;
}
diff --git a/proto/SumoAvatarInfo.proto b/proto/SumoAvatarInfo.proto
index cd1206f8..9c882cd5 100644
--- a/proto/SumoAvatarInfo.proto
+++ b/proto/SumoAvatarInfo.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message SumoAvatarInfo {
- bool is_trial = 2;
- uint64 avatar_id = 1;
+ bool is_trial = 9;
+ uint64 avatar_id = 13;
}
diff --git a/proto/SumoDungeonAvatar.proto b/proto/SumoDungeonAvatar.proto
new file mode 100644
index 00000000..44c6723f
--- /dev/null
+++ b/proto/SumoDungeonAvatar.proto
@@ -0,0 +1,26 @@
+// 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 SumoDungeonAvatar {
+ bool is_alive = 13;
+ bool is_trial = 4;
+ uint64 avatar_guid = 10;
+}
diff --git a/proto/SumoDungeonSettleNotify.proto b/proto/SumoDungeonSettleNotify.proto
index 26afbea6..ddae804f 100644
--- a/proto/SumoDungeonSettleNotify.proto
+++ b/proto/SumoDungeonSettleNotify.proto
@@ -19,14 +19,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8291
-// EnetChannelId: 0
-// EnetIsReliable: true
message SumoDungeonSettleNotify {
- uint32 final_score = 7;
- uint32 difficulty_id = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8434;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_new_record = 4;
+ uint32 kill_monster_num = 12;
+ uint32 difficulty_id = 3;
+ uint32 final_score = 2;
uint32 kill_elite_monster_num = 15;
- uint32 stage_id = 12;
- uint32 kill_monster_num = 4;
- bool is_new_record = 5;
+ uint32 stage_id = 11;
}
diff --git a/proto/SumoDungeonTeam.proto b/proto/SumoDungeonTeam.proto
new file mode 100644
index 00000000..5934411a
--- /dev/null
+++ b/proto/SumoDungeonTeam.proto
@@ -0,0 +1,26 @@
+// 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 "SumoDungeonAvatar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoDungeonTeam {
+ repeated SumoDungeonAvatar dungeon_avatar_list = 11;
+}
diff --git a/proto/SumoEnterDungeonNotify.proto b/proto/SumoEnterDungeonNotify.proto
new file mode 100644
index 00000000..53940e35
--- /dev/null
+++ b/proto/SumoEnterDungeonNotify.proto
@@ -0,0 +1,39 @@
+// 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 "SumoDungeonTeam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoEnterDungeonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8297;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_DJBJACGHGDM = 15;
+ uint32 Unk3300_CBAMLHDMKJF = 7;
+ repeated SumoDungeonTeam dungeon_team_list = 14;
+ uint32 Unk3300_BNJBIGHIJOC = 5;
+ uint32 activity_id = 3;
+ uint32 stage_id = 11;
+}
diff --git a/proto/SumoLeaveDungeonNotify.proto b/proto/SumoLeaveDungeonNotify.proto
new file mode 100644
index 00000000..e63bb94f
--- /dev/null
+++ b/proto/SumoLeaveDungeonNotify.proto
@@ -0,0 +1,30 @@
+// 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 SumoLeaveDungeonNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8567;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/SumoRestartDungeonReq.proto b/proto/SumoRestartDungeonReq.proto
new file mode 100644
index 00000000..973d5a22
--- /dev/null
+++ b/proto/SumoRestartDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 SumoRestartDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8725;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/SumoRestartDungeonRsp.proto b/proto/SumoRestartDungeonRsp.proto
new file mode 100644
index 00000000..ad7d34e4
--- /dev/null
+++ b/proto/SumoRestartDungeonRsp.proto
@@ -0,0 +1,34 @@
+// 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 SumoRestartDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8276;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 point_id = 8;
+ uint32 dungeon_id = 12;
+}
diff --git a/proto/SumoSaveTeamReq.proto b/proto/SumoSaveTeamReq.proto
new file mode 100644
index 00000000..dfc8f13a
--- /dev/null
+++ b/proto/SumoSaveTeamReq.proto
@@ -0,0 +1,38 @@
+// 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 "SumoTeamData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSaveTeamReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8022;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 difficulty_id = 6;
+ uint32 stage_id = 14;
+ uint32 activity_id = 1;
+ repeated SumoTeamData team_list = 2;
+}
diff --git a/proto/SumoSaveTeamRsp.proto b/proto/SumoSaveTeamRsp.proto
new file mode 100644
index 00000000..9e018e9d
--- /dev/null
+++ b/proto/SumoSaveTeamRsp.proto
@@ -0,0 +1,38 @@
+// 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 "SumoTeamData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSaveTeamRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8739;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 15;
+ uint32 activity_id = 4;
+ int32 retcode = 9;
+ repeated SumoTeamData team_list = 2;
+ uint32 difficulty_id = 14;
+}
diff --git a/proto/SumoSelectTeamAndEnterDungeonReq.proto b/proto/SumoSelectTeamAndEnterDungeonReq.proto
new file mode 100644
index 00000000..3ac8c437
--- /dev/null
+++ b/proto/SumoSelectTeamAndEnterDungeonReq.proto
@@ -0,0 +1,38 @@
+// 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 "SumoTeamData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSelectTeamAndEnterDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8978;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated SumoTeamData team_list = 15;
+ uint32 activity_id = 1;
+ uint32 difficulty_id = 5;
+ uint32 stage_id = 7;
+}
diff --git a/proto/SumoSelectTeamAndEnterDungeonRsp.proto b/proto/SumoSelectTeamAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..c22a50db
--- /dev/null
+++ b/proto/SumoSelectTeamAndEnterDungeonRsp.proto
@@ -0,0 +1,38 @@
+// 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 "SumoTeamData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSelectTeamAndEnterDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8744;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 difficulty_id = 12;
+ uint32 activity_id = 9;
+ uint32 stage_id = 6;
+ int32 retcode = 5;
+ repeated SumoTeamData team_list = 3;
+}
diff --git a/proto/SumoSetNoSwitchPunishTimeNotify.proto b/proto/SumoSetNoSwitchPunishTimeNotify.proto
new file mode 100644
index 00000000..e3c089d6
--- /dev/null
+++ b/proto/SumoSetNoSwitchPunishTimeNotify.proto
@@ -0,0 +1,39 @@
+// 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 "SumoDungeonTeam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSetNoSwitchPunishTimeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8610;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 stage_id = 15;
+ uint32 Unk3300_CBAMLHDMKJF = 10;
+ uint32 activity_id = 5;
+ uint32 Unk3300_BNJBIGHIJOC = 3;
+ uint32 Unk3300_DJBJACGHGDM = 9;
+ repeated SumoDungeonTeam dungeon_team_list = 2;
+}
diff --git a/proto/SumoStageData.proto b/proto/SumoStageData.proto
index e12fcf64..dce02641 100644
--- a/proto/SumoStageData.proto
+++ b/proto/SumoStageData.proto
@@ -22,9 +22,9 @@ import "SumoTeamData.proto";
option java_package = "emu.grasscutter.net.proto";
message SumoStageData {
- uint32 max_score = 1;
- uint32 open_time = 5;
- uint32 stage_id = 3;
- repeated SumoTeamData team_list = 7;
- bool is_open = 11;
+ uint32 stage_id = 2;
+ uint32 open_time = 15;
+ repeated SumoTeamData team_list = 1;
+ uint32 max_score = 7;
+ bool is_open = 8;
}
diff --git a/proto/SumoSwitchTeamReq.proto b/proto/SumoSwitchTeamReq.proto
new file mode 100644
index 00000000..bfcf93e2
--- /dev/null
+++ b/proto/SumoSwitchTeamReq.proto
@@ -0,0 +1,34 @@
+// 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 SumoSwitchTeamReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8738;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 stage_id = 8;
+ uint32 activity_id = 6;
+}
diff --git a/proto/SumoSwitchTeamRsp.proto b/proto/SumoSwitchTeamRsp.proto
new file mode 100644
index 00000000..1d76526f
--- /dev/null
+++ b/proto/SumoSwitchTeamRsp.proto
@@ -0,0 +1,39 @@
+// 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 "SumoDungeonTeam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message SumoSwitchTeamRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8201;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_BNJBIGHIJOC = 8;
+ uint32 stage_id = 2;
+ uint32 activity_id = 15;
+ uint32 Unk3300_DJBJACGHGDM = 1;
+ repeated SumoDungeonTeam dungeon_team_list = 12;
+ int32 retcode = 6;
+}
diff --git a/proto/SumoTeamData.proto b/proto/SumoTeamData.proto
index 8e07796e..6ccc3a91 100644
--- a/proto/SumoTeamData.proto
+++ b/proto/SumoTeamData.proto
@@ -22,6 +22,6 @@ import "SumoAvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message SumoTeamData {
- repeated uint32 skill_id_list = 14;
- repeated SumoAvatarInfo avatar_info_list = 3;
+ repeated uint32 skill_id_list = 12;
+ repeated SumoAvatarInfo avatar_info_list = 4;
}
diff --git a/proto/SvrMsgId.proto b/proto/SvrMsgId.proto
new file mode 100644
index 00000000..cd0dfb72
--- /dev/null
+++ b/proto/SvrMsgId.proto
@@ -0,0 +1,30 @@
+// 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 SvrMsgId {
+ SVR_MSG_ID_UNKNOWN = 0;
+ SVR_MSG_ID_BLOCK_REFRESH_COUNTDOWN = 1;
+ SVR_MSG_ID_AVATAR_REVIVE_BY_STATUE = 2;
+ SVR_MSG_ID_DAILY_TASK_REWARD_MAX_NUM = 3;
+ SVR_MSG_ID_ROUTINE_TYPE_NOT_OPEN = 4;
+ SVR_MSG_ID_ROUTINE_TYPE_REWARD_MAX_NUM = 5;
+ SVR_MSG_ID_MECHANICUS_COIN_LIMIT = 6;
+}
diff --git a/proto/SyncScenePlayTeamEntityNotify.proto b/proto/SyncScenePlayTeamEntityNotify.proto
index 15966218..812f9f98 100644
--- a/proto/SyncScenePlayTeamEntityNotify.proto
+++ b/proto/SyncScenePlayTeamEntityNotify.proto
@@ -21,10 +21,15 @@ import "PlayTeamEntityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3333
-// EnetChannelId: 0
-// EnetIsReliable: true
message SyncScenePlayTeamEntityNotify {
- uint32 scene_id = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3393;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 scene_id = 7;
repeated PlayTeamEntityInfo entity_info_list = 3;
}
diff --git a/proto/SyncTeamEntityNotify.proto b/proto/SyncTeamEntityNotify.proto
index 9296b3fb..ed7fdcef 100644
--- a/proto/SyncTeamEntityNotify.proto
+++ b/proto/SyncTeamEntityNotify.proto
@@ -21,10 +21,15 @@ import "TeamEntityInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 317
-// EnetChannelId: 0
-// EnetIsReliable: true
message SyncTeamEntityNotify {
- uint32 scene_id = 13;
- repeated TeamEntityInfo team_entity_info_list = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 391;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated TeamEntityInfo team_entity_info_list = 10;
+ uint32 scene_id = 1;
}
diff --git a/proto/TakeAchievementGoalRewardReq.proto b/proto/TakeAchievementGoalRewardReq.proto
new file mode 100644
index 00000000..778c3cb6
--- /dev/null
+++ b/proto/TakeAchievementGoalRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeAchievementGoalRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2677;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 id_list = 4;
+}
diff --git a/proto/TakeAchievementGoalRewardRsp.proto b/proto/TakeAchievementGoalRewardRsp.proto
new file mode 100644
index 00000000..32267cd5
--- /dev/null
+++ b/proto/TakeAchievementGoalRewardRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeAchievementGoalRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2681;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 id_list = 2;
+ repeated ItemParam item_list = 1;
+ int32 retcode = 8;
+}
diff --git a/proto/TakeAchievementRewardReq.proto b/proto/TakeAchievementRewardReq.proto
index 13a0cc24..ac0e53c4 100644
--- a/proto/TakeAchievementRewardReq.proto
+++ b/proto/TakeAchievementRewardReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2675
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeAchievementRewardReq {
- repeated uint32 id_list = 13;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2672;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 id_list = 9;
}
diff --git a/proto/TakeAchievementRewardRsp.proto b/proto/TakeAchievementRewardRsp.proto
new file mode 100644
index 00000000..6a8f1761
--- /dev/null
+++ b/proto/TakeAchievementRewardRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeAchievementRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2685;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam item_list = 6;
+ int32 retcode = 1;
+ repeated uint32 id_list = 13;
+}
diff --git a/proto/TakeAsterSpecialRewardReq.proto b/proto/TakeAsterSpecialRewardReq.proto
new file mode 100644
index 00000000..fc26cbc9
--- /dev/null
+++ b/proto/TakeAsterSpecialRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeAsterSpecialRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2019;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 12;
+}
diff --git a/proto/TakeAsterSpecialRewardRsp.proto b/proto/TakeAsterSpecialRewardRsp.proto
new file mode 100644
index 00000000..20fb5225
--- /dev/null
+++ b/proto/TakeAsterSpecialRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeAsterSpecialRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2132;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 schedule_id = 1;
+}
diff --git a/proto/TakeBackGivingItemReq.proto b/proto/TakeBackGivingItemReq.proto
index 4a2c00c0..06c3b8fc 100644
--- a/proto/TakeBackGivingItemReq.proto
+++ b/proto/TakeBackGivingItemReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 171
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeBackGivingItemReq {
- uint32 giving_id = 4;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 128;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 giving_id = 2;
}
diff --git a/proto/TakeBackGivingItemRsp.proto b/proto/TakeBackGivingItemRsp.proto
index 0b168f63..14d1e987 100644
--- a/proto/TakeBackGivingItemRsp.proto
+++ b/proto/TakeBackGivingItemRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 145
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeBackGivingItemRsp {
- uint32 giving_id = 10;
- int32 retcode = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 196;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 giving_id = 6;
+ int32 retcode = 15;
}
diff --git a/proto/TakeBattlePassMissionPointReq.proto b/proto/TakeBattlePassMissionPointReq.proto
index d61a98bc..d73b8a95 100644
--- a/proto/TakeBattlePassMissionPointReq.proto
+++ b/proto/TakeBattlePassMissionPointReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2629
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeBattlePassMissionPointReq {
- repeated uint32 mission_id_list = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2644;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 mission_id_list = 3;
}
diff --git a/proto/TakeBattlePassMissionPointRsp.proto b/proto/TakeBattlePassMissionPointRsp.proto
index 6af5c0c0..c4c5d93b 100644
--- a/proto/TakeBattlePassMissionPointRsp.proto
+++ b/proto/TakeBattlePassMissionPointRsp.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2622
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeBattlePassMissionPointRsp {
- int32 retcode = 4;
- repeated uint32 mission_id_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2617;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 mission_id_list = 13;
+ int32 retcode = 5;
}
diff --git a/proto/TakeBattlePassRewardReq.proto b/proto/TakeBattlePassRewardReq.proto
index fb7802bd..c245fc32 100644
--- a/proto/TakeBattlePassRewardReq.proto
+++ b/proto/TakeBattlePassRewardReq.proto
@@ -21,10 +21,15 @@ import "BattlePassRewardTakeOption.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2602
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeBattlePassRewardReq {
- repeated BattlePassRewardTakeOption take_option_list = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2627;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated BattlePassRewardTakeOption take_option_list = 9;
}
diff --git a/proto/TakeBattlePassRewardRsp.proto b/proto/TakeBattlePassRewardRsp.proto
index 738b8a23..b461f2c2 100644
--- a/proto/TakeBattlePassRewardRsp.proto
+++ b/proto/TakeBattlePassRewardRsp.proto
@@ -22,11 +22,16 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2631
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeBattlePassRewardRsp {
- repeated ItemParam item_list = 7;
- int32 retcode = 13;
- repeated BattlePassRewardTakeOption take_option_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2631;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 6;
+ repeated BattlePassRewardTakeOption take_option_list = 7;
+ repeated ItemParam item_list = 4;
}
diff --git a/proto/TakeCityReputationExploreRewardReq.proto b/proto/TakeCityReputationExploreRewardReq.proto
new file mode 100644
index 00000000..678bb881
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeCityReputationExploreRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2899;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated uint32 explore_id_list = 5;
+ uint32 city_id = 3;
+}
diff --git a/proto/TakeCityReputationExploreRewardRsp.proto b/proto/TakeCityReputationExploreRewardRsp.proto
new file mode 100644
index 00000000..58b5a0f9
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeCityReputationExploreRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2825;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ repeated uint32 explore_id_list = 12;
+ uint32 city_id = 1;
+ repeated ItemParam item_list = 14;
+}
diff --git a/proto/TakeCityReputationLevelRewardReq.proto b/proto/TakeCityReputationLevelRewardReq.proto
new file mode 100644
index 00000000..2b85e4bc
--- /dev/null
+++ b/proto/TakeCityReputationLevelRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeCityReputationLevelRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2856;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level = 6;
+ uint32 city_id = 12;
+}
diff --git a/proto/TakeCityReputationLevelRewardRsp.proto b/proto/TakeCityReputationLevelRewardRsp.proto
new file mode 100644
index 00000000..4dde83c7
--- /dev/null
+++ b/proto/TakeCityReputationLevelRewardRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeCityReputationLevelRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2819;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 level = 11;
+ repeated ItemParam item_list = 2;
+ uint32 city_id = 6;
+ int32 retcode = 14;
+}
diff --git a/proto/TakeCityReputationParentQuestReq.proto b/proto/TakeCityReputationParentQuestReq.proto
index 334f2b44..76ff7a04 100644
--- a/proto/TakeCityReputationParentQuestReq.proto
+++ b/proto/TakeCityReputationParentQuestReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2821
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeCityReputationParentQuestReq {
- uint32 city_id = 1;
- repeated uint32 parent_quest_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2843;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 8;
+ repeated uint32 parent_quest_list = 9;
}
diff --git a/proto/TakeCityReputationParentQuestRsp.proto b/proto/TakeCityReputationParentQuestRsp.proto
index ec6fe3fb..f959a355 100644
--- a/proto/TakeCityReputationParentQuestRsp.proto
+++ b/proto/TakeCityReputationParentQuestRsp.proto
@@ -21,13 +21,18 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2803
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeCityReputationParentQuestRsp {
- int32 retcode = 7;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2861;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 3;
+ repeated uint32 parent_quest_list = 2;
uint32 city_id = 14;
- repeated uint32 parent_quest_list = 9;
- repeated ItemParam item_list = 13;
+ repeated ItemParam item_list = 7;
}
diff --git a/proto/TakeCompoundOutputReq.proto b/proto/TakeCompoundOutputReq.proto
index e823f197..ccb039b1 100644
--- a/proto/TakeCompoundOutputReq.proto
+++ b/proto/TakeCompoundOutputReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 174
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeCompoundOutputReq {
- uint32 compound_group_id = 3;
- uint32 compound_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 134;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 compound_group_id = 4;
+ uint32 compound_id = 9;
}
diff --git a/proto/TakeCompoundOutputRsp.proto b/proto/TakeCompoundOutputRsp.proto
index bc32bdbc..e3382c67 100644
--- a/proto/TakeCompoundOutputRsp.proto
+++ b/proto/TakeCompoundOutputRsp.proto
@@ -21,10 +21,15 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 176
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeCompoundOutputRsp {
- repeated ItemParam item_list = 6;
- int32 retcode = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 195;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam item_list = 14;
+ int32 retcode = 1;
}
diff --git a/proto/TakeCoopRewardReq.proto b/proto/TakeCoopRewardReq.proto
new file mode 100644
index 00000000..de404bcf
--- /dev/null
+++ b/proto/TakeCoopRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeCoopRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1980;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_config_id = 13;
+}
diff --git a/proto/TakeCoopRewardRsp.proto b/proto/TakeCoopRewardRsp.proto
new file mode 100644
index 00000000..ef62647a
--- /dev/null
+++ b/proto/TakeCoopRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeCoopRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1971;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 reward_config_id = 12;
+}
diff --git a/proto/TakeDeliveryDailyRewardReq.proto b/proto/TakeDeliveryDailyRewardReq.proto
new file mode 100644
index 00000000..d213db7a
--- /dev/null
+++ b/proto/TakeDeliveryDailyRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeDeliveryDailyRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2075;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 schedule_id = 8;
+}
diff --git a/proto/TakeDeliveryDailyRewardRsp.proto b/proto/TakeDeliveryDailyRewardRsp.proto
new file mode 100644
index 00000000..e8147da9
--- /dev/null
+++ b/proto/TakeDeliveryDailyRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeDeliveryDailyRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2174;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ uint32 schedule_id = 13;
+}
diff --git a/proto/TakeEffigyFirstPassRewardReq.proto b/proto/TakeEffigyFirstPassRewardReq.proto
new file mode 100644
index 00000000..4e9f8b7d
--- /dev/null
+++ b/proto/TakeEffigyFirstPassRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeEffigyFirstPassRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2138;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 challenge_id = 13;
+}
diff --git a/proto/TakeEffigyFirstPassRewardRsp.proto b/proto/TakeEffigyFirstPassRewardRsp.proto
new file mode 100644
index 00000000..73b889fd
--- /dev/null
+++ b/proto/TakeEffigyFirstPassRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeEffigyFirstPassRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2178;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 challenge_id = 10;
+ int32 retcode = 4;
+}
diff --git a/proto/TakeEffigyRewardReq.proto b/proto/TakeEffigyRewardReq.proto
new file mode 100644
index 00000000..d46ce8ed
--- /dev/null
+++ b/proto/TakeEffigyRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeEffigyRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2082;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_index = 1;
+}
diff --git a/proto/TakeEffigyRewardRsp.proto b/proto/TakeEffigyRewardRsp.proto
new file mode 100644
index 00000000..7a1f0f50
--- /dev/null
+++ b/proto/TakeEffigyRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeEffigyRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2099;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 5;
+ uint32 reward_index = 14;
+}
diff --git a/proto/TakeFirstShareRewardReq.proto b/proto/TakeFirstShareRewardReq.proto
new file mode 100644
index 00000000..d23de1cd
--- /dev/null
+++ b/proto/TakeFirstShareRewardReq.proto
@@ -0,0 +1,31 @@
+// 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 TakeFirstShareRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4034;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TakeFirstShareRewardRsp.proto b/proto/TakeFirstShareRewardRsp.proto
new file mode 100644
index 00000000..526bc0cd
--- /dev/null
+++ b/proto/TakeFirstShareRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeFirstShareRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4095;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/TakeFurnitureMakeReq.proto b/proto/TakeFurnitureMakeReq.proto
index 0908d9c6..9921decd 100644
--- a/proto/TakeFurnitureMakeReq.proto
+++ b/proto/TakeFurnitureMakeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4772
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeFurnitureMakeReq {
- uint32 index = 8;
- bool is_fast_finish = 12;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4506;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 index = 12;
+ bool is_fast_finish = 2;
uint32 make_id = 7;
}
diff --git a/proto/TakeFurnitureMakeRsp.proto b/proto/TakeFurnitureMakeRsp.proto
index 851a10a3..ef5044de 100644
--- a/proto/TakeFurnitureMakeRsp.proto
+++ b/proto/TakeFurnitureMakeRsp.proto
@@ -22,13 +22,18 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4769
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeFurnitureMakeRsp {
- FurnitureMakeSlot furniture_make_slot = 8;
- repeated ItemParam return_item_list = 2;
- uint32 make_id = 6;
- int32 retcode = 9;
- repeated ItemParam output_item_list = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4803;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+ repeated ItemParam Unk3300_JDHFPCBOGFH = 5;
+ FurnitureMakeSlot furniture_make_slot = 14;
+ repeated ItemParam Unk3300_EOLDJAMHDHM = 10;
+ uint32 make_id = 3;
}
diff --git a/proto/TakeHuntingOfferReq.proto b/proto/TakeHuntingOfferReq.proto
new file mode 100644
index 00000000..8f9c928a
--- /dev/null
+++ b/proto/TakeHuntingOfferReq.proto
@@ -0,0 +1,36 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeHuntingOfferReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4342;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 city_id = 1;
+ HuntingPair hunting_pair = 12;
+}
diff --git a/proto/TakeHuntingOfferRsp.proto b/proto/TakeHuntingOfferRsp.proto
new file mode 100644
index 00000000..6af78f2d
--- /dev/null
+++ b/proto/TakeHuntingOfferRsp.proto
@@ -0,0 +1,36 @@
+// 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 "HuntingPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeHuntingOfferRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4341;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 city_id = 3;
+ HuntingPair hunting_pair = 9;
+}
diff --git a/proto/TakeInvestigationRewardReq.proto b/proto/TakeInvestigationRewardReq.proto
new file mode 100644
index 00000000..724d6133
--- /dev/null
+++ b/proto/TakeInvestigationRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeInvestigationRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1924;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 id = 15;
+}
diff --git a/proto/TakeInvestigationRewardRsp.proto b/proto/TakeInvestigationRewardRsp.proto
new file mode 100644
index 00000000..04f79437
--- /dev/null
+++ b/proto/TakeInvestigationRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeInvestigationRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1907;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 11;
+ uint32 id = 4;
+}
diff --git a/proto/TakeInvestigationTargetRewardReq.proto b/proto/TakeInvestigationTargetRewardReq.proto
new file mode 100644
index 00000000..943e387e
--- /dev/null
+++ b/proto/TakeInvestigationTargetRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeInvestigationTargetRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1903;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 quest_id = 2;
+}
diff --git a/proto/TakeInvestigationTargetRewardRsp.proto b/proto/TakeInvestigationTargetRewardRsp.proto
new file mode 100644
index 00000000..fc24e3d5
--- /dev/null
+++ b/proto/TakeInvestigationTargetRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeInvestigationTargetRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1905;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 3;
+ uint32 quest_id = 15;
+}
diff --git a/proto/TakeMaterialDeleteReturnReq.proto b/proto/TakeMaterialDeleteReturnReq.proto
index 2e955ff2..cdb28614 100644
--- a/proto/TakeMaterialDeleteReturnReq.proto
+++ b/proto/TakeMaterialDeleteReturnReq.proto
@@ -21,10 +21,15 @@ import "MaterialDeleteReturnType.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 629
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeMaterialDeleteReturnReq {
- MaterialDeleteReturnType type = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 620;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ MaterialDeleteReturnType type = 11;
}
diff --git a/proto/TakeMaterialDeleteReturnRsp.proto b/proto/TakeMaterialDeleteReturnRsp.proto
index 080958ec..679ca5a3 100644
--- a/proto/TakeMaterialDeleteReturnRsp.proto
+++ b/proto/TakeMaterialDeleteReturnRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 657
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeMaterialDeleteReturnRsp {
- int32 retcode = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 663;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
}
diff --git a/proto/TakeOfferingLevelRewardReq.proto b/proto/TakeOfferingLevelRewardReq.proto
new file mode 100644
index 00000000..9a219260
--- /dev/null
+++ b/proto/TakeOfferingLevelRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeOfferingLevelRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2901;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level = 14;
+ uint32 offering_id = 12;
+}
diff --git a/proto/TakeOfferingLevelRewardRsp.proto b/proto/TakeOfferingLevelRewardRsp.proto
new file mode 100644
index 00000000..14590d63
--- /dev/null
+++ b/proto/TakeOfferingLevelRewardRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeOfferingLevelRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2902;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated ItemParam item_list = 4;
+ uint32 offering_id = 12;
+ uint32 take_level = 10;
+ int32 retcode = 3;
+}
diff --git a/proto/TakePlayerLevelRewardReq.proto b/proto/TakePlayerLevelRewardReq.proto
index 8121db57..48d7e719 100644
--- a/proto/TakePlayerLevelRewardReq.proto
+++ b/proto/TakePlayerLevelRewardReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 129
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakePlayerLevelRewardReq {
- uint32 level = 3;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 120;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 level = 15;
}
diff --git a/proto/TakePlayerLevelRewardRsp.proto b/proto/TakePlayerLevelRewardRsp.proto
index c9e63e83..0bd53bdd 100644
--- a/proto/TakePlayerLevelRewardRsp.proto
+++ b/proto/TakePlayerLevelRewardRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 157
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakePlayerLevelRewardRsp {
- uint32 reward_id = 9;
- int32 retcode = 13;
- uint32 level = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 163;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 reward_id = 10;
+ uint32 level = 15;
+ int32 retcode = 12;
}
diff --git a/proto/TakeRegionSearchRewardReq.proto b/proto/TakeRegionSearchRewardReq.proto
new file mode 100644
index 00000000..fb12d7dd
--- /dev/null
+++ b/proto/TakeRegionSearchRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeRegionSearchRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5622;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 id = 8;
+ uint32 search_id = 6;
+}
diff --git a/proto/TakeRegionSearchRewardRsp.proto b/proto/TakeRegionSearchRewardRsp.proto
new file mode 100644
index 00000000..02b8c86b
--- /dev/null
+++ b/proto/TakeRegionSearchRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 TakeRegionSearchRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5635;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 search_id = 8;
+ int32 retcode = 3;
+ uint32 id = 1;
+}
diff --git a/proto/TakeResinCardDailyRewardReq.proto b/proto/TakeResinCardDailyRewardReq.proto
new file mode 100644
index 00000000..b91e18f0
--- /dev/null
+++ b/proto/TakeResinCardDailyRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TakeResinCardDailyRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4117;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 product_config_id = 1;
+}
diff --git a/proto/TakeResinCardDailyRewardRsp.proto b/proto/TakeResinCardDailyRewardRsp.proto
new file mode 100644
index 00000000..f1e4a886
--- /dev/null
+++ b/proto/TakeResinCardDailyRewardRsp.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeResinCardDailyRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4112;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ repeated ItemParam item_vec = 15;
+ uint32 product_config_id = 13;
+}
diff --git a/proto/TakeReunionFirstGiftRewardReq.proto b/proto/TakeReunionFirstGiftRewardReq.proto
new file mode 100644
index 00000000..ea863ffa
--- /dev/null
+++ b/proto/TakeReunionFirstGiftRewardReq.proto
@@ -0,0 +1,31 @@
+// 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 TakeReunionFirstGiftRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5072;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TakeReunionFirstGiftRewardRsp.proto b/proto/TakeReunionFirstGiftRewardRsp.proto
new file mode 100644
index 00000000..f7190e96
--- /dev/null
+++ b/proto/TakeReunionFirstGiftRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TakeReunionFirstGiftRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5085;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 4;
+ int32 reward_id = 1;
+}
diff --git a/proto/TakeReunionMissionRewardReq.proto b/proto/TakeReunionMissionRewardReq.proto
new file mode 100644
index 00000000..406f4c59
--- /dev/null
+++ b/proto/TakeReunionMissionRewardReq.proto
@@ -0,0 +1,35 @@
+// 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 TakeReunionMissionRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5095;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 mission_id = 3;
+ uint32 reward_id = 5;
+ uint32 reward_index = 6;
+}
diff --git a/proto/TakeReunionMissionRewardRsp.proto b/proto/TakeReunionMissionRewardRsp.proto
new file mode 100644
index 00000000..f37d4a07
--- /dev/null
+++ b/proto/TakeReunionMissionRewardRsp.proto
@@ -0,0 +1,38 @@
+// 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 "ReunionMissionInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeReunionMissionRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5052;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_id = 13;
+ ReunionMissionInfo mission_info = 2;
+ uint32 reward_index = 6;
+ int32 retcode = 3;
+}
diff --git a/proto/TakeReunionSignInRewardReq.proto b/proto/TakeReunionSignInRewardReq.proto
new file mode 100644
index 00000000..b4117d84
--- /dev/null
+++ b/proto/TakeReunionSignInRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeReunionSignInRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5094;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 reward_day = 1;
+ uint32 config_id = 11;
+}
diff --git a/proto/TakeReunionSignInRewardRsp.proto b/proto/TakeReunionSignInRewardRsp.proto
new file mode 100644
index 00000000..7a0dc008
--- /dev/null
+++ b/proto/TakeReunionSignInRewardRsp.proto
@@ -0,0 +1,35 @@
+// 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 "ReunionSignInInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TakeReunionSignInRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5067;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ ReunionSignInInfo sign_in_info = 13;
+ int32 retcode = 7;
+}
diff --git a/proto/TakeReunionWatcherRewardReq.proto b/proto/TakeReunionWatcherRewardReq.proto
new file mode 100644
index 00000000..ac21a8fe
--- /dev/null
+++ b/proto/TakeReunionWatcherRewardReq.proto
@@ -0,0 +1,34 @@
+// 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 TakeReunionWatcherRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5065;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 watcher_id = 14;
+ uint32 mission_id = 7;
+}
diff --git a/proto/TakeReunionWatcherRewardRsp.proto b/proto/TakeReunionWatcherRewardRsp.proto
new file mode 100644
index 00000000..f565f3f3
--- /dev/null
+++ b/proto/TakeReunionWatcherRewardRsp.proto
@@ -0,0 +1,34 @@
+// 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 TakeReunionWatcherRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 5068;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 mission_id = 14;
+ uint32 watcher_id = 9;
+}
diff --git a/proto/TakeoffEquipReq.proto b/proto/TakeoffEquipReq.proto
index e4c8dd7c..5a74965c 100644
--- a/proto/TakeoffEquipReq.proto
+++ b/proto/TakeoffEquipReq.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 605
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TakeoffEquipReq {
- uint64 avatar_guid = 8;
- uint32 slot = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 642;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 slot = 9;
+ uint64 avatar_guid = 13;
}
diff --git a/proto/TakeoffEquipRsp.proto b/proto/TakeoffEquipRsp.proto
index dcc85032..b894233b 100644
--- a/proto/TakeoffEquipRsp.proto
+++ b/proto/TakeoffEquipRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 682
-// EnetChannelId: 0
-// EnetIsReliable: true
message TakeoffEquipRsp {
- uint64 avatar_guid = 9;
- int32 retcode = 6;
- uint32 slot = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 690;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 slot = 3;
+ int32 retcode = 10;
+ uint64 avatar_guid = 7;
}
diff --git a/proto/TanukiTravelActivityDetailInfo.proto b/proto/TanukiTravelActivityDetailInfo.proto
index faa0cbfe..8fcee4a0 100644
--- a/proto/TanukiTravelActivityDetailInfo.proto
+++ b/proto/TanukiTravelActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "TanukiTravelLevelData.proto";
option java_package = "emu.grasscutter.net.proto";
message TanukiTravelActivityDetailInfo {
- repeated TanukiTravelLevelData tanuki_travel_level_data_list = 4;
- bool is_content_closed = 11;
- uint32 finished_level_index = 10;
+ repeated TanukiTravelLevelData tanuki_travel_level_data_list = 5;
+ bool is_content_closed = 12;
+ uint32 finished_level_index = 15;
}
diff --git a/proto/TanukiTravelFinishGuideQuestNotify.proto b/proto/TanukiTravelFinishGuideQuestNotify.proto
index c5208062..17a4339c 100644
--- a/proto/TanukiTravelFinishGuideQuestNotify.proto
+++ b/proto/TanukiTravelFinishGuideQuestNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8924
-// EnetChannelId: 0
-// EnetIsReliable: true
message TanukiTravelFinishGuideQuestNotify {
- uint32 activity_id = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8481;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 activity_id = 1;
}
diff --git a/proto/TanukiTravelLevelData.proto b/proto/TanukiTravelLevelData.proto
index e1063dc6..43541629 100644
--- a/proto/TanukiTravelLevelData.proto
+++ b/proto/TanukiTravelLevelData.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TanukiTravelLevelData {
- bool is_open = 5;
- uint32 route_id = 9;
- bool is_finish = 15;
+ bool is_finish = 7;
+ bool is_open = 9;
+ uint32 route_id = 8;
}
diff --git a/proto/TaskVar.proto b/proto/TaskVar.proto
new file mode 100644
index 00000000..b4f432d3
--- /dev/null
+++ b/proto/TaskVar.proto
@@ -0,0 +1,25 @@
+// 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 TaskVar {
+ uint32 key = 2;
+ repeated int32 value_list = 7;
+}
diff --git a/proto/TaskVarNotify.proto b/proto/TaskVarNotify.proto
new file mode 100644
index 00000000..9acae605
--- /dev/null
+++ b/proto/TaskVarNotify.proto
@@ -0,0 +1,34 @@
+// 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 "TaskVar.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TaskVarNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 136;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated TaskVar task_var_list = 13;
+}
diff --git a/proto/TeamEnterSceneInfo.proto b/proto/TeamEnterSceneInfo.proto
index 5038f087..d3f0ecf8 100644
--- a/proto/TeamEnterSceneInfo.proto
+++ b/proto/TeamEnterSceneInfo.proto
@@ -23,7 +23,7 @@ import "AbilitySyncStateInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message TeamEnterSceneInfo {
- AbilityControlBlock ability_control_block = 7;
- AbilitySyncStateInfo team_ability_info = 10;
- uint32 team_entity_id = 15;
+ AbilitySyncStateInfo team_ability_info = 6;
+ AbilityControlBlock ability_control_block = 5;
+ uint32 team_entity_id = 11;
}
diff --git a/proto/TeamEntityInfo.proto b/proto/TeamEntityInfo.proto
index b3983f49..7c60921c 100644
--- a/proto/TeamEntityInfo.proto
+++ b/proto/TeamEntityInfo.proto
@@ -22,7 +22,7 @@ import "AbilitySyncStateInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message TeamEntityInfo {
- uint32 authority_peer_id = 10;
- AbilitySyncStateInfo team_ability_info = 9;
- uint32 team_entity_id = 8;
+ uint32 team_entity_id = 3;
+ uint32 authority_peer_id = 12;
+ AbilitySyncStateInfo team_ability_info = 5;
}
diff --git a/proto/TeamResonanceChangeNotify.proto b/proto/TeamResonanceChangeNotify.proto
new file mode 100644
index 00000000..35201833
--- /dev/null
+++ b/proto/TeamResonanceChangeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "AvatarTeamResonanceInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TeamResonanceChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 1090;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated AvatarTeamResonanceInfo info_list = 9;
+}
diff --git a/proto/ToTheMoonAddObstacleReq.proto b/proto/ToTheMoonAddObstacleReq.proto
new file mode 100644
index 00000000..98e107a0
--- /dev/null
+++ b/proto/ToTheMoonAddObstacleReq.proto
@@ -0,0 +1,38 @@
+// 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 "ToTheMoonObstacleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ToTheMoonAddObstacleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6143;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool use_edge = 7;
+ ToTheMoonObstacleInfo obstacle = 8;
+ uint32 scene_id = 13;
+ int32 query_id = 5;
+}
diff --git a/proto/ToTheMoonAddObstacleRsp.proto b/proto/ToTheMoonAddObstacleRsp.proto
new file mode 100644
index 00000000..786e824d
--- /dev/null
+++ b/proto/ToTheMoonAddObstacleRsp.proto
@@ -0,0 +1,36 @@
+// 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 "DynamicNodes.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ToTheMoonAddObstacleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6161;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ DynamicNodes dynamic_nodes = 7;
+ int32 retcode = 11;
+ int32 query_id = 9;
+}
diff --git a/proto/ToTheMoonEnterSceneReq.proto b/proto/ToTheMoonEnterSceneReq.proto
new file mode 100644
index 00000000..6c1733b2
--- /dev/null
+++ b/proto/ToTheMoonEnterSceneReq.proto
@@ -0,0 +1,34 @@
+// 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 ToTheMoonEnterSceneReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6119;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 version = 11;
+ uint32 scene_id = 13;
+}
diff --git a/proto/ToTheMoonEnterSceneRsp.proto b/proto/ToTheMoonEnterSceneRsp.proto
new file mode 100644
index 00000000..eaad74af
--- /dev/null
+++ b/proto/ToTheMoonEnterSceneRsp.proto
@@ -0,0 +1,32 @@
+// 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 ToTheMoonEnterSceneRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6200;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
+}
diff --git a/proto/ToTheMoonObstacleInfo.proto b/proto/ToTheMoonObstacleInfo.proto
new file mode 100644
index 00000000..469105e1
--- /dev/null
+++ b/proto/ToTheMoonObstacleInfo.proto
@@ -0,0 +1,36 @@
+// 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 "MathQuaternion.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ToTheMoonObstacleInfo {
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+
+ int32 handle_id = 1;
+ ShapeType type = 8;
+ Vector half_extents = 7;
+ Vector center = 11;
+ MathQuaternion rotation = 12;
+}
diff --git a/proto/ToTheMoonObstaclesModifyNotify.proto b/proto/ToTheMoonObstaclesModifyNotify.proto
new file mode 100644
index 00000000..bca239fe
--- /dev/null
+++ b/proto/ToTheMoonObstaclesModifyNotify.proto
@@ -0,0 +1,38 @@
+// 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 "ToTheMoonObstacleInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ToTheMoonObstaclesModifyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6157;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated ToTheMoonObstacleInfo add_obstacles = 3;
+ bool use_edge = 7;
+ uint32 scene_id = 4;
+ repeated int32 remove_obstacle_ids = 5;
+}
diff --git a/proto/ToTheMoonPingNotify.proto b/proto/ToTheMoonPingNotify.proto
new file mode 100644
index 00000000..87987390
--- /dev/null
+++ b/proto/ToTheMoonPingNotify.proto
@@ -0,0 +1,31 @@
+// 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 ToTheMoonPingNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6156;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/ToTheMoonQueryPathReq.proto b/proto/ToTheMoonQueryPathReq.proto
index 410bf8c4..2e7392c1 100644
--- a/proto/ToTheMoonQueryPathReq.proto
+++ b/proto/ToTheMoonQueryPathReq.proto
@@ -21,21 +21,15 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 6172
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message ToTheMoonQueryPathReq {
- Vector destination_pos = 9;
- int32 fuzzy_range = 15;
- OptionType query_type = 8;
- AStarMethod astar_method = 1;
- uint32 scene_id = 6;
- int32 query_id = 11;
- FilterType filter_type = 3;
- bool refined = 13;
- bool use_full_neighbor = 5;
- Vector source_pos = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
enum OptionType {
OPTION_TYPE_NONE = 0;
@@ -54,4 +48,15 @@ message ToTheMoonQueryPathReq {
FILTER_TYPE_AIR = 1;
FILTER_TYPE_WATER = 2;
}
+
+ OptionType query_type = 5;
+ bool Unk3300_BBLMBILIOGP = 8;
+ FilterType filter_type = 13;
+ int32 query_id = 2;
+ AStarMethod astar_method = 12;
+ Vector source_pos = 11;
+ Vector destination_pos = 3;
+ int32 fuzzy_range = 7;
+ bool Unk3300_OFGONAMNIJG = 6;
+ uint32 scene_id = 4;
}
diff --git a/proto/ToTheMoonQueryPathRsp.proto b/proto/ToTheMoonQueryPathRsp.proto
index 86de647a..16a1976d 100644
--- a/proto/ToTheMoonQueryPathRsp.proto
+++ b/proto/ToTheMoonQueryPathRsp.proto
@@ -21,20 +21,25 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 6198
-// EnetChannelId: 0
-// EnetIsReliable: true
message ToTheMoonQueryPathRsp {
- PathStatusType query_status = 7;
- repeated int64 index = 3;
- repeated Vector corners = 14;
- repeated int32 level = 1;
- int32 retcode = 8;
- int32 query_id = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6130;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum PathStatusType {
PATH_STATUS_TYPE_FAIL = 0;
PATH_STATUS_TYPE_SUCC = 1;
PATH_STATUS_TYPE_PARTIAL = 2;
}
+
+ repeated int64 index = 5;
+ repeated Vector corners = 3;
+ int32 query_id = 15;
+ int32 retcode = 10;
+ repeated int32 level = 8;
+ PathStatusType query_status = 14;
}
diff --git a/proto/ToTheMoonRemoveObstacleReq.proto b/proto/ToTheMoonRemoveObstacleReq.proto
new file mode 100644
index 00000000..c56121f7
--- /dev/null
+++ b/proto/ToTheMoonRemoveObstacleReq.proto
@@ -0,0 +1,40 @@
+// 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 ToTheMoonRemoveObstacleReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6147;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ enum ObstacleType {
+ OBSTACLE_TYPE_BOX = 0;
+ OBSTACLE_TYPE_CAPSULE = 1;
+ }
+
+ int32 handle = 15;
+ uint32 scene_id = 7;
+ int32 query_id = 6;
+}
diff --git a/proto/ToTheMoonRemoveObstacleRsp.proto b/proto/ToTheMoonRemoveObstacleRsp.proto
new file mode 100644
index 00000000..04f8fe60
--- /dev/null
+++ b/proto/ToTheMoonRemoveObstacleRsp.proto
@@ -0,0 +1,36 @@
+// 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 "DynamicNodes.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message ToTheMoonRemoveObstacleRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6178;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+ DynamicNodes dynamic_nodes = 12;
+ int32 query_id = 5;
+}
diff --git a/proto/TowerAllDataReq.proto b/proto/TowerAllDataReq.proto
index e1555d1c..dfeae744 100644
--- a/proto/TowerAllDataReq.proto
+++ b/proto/TowerAllDataReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2490
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TowerAllDataReq {
- bool is_interact = 2;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2447;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_interact = 15;
}
diff --git a/proto/TowerAllDataRsp.proto b/proto/TowerAllDataRsp.proto
index fca0f504..27dbc678 100644
--- a/proto/TowerAllDataRsp.proto
+++ b/proto/TowerAllDataRsp.proto
@@ -23,25 +23,30 @@ import "TowerMonthlyBrief.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2473
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerAllDataRsp {
- uint32 tower_schedule_id = 10;
- uint32 daily_level_index = 9;
- map skip_floor_granted_reward_item_map = 12;
- bool is_first_interact = 3;
- bool is_finished_entrance_floor = 1;
- repeated TowerFloorRecord tower_floor_record_list = 5;
- uint32 daily_floor_id = 11;
- uint32 commemorative_reward_id = 13;
- TowerMonthlyBrief last_schedule_monthly_brief = 1222;
- uint32 next_schedule_change_time = 6;
- uint32 valid_tower_record_num = 7;
- uint32 skip_to_floor_index = 2;
- map floor_open_time_map = 4;
- TowerCurLevelRecord cur_level_record = 15;
- int32 retcode = 8;
- uint32 schedule_start_time = 914;
- TowerMonthlyBrief monthly_brief = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2478;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_HCDFJBHMHHF = 6;
+ uint32 Unk3300_ILDODKDADMI = 8;
+ bool is_first_interact = 5;
+ uint32 tower_schedule_id = 1;
+ uint32 Unk3300_JBACKENDHDG = 10;
+ uint32 Unk3300_KGHOIIAEIHH = 610;
+ int32 retcode = 11;
+ uint32 Unk3300_OHCHCJGJIDK = 4;
+ uint32 Unk3300_BBHKBDDFPFE = 2;
+ TowerMonthlyBrief last_schedule_monthly_brief = 1245;
+ TowerCurLevelRecord cur_level_record = 12;
+ repeated TowerFloorRecord tower_floor_record_list = 13;
+ TowerMonthlyBrief monthly_brief = 9;
+ uint32 Unk3300_LEKODCFPINJ = 7;
+ map Unk3300_PJPEEJACFJH = 3;
+ bool is_finished_entrance_floor = 15;
+ map Unk3300_GNINCLBMMDJ = 14;
}
diff --git a/proto/TowerBriefDataNotify.proto b/proto/TowerBriefDataNotify.proto
new file mode 100644
index 00000000..2f850112
--- /dev/null
+++ b/proto/TowerBriefDataNotify.proto
@@ -0,0 +1,38 @@
+// 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 TowerBriefDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2479;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_OLBDJEGPDFE = 6;
+ uint32 Unk3300_ILDODKDADMI = 9;
+ bool is_finished_entrance_floor = 14;
+ uint32 Unk3300_CFKJBOIJDBD = 1;
+ uint32 tower_schedule_id = 11;
+ uint32 Unk3300_KGHOIIAEIHH = 8;
+ uint32 Unk3300_CNMMBJABMKA = 7;
+}
diff --git a/proto/TowerBuffSelectReq.proto b/proto/TowerBuffSelectReq.proto
new file mode 100644
index 00000000..40d9ff02
--- /dev/null
+++ b/proto/TowerBuffSelectReq.proto
@@ -0,0 +1,33 @@
+// 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 TowerBuffSelectReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2448;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 tower_buff_id = 7;
+}
diff --git a/proto/TowerBuffSelectRsp.proto b/proto/TowerBuffSelectRsp.proto
new file mode 100644
index 00000000..795201c0
--- /dev/null
+++ b/proto/TowerBuffSelectRsp.proto
@@ -0,0 +1,33 @@
+// 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 TowerBuffSelectRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2499;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ uint32 tower_buff_id = 6;
+}
diff --git a/proto/TowerCurLevelRecord.proto b/proto/TowerCurLevelRecord.proto
index 77789806..b141de44 100644
--- a/proto/TowerCurLevelRecord.proto
+++ b/proto/TowerCurLevelRecord.proto
@@ -22,10 +22,10 @@ import "TowerTeam.proto";
option java_package = "emu.grasscutter.net.proto";
message TowerCurLevelRecord {
+ repeated uint32 buff_id_list = 14;
+ bool is_upper_part = 4;
+ uint32 Unk3300_KPGBPDIJJJJ = 6;
+ bool is_empty = 1;
repeated TowerTeam tower_team_list = 8;
- bool is_empty = 6;
- repeated uint32 buff_id_list = 4;
- bool is_upper_part = 2;
- uint32 cur_level_index = 1;
- uint32 cur_floor_id = 15;
+ uint32 Unk3300_PMHCLPFPHBJ = 9;
}
diff --git a/proto/TowerCurLevelRecordChangeNotify.proto b/proto/TowerCurLevelRecordChangeNotify.proto
index bef757f8..a62db3bf 100644
--- a/proto/TowerCurLevelRecordChangeNotify.proto
+++ b/proto/TowerCurLevelRecordChangeNotify.proto
@@ -21,9 +21,14 @@ import "TowerCurLevelRecord.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2412
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerCurLevelRecordChangeNotify {
- TowerCurLevelRecord cur_level_record = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2456;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TowerCurLevelRecord cur_level_record = 1;
}
diff --git a/proto/TowerDailyRewardProgressChangeNotify.proto b/proto/TowerDailyRewardProgressChangeNotify.proto
new file mode 100644
index 00000000..d07ffe6c
--- /dev/null
+++ b/proto/TowerDailyRewardProgressChangeNotify.proto
@@ -0,0 +1,33 @@
+// 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 TowerDailyRewardProgressChangeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2419;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_OHCHCJGJIDK = 8;
+ uint32 Unk3300_JBACKENDHDG = 6;
+}
diff --git a/proto/TowerEnterLevelReq.proto b/proto/TowerEnterLevelReq.proto
index 7cc2ecda..ac470de7 100644
--- a/proto/TowerEnterLevelReq.proto
+++ b/proto/TowerEnterLevelReq.proto
@@ -19,10 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2431
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TowerEnterLevelReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2427;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
uint32 enter_point_id = 3;
}
diff --git a/proto/TowerEnterLevelRsp.proto b/proto/TowerEnterLevelRsp.proto
index e056b248..97bc4068 100644
--- a/proto/TowerEnterLevelRsp.proto
+++ b/proto/TowerEnterLevelRsp.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2475
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerEnterLevelRsp {
- repeated uint32 tower_buff_id_list = 10;
- int32 retcode = 1;
- uint32 level_index = 14;
- uint32 floor_id = 5;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2439;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 tower_buff_id_list = 5;
+ uint32 level_index = 3;
+ uint32 floor_id = 11;
+ int32 retcode = 14;
}
diff --git a/proto/TowerFightRecordPair.proto b/proto/TowerFightRecordPair.proto
new file mode 100644
index 00000000..26863fe0
--- /dev/null
+++ b/proto/TowerFightRecordPair.proto
@@ -0,0 +1,25 @@
+// 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 TowerFightRecordPair {
+ uint32 avatar_id = 12;
+ uint32 data = 1;
+}
diff --git a/proto/TowerFloorRecord.proto b/proto/TowerFloorRecord.proto
index e77a0333..4eabcc98 100644
--- a/proto/TowerFloorRecord.proto
+++ b/proto/TowerFloorRecord.proto
@@ -22,8 +22,8 @@ import "TowerLevelRecord.proto";
option java_package = "emu.grasscutter.net.proto";
message TowerFloorRecord {
- uint32 floor_star_reward_progress = 15;
- map passed_level_map = 8;
- uint32 floor_id = 12;
+ map passed_level_map = 11;
repeated TowerLevelRecord passed_level_record_list = 2;
+ uint32 floor_id = 12;
+ uint32 floor_star_reward_progress = 4;
}
diff --git a/proto/TowerFloorRecordChangeNotify.proto b/proto/TowerFloorRecordChangeNotify.proto
index a8c3ccfd..e718f9de 100644
--- a/proto/TowerFloorRecordChangeNotify.proto
+++ b/proto/TowerFloorRecordChangeNotify.proto
@@ -21,10 +21,15 @@ import "TowerFloorRecord.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2498
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerFloorRecordChangeNotify {
- bool is_finished_entrance_floor = 11;
- repeated TowerFloorRecord tower_floor_record_list = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2430;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool is_finished_entrance_floor = 4;
+ repeated TowerFloorRecord tower_floor_record_list = 15;
}
diff --git a/proto/TowerGetFloorStarRewardReq.proto b/proto/TowerGetFloorStarRewardReq.proto
new file mode 100644
index 00000000..9a11d6ae
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardReq.proto
@@ -0,0 +1,33 @@
+// 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 TowerGetFloorStarRewardReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2444;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 floor_id = 11;
+}
diff --git a/proto/TowerGetFloorStarRewardRsp.proto b/proto/TowerGetFloorStarRewardRsp.proto
new file mode 100644
index 00000000..d6d936f7
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardRsp.proto
@@ -0,0 +1,33 @@
+// 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 TowerGetFloorStarRewardRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2407;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 10;
+ uint32 floor_id = 15;
+}
diff --git a/proto/TowerLevelEndNotify.proto b/proto/TowerLevelEndNotify.proto
index 0fcd7298..2b1982b3 100644
--- a/proto/TowerLevelEndNotify.proto
+++ b/proto/TowerLevelEndNotify.proto
@@ -21,19 +21,24 @@ import "ItemParam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2495
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerLevelEndNotify {
- uint32 next_floor_id = 4;
- repeated ItemParam reward_item_list = 12;
- uint32 continue_state = 15;
- bool is_success = 5;
- repeated uint32 finished_star_cond_list = 6;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2433;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
enum ContinueStateType {
CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE = 0;
CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_LEVEL = 1;
CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_FLOOR = 2;
}
+
+ uint32 Unk3300_BOPIBKGAMID = 2;
+ repeated uint32 finished_star_cond_list = 6;
+ uint32 Unk3300_AHBGPMBHPMO = 4;
+ bool is_success = 15;
+ repeated ItemParam reward_item_list = 10;
}
diff --git a/proto/TowerLevelRecord.proto b/proto/TowerLevelRecord.proto
index a697644f..41404e01 100644
--- a/proto/TowerLevelRecord.proto
+++ b/proto/TowerLevelRecord.proto
@@ -21,5 +21,5 @@ option java_package = "emu.grasscutter.net.proto";
message TowerLevelRecord {
repeated uint32 satisfied_cond_list = 13;
- uint32 level_id = 10;
+ uint32 level_id = 15;
}
diff --git a/proto/TowerLevelStarCondData.proto b/proto/TowerLevelStarCondData.proto
index c4039e43..0d87a8bd 100644
--- a/proto/TowerLevelStarCondData.proto
+++ b/proto/TowerLevelStarCondData.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TowerLevelStarCondData {
- bool is_fail = 15;
- uint32 cond_value = 9;
- bool is_pause = 13;
- uint32 star_cond_index = 6;
+ bool Unk3300_KBCFDFOAJMM = 14;
+ bool Unk3300_CPBCNACKAAK = 5;
+ uint32 Unk3300_JGOLBFMJBCL = 11;
+ uint32 Unk3300_MGHNDJAACME = 12;
}
diff --git a/proto/TowerLevelStarCondNotify.proto b/proto/TowerLevelStarCondNotify.proto
index ef632ba5..932f5441 100644
--- a/proto/TowerLevelStarCondNotify.proto
+++ b/proto/TowerLevelStarCondNotify.proto
@@ -21,11 +21,16 @@ import "TowerLevelStarCondData.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2406
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerLevelStarCondNotify {
- uint32 level_index = 14;
- uint32 floor_id = 11;
- repeated TowerLevelStarCondData cond_data_list = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2410;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated TowerLevelStarCondData cond_data_list = 1;
+ uint32 level_index = 8;
+ uint32 floor_id = 10;
}
diff --git a/proto/TowerMiddleLevelChangeTeamNotify.proto b/proto/TowerMiddleLevelChangeTeamNotify.proto
index ce454528..322d45aa 100644
--- a/proto/TowerMiddleLevelChangeTeamNotify.proto
+++ b/proto/TowerMiddleLevelChangeTeamNotify.proto
@@ -19,7 +19,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2434
-// EnetChannelId: 0
-// EnetIsReliable: true
-message TowerMiddleLevelChangeTeamNotify {}
+message TowerMiddleLevelChangeTeamNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2480;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/TowerMonthlyBrief.proto b/proto/TowerMonthlyBrief.proto
index 97f402bb..be31f565 100644
--- a/proto/TowerMonthlyBrief.proto
+++ b/proto/TowerMonthlyBrief.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TowerMonthlyBrief {
- uint32 tower_schedule_id = 15;
- uint32 best_floor_index = 6;
- uint32 best_level_index = 3;
- uint32 total_star_count = 12;
+ uint32 Unk3300_AIFHPHDGEIE = 3;
+ uint32 Unk3300_CPNOLKAKHEJ = 6;
+ uint32 Unk3300_LEMOMFLHBLA = 9;
+ uint32 tower_schedule_id = 13;
}
diff --git a/proto/TowerMonthlyCombatRecord.proto b/proto/TowerMonthlyCombatRecord.proto
new file mode 100644
index 00000000..c7936662
--- /dev/null
+++ b/proto/TowerMonthlyCombatRecord.proto
@@ -0,0 +1,31 @@
+// 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 "TowerFightRecordPair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TowerMonthlyCombatRecord {
+ repeated TowerFightRecordPair most_reveal_avatar_list = 3;
+ TowerFightRecordPair Unk3300_EIGEGOGFJND = 8;
+ TowerFightRecordPair Unk3300_OALLHJPBOHO = 2;
+ TowerFightRecordPair Unk3300_KMCLPHEDNCJ = 14;
+ TowerFightRecordPair Unk3300_KIKPMNPKLDG = 7;
+ TowerFightRecordPair Unk3300_CCFHOFCIEPF = 15;
+}
diff --git a/proto/TowerMonthlyDetail.proto b/proto/TowerMonthlyDetail.proto
new file mode 100644
index 00000000..06f9debf
--- /dev/null
+++ b/proto/TowerMonthlyDetail.proto
@@ -0,0 +1,28 @@
+// 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 "TowerMonthlyBrief.proto";
+import "TowerMonthlyCombatRecord.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TowerMonthlyDetail {
+ TowerMonthlyCombatRecord monthly_combat_record = 15;
+ TowerMonthlyBrief monthly_brief = 4;
+}
diff --git a/proto/TowerRecordHandbookReq.proto b/proto/TowerRecordHandbookReq.proto
new file mode 100644
index 00000000..5422ff3a
--- /dev/null
+++ b/proto/TowerRecordHandbookReq.proto
@@ -0,0 +1,31 @@
+// 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 TowerRecordHandbookReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2446;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TowerRecordHandbookRsp.proto b/proto/TowerRecordHandbookRsp.proto
new file mode 100644
index 00000000..240195bf
--- /dev/null
+++ b/proto/TowerRecordHandbookRsp.proto
@@ -0,0 +1,35 @@
+// 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 "TowerMonthlyDetail.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TowerRecordHandbookRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2475;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 8;
+ repeated TowerMonthlyDetail monthly_detail_list = 4;
+}
diff --git a/proto/TowerSurrenderReq.proto b/proto/TowerSurrenderReq.proto
new file mode 100644
index 00000000..e7cbc6e0
--- /dev/null
+++ b/proto/TowerSurrenderReq.proto
@@ -0,0 +1,31 @@
+// 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 TowerSurrenderReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2437;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TowerSurrenderRsp.proto b/proto/TowerSurrenderRsp.proto
new file mode 100644
index 00000000..653a070f
--- /dev/null
+++ b/proto/TowerSurrenderRsp.proto
@@ -0,0 +1,32 @@
+// 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 TowerSurrenderRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2489;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 14;
+}
diff --git a/proto/TowerTeam.proto b/proto/TowerTeam.proto
index 604be60c..61169ec2 100644
--- a/proto/TowerTeam.proto
+++ b/proto/TowerTeam.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TowerTeam {
- uint32 tower_team_id = 3;
- repeated uint64 avatar_guid_list = 14;
+ repeated uint64 avatar_guid_list = 5;
+ uint32 tower_team_id = 14;
}
diff --git a/proto/TowerTeamSelectReq.proto b/proto/TowerTeamSelectReq.proto
index 34dc284e..0246bcb9 100644
--- a/proto/TowerTeamSelectReq.proto
+++ b/proto/TowerTeamSelectReq.proto
@@ -21,11 +21,16 @@ import "TowerTeam.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2421
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TowerTeamSelectReq {
- repeated TowerTeam tower_team_list = 11;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2443;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated TowerTeam tower_team_list = 5;
uint32 floor_id = 10;
}
diff --git a/proto/TowerTeamSelectRsp.proto b/proto/TowerTeamSelectRsp.proto
index 7057fc51..f8ee80e9 100644
--- a/proto/TowerTeamSelectRsp.proto
+++ b/proto/TowerTeamSelectRsp.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2403
-// EnetChannelId: 0
-// EnetIsReliable: true
message TowerTeamSelectRsp {
- int32 retcode = 8;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2461;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 15;
}
diff --git a/proto/TrackingIOInfo.proto b/proto/TrackingIOInfo.proto
index 99d2f356..074ce671 100644
--- a/proto/TrackingIOInfo.proto
+++ b/proto/TrackingIOInfo.proto
@@ -20,11 +20,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TrackingIOInfo {
- string rydevicetype = 11;
- string mac = 6;
- string deviceid = 9;
- string client_tz = 5;
- string current_caid = 7;
- string cached_caid = 15;
- string appid = 1;
+ string Unk3300_KGGPDKGDELG = 10;
+ string Unk3300_PIBFPDAMJLE = 12;
+ string Unk3300_NMDNLHLAKAM = 7;
+ string Unk3300_GEJJKDLGFPH = 5;
+ string Unk3300_CNPIGDOEJPB = 2;
+ string Unk3300_CCOGBICMHKG = 9;
+ string Unk3300_DJHKHEFPCDK = 1;
}
diff --git a/proto/TransmitReason.proto b/proto/TransmitReason.proto
new file mode 100644
index 00000000..95f5092e
--- /dev/null
+++ b/proto/TransmitReason.proto
@@ -0,0 +1,25 @@
+// 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 TransmitReason {
+ TRANSMIT_REASON_NONE = 0;
+ TRANSMIT_REASON_QUEST = 1;
+}
diff --git a/proto/TreasureMapActivityDetailInfo.proto b/proto/TreasureMapActivityDetailInfo.proto
index ace45119..5ee83f05 100644
--- a/proto/TreasureMapActivityDetailInfo.proto
+++ b/proto/TreasureMapActivityDetailInfo.proto
@@ -23,13 +23,13 @@ import "TreasureMapRegionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message TreasureMapActivityDetailInfo {
- uint32 active_region_index = 1;
- repeated TreasureMapRegionInfo region_info_list = 6;
- bool is_mp_challenge_touched = 7;
- uint32 treasure_close_time = 10;
- repeated TreasureMapBonusChallengeInfo bonus_challenge_list = 5;
- uint32 currency_num = 2;
- uint32 preview_reward_id = 14;
+ bool is_mp_challenge_touched = 15;
+ uint32 total_mp_spot_num = 12;
+ uint32 active_region_index = 3;
+ repeated TreasureMapBonusChallengeInfo bonus_challenge_list = 13;
uint32 min_open_player_level = 8;
- uint32 total_mp_spot_num = 13;
+ uint32 preview_reward_id = 2;
+ uint32 treasure_close_time = 1;
+ uint32 currency_num = 4;
+ repeated TreasureMapRegionInfo region_info_list = 11;
}
diff --git a/proto/TreasureMapBonusChallengeInfo.proto b/proto/TreasureMapBonusChallengeInfo.proto
index 364e021a..6507710f 100644
--- a/proto/TreasureMapBonusChallengeInfo.proto
+++ b/proto/TreasureMapBonusChallengeInfo.proto
@@ -21,8 +21,8 @@ option java_package = "emu.grasscutter.net.proto";
message TreasureMapBonusChallengeInfo {
bool is_done = 5;
+ uint32 solution_id = 15;
+ map fragment_map = 11;
+ bool is_active = 13;
uint32 config_id = 10;
- bool is_active = 1;
- map fragment_map = 12;
- uint32 solution_id = 8;
}
diff --git a/proto/TreasureMapBonusChallengeNotify.proto b/proto/TreasureMapBonusChallengeNotify.proto
new file mode 100644
index 00000000..0bfc67ba
--- /dev/null
+++ b/proto/TreasureMapBonusChallengeNotify.proto
@@ -0,0 +1,34 @@
+// 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 "TreasureMapBonusChallengeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TreasureMapBonusChallengeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2097;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TreasureMapBonusChallengeInfo info = 13;
+}
diff --git a/proto/TreasureMapCurrencyNotify.proto b/proto/TreasureMapCurrencyNotify.proto
new file mode 100644
index 00000000..c1fa51c9
--- /dev/null
+++ b/proto/TreasureMapCurrencyNotify.proto
@@ -0,0 +1,32 @@
+// 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 TreasureMapCurrencyNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2032;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 currency_num = 3;
+}
diff --git a/proto/TreasureMapDetectorData.proto b/proto/TreasureMapDetectorData.proto
new file mode 100644
index 00000000..4e4b026a
--- /dev/null
+++ b/proto/TreasureMapDetectorData.proto
@@ -0,0 +1,30 @@
+// 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 TreasureMapDetectorData {
+ uint32 region_id = 1;
+ bool is_region_detected = 11;
+ uint32 radius = 2;
+ repeated Vector spot_list = 7;
+ Vector center_pos = 12;
+}
diff --git a/proto/TreasureMapDetectorDataNotify.proto b/proto/TreasureMapDetectorDataNotify.proto
new file mode 100644
index 00000000..602ef20e
--- /dev/null
+++ b/proto/TreasureMapDetectorDataNotify.proto
@@ -0,0 +1,34 @@
+// 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 "TreasureMapDetectorData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TreasureMapDetectorDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4254;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TreasureMapDetectorData data = 7;
+}
diff --git a/proto/TreasureMapGuideTaskDoneNotify.proto b/proto/TreasureMapGuideTaskDoneNotify.proto
new file mode 100644
index 00000000..fba6efc7
--- /dev/null
+++ b/proto/TreasureMapGuideTaskDoneNotify.proto
@@ -0,0 +1,30 @@
+// 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 TreasureMapGuideTaskDoneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2046;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/TreasureMapHostInfoNotify.proto b/proto/TreasureMapHostInfoNotify.proto
new file mode 100644
index 00000000..7d64b8b5
--- /dev/null
+++ b/proto/TreasureMapHostInfoNotify.proto
@@ -0,0 +1,32 @@
+// 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 TreasureMapHostInfoNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8296;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 mp_challenge_region_list = 1;
+}
diff --git a/proto/TreasureMapMpChallengeNotify.proto b/proto/TreasureMapMpChallengeNotify.proto
new file mode 100644
index 00000000..6f8934d5
--- /dev/null
+++ b/proto/TreasureMapMpChallengeNotify.proto
@@ -0,0 +1,30 @@
+// 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 TreasureMapMpChallengeNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2021;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/TreasureMapPreTaskDoneNotify.proto b/proto/TreasureMapPreTaskDoneNotify.proto
new file mode 100644
index 00000000..b9da080b
--- /dev/null
+++ b/proto/TreasureMapPreTaskDoneNotify.proto
@@ -0,0 +1,30 @@
+// 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 TreasureMapPreTaskDoneNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2177;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+}
diff --git a/proto/TreasureMapRegionActiveNotify.proto b/proto/TreasureMapRegionActiveNotify.proto
new file mode 100644
index 00000000..06553035
--- /dev/null
+++ b/proto/TreasureMapRegionActiveNotify.proto
@@ -0,0 +1,32 @@
+// 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 TreasureMapRegionActiveNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2085;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 active_region_index = 5;
+}
diff --git a/proto/TreasureMapRegionInfo.proto b/proto/TreasureMapRegionInfo.proto
index 678cd795..99eeedc0 100644
--- a/proto/TreasureMapRegionInfo.proto
+++ b/proto/TreasureMapRegionInfo.proto
@@ -22,13 +22,13 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message TreasureMapRegionInfo {
- uint32 start_time = 6;
- uint32 current_progress = 11;
- bool is_done_mp_spot = 3;
- uint32 scene_id = 2;
- uint32 goal_points = 12;
- bool is_find_mp_spot = 4;
- uint32 region_radius = 1;
- Vector region_center_pos = 9;
- uint32 region_id = 5;
+ uint32 region_radius = 13;
+ uint32 region_id = 10;
+ Vector region_center_pos = 5;
+ bool Unk3300_HHBHLPHLHIL = 6;
+ uint32 start_time = 8;
+ uint32 Unk3300_LKEMEDPMIGM = 3;
+ bool Unk3300_NIBJOAJLCJI = 1;
+ uint32 scene_id = 12;
+ uint32 Unk3300_MNEKJILFHOA = 2;
}
diff --git a/proto/TreasureMapRegionInfoNotify.proto b/proto/TreasureMapRegionInfoNotify.proto
index 55ad8fd4..e5e5d084 100644
--- a/proto/TreasureMapRegionInfoNotify.proto
+++ b/proto/TreasureMapRegionInfoNotify.proto
@@ -21,9 +21,14 @@ import "TreasureMapRegionInfo.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2185
-// EnetChannelId: 0
-// EnetIsReliable: true
message TreasureMapRegionInfoNotify {
- TreasureMapRegionInfo region_info = 14;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2179;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ TreasureMapRegionInfo region_info = 7;
}
diff --git a/proto/TreasureSeelieActivityDetailInfo.proto b/proto/TreasureSeelieActivityDetailInfo.proto
index 4e81b7fe..cb01d141 100644
--- a/proto/TreasureSeelieActivityDetailInfo.proto
+++ b/proto/TreasureSeelieActivityDetailInfo.proto
@@ -22,7 +22,7 @@ import "TreasureSeelieRegionData.proto";
option java_package = "emu.grasscutter.net.proto";
message TreasureSeelieActivityDetailInfo {
- uint32 treasure_close_time = 10;
- bool is_content_closed = 8;
- repeated TreasureSeelieRegionData region_data_list = 14;
+ uint32 treasure_close_time = 13;
+ bool is_content_closed = 15;
+ repeated TreasureSeelieRegionData region_data_list = 6;
}
diff --git a/proto/TreasureSeelieCollectOrbsNotify.proto b/proto/TreasureSeelieCollectOrbsNotify.proto
new file mode 100644
index 00000000..57b5d55f
--- /dev/null
+++ b/proto/TreasureSeelieCollectOrbsNotify.proto
@@ -0,0 +1,33 @@
+// 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 TreasureSeelieCollectOrbsNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 20380;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 current_num = 12;
+ uint32 total_num = 2;
+}
diff --git a/proto/TreasureSeelieDetailInfo.proto b/proto/TreasureSeelieDetailInfo.proto
new file mode 100644
index 00000000..338ee1ef
--- /dev/null
+++ b/proto/TreasureSeelieDetailInfo.proto
@@ -0,0 +1,28 @@
+// 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 "Unk3000_HDJHHOCABBK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message TreasureSeelieDetailInfo {
+ uint32 treasure_close_time = 10;
+ bool is_content_closed = 8;
+ repeated Unk3000_HDJHHOCABBK Unk3000_NMEPJANNLLE = 14;
+}
diff --git a/proto/TreasureSeelieRegionData.proto b/proto/TreasureSeelieRegionData.proto
index 7d2f7413..50ca7b44 100644
--- a/proto/TreasureSeelieRegionData.proto
+++ b/proto/TreasureSeelieRegionData.proto
@@ -22,14 +22,14 @@ import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message TreasureSeelieRegionData {
- bool is_done = 12;
- uint32 open_day = 6;
- uint32 opened_chest_num = 10;
- float region_radius = 7;
- bool is_open = 9;
- uint32 open_time = 8;
- Vector region_center_pos = 11;
- uint32 scene_id = 13;
- uint32 total_chest_num = 15;
- uint32 region_id = 1;
+ uint32 region_id = 15;
+ bool is_open = 1;
+ uint32 open_time = 11;
+ Vector region_center_pos = 9;
+ uint32 Unk3300_CPHOJNMEDBC = 8;
+ float region_radius = 6;
+ uint32 Unk3300_KGECOIIKJLJ = 5;
+ uint32 Unk3300_AFAMHPCEIKP = 14;
+ bool is_done = 10;
+ uint32 scene_id = 3;
}
diff --git a/proto/TrialAvatarActivityDetailInfo.proto b/proto/TrialAvatarActivityDetailInfo.proto
index 7e9b7424..5a37dc81 100644
--- a/proto/TrialAvatarActivityDetailInfo.proto
+++ b/proto/TrialAvatarActivityDetailInfo.proto
@@ -22,5 +22,5 @@ import "TrialAvatarActivityRewardDetailInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message TrialAvatarActivityDetailInfo {
- repeated TrialAvatarActivityRewardDetailInfo reward_info_list = 13;
+ repeated TrialAvatarActivityRewardDetailInfo reward_info_list = 11;
}
diff --git a/proto/TrialAvatarActivityRewardDetailInfo.proto b/proto/TrialAvatarActivityRewardDetailInfo.proto
index 9da3dd3a..8aaa4edc 100644
--- a/proto/TrialAvatarActivityRewardDetailInfo.proto
+++ b/proto/TrialAvatarActivityRewardDetailInfo.proto
@@ -20,8 +20,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TrialAvatarActivityRewardDetailInfo {
- bool passed_dungeon = 2;
uint32 trial_avatar_index_id = 4;
- bool received_reward = 5;
- uint32 reward_id = 7;
+ bool Unk3300_IFEPGCKHODL = 14;
+ bool Unk3300_NEJLGBBFDPH = 5;
+ uint32 reward_id = 11;
}
diff --git a/proto/TrialAvatarFirstPassDungeonNotify.proto b/proto/TrialAvatarFirstPassDungeonNotify.proto
index e58cec62..c15b7a80 100644
--- a/proto/TrialAvatarFirstPassDungeonNotify.proto
+++ b/proto/TrialAvatarFirstPassDungeonNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2013
-// EnetChannelId: 0
-// EnetIsReliable: true
message TrialAvatarFirstPassDungeonNotify {
- uint32 trial_avatar_index_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2134;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_avatar_index_id = 1;
}
diff --git a/proto/TrialAvatarGrantRecord.proto b/proto/TrialAvatarGrantRecord.proto
index eefab4f4..362a5322 100644
--- a/proto/TrialAvatarGrantRecord.proto
+++ b/proto/TrialAvatarGrantRecord.proto
@@ -20,9 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message TrialAvatarGrantRecord {
- uint32 grant_reason = 1;
- uint32 from_parent_quest_id = 2;
-
enum GrantReason {
GRANT_REASON_INVALID = 0;
GRANT_REASON_BY_QUEST = 1;
@@ -39,4 +36,7 @@ message TrialAvatarGrantRecord {
GRANT_REASON_BY_VINTAGE_HUNTING = 12;
GRANT_REASON_BY_CHAR_AMUSEMENT = 13;
}
+
+ uint32 grant_reason = 1;
+ uint32 from_parent_quest_id = 2;
}
diff --git a/proto/TrialAvatarInDungeonIndexNotify.proto b/proto/TrialAvatarInDungeonIndexNotify.proto
new file mode 100644
index 00000000..4960246a
--- /dev/null
+++ b/proto/TrialAvatarInDungeonIndexNotify.proto
@@ -0,0 +1,32 @@
+// 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 TrialAvatarInDungeonIndexNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 2063;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 trial_avatar_index_id = 9;
+}
diff --git a/proto/TriggerCreateGadgetToEquipPartNotify.proto b/proto/TriggerCreateGadgetToEquipPartNotify.proto
index 7efc510a..fe487648 100644
--- a/proto/TriggerCreateGadgetToEquipPartNotify.proto
+++ b/proto/TriggerCreateGadgetToEquipPartNotify.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 350
-// EnetChannelId: 0
-// EnetIsReliable: true
message TriggerCreateGadgetToEquipPartNotify {
- uint32 gadget_id = 1;
- uint32 entity_id = 13;
- string equip_part = 14;
- uint32 gadget_entity_id = 10;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 346;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 gadget_entity_id = 1;
+ string equip_part = 12;
+ uint32 entity_id = 6;
+ uint32 gadget_id = 11;
}
diff --git a/proto/TriggerRoguelikeCurseNotify.proto b/proto/TriggerRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..d451ba34
--- /dev/null
+++ b/proto/TriggerRoguelikeCurseNotify.proto
@@ -0,0 +1,35 @@
+// 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 TriggerRoguelikeCurseNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8965;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 Unk3300_POLIENBCNLF = 7;
+ uint32 Unk3300_LJHJIBDPBBC = 10;
+ bool is_trigger_curse = 11;
+ repeated uint32 effect_param_list = 9;
+}
diff --git a/proto/TriggerRoguelikeRuneReq.proto b/proto/TriggerRoguelikeRuneReq.proto
new file mode 100644
index 00000000..bc064223
--- /dev/null
+++ b/proto/TriggerRoguelikeRuneReq.proto
@@ -0,0 +1,33 @@
+// 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 TriggerRoguelikeRuneReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8822;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 rune_id = 11;
+}
diff --git a/proto/TriggerRoguelikeRuneRsp.proto b/proto/TriggerRoguelikeRuneRsp.proto
new file mode 100644
index 00000000..92fc004b
--- /dev/null
+++ b/proto/TriggerRoguelikeRuneRsp.proto
@@ -0,0 +1,34 @@
+// 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 TriggerRoguelikeRuneRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8133;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 available_count = 15;
+ uint32 rune_id = 10;
+ int32 retcode = 4;
+}
diff --git a/proto/TryCustomDungeonReq.proto b/proto/TryCustomDungeonReq.proto
new file mode 100644
index 00000000..3df21b83
--- /dev/null
+++ b/proto/TryCustomDungeonReq.proto
@@ -0,0 +1,33 @@
+// 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 TryCustomDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6218;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ uint32 room_id = 11;
+}
diff --git a/proto/TryCustomDungeonRsp.proto b/proto/TryCustomDungeonRsp.proto
new file mode 100644
index 00000000..f9561b2a
--- /dev/null
+++ b/proto/TryCustomDungeonRsp.proto
@@ -0,0 +1,33 @@
+// 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 TryCustomDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6208;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 room_id = 4;
+ int32 retcode = 10;
+}
diff --git a/proto/TryCustomDungeonType.proto b/proto/TryCustomDungeonType.proto
new file mode 100644
index 00000000..0912f26c
--- /dev/null
+++ b/proto/TryCustomDungeonType.proto
@@ -0,0 +1,27 @@
+// 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 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/TryEnterHomeReq.proto b/proto/TryEnterHomeReq.proto
index 3099d638..af408481 100644
--- a/proto/TryEnterHomeReq.proto
+++ b/proto/TryEnterHomeReq.proto
@@ -19,12 +19,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4482
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message TryEnterHomeReq {
- uint32 target_uid = 3;
- bool is_transfer_to_safe_point = 10;
- uint32 target_point = 9;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4648;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ bool is_transfer_to_safe_point = 13;
+ uint32 target_point = 10;
+ uint32 target_uid = 1;
}
diff --git a/proto/TryEnterHomeRsp.proto b/proto/TryEnterHomeRsp.proto
index 56943151..62428277 100644
--- a/proto/TryEnterHomeRsp.proto
+++ b/proto/TryEnterHomeRsp.proto
@@ -19,11 +19,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 4653
-// EnetChannelId: 0
-// EnetIsReliable: true
message TryEnterHomeRsp {
- uint32 target_uid = 15;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4796;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated uint32 param_list = 11;
+ uint32 target_uid = 2;
int32 retcode = 4;
- repeated uint32 param_list = 10;
}
diff --git a/proto/TryEnterNextRogueDiaryDungeonReq.proto b/proto/TryEnterNextRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..f2b49a73
--- /dev/null
+++ b/proto/TryEnterNextRogueDiaryDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 TryEnterNextRogueDiaryDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8791;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TryEnterNextRogueDiaryDungeonRsp.proto b/proto/TryEnterNextRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..2abcf78e
--- /dev/null
+++ b/proto/TryEnterNextRogueDiaryDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 TryEnterNextRogueDiaryDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8487;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 7;
+}
diff --git a/proto/TryInterruptRogueDiaryDungeonReq.proto b/proto/TryInterruptRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..fa180a80
--- /dev/null
+++ b/proto/TryInterruptRogueDiaryDungeonReq.proto
@@ -0,0 +1,31 @@
+// 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 TryInterruptRogueDiaryDungeonReq {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8438;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+}
diff --git a/proto/TryInterruptRogueDiaryDungeonRsp.proto b/proto/TryInterruptRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..af3b1f5b
--- /dev/null
+++ b/proto/TryInterruptRogueDiaryDungeonRsp.proto
@@ -0,0 +1,32 @@
+// 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 TryInterruptRogueDiaryDungeonRsp {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 8234;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ int32 retcode = 1;
+}
diff --git a/proto/UgcActivityDetailInfo.proto b/proto/UgcActivityDetailInfo.proto
index d094bed6..96de8285 100644
--- a/proto/UgcActivityDetailInfo.proto
+++ b/proto/UgcActivityDetailInfo.proto
@@ -22,8 +22,8 @@ import "OfficialCustomDungeon.proto";
option java_package = "emu.grasscutter.net.proto";
message UgcActivityDetailInfo {
- bool is_ugc_feature_closed = 10;
- uint32 custom_dungeon_group_id = 12;
- repeated OfficialCustomDungeon official_custom_dungeon_list = 5;
- bool is_enable_ugc = 11;
+ bool is_enable_ugc = 14;
+ repeated OfficialCustomDungeon official_custom_dungeon_list = 10;
+ uint32 custom_dungeon_group_id = 4;
+ bool is_ugc_feature_closed = 9;
}
diff --git a/proto/UgcMusicBriefInfo.proto b/proto/UgcMusicBriefInfo.proto
index f2d720ae..02f501bc 100644
--- a/proto/UgcMusicBriefInfo.proto
+++ b/proto/UgcMusicBriefInfo.proto
@@ -20,24 +20,24 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message UgcMusicBriefInfo {
- uint64 import_from_ugc_guid = 5;
- bool is_published = 8;
- bool is_played = 1;
- uint32 music_id = 2;
- uint32 save_page_type = 1182;
- uint32 save_idx = 12;
- string creator_nickname = 10;
- uint32 version = 15;
- uint32 save_time = 3;
- repeated uint32 after_note_list = 1002;
- repeated uint32 before_note_list = 982;
- bool is_psn_platform = 9;
- uint32 time_line_edit_time = 1822;
- bool is_changed_after_publish = 11;
- uint32 publish_time = 13;
- uint32 max_score = 14;
- uint32 real_time_edit_time = 576;
- uint32 note_count = 7;
- uint64 ugc_guid = 4;
- uint32 self_max_score = 6;
+ uint32 Unk3300_OJOKFBJALIJ = 12;
+ bool Unk3300_NCDKCNOLGKB = 15;
+ uint32 Unk3300_KMMBLIMKJCM = 5;
+ repeated uint32 Unk3300_JEEBFPFEHHG = 526;
+ uint32 Unk3300_EGIGIOOKBAB = 42;
+ repeated uint32 Unk3300_HKBHAIMOBKO = 65;
+ uint32 Unk3300_MBKDGBNFPOA = 1625;
+ uint64 import_from_ugc_guid = 13;
+ uint64 ugc_guid = 8;
+ uint32 Unk3300_PBENMAHHGIL = 7;
+ bool Unk3300_FKIGPAJFPLG = 3;
+ uint32 version = 11;
+ bool is_psn_platform = 2;
+ uint32 Unk3300_PLNOFOHFAPE = 4;
+ uint32 Unk3300_CCMMPAHIMDO = 95;
+ string creator_nickname = 9;
+ uint32 music_id = 6;
+ bool Unk3300_GDNAPNAINBA = 10;
+ uint32 max_score = 1;
+ uint32 Unk3300_OBBMCFADNIN = 14;
}
diff --git a/proto/UgcMusicNote.proto b/proto/UgcMusicNote.proto
new file mode 100644
index 00000000..b02ad113
--- /dev/null
+++ b/proto/UgcMusicNote.proto
@@ -0,0 +1,25 @@
+// 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 UgcMusicNote {
+ uint32 start_time = 11;
+ uint32 end_time = 9;
+}
diff --git a/proto/UgcMusicRecord.proto b/proto/UgcMusicRecord.proto
new file mode 100644
index 00000000..a6923e1f
--- /dev/null
+++ b/proto/UgcMusicRecord.proto
@@ -0,0 +1,27 @@
+// 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 "UgcMusicTrack.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message UgcMusicRecord {
+ uint32 music_id = 1;
+ repeated UgcMusicTrack music_track_list = 4;
+}
diff --git a/proto/UgcMusicTrack.proto b/proto/UgcMusicTrack.proto
new file mode 100644
index 00000000..95f3b5cf
--- /dev/null
+++ b/proto/UgcMusicTrack.proto
@@ -0,0 +1,26 @@
+// 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 "UgcMusicNote.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message UgcMusicTrack {
+ repeated UgcMusicNote music_note_list = 6;
+}
diff --git a/proto/UgcNotify.proto b/proto/UgcNotify.proto
new file mode 100644
index 00000000..6f07b41a
--- /dev/null
+++ b/proto/UgcNotify.proto
@@ -0,0 +1,34 @@
+// 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 UgcNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 6308;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ bool Unk3300_IBLDINGJJFI = 8;
+ bool is_ugc_feature_closed = 6;
+ bool Unk3300_KPABJPMLHCD = 9;
+}
diff --git a/proto/UnfreezeGroupLimitNotify.proto b/proto/UnfreezeGroupLimitNotify.proto
new file mode 100644
index 00000000..e04fa08f
--- /dev/null
+++ b/proto/UnfreezeGroupLimitNotify.proto
@@ -0,0 +1,33 @@
+// 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 UnfreezeGroupLimitNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 3483;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ uint32 point_id = 15;
+ uint32 scene_id = 13;
+}
diff --git a/proto/UnionCmd.proto b/proto/UnionCmd.proto
index ab068282..390ef370 100644
--- a/proto/UnionCmd.proto
+++ b/proto/UnionCmd.proto
@@ -20,6 +20,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message UnionCmd {
- bytes body = 14;
- uint32 message_id = 8;
+ bytes body = 3;
+ uint32 message_id = 4;
}
diff --git a/proto/UnionCmdNotify.proto b/proto/UnionCmdNotify.proto
index ebdfe664..9337a8af 100644
--- a/proto/UnionCmdNotify.proto
+++ b/proto/UnionCmdNotify.proto
@@ -21,10 +21,15 @@ import "UnionCmd.proto";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
message UnionCmdNotify {
- repeated UnionCmd cmd_list = 1;
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 42;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // IS_ALLOW_CLIENT = 1;
+ // }
+
+ repeated UnionCmd cmd_list = 7;
}
diff --git a/proto/Unk2200_DEHCEKCILAB_ClientNotify.proto b/proto/Unk2200_DEHCEKCILAB_ClientNotify.proto
new file mode 100644
index 00000000..164fbfee
--- /dev/null
+++ b/proto/Unk2200_DEHCEKCILAB_ClientNotify.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 88
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2200_DEHCEKCILAB_ClientNotify {}
diff --git a/proto/Unk2700_AAAMOFPACEA.proto b/proto/Unk2700_AAAMOFPACEA.proto
new file mode 100644
index 00000000..4c9d253b
--- /dev/null
+++ b/proto/Unk2700_AAAMOFPACEA.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_DJDEPPHEHCP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_AAAMOFPACEA {
+ repeated Unk2700_DJDEPPHEHCP Unk2700_ILGPNAAFFEG = 6;
+}
diff --git a/proto/Unk2700_AAHKMNNAFIH.proto b/proto/Unk2700_AAHKMNNAFIH.proto
new file mode 100644
index 00000000..f5183a35
--- /dev/null
+++ b/proto/Unk2700_AAHKMNNAFIH.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_ICPNKAALJEP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8231
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AAHKMNNAFIH {
+ uint32 gallery_id = 13;
+ Unk2700_ICPNKAALJEP settle_info = 12;
+}
diff --git a/proto/Unk2700_ACILPONNGGK_ClientReq.proto b/proto/Unk2700_ACILPONNGGK_ClientReq.proto
new file mode 100644
index 00000000..c4847f87
--- /dev/null
+++ b/proto/Unk2700_ACILPONNGGK_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 4537
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ACILPONNGGK_ClientReq {}
diff --git a/proto/Unk2700_ADBFKMECFNJ_ClientNotify.proto b/proto/Unk2700_ADBFKMECFNJ_ClientNotify.proto
new file mode 100644
index 00000000..41457184
--- /dev/null
+++ b/proto/Unk2700_ADBFKMECFNJ_ClientNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6240
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ADBFKMECFNJ_ClientNotify {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_ADGLMHECKKJ.proto b/proto/Unk2700_ADGLMHECKKJ.proto
new file mode 100644
index 00000000..c0d2d606
--- /dev/null
+++ b/proto/Unk2700_ADGLMHECKKJ.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_ADGLMHECKKJ {
+ Unk2700_ADGLMHECKKJ_Unk2700_KHKEKEIAPBP = 0;
+ Unk2700_ADGLMHECKKJ_Unk2700_LNCNKDBGPLH = 1;
+ Unk2700_ADGLMHECKKJ_Unk2700_PEMOMIPJAGM = 2;
+ Unk2700_ADGLMHECKKJ_Unk2700_KHKIDAFCLLJ = 3;
+}
diff --git a/proto/Unk2700_ADIGEBEIJBA.proto b/proto/Unk2700_ADIGEBEIJBA.proto
new file mode 100644
index 00000000..24b5621f
--- /dev/null
+++ b/proto/Unk2700_ADIGEBEIJBA.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_ADIGEBEIJBA {
+ bool is_trial = 8;
+ uint64 avatar_guid = 11;
+}
diff --git a/proto/Unk2700_AEEMJIMOPKD.proto b/proto/Unk2700_AEEMJIMOPKD.proto
new file mode 100644
index 00000000..2a0e30a3
--- /dev/null
+++ b/proto/Unk2700_AEEMJIMOPKD.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8481
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AEEMJIMOPKD {
+ uint32 stage_id = 13;
+ int32 retcode = 14;
+ bool is_success = 3;
+}
diff --git a/proto/Unk2700_AFOPONDCLKC.proto b/proto/Unk2700_AFOPONDCLKC.proto
new file mode 100644
index 00000000..5b3dd695
--- /dev/null
+++ b/proto/Unk2700_AFOPONDCLKC.proto
@@ -0,0 +1,29 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_AFOPONDCLKC {
+ string nickname = 14;
+ uint32 uid = 12;
+ ProfilePicture profile_picture = 5;
+ repeated uint32 item_id_list = 9;
+}
diff --git a/proto/Unk2700_AGIDJODJNEA.proto b/proto/Unk2700_AGIDJODJNEA.proto
new file mode 100644
index 00000000..7ef9320a
--- /dev/null
+++ b/proto/Unk2700_AGIDJODJNEA.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_AGIDJODJNEA {
+ Unk2700_AGIDJODJNEA_Unk2700_OAEGNAOPMFB = 0;
+ Unk2700_AGIDJODJNEA_Unk2700_DLDNOOGCFNB = 1;
+ Unk2700_AGIDJODJNEA_Unk2700_PONLJLLPNPI = 2;
+ Unk2700_AGIDJODJNEA_Unk2700_POHNGFOIPAH = 3;
+}
diff --git a/proto/Unk2700_AHHFDDOGCNA.proto b/proto/Unk2700_AHHFDDOGCNA.proto
new file mode 100644
index 00000000..6890990d
--- /dev/null
+++ b/proto/Unk2700_AHHFDDOGCNA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8768
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AHHFDDOGCNA {
+ map Unk2700_DACHHINLDDJ = 3;
+ int32 retcode = 13;
+}
diff --git a/proto/Unk2700_AHOMMGBBIAH.proto b/proto/Unk2700_AHOMMGBBIAH.proto
new file mode 100644
index 00000000..0346d0f6
--- /dev/null
+++ b/proto/Unk2700_AHOMMGBBIAH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8066
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AHOMMGBBIAH {
+ uint32 trial_id = 12;
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_AIBHKIENDPF.proto b/proto/Unk2700_AIBHKIENDPF.proto
new file mode 100644
index 00000000..fbc493a9
--- /dev/null
+++ b/proto/Unk2700_AIBHKIENDPF.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_BGKMAAINPCO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AIBHKIENDPF {
+ uint32 level_id = 1;
+ uint32 difficulty_id = 14;
+ int32 retcode = 6;
+ repeated Unk2700_BGKMAAINPCO Unk2700_GMAEHKMDIGG = 8;
+}
diff --git a/proto/Unk2700_AIGECAPPCKK.proto b/proto/Unk2700_AIGECAPPCKK.proto
new file mode 100644
index 00000000..5566f2df
--- /dev/null
+++ b/proto/Unk2700_AIGECAPPCKK.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_HIHKGMLLOGD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_AIGECAPPCKK {
+ repeated Unk2700_HIHKGMLLOGD Unk2700_AEJIIOOPJIL = 3;
+ uint32 Unk2700_HNCBHBKDODH = 14;
+}
diff --git a/proto/Unk2700_AIGKGLHBMCP_ServerRsp.proto b/proto/Unk2700_AIGKGLHBMCP_ServerRsp.proto
new file mode 100644
index 00000000..4e837fc0
--- /dev/null
+++ b/proto/Unk2700_AIGKGLHBMCP_ServerRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6244
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AIGKGLHBMCP_ServerRsp {
+ int32 retcode = 1;
+ uint32 room_id = 13;
+}
diff --git a/proto/Unk2700_AIKOFHAKNPC.proto b/proto/Unk2700_AIKOFHAKNPC.proto
new file mode 100644
index 00000000..7235c3da
--- /dev/null
+++ b/proto/Unk2700_AIKOFHAKNPC.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8740
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_AIKOFHAKNPC {
+ uint32 trial_id = 13;
+}
diff --git a/proto/Unk2700_AIMMLILLOKB.proto b/proto/Unk2700_AIMMLILLOKB.proto
new file mode 100644
index 00000000..d2cbd336
--- /dev/null
+++ b/proto/Unk2700_AIMMLILLOKB.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_AIMMLILLOKB {
+ map Unk2700_DLKPHFDEDNF = 3;
+ uint32 uid = 6;
+ map Unk2700_HDJPJBIFMCO = 13;
+}
diff --git a/proto/Unk2700_AKIBKKOMBMC.proto b/proto/Unk2700_AKIBKKOMBMC.proto
new file mode 100644
index 00000000..c886ec25
--- /dev/null
+++ b/proto/Unk2700_AKIBKKOMBMC.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_IEPIBFMCJNJ.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8120
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_AKIBKKOMBMC {
+ int32 retcode = 15;
+ repeated Unk2700_IEPIBFMCJNJ Unk2700_GOCEOKPHFIO = 11;
+ uint32 schedule_id = 6;
+}
diff --git a/proto/Unk2700_ALBPFHFJHHF_ClientReq.proto b/proto/Unk2700_ALBPFHFJHHF_ClientReq.proto
new file mode 100644
index 00000000..faf77300
--- /dev/null
+++ b/proto/Unk2700_ALBPFHFJHHF_ClientReq.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_JDPMOMKAPIF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6036
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ALBPFHFJHHF_ClientReq {
+ Unk2700_JDPMOMKAPIF Unk2700_HPNDCCFNPEF = 3;
+}
diff --git a/proto/Unk2700_ALFEKGABMAA.proto b/proto/Unk2700_ALFEKGABMAA.proto
new file mode 100644
index 00000000..85d80343
--- /dev/null
+++ b/proto/Unk2700_ALFEKGABMAA.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8022
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ALFEKGABMAA {}
diff --git a/proto/Unk2700_AMJFIJNNGHC.proto b/proto/Unk2700_AMJFIJNNGHC.proto
new file mode 100644
index 00000000..1d9369d7
--- /dev/null
+++ b/proto/Unk2700_AMJFIJNNGHC.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_PEDJGJMHMHH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_AMJFIJNNGHC {
+ bool is_open = 8;
+ repeated Unk2700_PEDJGJMHMHH Unk2700_KPEIIFDINPC = 1;
+}
diff --git a/proto/Unk2700_AMKLCEFNNCC.proto b/proto/Unk2700_AMKLCEFNNCC.proto
new file mode 100644
index 00000000..dad0aa79
--- /dev/null
+++ b/proto/Unk2700_AMKLCEFNNCC.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_AMKLCEFNNCC {
+ bool is_trial = 6;
+ uint64 avatar_id = 8;
+}
diff --git a/proto/Unk2700_AMOEOCPOMGJ_ClientReq.proto b/proto/Unk2700_AMOEOCPOMGJ_ClientReq.proto
new file mode 100644
index 00000000..ce631e8b
--- /dev/null
+++ b/proto/Unk2700_AMOEOCPOMGJ_ClientReq.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_JMPCGMBHJLG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6090
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_AMOEOCPOMGJ_ClientReq {
+ Unk2700_JMPCGMBHJLG Unk2700_KHPPLOGFMDE = 13;
+}
diff --git a/proto/Unk2700_ANEBALDAFJI.proto b/proto/Unk2700_ANEBALDAFJI.proto
new file mode 100644
index 00000000..d21b3ed1
--- /dev/null
+++ b/proto/Unk2700_ANEBALDAFJI.proto
@@ -0,0 +1,30 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8357
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_ANEBALDAFJI {
+ repeated ItemParam item_list = 8;
+ int32 retcode = 11;
+}
diff --git a/proto/Unk2700_ANGBJGAOMHF_ClientReq.proto b/proto/Unk2700_ANGBJGAOMHF_ClientReq.proto
new file mode 100644
index 00000000..b1a4cb08
--- /dev/null
+++ b/proto/Unk2700_ANGBJGAOMHF_ClientReq.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6344
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ANGBJGAOMHF_ClientReq {
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 7;
+ uint64 Unk2700_CEPGMKAHHCD = 12;
+}
diff --git a/proto/Unk2700_AOIJNFMIAIP.proto b/proto/Unk2700_AOIJNFMIAIP.proto
new file mode 100644
index 00000000..2060c5ee
--- /dev/null
+++ b/proto/Unk2700_AOIJNFMIAIP.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8614
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_AOIJNFMIAIP {}
diff --git a/proto/Unk2700_APNHPEJCDMO.proto b/proto/Unk2700_APNHPEJCDMO.proto
new file mode 100644
index 00000000..d493338b
--- /dev/null
+++ b/proto/Unk2700_APNHPEJCDMO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8610
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_APNHPEJCDMO {
+ uint32 Unk2700_PCKNCDNENCD = 1;
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2700_APOBKAEHMEL.proto b/proto/Unk2700_APOBKAEHMEL.proto
new file mode 100644
index 00000000..7974a00b
--- /dev/null
+++ b/proto/Unk2700_APOBKAEHMEL.proto
@@ -0,0 +1,30 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8216
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_APOBKAEHMEL {
+ repeated ItemParam Unk2700_EENOCHNIAJL = 1;
+}
diff --git a/proto/Unk2700_BBLJNCKPKPN.proto b/proto/Unk2700_BBLJNCKPKPN.proto
new file mode 100644
index 00000000..d375801d
--- /dev/null
+++ b/proto/Unk2700_BBLJNCKPKPN.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8192
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BBLJNCKPKPN {
+ uint32 level_id = 8;
+ uint32 stage_id = 7;
+}
diff --git a/proto/Unk2700_BBMKJGPMIOE.proto b/proto/Unk2700_BBMKJGPMIOE.proto
new file mode 100644
index 00000000..ae91e6df
--- /dev/null
+++ b/proto/Unk2700_BBMKJGPMIOE.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_KIGGOKAEFHM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8580
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BBMKJGPMIOE {
+ Unk2700_KIGGOKAEFHM Unk2700_CNJPCCECBPD = 14;
+}
diff --git a/proto/Unk2700_BCFKCLHCBDI.proto b/proto/Unk2700_BCFKCLHCBDI.proto
new file mode 100644
index 00000000..75cc6b13
--- /dev/null
+++ b/proto/Unk2700_BCFKCLHCBDI.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BCFKCLHCBDI {
+ uint32 difficulty = 1;
+ uint32 stage_id = 12;
+}
diff --git a/proto/Unk2700_BCPHPHGOKGN.proto b/proto/Unk2700_BCPHPHGOKGN.proto
new file mode 100644
index 00000000..5229804b
--- /dev/null
+++ b/proto/Unk2700_BCPHPHGOKGN.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BCPHPHGOKGN {
+ uint32 level_id = 6;
+}
diff --git a/proto/Unk2700_BEDCCMDPNCH.proto b/proto/Unk2700_BEDCCMDPNCH.proto
new file mode 100644
index 00000000..f7fc4031
--- /dev/null
+++ b/proto/Unk2700_BEDCCMDPNCH.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_BKHBKHINBIA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8499
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BEDCCMDPNCH {
+ uint32 gallery_id = 14;
+ Unk2700_BKHBKHINBIA settle_info = 15;
+}
diff --git a/proto/Unk2700_BEDLIGJANCJ_ClientReq.proto b/proto/Unk2700_BEDLIGJANCJ_ClientReq.proto
new file mode 100644
index 00000000..46007c5b
--- /dev/null
+++ b/proto/Unk2700_BEDLIGJANCJ_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 4558
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BEDLIGJANCJ_ClientReq {
+ uint32 Unk2700_BJHAMKKECEI = 14;
+}
diff --git a/proto/Unk2700_BEGHDPPNMFM.proto b/proto/Unk2700_BEGHDPPNMFM.proto
new file mode 100644
index 00000000..6108d311
--- /dev/null
+++ b/proto/Unk2700_BEGHDPPNMFM.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_OCDMIOKNHHH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_BEGHDPPNMFM {
+ repeated Unk2700_OCDMIOKNHHH Unk2700_AOFJNJNBAAI = 14;
+ uint32 timestamp = 9;
+}
diff --git a/proto/Unk2700_BEINCMBJDAA_ClientReq.proto b/proto/Unk2700_BEINCMBJDAA_ClientReq.proto
new file mode 100644
index 00000000..41f8b275
--- /dev/null
+++ b/proto/Unk2700_BEINCMBJDAA_ClientReq.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 333
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BEINCMBJDAA_ClientReq {
+ uint32 target_id = 1;
+ float Unk2700_AEIDAJFHBBB = 5;
+ uint32 source_id = 13;
+ float Unk2700_JLLFGAIOPGC = 4;
+}
diff --git a/proto/Unk2700_BGKMAAINPCO.proto b/proto/Unk2700_BGKMAAINPCO.proto
new file mode 100644
index 00000000..658491e6
--- /dev/null
+++ b/proto/Unk2700_BGKMAAINPCO.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_JPGAAHJBLKB.proto";
+import "Unk2700_PKAPCOBGIJL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_BGKMAAINPCO {
+ repeated Unk2700_PKAPCOBGIJL Unk2700_INIBKFPMCFO = 2;
+ repeated Unk2700_JPGAAHJBLKB avatar_info_list = 11;
+}
diff --git a/proto/Unk2700_BIEMCDLIFOD.proto b/proto/Unk2700_BIEMCDLIFOD.proto
new file mode 100644
index 00000000..6e6031a3
--- /dev/null
+++ b/proto/Unk2700_BIEMCDLIFOD.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_BIEMCDLIFOD {
+ uint32 guid = 11;
+ Vector spawn_pos = 14;
+ repeated int32 included_furniture_index_list = 12;
+}
diff --git a/proto/Unk2700_BIFNFOGBPNM.proto b/proto/Unk2700_BIFNFOGBPNM.proto
new file mode 100644
index 00000000..02843a30
--- /dev/null
+++ b/proto/Unk2700_BIFNFOGBPNM.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_BIFNFOGBPNM {
+ bool is_open = 5;
+ uint32 route_id = 9;
+ bool Unk2700_MMNILGLDHHD = 15;
+}
diff --git a/proto/Unk2700_BJJOMPDLNAL.proto b/proto/Unk2700_BJJOMPDLNAL.proto
new file mode 100644
index 00000000..5d6a1980
--- /dev/null
+++ b/proto/Unk2700_BJJOMPDLNAL.proto
@@ -0,0 +1,28 @@
+// 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 "Uint32Pair.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_BJJOMPDLNAL {
+ repeated Uint32Pair monster_list = 1;
+ bool Unk2700_NILLABGAALO = 3;
+ uint32 config_id = 7;
+}
diff --git a/proto/Unk2700_BKEELPKCHGO_ClientReq.proto b/proto/Unk2700_BKEELPKCHGO_ClientReq.proto
new file mode 100644
index 00000000..c414a577
--- /dev/null
+++ b/proto/Unk2700_BKEELPKCHGO_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6209
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BKEELPKCHGO_ClientReq {}
diff --git a/proto/Unk2700_BKGPMAHMHIG.proto b/proto/Unk2700_BKGPMAHMHIG.proto
new file mode 100644
index 00000000..14b0af61
--- /dev/null
+++ b/proto/Unk2700_BKGPMAHMHIG.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8561
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BKGPMAHMHIG {
+ bool Unk2700_PHGMKGEMCFF = 2;
+ uint32 level_id = 12;
+ uint32 card_id = 9;
+}
diff --git a/proto/Unk2700_BKHBKHINBIA.proto b/proto/Unk2700_BKHBKHINBIA.proto
new file mode 100644
index 00000000..4987137d
--- /dev/null
+++ b/proto/Unk2700_BKHBKHINBIA.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_EGKIHLIOLDM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_BKHBKHINBIA {
+ Unk2700_EGKIHLIOLDM settle_info = 3;
+ bool is_new_record = 2;
+}
diff --git a/proto/Unk2700_BLCHNMCGJCJ.proto b/proto/Unk2700_BLCHNMCGJCJ.proto
new file mode 100644
index 00000000..8e246de9
--- /dev/null
+++ b/proto/Unk2700_BLCHNMCGJCJ.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8948
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BLCHNMCGJCJ {
+ int32 retcode = 11;
+}
diff --git a/proto/Unk2700_BLFFJBMLAPI.proto b/proto/Unk2700_BLFFJBMLAPI.proto
new file mode 100644
index 00000000..f26c2749
--- /dev/null
+++ b/proto/Unk2700_BLFFJBMLAPI.proto
@@ -0,0 +1,31 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8772
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BLFFJBMLAPI {
+ int32 retcode = 9;
+ repeated ItemParam Unk2700_PILJPPJNGEJ = 14;
+ repeated ItemParam Unk2700_EENOCHNIAJL = 1;
+}
diff --git a/proto/Unk2700_BLHIGLFDHFA_ServerNotify.proto b/proto/Unk2700_BLHIGLFDHFA_ServerNotify.proto
new file mode 100644
index 00000000..09ed7125
--- /dev/null
+++ b/proto/Unk2700_BLHIGLFDHFA_ServerNotify.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 4654
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BLHIGLFDHFA_ServerNotify {
+ uint32 trigger_entity_id = 10;
+ uint32 cur_score = 9;
+ uint32 add_score = 7;
+ uint32 gallery_id = 5;
+}
diff --git a/proto/Unk2700_BLNOMGJJLOI.proto b/proto/Unk2700_BLNOMGJJLOI.proto
new file mode 100644
index 00000000..3e0c6873
--- /dev/null
+++ b/proto/Unk2700_BLNOMGJJLOI.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8854
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BLNOMGJJLOI {
+ int32 retcode = 1;
+ uint32 Unk2700_CKGJEOOKFIF = 8;
+}
diff --git a/proto/Unk2700_BMBAIACNLDF.proto b/proto/Unk2700_BMBAIACNLDF.proto
new file mode 100644
index 00000000..0c4aa6a5
--- /dev/null
+++ b/proto/Unk2700_BMBAIACNLDF.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_BMBAIACNLDF {
+ Unk2700_BMBAIACNLDF_Unk2700_KOGCCKHAIBJ = 0;
+ Unk2700_BMBAIACNLDF_Unk2700_OHHELAGBFFO = 1;
+ Unk2700_BMBAIACNLDF_Unk2700_BIGKGGIMNCD = 2;
+}
diff --git a/proto/Unk2700_BMDBBHFJMPF.proto b/proto/Unk2700_BMDBBHFJMPF.proto
new file mode 100644
index 00000000..b8fa6b9a
--- /dev/null
+++ b/proto/Unk2700_BMDBBHFJMPF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8178
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BMDBBHFJMPF {
+ uint32 activity_id = 1;
+}
diff --git a/proto/Unk2700_BNABFJBODGE.proto b/proto/Unk2700_BNABFJBODGE.proto
new file mode 100644
index 00000000..97e3b28a
--- /dev/null
+++ b/proto/Unk2700_BNABFJBODGE.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 8226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BNABFJBODGE {
+ uint32 stage_id = 12;
+ uint32 skill_id = 11;
+ uint32 challenge_id = 10;
+ uint32 Unk2700_AIKKJGOLLHK = 13;
+}
diff --git a/proto/Unk2700_BNCBHLOKDCD.proto b/proto/Unk2700_BNCBHLOKDCD.proto
new file mode 100644
index 00000000..7464cb81
--- /dev/null
+++ b/proto/Unk2700_BNCBHLOKDCD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BNCBHLOKDCD {
+ uint32 num = 10;
+}
diff --git a/proto/Unk2700_BNMDCEKPDMC.proto b/proto/Unk2700_BNMDCEKPDMC.proto
new file mode 100644
index 00000000..260f6687
--- /dev/null
+++ b/proto/Unk2700_BNMDCEKPDMC.proto
@@ -0,0 +1,38 @@
+// 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 "Unk2700_BJJOMPDLNAL.proto";
+import "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8641
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BNMDCEKPDMC {
+ uint32 stage_id = 8;
+ repeated uint32 Unk2700_KIFPKPGKJCA = 14;
+ repeated Unk2700_HJLFNKLPFBH avatar_list = 13;
+ repeated Unk2700_BJJOMPDLNAL Unk2700_AAGBIFHNNPP = 2;
+ repeated uint32 Unk2700_GGNBBHMGLAN = 10;
+ repeated Unk2700_HJLFNKLPFBH Unk2700_PLHIJIHFNDL = 9;
+ repeated uint32 Unk2700_OKGKHPCMNMN = 15;
+ repeated Unk2700_HJLFNKLPFBH Unk2700_BBGHICEDLBB = 11;
+}
diff --git a/proto/Unk2700_BOEHCEAAKKA.proto b/proto/Unk2700_BOEHCEAAKKA.proto
new file mode 100644
index 00000000..a3e1e9ae
--- /dev/null
+++ b/proto/Unk2700_BOEHCEAAKKA.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8921
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BOEHCEAAKKA {
+ uint32 Unk2700_CKGJEOOKFIF = 15;
+ uint32 Unk2700_ADNAKNMDMGG = 2;
+ bool is_succ = 5;
+}
diff --git a/proto/Unk2700_BOPIJJPNHCK.proto b/proto/Unk2700_BOPIJJPNHCK.proto
new file mode 100644
index 00000000..f197b4b1
--- /dev/null
+++ b/proto/Unk2700_BOPIJJPNHCK.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8590
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BOPIJJPNHCK {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_BPFNCHEFKJM.proto b/proto/Unk2700_BPFNCHEFKJM.proto
new file mode 100644
index 00000000..686ea423
--- /dev/null
+++ b/proto/Unk2700_BPFNCHEFKJM.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8449
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_BPFNCHEFKJM {
+ int32 retcode = 10;
+}
diff --git a/proto/Unk2700_BPPDLOJLAAO.proto b/proto/Unk2700_BPPDLOJLAAO.proto
new file mode 100644
index 00000000..cd601f1a
--- /dev/null
+++ b/proto/Unk2700_BPPDLOJLAAO.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8280
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_BPPDLOJLAAO {}
diff --git a/proto/Unk2700_CALNMMBNKFD.proto b/proto/Unk2700_CALNMMBNKFD.proto
new file mode 100644
index 00000000..7d1c12ad
--- /dev/null
+++ b/proto/Unk2700_CALNMMBNKFD.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_AIMMLILLOKB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8502
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CALNMMBNKFD {
+ Unk2700_AIMMLILLOKB Unk2700_GHDHIBDLFPN = 4;
+ int32 retcode = 11;
+ uint32 schedule_id = 10;
+}
diff --git a/proto/Unk2700_CAODHBDOGNE.proto b/proto/Unk2700_CAODHBDOGNE.proto
new file mode 100644
index 00000000..b207a01e
--- /dev/null
+++ b/proto/Unk2700_CAODHBDOGNE.proto
@@ -0,0 +1,39 @@
+// 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 "Unk2700_BJJOMPDLNAL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CAODHBDOGNE {
+ uint32 stage_id = 12;
+ repeated uint32 Unk2700_HIMJICENGCC = 15;
+ uint32 time = 4;
+ uint32 Unk2700_COOCEOOMMKC = 5;
+ uint32 Unk2700_PPEBOKBCPLE = 6;
+ uint32 coin = 11;
+ uint32 difficulty = 8;
+ uint32 dungeon_id = 14;
+ repeated Unk2700_BJJOMPDLNAL Unk2700_AAGBIFHNNPP = 7;
+ repeated uint32 Unk2700_ALMOAMMNNGP = 10;
+}
diff --git a/proto/Unk2700_CBGOFDNILKA.proto b/proto/Unk2700_CBGOFDNILKA.proto
new file mode 100644
index 00000000..3f017f38
--- /dev/null
+++ b/proto/Unk2700_CBGOFDNILKA.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8159
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CBGOFDNILKA {
+ uint32 Unk2700_APJPPLAAFEM = 13;
+ bool Unk2700_JGAMIHLFFOI = 1;
+}
diff --git a/proto/Unk2700_CBJEDMGOBPL.proto b/proto/Unk2700_CBJEDMGOBPL.proto
new file mode 100644
index 00000000..6a2290f3
--- /dev/null
+++ b/proto/Unk2700_CBJEDMGOBPL.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_CBJEDMGOBPL {
+ Unk2700_CBJEDMGOBPL_Unk2700_MBLDLJOKLBL = 0;
+ Unk2700_CBJEDMGOBPL_Unk2700_ILOMIKADKGD = 1;
+ Unk2700_CBJEDMGOBPL_Unk2700_HGHOEJGHMDH = 2;
+ Unk2700_CBJEDMGOBPL_Unk2700_PJCONIDJGOD = 3;
+}
diff --git a/proto/Unk2700_CBMGMANEDNA.proto b/proto/Unk2700_CBMGMANEDNA.proto
new file mode 100644
index 00000000..28ad2f9f
--- /dev/null
+++ b/proto/Unk2700_CBMGMANEDNA.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_DOGEKCNIIAO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_CBMGMANEDNA {
+ repeated Unk2700_DOGEKCNIIAO monster_info_list = 6;
+ uint32 entrance_point_id = 4;
+}
diff --git a/proto/Unk2700_CCCKFHICDHD_ClientNotify.proto b/proto/Unk2700_CCCKFHICDHD_ClientNotify.proto
new file mode 100644
index 00000000..941fdeca
--- /dev/null
+++ b/proto/Unk2700_CCCKFHICDHD_ClientNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3314
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CCCKFHICDHD_ClientNotify {
+ repeated uint32 Unk2700_KPKEIFJJDAO = 9;
+}
diff --git a/proto/Unk2700_CCEOEOHLAPK.proto b/proto/Unk2700_CCEOEOHLAPK.proto
new file mode 100644
index 00000000..b4ad80ff
--- /dev/null
+++ b/proto/Unk2700_CCEOEOHLAPK.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_CCEOEOHLAPK {
+ bool is_hint_valid = 3;
+ Vector hint_center_pos = 8;
+ uint32 group_id = 6;
+ uint32 config_id = 9;
+}
diff --git a/proto/Unk2700_CEEONDKDIHH_ClientReq.proto b/proto/Unk2700_CEEONDKDIHH_ClientReq.proto
new file mode 100644
index 00000000..7b0a1360
--- /dev/null
+++ b/proto/Unk2700_CEEONDKDIHH_ClientReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CEEONDKDIHH_ClientReq {
+ bool Unk2700_MAPEEDEBLKN = 9;
+ uint64 Unk2700_ONOOJBEABOE = 11;
+}
diff --git a/proto/Unk2700_CFLKEDHFPAB.proto b/proto/Unk2700_CFLKEDHFPAB.proto
new file mode 100644
index 00000000..c28648ce
--- /dev/null
+++ b/proto/Unk2700_CFLKEDHFPAB.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8143
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CFLKEDHFPAB {}
diff --git a/proto/Unk2700_CGNFBKKBPJE.proto b/proto/Unk2700_CGNFBKKBPJE.proto
new file mode 100644
index 00000000..468114fb
--- /dev/null
+++ b/proto/Unk2700_CGNFBKKBPJE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8240
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CGNFBKKBPJE {
+ int32 retcode = 13;
+ uint32 stage_id = 6;
+}
diff --git a/proto/Unk2700_CHICHNGLKPI.proto b/proto/Unk2700_CHICHNGLKPI.proto
new file mode 100644
index 00000000..c3cb0e02
--- /dev/null
+++ b/proto/Unk2700_CHICHNGLKPI.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8149
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CHICHNGLKPI {
+ uint32 id = 5;
+ uint32 max_score = 14;
+}
diff --git a/proto/Unk2700_CHLNIDHHGLE.proto b/proto/Unk2700_CHLNIDHHGLE.proto
new file mode 100644
index 00000000..81196d80
--- /dev/null
+++ b/proto/Unk2700_CHLNIDHHGLE.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_CHLNIDHHGLE {
+ uint32 score = 8;
+ Unk2700_MOFABPNGIKP reason = 14;
+ uint32 hit_count = 10;
+ uint32 owner_uid = 6;
+}
diff --git a/proto/Unk2700_CILGDLMHCNG_ServerNotify.proto b/proto/Unk2700_CILGDLMHCNG_ServerNotify.proto
new file mode 100644
index 00000000..8505e2eb
--- /dev/null
+++ b/proto/Unk2700_CILGDLMHCNG_ServerNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 1951
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CILGDLMHCNG_ServerNotify {
+ string Unk2700_GEBOKAMGEEB = 7;
+ uint32 chapter_id = 15;
+}
diff --git a/proto/Unk2700_CIOMEDJDPBP_ClientReq.proto b/proto/Unk2700_CIOMEDJDPBP_ClientReq.proto
new file mode 100644
index 00000000..dd4fc145
--- /dev/null
+++ b/proto/Unk2700_CIOMEDJDPBP_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6342
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CIOMEDJDPBP_ClientReq {}
diff --git a/proto/Unk2700_CJKCCLEGPCM.proto b/proto/Unk2700_CJKCCLEGPCM.proto
new file mode 100644
index 00000000..b50cc30d
--- /dev/null
+++ b/proto/Unk2700_CJKCCLEGPCM.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8153
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CJKCCLEGPCM {
+ int32 retcode = 6;
+ uint32 id = 15;
+}
diff --git a/proto/Unk2700_CKMOPKMKCAO.proto b/proto/Unk2700_CKMOPKMKCAO.proto
new file mode 100644
index 00000000..85647072
--- /dev/null
+++ b/proto/Unk2700_CKMOPKMKCAO.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_CKMOPKMKCAO {
+ Unk2700_CKMOPKMKCAO_Unk2700_BJNNKGGOEIM = 0;
+ Unk2700_CKMOPKMKCAO_MINE = 1;
+ Unk2700_CKMOPKMKCAO_Unk2700_ECDAEGKEKIJ = 2;
+}
diff --git a/proto/Unk2700_CLKGPNDKIDD.proto b/proto/Unk2700_CLKGPNDKIDD.proto
new file mode 100644
index 00000000..ab311c0b
--- /dev/null
+++ b/proto/Unk2700_CLKGPNDKIDD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8725
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_CLKGPNDKIDD {
+ uint32 schedule_id = 8;
+}
diff --git a/proto/Unk2700_CLMGFEOPNFH.proto b/proto/Unk2700_CLMGFEOPNFH.proto
new file mode 100644
index 00000000..cf12fc81
--- /dev/null
+++ b/proto/Unk2700_CLMGFEOPNFH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8938
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CLMGFEOPNFH {
+ int32 retcode = 10;
+ uint32 gallery_id = 12;
+}
diff --git a/proto/Unk2700_CMKDNIANBNE.proto b/proto/Unk2700_CMKDNIANBNE.proto
new file mode 100644
index 00000000..2f4cf266
--- /dev/null
+++ b/proto/Unk2700_CMKDNIANBNE.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_CMKDNIANBNE {
+ string type = 1;
+ string content = 2;
+ uint32 Unk2700_POPBOKAKBBO = 3;
+}
diff --git a/proto/Unk2700_CMOCCENBOLJ.proto b/proto/Unk2700_CMOCCENBOLJ.proto
new file mode 100644
index 00000000..95c5205e
--- /dev/null
+++ b/proto/Unk2700_CMOCCENBOLJ.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_CMOCCENBOLJ {
+ bool Unk2700_MMNILGLDHHD = 10;
+ uint32 Unk2700_OLLKIFMOPAG = 5;
+ uint32 finish_time = 15;
+ uint32 difficulty = 13;
+}
diff --git a/proto/Unk2700_CNEIMEHAAAF.proto b/proto/Unk2700_CNEIMEHAAAF.proto
new file mode 100644
index 00000000..e65b9626
--- /dev/null
+++ b/proto/Unk2700_CNEIMEHAAAF.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8903
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CNEIMEHAAAF {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_CNNJKJFHGGD.proto b/proto/Unk2700_CNNJKJFHGGD.proto
new file mode 100644
index 00000000..9736719d
--- /dev/null
+++ b/proto/Unk2700_CNNJKJFHGGD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8264
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CNNJKJFHGGD {
+ repeated uint32 Unk2700_ABJAKBCPEEC = 11;
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2700_COGBIJAPDLE.proto b/proto/Unk2700_COGBIJAPDLE.proto
new file mode 100644
index 00000000..df74c236
--- /dev/null
+++ b/proto/Unk2700_COGBIJAPDLE.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8535
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_COGBIJAPDLE {
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2700_CPDDDMPAIDL.proto b/proto/Unk2700_CPDDDMPAIDL.proto
new file mode 100644
index 00000000..baa23188
--- /dev/null
+++ b/proto/Unk2700_CPDDDMPAIDL.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8817
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CPDDDMPAIDL {
+ bool Unk2700_PHGMKGEMCFF = 10;
+ uint32 card_id = 13;
+ uint32 level_id = 14;
+ int32 retcode = 11;
+}
diff --git a/proto/Unk2700_CPEMGFIMICD.proto b/proto/Unk2700_CPEMGFIMICD.proto
new file mode 100644
index 00000000..34ef4791
--- /dev/null
+++ b/proto/Unk2700_CPEMGFIMICD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8588
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_CPEMGFIMICD {
+ uint32 Unk2700_LKBHLHIHJGL = 1;
+ int32 retcode = 14;
+}
diff --git a/proto/Unk2700_CPNDLPDOPGN.proto b/proto/Unk2700_CPNDLPDOPGN.proto
new file mode 100644
index 00000000..2a9f6821
--- /dev/null
+++ b/proto/Unk2700_CPNDLPDOPGN.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_CPNDLPDOPGN {
+ uint64 Unk2700_ONOOJBEABOE = 3;
+ uint32 uid = 15;
+ uint32 timestamp = 4;
+ string region = 11;
+ uint32 lang = 13;
+}
diff --git a/proto/Unk2700_DAGJNGODABM_ClientReq.proto b/proto/Unk2700_DAGJNGODABM_ClientReq.proto
new file mode 100644
index 00000000..b957b2f5
--- /dev/null
+++ b/proto/Unk2700_DAGJNGODABM_ClientReq.proto
@@ -0,0 +1,38 @@
+// 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 "MusicBriefInfo.proto";
+import "MusicRecord.proto";
+import "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6329
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_DAGJNGODABM_ClientReq {
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 11;
+ oneof Unk2700_MIPPJKBFLOO {
+ MusicRecord music_record = 2;
+ }
+ oneof Unk2700_ILHNBMNOMHO {
+ MusicBriefInfo music_brief_info = 1488;
+ }
+}
diff --git a/proto/Unk2700_DBPDHLEGOLB.proto b/proto/Unk2700_DBPDHLEGOLB.proto
new file mode 100644
index 00000000..e461b84b
--- /dev/null
+++ b/proto/Unk2700_DBPDHLEGOLB.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8127
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_DBPDHLEGOLB {
+ uint32 stage_id = 5;
+}
diff --git a/proto/Unk2700_DCBEFDDECOJ.proto b/proto/Unk2700_DCBEFDDECOJ.proto
new file mode 100644
index 00000000..9814093b
--- /dev/null
+++ b/proto/Unk2700_DCBEFDDECOJ.proto
@@ -0,0 +1,35 @@
+// 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 "Unk2700_ADIGEBEIJBA.proto";
+import "Unk2700_PKAPCOBGIJL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8858
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_DCBEFDDECOJ {
+ repeated Unk2700_PKAPCOBGIJL Unk2700_INIBKFPMCFO = 8;
+ uint32 level_id = 1;
+ bool Unk2700_CBPNPEBMPOH = 15;
+ uint32 difficulty_id = 11;
+ repeated Unk2700_ADIGEBEIJBA Unk2700_EONPKLLJHPH = 3;
+ uint32 Unk2700_FIGHJIFINKI = 7;
+}
diff --git a/proto/Unk2700_DCKKCAJCNKP_ServerRsp.proto b/proto/Unk2700_DCKKCAJCNKP_ServerRsp.proto
new file mode 100644
index 00000000..04ba2bff
--- /dev/null
+++ b/proto/Unk2700_DCKKCAJCNKP_ServerRsp.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_IGJLOMCPLLE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6207
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_DCKKCAJCNKP_ServerRsp {
+ uint32 room_id = 14;
+ repeated Unk2700_IGJLOMCPLLE Unk2700_MPNOBKBMDFG = 9;
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_DDAHPHCEIIM.proto b/proto/Unk2700_DDAHPHCEIIM.proto
new file mode 100644
index 00000000..2ad3b1c5
--- /dev/null
+++ b/proto/Unk2700_DDAHPHCEIIM.proto
@@ -0,0 +1,31 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8144
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_DDAHPHCEIIM {
+ uint32 entity_id = 9;
+ CustomGadgetTreeInfo Unk2700_OCIHJFOKHPK = 6;
+}
diff --git a/proto/Unk2700_DDLBKAMGGEE_ServerRsp.proto b/proto/Unk2700_DDLBKAMGGEE_ServerRsp.proto
new file mode 100644
index 00000000..6e205bc2
--- /dev/null
+++ b/proto/Unk2700_DDLBKAMGGEE_ServerRsp.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_GHHCCEHGKLH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6215
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_DDLBKAMGGEE_ServerRsp {
+ int32 retcode = 15;
+ Unk2700_GHHCCEHGKLH Unk2700_AMOAHIICCPC = 14;
+}
diff --git a/proto/Unk2700_DEDIKDKNAAB.proto b/proto/Unk2700_DEDIKDKNAAB.proto
new file mode 100644
index 00000000..80f225a0
--- /dev/null
+++ b/proto/Unk2700_DEDIKDKNAAB.proto
@@ -0,0 +1,24 @@
+// 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 Unk2700_DEDIKDKNAAB {
+ bool Unk2700_EDLGAFHFDBE = 5;
+}
diff --git a/proto/Unk2700_DFOHGHKAIBO.proto b/proto/Unk2700_DFOHGHKAIBO.proto
new file mode 100644
index 00000000..00e22cb5
--- /dev/null
+++ b/proto/Unk2700_DFOHGHKAIBO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8442
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_DFOHGHKAIBO {
+ uint32 quest_id = 3;
+}
diff --git a/proto/Unk2700_DGDJKHJNLGO.proto b/proto/Unk2700_DGDJKHJNLGO.proto
new file mode 100644
index 00000000..824a8c09
--- /dev/null
+++ b/proto/Unk2700_DGDJKHJNLGO.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_PGFLJBBEBKG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_DGDJKHJNLGO {
+ uint32 uid = 1;
+ repeated uint64 Unk2700_OEFLHAPAMFH = 2;
+ repeated uint64 Unk2700_OJNBAOCJBCH = 3;
+ repeated Unk2700_PGFLJBBEBKG Unk2700_GDDGEKHOLGL = 4;
+}
diff --git a/proto/Unk2700_DGLIANMBMPA.proto b/proto/Unk2700_DGLIANMBMPA.proto
new file mode 100644
index 00000000..42a158e6
--- /dev/null
+++ b/proto/Unk2700_DGLIANMBMPA.proto
@@ -0,0 +1,34 @@
+// 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";
+
+// CmdId: 8342
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_DGLIANMBMPA {
+ uint32 Unk2700_FHNECPGFPBK = 9;
+ uint32 Unk2700_OAKEBJPBNMA = 2;
+ bool is_new_record = 7;
+ bool is_success = 3;
+ uint32 gallery_id = 13;
+ uint32 remain_time = 4;
+ uint32 score = 11;
+ uint32 Unk2700_FCOMHLJGFLK = 15;
+}
diff --git a/proto/Unk2700_DIEGJDEIDKO.proto b/proto/Unk2700_DIEGJDEIDKO.proto
new file mode 100644
index 00000000..0822a094
--- /dev/null
+++ b/proto/Unk2700_DIEGJDEIDKO.proto
@@ -0,0 +1,31 @@
+// 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 Unk2700_DIEGJDEIDKO {
+ uint32 cur_progress = 12;
+ uint32 id = 6;
+ uint32 open_time = 8;
+ bool is_finished = 10;
+ uint32 total_progress = 9;
+ Vector pos = 5;
+}
diff --git a/proto/Unk2700_DJDEPPHEHCP.proto b/proto/Unk2700_DJDEPPHEHCP.proto
new file mode 100644
index 00000000..38d89f4a
--- /dev/null
+++ b/proto/Unk2700_DJDEPPHEHCP.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_DJDEPPHEHCP {
+ uint32 start_time = 12;
+ uint32 end_time = 5;
+}
diff --git a/proto/Unk2700_DJKEGIEIKHG.proto b/proto/Unk2700_DJKEGIEIKHG.proto
new file mode 100644
index 00000000..55cf684b
--- /dev/null
+++ b/proto/Unk2700_DJKEGIEIKHG.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_DJKEGIEIKHG {
+ Unk2700_MOFABPNGIKP reason = 15;
+ bool Unk2700_MMNILGLDHHD = 11;
+ uint32 finish_time = 14;
+ uint32 Unk2700_BCCHNACPBME = 6;
+ uint32 level_id = 4;
+}
diff --git a/proto/Unk2700_DJMKFGKGAEA.proto b/proto/Unk2700_DJMKFGKGAEA.proto
new file mode 100644
index 00000000..2211cb8c
--- /dev/null
+++ b/proto/Unk2700_DJMKFGKGAEA.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8411
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_DJMKFGKGAEA {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_DLAEFMAMIIJ.proto b/proto/Unk2700_DLAEFMAMIIJ.proto
new file mode 100644
index 00000000..8ab5e319
--- /dev/null
+++ b/proto/Unk2700_DLAEFMAMIIJ.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_DLAEFMAMIIJ {
+ uint32 gallery_id = 6;
+}
diff --git a/proto/Unk2700_DMPIJLBHEAE.proto b/proto/Unk2700_DMPIJLBHEAE.proto
new file mode 100644
index 00000000..bf2f0f13
--- /dev/null
+++ b/proto/Unk2700_DMPIJLBHEAE.proto
@@ -0,0 +1,33 @@
+// 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 "BundleInfo.proto";
+import "ScoreChallengeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_DMPIJLBHEAE {
+ uint32 challenge_type = 5;
+ bool is_unlock = 12;
+ oneof Unk2700_AFHAGFONBFM {
+ BundleInfo bundle_info = 11;
+ ScoreChallengeInfo score_challenge_info = 13;
+ uint32 boss_challenge_id = 2;
+ }
+}
diff --git a/proto/Unk2700_DOGEKCNIIAO.proto b/proto/Unk2700_DOGEKCNIIAO.proto
new file mode 100644
index 00000000..21ea59f8
--- /dev/null
+++ b/proto/Unk2700_DOGEKCNIIAO.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_DOGEKCNIIAO {
+ uint32 Unk2700_KJFBIFHFIBO = 6;
+ uint32 level = 13;
+ uint32 monster_id = 14;
+ repeated uint32 affix_list = 11;
+}
diff --git a/proto/Unk2700_DPPCDPBBABA.proto b/proto/Unk2700_DPPCDPBBABA.proto
new file mode 100644
index 00000000..11b97d6d
--- /dev/null
+++ b/proto/Unk2700_DPPCDPBBABA.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_PIAFGFGHGHM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_DPPCDPBBABA {
+ bool is_open = 1;
+ string content = 2;
+ uint32 Unk2700_DIFBKPIAEBB = 3;
+ Unk2700_PIAFGFGHGHM Unk2700_HMGCGJCDDEG = 4;
+ uint32 Unk2700_JEKIGDDNCAB = 5;
+}
diff --git a/proto/Unk2700_EAAGDFHHNMJ_ServerReq.proto b/proto/Unk2700_EAAGDFHHNMJ_ServerReq.proto
new file mode 100644
index 00000000..fdda7600
--- /dev/null
+++ b/proto/Unk2700_EAAGDFHHNMJ_ServerReq.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 1105
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EAAGDFHHNMJ_ServerReq {
+ repeated uint32 Unk2700_IBJECDLKPGM = 14;
+}
diff --git a/proto/Unk2700_EAAMIOAFNOD_ServerRsp.proto b/proto/Unk2700_EAAMIOAFNOD_ServerRsp.proto
new file mode 100644
index 00000000..b33b5fd8
--- /dev/null
+++ b/proto/Unk2700_EAAMIOAFNOD_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4064
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EAAMIOAFNOD_ServerRsp {
+ int32 retcode = 9;
+}
diff --git a/proto/Unk2700_EAGIANJBNGK_ClientReq.proto b/proto/Unk2700_EAGIANJBNGK_ClientReq.proto
new file mode 100644
index 00000000..b5bfe8e8
--- /dev/null
+++ b/proto/Unk2700_EAGIANJBNGK_ClientReq.proto
@@ -0,0 +1,37 @@
+// 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 "ElementReliquaryRequest.proto";
+import "ReliquaryRequest.proto";
+import "SkillRequest.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 151
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EAGIANJBNGK_ClientReq {
+ uint32 avatar_id = 9;
+ oneof detail {
+ SkillRequest skill_request = 553;
+ ReliquaryRequest reliquary_request = 1993;
+ ElementReliquaryRequest element_reliquary_request = 1489;
+ }
+}
diff --git a/proto/Unk2700_EAJCGENDICI.proto b/proto/Unk2700_EAJCGENDICI.proto
new file mode 100644
index 00000000..308f4af4
--- /dev/null
+++ b/proto/Unk2700_EAJCGENDICI.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_EAJCGENDICI {
+ Unk2700_EAJCGENDICI_Unk2700_NDNHCNOOCCA = 0;
+ Unk2700_EAJCGENDICI_Unk2700_GFALGAIAPOP = 1;
+ Unk2700_EAJCGENDICI_Unk2700_AAFPJPGKHPO = 2;
+ Unk2700_EAJCGENDICI_Unk2700_HFKOPLPHODM = 3;
+ Unk2700_EAJCGENDICI_Unk2700_OPIOJNLJNJN = 4;
+ Unk2700_EAJCGENDICI_Unk2700_GHHLNHAJEBA = 5;
+}
diff --git a/proto/Unk2700_EAOAMGDLJMP.proto b/proto/Unk2700_EAOAMGDLJMP.proto
new file mode 100644
index 00000000..02e4edad
--- /dev/null
+++ b/proto/Unk2700_EAOAMGDLJMP.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8617
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EAOAMGDLJMP {}
diff --git a/proto/Unk2700_EBJCAMGPFDB.proto b/proto/Unk2700_EBJCAMGPFDB.proto
new file mode 100644
index 00000000..60bc7259
--- /dev/null
+++ b/proto/Unk2700_EBJCAMGPFDB.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8838
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EBJCAMGPFDB {
+ uint32 stage_id = 2;
+}
diff --git a/proto/Unk2700_EBOECOIFJMP.proto b/proto/Unk2700_EBOECOIFJMP.proto
new file mode 100644
index 00000000..ddaeaabf
--- /dev/null
+++ b/proto/Unk2700_EBOECOIFJMP.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8717
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EBOECOIFJMP {
+ bool Unk2700_PHGMKGEMCFF = 1;
+ uint32 level_id = 11;
+}
diff --git a/proto/Unk2700_ECBEAMKBGMD_ClientReq.proto b/proto/Unk2700_ECBEAMKBGMD_ClientReq.proto
new file mode 100644
index 00000000..650893e2
--- /dev/null
+++ b/proto/Unk2700_ECBEAMKBGMD_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ECBEAMKBGMD_ClientReq {
+ bool Unk2700_DFOGBOAGMPI = 13;
+}
diff --git a/proto/Unk2700_EDCIENBEEDI.proto b/proto/Unk2700_EDCIENBEEDI.proto
new file mode 100644
index 00000000..d61266ef
--- /dev/null
+++ b/proto/Unk2700_EDCIENBEEDI.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EDCIENBEEDI {
+ uint32 Unk2700_HABMDJOFBDG = 10;
+}
diff --git a/proto/Unk2700_EDDNHJPJBBF.proto b/proto/Unk2700_EDDNHJPJBBF.proto
new file mode 100644
index 00000000..3b83a66a
--- /dev/null
+++ b/proto/Unk2700_EDDNHJPJBBF.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8733
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EDDNHJPJBBF {
+ uint32 schedule_id = 7;
+}
diff --git a/proto/Unk2700_EDMCLPMBEMH.proto b/proto/Unk2700_EDMCLPMBEMH.proto
new file mode 100644
index 00000000..adf99e12
--- /dev/null
+++ b/proto/Unk2700_EDMCLPMBEMH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8387
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EDMCLPMBEMH {
+ uint32 uid = 11;
+}
diff --git a/proto/Unk2700_EDNGHJGKEKC.proto b/proto/Unk2700_EDNGHJGKEKC.proto
new file mode 100644
index 00000000..e1a33fa9
--- /dev/null
+++ b/proto/Unk2700_EDNGHJGKEKC.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_CMKDNIANBNE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_EDNGHJGKEKC {
+ repeated Unk2700_CMKDNIANBNE Unk2700_HDGDLPCFABI = 1;
+ string name = 2;
+}
diff --git a/proto/Unk2700_EELPPGCAKHL.proto b/proto/Unk2700_EELPPGCAKHL.proto
new file mode 100644
index 00000000..cfe626f1
--- /dev/null
+++ b/proto/Unk2700_EELPPGCAKHL.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8373
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EELPPGCAKHL {
+ map Unk2700_BMLBMGGBFJG = 15;
+ map Unk2700_OBFPKFEGGIK = 14;
+ uint32 dungeon_id = 5;
+}
diff --git a/proto/Unk2700_EEPNCOAEKBM.proto b/proto/Unk2700_EEPNCOAEKBM.proto
new file mode 100644
index 00000000..03085cd3
--- /dev/null
+++ b/proto/Unk2700_EEPNCOAEKBM.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_EEPNCOAEKBM {
+ Unk2700_EEPNCOAEKBM_Unk2700_EAFEANPNJLO = 0;
+ Unk2700_EEPNCOAEKBM_Unk2700_PAPMIPKGFJK = 1;
+ Unk2700_EEPNCOAEKBM_Unk2700_CONEKODEFHL = 2;
+ Unk2700_EEPNCOAEKBM_Unk2700_KABLOGENHFI = 3;
+}
diff --git a/proto/Unk2700_EGKIHLIOLDM.proto b/proto/Unk2700_EGKIHLIOLDM.proto
new file mode 100644
index 00000000..29f54f84
--- /dev/null
+++ b/proto/Unk2700_EGKIHLIOLDM.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_NPOBPFNDJKK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_EGKIHLIOLDM {
+ uint32 Unk2700_CDDONJJMFCI = 14;
+ Unk2700_NPOBPFNDJKK reason = 7;
+}
diff --git a/proto/Unk2700_EHAMOPKCIGI_ServerNotify.proto b/proto/Unk2700_EHAMOPKCIGI_ServerNotify.proto
new file mode 100644
index 00000000..05c2e081
--- /dev/null
+++ b/proto/Unk2700_EHAMOPKCIGI_ServerNotify.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_KNGDOIDOFFB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4805
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EHAMOPKCIGI_ServerNotify {
+ uint32 gallery_id = 11;
+ Unk2700_KNGDOIDOFFB settle_info = 12;
+ uint32 Unk2700_HAOPLFPOLFM = 7;
+ bool is_new_record = 2;
+}
diff --git a/proto/Unk2700_EHFBIEDHILL.proto b/proto/Unk2700_EHFBIEDHILL.proto
new file mode 100644
index 00000000..8946edeb
--- /dev/null
+++ b/proto/Unk2700_EHFBIEDHILL.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8882
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EHFBIEDHILL {
+ int32 retcode = 2;
+ uint32 activity_id = 4;
+}
diff --git a/proto/Unk2700_EJHALNBHHHD_ServerRsp.proto b/proto/Unk2700_EJHALNBHHHD_ServerRsp.proto
new file mode 100644
index 00000000..7590a104
--- /dev/null
+++ b/proto/Unk2700_EJHALNBHHHD_ServerRsp.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6322
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EJHALNBHHHD_ServerRsp {
+ int32 retcode = 15;
+ uint64 Unk2700_CEPGMKAHHCD = 8;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 1;
+}
diff --git a/proto/Unk2700_EJIOFGEEIOM.proto b/proto/Unk2700_EJIOFGEEIOM.proto
new file mode 100644
index 00000000..f00327ec
--- /dev/null
+++ b/proto/Unk2700_EJIOFGEEIOM.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8837
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EJIOFGEEIOM {
+ int32 retcode = 9;
+ uint32 quest_id = 3;
+}
diff --git a/proto/Unk2700_EKBMEKPHJGK.proto b/proto/Unk2700_EKBMEKPHJGK.proto
new file mode 100644
index 00000000..38601852
--- /dev/null
+++ b/proto/Unk2700_EKBMEKPHJGK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8726
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_EKBMEKPHJGK {
+ uint32 config_id = 9;
+ uint32 group_id = 11;
+}
diff --git a/proto/Unk2700_EKDHFFHMNCD.proto b/proto/Unk2700_EKDHFFHMNCD.proto
new file mode 100644
index 00000000..39b6a3ac
--- /dev/null
+++ b/proto/Unk2700_EKDHFFHMNCD.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_EKDHFFHMNCD {
+ uint32 index = 2;
+ uint64 Unk2700_FALGECBMIHD = 14;
+ uint32 Unk2700_PBAFCLCIABF = 12;
+}
diff --git a/proto/Unk2700_ELMEOJFCOFH.proto b/proto/Unk2700_ELMEOJFCOFH.proto
new file mode 100644
index 00000000..7d9000bb
--- /dev/null
+++ b/proto/Unk2700_ELMEOJFCOFH.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_ELMEOJFCOFH {
+ map Unk2700_HGBNIFAKOGI = 12;
+ uint32 Unk2700_BPDFJJNJGAJ = 3;
+ uint32 Unk2700_DCBOIFJCDHG = 15;
+ uint32 Unk2700_KDJGDPDJHLL = 6;
+ uint32 Unk2700_NGKGJJBDGMP = 7;
+}
diff --git a/proto/Unk2700_EMHAHHAKOGA.proto b/proto/Unk2700_EMHAHHAKOGA.proto
new file mode 100644
index 00000000..3bf59b1e
--- /dev/null
+++ b/proto/Unk2700_EMHAHHAKOGA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8163
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_EMHAHHAKOGA {
+ uint32 stage_id = 2;
+}
diff --git a/proto/Unk2700_EOHBLDIKPME.proto b/proto/Unk2700_EOHBLDIKPME.proto
new file mode 100644
index 00000000..5e21d81e
--- /dev/null
+++ b/proto/Unk2700_EOHBLDIKPME.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_INMNHKOPCFB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_EOHBLDIKPME {
+ uint32 map_id = 6;
+ Unk2700_INMNHKOPCFB Unk2700_JONOMFENDFP = 7;
+ repeated uint32 Unk2700_LDIGKKLLDOC = 3;
+ uint32 best_score = 8;
+}
diff --git a/proto/Unk2700_FADPOMMGLCH.proto b/proto/Unk2700_FADPOMMGLCH.proto
new file mode 100644
index 00000000..f01d50fa
--- /dev/null
+++ b/proto/Unk2700_FADPOMMGLCH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8918
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FADPOMMGLCH {
+ uint32 stage_id = 13;
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_FCJOEKKHPLB.proto b/proto/Unk2700_FCJOEKKHPLB.proto
new file mode 100644
index 00000000..a9faea9a
--- /dev/null
+++ b/proto/Unk2700_FCJOEKKHPLB.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_FCJOEKKHPLB {
+ uint32 Unk2700_AMJKJDFKOHF = 2;
+ uint32 Unk2700_JFBLEPOMGLC = 3;
+ uint32 Unk2700_NDJKPHLIALK = 1;
+ uint32 Unk2700_HKKPKBEKCME = 6;
+ repeated uint32 Unk2700_ADPPEOELMBP = 4;
+ uint32 Unk2700_MLCEOFAMBFM = 7;
+}
diff --git a/proto/Unk2700_FCLBOLKPMGK.proto b/proto/Unk2700_FCLBOLKPMGK.proto
new file mode 100644
index 00000000..470c160e
--- /dev/null
+++ b/proto/Unk2700_FCLBOLKPMGK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8753
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FCLBOLKPMGK {
+ repeated uint32 item_id_list = 4;
+}
diff --git a/proto/Unk2700_FDEGJOCDDGH.proto b/proto/Unk2700_FDEGJOCDDGH.proto
new file mode 100644
index 00000000..3f599e1c
--- /dev/null
+++ b/proto/Unk2700_FDEGJOCDDGH.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_FDEGJOCDDGH {
+ uint32 cur_progress = 9;
+ uint32 challenge_index = 10;
+ bool is_success = 4;
+ uint32 challenge_id = 8;
+}
diff --git a/proto/Unk2700_FDJBLKOBFIH.proto b/proto/Unk2700_FDJBLKOBFIH.proto
new file mode 100644
index 00000000..834ff9a2
--- /dev/null
+++ b/proto/Unk2700_FDJBLKOBFIH.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8334
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FDJBLKOBFIH {
+ int32 retcode = 5;
+}
diff --git a/proto/Unk2700_FEAENJPINFJ.proto b/proto/Unk2700_FEAENJPINFJ.proto
new file mode 100644
index 00000000..4a8edc98
--- /dev/null
+++ b/proto/Unk2700_FEAENJPINFJ.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_FEAENJPINFJ {
+ uint32 skill_id = 2;
+ bool is_unlock = 11;
+ uint32 Unk2700_LAPIBECMGOB = 1;
+ uint32 Unk2700_LKNCBOOJCGI = 14;
+}
diff --git a/proto/Unk2700_FEODEAEOOKE.proto b/proto/Unk2700_FEODEAEOOKE.proto
new file mode 100644
index 00000000..4b386f04
--- /dev/null
+++ b/proto/Unk2700_FEODEAEOOKE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FEODEAEOOKE {
+ uint32 level_id = 5;
+}
diff --git a/proto/Unk2700_FFMAKIPBPHE.proto b/proto/Unk2700_FFMAKIPBPHE.proto
new file mode 100644
index 00000000..c616f741
--- /dev/null
+++ b/proto/Unk2700_FFMAKIPBPHE.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8989
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FFMAKIPBPHE {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_FFOBMLOCPMH_ClientNotify.proto b/proto/Unk2700_FFOBMLOCPMH_ClientNotify.proto
new file mode 100644
index 00000000..0e8d5bfd
--- /dev/null
+++ b/proto/Unk2700_FFOBMLOCPMH_ClientNotify.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6211
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FFOBMLOCPMH_ClientNotify {}
diff --git a/proto/Unk2700_FGEEFFLBAKO.proto b/proto/Unk2700_FGEEFFLBAKO.proto
new file mode 100644
index 00000000..ae1005f2
--- /dev/null
+++ b/proto/Unk2700_FGEEFFLBAKO.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8546
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FGEEFFLBAKO {
+ int32 retcode = 5;
+ bool Unk2700_PHGMKGEMCFF = 7;
+ uint32 level_id = 13;
+}
diff --git a/proto/Unk2700_FGJBPNIKNDE.proto b/proto/Unk2700_FGJBPNIKNDE.proto
new file mode 100644
index 00000000..06637130
--- /dev/null
+++ b/proto/Unk2700_FGJBPNIKNDE.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FGJBPNIKNDE {}
diff --git a/proto/Unk2700_FGJFFMPOJON.proto b/proto/Unk2700_FGJFFMPOJON.proto
new file mode 100644
index 00000000..3dbab0a2
--- /dev/null
+++ b/proto/Unk2700_FGJFFMPOJON.proto
@@ -0,0 +1,30 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_FGJFFMPOJON {
+ string nickname = 7;
+ string remark_name = 3;
+ ProfilePicture profile_picture = 11;
+ map Unk2700_IFCNGIPPOAE = 9;
+ uint32 uid = 8;
+}
diff --git a/proto/Unk2700_FHOKHHBGPEG.proto b/proto/Unk2700_FHOKHHBGPEG.proto
new file mode 100644
index 00000000..b291a03f
--- /dev/null
+++ b/proto/Unk2700_FHOKHHBGPEG.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_FHOKHHBGPEG {
+ Unk2700_FHOKHHBGPEG_NONE = 0;
+ Unk2700_FHOKHHBGPEG_FAIL = 1;
+ Unk2700_FHOKHHBGPEG_SUCC = 2;
+ Unk2700_FHOKHHBGPEG_Unk2700_GGDJFCKGBGE = 3;
+}
diff --git a/proto/Unk2700_FIODAJPNBIK.proto b/proto/Unk2700_FIODAJPNBIK.proto
new file mode 100644
index 00000000..31279219
--- /dev/null
+++ b/proto/Unk2700_FIODAJPNBIK.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_AFOPONDCLKC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8937
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FIODAJPNBIK {
+ int32 retcode = 12;
+ repeated Unk2700_AFOPONDCLKC Unk2700_MAKCLMEGEBJ = 5;
+}
diff --git a/proto/Unk2700_FJEHHCPCBLG_ServerNotify.proto b/proto/Unk2700_FJEHHCPCBLG_ServerNotify.proto
new file mode 100644
index 00000000..5a51f256
--- /dev/null
+++ b/proto/Unk2700_FJEHHCPCBLG_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4872
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FJEHHCPCBLG_ServerNotify {
+ uint32 Unk2700_BJHAMKKECEI = 12;
+}
diff --git a/proto/Unk2700_FJJFKOEACCE.proto b/proto/Unk2700_FJJFKOEACCE.proto
new file mode 100644
index 00000000..2893d17a
--- /dev/null
+++ b/proto/Unk2700_FJJFKOEACCE.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8450
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FJJFKOEACCE {
+ uint32 Unk2700_EMPNNJKDMHE = 14;
+ map Unk2700_DNMNEMKIELD = 6;
+ uint32 Unk2700_GKBGMLGFIBN = 2;
+ uint32 Unk2700_OGHMDKMIKBK = 13;
+}
diff --git a/proto/Unk2700_FKCDCGCBIEA_ServerNotify.proto b/proto/Unk2700_FKCDCGCBIEA_ServerNotify.proto
new file mode 100644
index 00000000..608890fb
--- /dev/null
+++ b/proto/Unk2700_FKCDCGCBIEA_ServerNotify.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2700_NAPLFKNOECD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6276
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FKCDCGCBIEA_ServerNotify {
+ repeated Unk2700_NAPLFKNOECD var_list = 5;
+ string Unk2700_JEMDOAHDMBP = 9;
+ bool Unk2700_ANBEGPCLAAO = 15;
+ uint32 play_type = 7;
+ bool Unk3000_JHAMNNJMOCI = 4;
+}
diff --git a/proto/Unk2700_FKMOKPBJIKO.proto b/proto/Unk2700_FKMOKPBJIKO.proto
new file mode 100644
index 00000000..41369e70
--- /dev/null
+++ b/proto/Unk2700_FKMOKPBJIKO.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8482
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FKMOKPBJIKO {
+ int32 retcode = 11;
+}
diff --git a/proto/Unk2700_FLGMLEFJHBB_ClientReq.proto b/proto/Unk2700_FLGMLEFJHBB_ClientReq.proto
new file mode 100644
index 00000000..700fb480
--- /dev/null
+++ b/proto/Unk2700_FLGMLEFJHBB_ClientReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6210
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FLGMLEFJHBB_ClientReq {
+ bool Unk2700_FGHPHCPAFKJ = 5;
+ uint64 Unk2700_ONOOJBEABOE = 10;
+}
diff --git a/proto/Unk2700_FMGGGEDNGGN.proto b/proto/Unk2700_FMGGGEDNGGN.proto
new file mode 100644
index 00000000..dfababf8
--- /dev/null
+++ b/proto/Unk2700_FMGGGEDNGGN.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_FMGGGEDNGGN {
+ uint32 avatar_id = 1;
+ bool is_trial = 2;
+ uint32 costume_id = 3;
+}
diff --git a/proto/Unk2700_FMNAGFKECPL_ClientReq.proto b/proto/Unk2700_FMNAGFKECPL_ClientReq.proto
new file mode 100644
index 00000000..a4ae23d4
--- /dev/null
+++ b/proto/Unk2700_FMNAGFKECPL_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6222
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FMNAGFKECPL_ClientReq {
+ uint32 room_id = 4;
+}
diff --git a/proto/Unk2700_FNHKFHGNLPP_ServerRsp.proto b/proto/Unk2700_FNHKFHGNLPP_ServerRsp.proto
new file mode 100644
index 00000000..4624d3c1
--- /dev/null
+++ b/proto/Unk2700_FNHKFHGNLPP_ServerRsp.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_GHHCCEHGKLH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6248
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FNHKFHGNLPP_ServerRsp {
+ repeated Unk2700_GHHCCEHGKLH Unk2700_BCIBEPMFLGN = 8;
+ int32 retcode = 14;
+}
diff --git a/proto/Unk2700_FNJHJKELICK.proto b/proto/Unk2700_FNJHJKELICK.proto
new file mode 100644
index 00000000..960dd719
--- /dev/null
+++ b/proto/Unk2700_FNJHJKELICK.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8119
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FNJHJKELICK {
+ int32 retcode = 1;
+}
diff --git a/proto/Unk2700_FOOOKMANFPE_ClientReq.proto b/proto/Unk2700_FOOOKMANFPE_ClientReq.proto
new file mode 100644
index 00000000..521f7022
--- /dev/null
+++ b/proto/Unk2700_FOOOKMANFPE_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6249
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_FOOOKMANFPE_ClientReq {
+ uint64 Unk2700_ONOOJBEABOE = 14;
+}
diff --git a/proto/Unk2700_FPCJGEOBADP_ServerRsp.proto b/proto/Unk2700_FPCJGEOBADP_ServerRsp.proto
new file mode 100644
index 00000000..d21749ec
--- /dev/null
+++ b/proto/Unk2700_FPCJGEOBADP_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6204
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FPCJGEOBADP_ServerRsp {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_FPJLFMEHHLB_ServerNotify.proto b/proto/Unk2700_FPJLFMEHHLB_ServerNotify.proto
new file mode 100644
index 00000000..96cd58ed
--- /dev/null
+++ b/proto/Unk2700_FPJLFMEHHLB_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_DPPCDPBBABA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4060
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FPJLFMEHHLB_ServerNotify {
+ Unk2700_DPPCDPBBABA info = 14;
+}
diff --git a/proto/Unk2700_FPOBGEBDAOD_ServerNotify.proto b/proto/Unk2700_FPOBGEBDAOD_ServerNotify.proto
new file mode 100644
index 00000000..139438ab
--- /dev/null
+++ b/proto/Unk2700_FPOBGEBDAOD_ServerNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 5547
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_FPOBGEBDAOD_ServerNotify {
+ uint32 score = 7;
+ uint32 gallery_id = 9;
+}
diff --git a/proto/Unk2700_GALDCKFKPEK.proto b/proto/Unk2700_GALDCKFKPEK.proto
new file mode 100644
index 00000000..79f4198c
--- /dev/null
+++ b/proto/Unk2700_GALDCKFKPEK.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_MPELMDDJFHO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GALDCKFKPEK {
+ repeated Unk2700_MPELMDDJFHO Unk2700_KLOAFPMHOKI = 1;
+}
diff --git a/proto/Unk2700_GBHAPPCDCIL.proto b/proto/Unk2700_GBHAPPCDCIL.proto
new file mode 100644
index 00000000..3398d95c
--- /dev/null
+++ b/proto/Unk2700_GBHAPPCDCIL.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_GBHAPPCDCIL {
+ bool Unk2700_IBDCFAMBGOK = 1;
+ uint32 Unk2700_IFNFCNNBPIB = 2;
+ uint32 Unk2700_PBBPGFMNMNJ = 3;
+ bool Unk2700_FKLBCNLBBNM = 4;
+ uint32 Unk2700_KENGEGJGAEL = 5;
+}
diff --git a/proto/Unk2700_GBJOLBGLELJ.proto b/proto/Unk2700_GBJOLBGLELJ.proto
new file mode 100644
index 00000000..00e65373
--- /dev/null
+++ b/proto/Unk2700_GBJOLBGLELJ.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8014
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GBJOLBGLELJ {}
diff --git a/proto/Unk2700_GBPNAHCAKJE.proto b/proto/Unk2700_GBPNAHCAKJE.proto
new file mode 100644
index 00000000..8c514fd1
--- /dev/null
+++ b/proto/Unk2700_GBPNAHCAKJE.proto
@@ -0,0 +1,34 @@
+// 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 "Unk2700_EDNGHJGKEKC.proto";
+import "Unk2700_LBPFDCBHCBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GBPNAHCAKJE {
+ string Unk2700_OAKBDKKBFHP = 1;
+ string entity_id = 2;
+ string lang = 3;
+ string Unk2700_NDEJPMGPBAH = 4;
+ string region = 5;
+ uint32 uid = 6;
+ repeated Unk2700_EDNGHJGKEKC Unk2700_LHPECOEIIKL = 7;
+ repeated Unk2700_LBPFDCBHCBL Unk2700_LABLGMEOEFM = 8;
+}
diff --git a/proto/Unk2700_GCPNGHFNGDP.proto b/proto/Unk2700_GCPNGHFNGDP.proto
new file mode 100644
index 00000000..54b93b64
--- /dev/null
+++ b/proto/Unk2700_GCPNGHFNGDP.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GCPNGHFNGDP {
+ repeated uint32 Unk2700_ANAEHLBDFIC = 1;
+ repeated ItemParam Unk2700_PMMJDKJHBIG = 7;
+}
diff --git a/proto/Unk2700_GDODKDJJPMP_ServerRsp.proto b/proto/Unk2700_GDODKDJJPMP_ServerRsp.proto
new file mode 100644
index 00000000..75d341ca
--- /dev/null
+++ b/proto/Unk2700_GDODKDJJPMP_ServerRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 4605
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GDODKDJJPMP_ServerRsp {
+ uint32 group_id = 4;
+ int32 retcode = 1;
+}
diff --git a/proto/Unk2700_GECHLGFKPOD_ServerNotify.proto b/proto/Unk2700_GECHLGFKPOD_ServerNotify.proto
new file mode 100644
index 00000000..8931236a
--- /dev/null
+++ b/proto/Unk2700_GECHLGFKPOD_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_NKIDCOKNPFF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5364
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GECHLGFKPOD_ServerNotify {
+ Unk2700_NKIDCOKNPFF player_info = 6;
+}
diff --git a/proto/Unk2700_GEIGCHNDOAA.proto b/proto/Unk2700_GEIGCHNDOAA.proto
new file mode 100644
index 00000000..2269669e
--- /dev/null
+++ b/proto/Unk2700_GEIGCHNDOAA.proto
@@ -0,0 +1,37 @@
+// 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 "Unk2700_IMGLPJNBHCH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8657
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GEIGCHNDOAA {
+ uint32 stage_id = 7;
+ bool Unk2700_LNINCIBPIBN = 13;
+ uint32 challenge_id = 8;
+ repeated Unk2700_IMGLPJNBHCH Unk2700_DMJOJPGLFHE = 2;
+ uint32 Unk2700_HMIBIIPHBAN = 10;
+ uint32 Unk2700_LOIMAGFKMOJ = 15;
+ uint32 Unk2700_FGIIBJADECI = 11;
+ int32 retcode = 3;
+ uint32 Unk2700_AEHOPMMMHAP = 12;
+}
diff --git a/proto/Unk2700_GFMPOHAGMLO_ClientReq.proto b/proto/Unk2700_GFMPOHAGMLO_ClientReq.proto
new file mode 100644
index 00000000..f7773a84
--- /dev/null
+++ b/proto/Unk2700_GFMPOHAGMLO_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6250
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GFMPOHAGMLO_ClientReq {}
diff --git a/proto/Unk2700_GHHCCEHGKLH.proto b/proto/Unk2700_GHHCCEHGKLH.proto
new file mode 100644
index 00000000..b370224c
--- /dev/null
+++ b/proto/Unk2700_GHHCCEHGKLH.proto
@@ -0,0 +1,39 @@
+// 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 "SocialDetail.proto";
+import "Unk2700_ELMEOJFCOFH.proto";
+import "Unk2700_OHBMICGFIIK.proto";
+import "Unk2700_PHGGAEDHLBN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GHHCCEHGKLH {
+ SocialDetail Unk2700_KLPJLKPKKHH = 4;
+ uint32 Unk2700_DPPILIMGOKH = 15;
+ Unk2700_ELMEOJFCOFH Unk2700_PCFIKJEDEGN = 2;
+ uint64 Unk2700_ONOOJBEABOE = 14;
+ Unk2700_PHGGAEDHLBN Unk2700_JGFDODPBGFL = 10;
+ uint32 dungeon_id = 6;
+ repeated uint32 tag_list = 1;
+ bool Unk2700_GOIIEONNFFN = 11;
+ bool Unk2700_GBCGGDONMCD = 9;
+ bool Unk2700_HBFLKFOCKBF = 3;
+ Unk2700_OHBMICGFIIK Unk2700_IKGOMKLAJLH = 12;
+}
diff --git a/proto/Unk2700_GHONKKEGHGL.proto b/proto/Unk2700_GHONKKEGHGL.proto
new file mode 100644
index 00000000..d0f025e4
--- /dev/null
+++ b/proto/Unk2700_GHONKKEGHGL.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_LHPELFJPPOD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GHONKKEGHGL {
+ bool is_open = 8;
+ repeated Unk2700_LHPELFJPPOD challenge_info_list = 9;
+ uint32 stage_id = 15;
+}
diff --git a/proto/Unk2700_GIAILDLPEOO_ServerRsp.proto b/proto/Unk2700_GIAILDLPEOO_ServerRsp.proto
new file mode 100644
index 00000000..87f84703
--- /dev/null
+++ b/proto/Unk2700_GIAILDLPEOO_ServerRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6241
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GIAILDLPEOO_ServerRsp {
+ uint32 room_id = 4;
+ int32 retcode = 1;
+}
diff --git a/proto/Unk2700_GIFGEDBCPFC_ServerRsp.proto b/proto/Unk2700_GIFGEDBCPFC_ServerRsp.proto
new file mode 100644
index 00000000..abf5003b
--- /dev/null
+++ b/proto/Unk2700_GIFGEDBCPFC_ServerRsp.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 417
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GIFGEDBCPFC_ServerRsp {
+ int32 retcode = 1;
+ uint64 Unk2700_KHDDIJNOICK = 14;
+ uint32 parent_quest_id = 10;
+}
diff --git a/proto/Unk2700_GIFKPMNGNGB.proto b/proto/Unk2700_GIFKPMNGNGB.proto
new file mode 100644
index 00000000..2e84921d
--- /dev/null
+++ b/proto/Unk2700_GIFKPMNGNGB.proto
@@ -0,0 +1,31 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8608
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GIFKPMNGNGB {
+ uint32 entity_id = 13;
+ CustomGadgetTreeInfo Unk2700_OCIHJFOKHPK = 1;
+}
diff --git a/proto/Unk2700_GKHEKGMFBJN.proto b/proto/Unk2700_GKHEKGMFBJN.proto
new file mode 100644
index 00000000..224083be
--- /dev/null
+++ b/proto/Unk2700_GKHEKGMFBJN.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8688
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GKHEKGMFBJN {
+ int32 retcode = 5;
+}
diff --git a/proto/Unk2700_GKKNFMNJFDP.proto b/proto/Unk2700_GKKNFMNJFDP.proto
new file mode 100644
index 00000000..160c7d32
--- /dev/null
+++ b/proto/Unk2700_GKKNFMNJFDP.proto
@@ -0,0 +1,34 @@
+// 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 "Unk2700_AMKLCEFNNCC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8261
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GKKNFMNJFDP {
+ repeated uint32 buff_id_list = 15;
+ uint32 level_id = 5;
+ repeated Unk2700_AMKLCEFNNCC avatar_info_list = 14;
+ uint32 Unk2700_HKFEBBCMBHL = 2;
+ uint32 stage_id = 13;
+}
diff --git a/proto/Unk2700_GLAPMLGHDDC_ClientReq.proto b/proto/Unk2700_GLAPMLGHDDC_ClientReq.proto
new file mode 100644
index 00000000..4d744aa0
--- /dev/null
+++ b/proto/Unk2700_GLAPMLGHDDC_ClientReq.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_NOCLNCCJEGK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5960
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GLAPMLGHDDC_ClientReq {
+ uint32 material_id = 14;
+ Unk2700_NOCLNCCJEGK Unk2700_MHEKJGAIFBO = 10;
+ uint32 Unk2700_GMHLHKIIGIC = 7;
+}
diff --git a/proto/Unk2700_GLIILNDIPLK_ServerNotify.proto b/proto/Unk2700_GLIILNDIPLK_ServerNotify.proto
new file mode 100644
index 00000000..dba59da5
--- /dev/null
+++ b/proto/Unk2700_GLIILNDIPLK_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6341
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GLIILNDIPLK_ServerNotify {
+ bool Unk2700_LALIEABDFFI = 12;
+ bool Unk2700_DCLHFINJEOD = 8;
+ bool Unk2700_GMICFADLAMC = 15;
+}
diff --git a/proto/Unk2700_GLLIEOABOML.proto b/proto/Unk2700_GLLIEOABOML.proto
new file mode 100644
index 00000000..41cf23b3
--- /dev/null
+++ b/proto/Unk2700_GLLIEOABOML.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8057
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GLLIEOABOML {
+ uint32 card_id = 8;
+ uint32 level_id = 5;
+ bool Unk2700_PHGMKGEMCFF = 10;
+}
diff --git a/proto/Unk2700_GMNGEEBMABP.proto b/proto/Unk2700_GMNGEEBMABP.proto
new file mode 100644
index 00000000..0b38645a
--- /dev/null
+++ b/proto/Unk2700_GMNGEEBMABP.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8352
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_GMNGEEBMABP {
+ int32 retcode = 9;
+}
diff --git a/proto/Unk2700_GNDOKLHDHBJ_ClientReq.proto b/proto/Unk2700_GNDOKLHDHBJ_ClientReq.proto
new file mode 100644
index 00000000..a7195708
--- /dev/null
+++ b/proto/Unk2700_GNDOKLHDHBJ_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6245
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GNDOKLHDHBJ_ClientReq {
+ uint32 room_id = 13;
+}
diff --git a/proto/Unk2700_GNOAKIGLPCG.proto b/proto/Unk2700_GNOAKIGLPCG.proto
new file mode 100644
index 00000000..cd5ea6f8
--- /dev/null
+++ b/proto/Unk2700_GNOAKIGLPCG.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8991
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GNOAKIGLPCG {
+ repeated uint32 Unk2700_IIJKCKNHPKD = 8;
+}
diff --git a/proto/Unk2700_GNPPPIHBDLJ.proto b/proto/Unk2700_GNPPPIHBDLJ.proto
new file mode 100644
index 00000000..2f34db81
--- /dev/null
+++ b/proto/Unk2700_GNPPPIHBDLJ.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8709
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GNPPPIHBDLJ {
+ uint32 Unk2700_CKGJEOOKFIF = 13;
+}
diff --git a/proto/Unk2700_GOHMLAFNBGF.proto b/proto/Unk2700_GOHMLAFNBGF.proto
new file mode 100644
index 00000000..53afd10e
--- /dev/null
+++ b/proto/Unk2700_GOHMLAFNBGF.proto
@@ -0,0 +1,27 @@
+// 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 "HomeFurnitureData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GOHMLAFNBGF {
+ uint32 Unk2700_OALCFEGIBOL = 8;
+ repeated HomeFurnitureData Unk2700_CKPNCKDIJMB = 3;
+}
diff --git a/proto/Unk2700_GPHLCIAMDFG.proto b/proto/Unk2700_GPHLCIAMDFG.proto
new file mode 100644
index 00000000..74bfbd10
--- /dev/null
+++ b/proto/Unk2700_GPHLCIAMDFG.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8095
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GPHLCIAMDFG {
+ uint32 schedule_id = 3;
+ uint32 uid = 12;
+}
diff --git a/proto/Unk2700_GPIHGEEKBOO_ClientReq.proto b/proto/Unk2700_GPIHGEEKBOO_ClientReq.proto
new file mode 100644
index 00000000..abb14fbf
--- /dev/null
+++ b/proto/Unk2700_GPIHGEEKBOO_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GPIHGEEKBOO_ClientReq {
+ string Unk2700_BMBJKEOELCG = 6;
+}
diff --git a/proto/Unk2700_GPOIPAHPHJE.proto b/proto/Unk2700_GPOIPAHPHJE.proto
new file mode 100644
index 00000000..c4674cf9
--- /dev/null
+++ b/proto/Unk2700_GPOIPAHPHJE.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8967
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_GPOIPAHPHJE {
+ uint32 stage_id = 14;
+ uint32 challenge_type = 13;
+}
diff --git a/proto/Unk2700_GPPKNKGDCHJ.proto b/proto/Unk2700_GPPKNKGDCHJ.proto
new file mode 100644
index 00000000..57a144bd
--- /dev/null
+++ b/proto/Unk2700_GPPKNKGDCHJ.proto
@@ -0,0 +1,28 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_GPPKNKGDCHJ {
+ repeated ItemParam Unk2700_MNPGJOAHINC = 2;
+ uint32 uid = 6;
+ repeated ItemParam Unk2700_LBIKFNBNEBC = 9;
+}
diff --git a/proto/Unk2700_HBLAGOMHKPL_ClientRsp.proto b/proto/Unk2700_HBLAGOMHKPL_ClientRsp.proto
new file mode 100644
index 00000000..77007bb5
--- /dev/null
+++ b/proto/Unk2700_HBLAGOMHKPL_ClientRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 137
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HBLAGOMHKPL_ClientRsp {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_HBOFACHAGIF_ServerNotify.proto b/proto/Unk2700_HBOFACHAGIF_ServerNotify.proto
new file mode 100644
index 00000000..b46ee287
--- /dev/null
+++ b/proto/Unk2700_HBOFACHAGIF_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_EKDHFFHMNCD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 9072
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HBOFACHAGIF_ServerNotify {
+ map Unk2700_MEANPNKMDFG = 2;
+}
diff --git a/proto/Unk2700_HDBFJJOBIAP_ClientReq.proto b/proto/Unk2700_HDBFJJOBIAP_ClientReq.proto
new file mode 100644
index 00000000..eb03fc9d
--- /dev/null
+++ b/proto/Unk2700_HDBFJJOBIAP_ClientReq.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HDBFJJOBIAP_ClientReq {
+ uint64 Unk2700_CEPGMKAHHCD = 7;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 10;
+}
diff --git a/proto/Unk2700_HEMFKLPNNOM.proto b/proto/Unk2700_HEMFKLPNNOM.proto
new file mode 100644
index 00000000..3eafeb28
--- /dev/null
+++ b/proto/Unk2700_HEMFKLPNNOM.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_HEMFKLPNNOM {
+ Unk2700_HEMFKLPNNOM_Unk2700_ODJKANKMPPJ = 0;
+ Unk2700_HEMFKLPNNOM_Unk2700_EFGLHEIODFN = 1;
+ Unk2700_HEMFKLPNNOM_Unk2700_JPBBBCFGHAK = 2;
+ Unk2700_HEMFKLPNNOM_Unk2700_IDCMGHBHBFH = 3;
+ Unk2700_HEMFKLPNNOM_Unk2700_ODDBNNDFMBO = 4;
+ Unk2700_HEMFKLPNNOM_Unk2700_AGIDMOGJOBD = 5;
+}
diff --git a/proto/Unk2700_HENCIJOPCIF.proto b/proto/Unk2700_HENCIJOPCIF.proto
new file mode 100644
index 00000000..0cbe6fab
--- /dev/null
+++ b/proto/Unk2700_HENCIJOPCIF.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_HENCIJOPCIF {
+ uint32 Unk2700_EMIELBMCCPF = 14;
+ repeated ItemParam reward_item_list = 5;
+}
diff --git a/proto/Unk2700_HFCDIGNAAPJ.proto b/proto/Unk2700_HFCDIGNAAPJ.proto
new file mode 100644
index 00000000..153190bf
--- /dev/null
+++ b/proto/Unk2700_HFCDIGNAAPJ.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HFCDIGNAAPJ {
+ uint32 Unk2700_OBDGPNILPND = 9;
+ uint32 Unk2700_KKHAKNLGBLJ = 13;
+}
diff --git a/proto/Unk2700_HFMDKDHCJCM.proto b/proto/Unk2700_HFMDKDHCJCM.proto
new file mode 100644
index 00000000..eb44fe78
--- /dev/null
+++ b/proto/Unk2700_HFMDKDHCJCM.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_HFMDKDHCJCM {
+ Vector Unk2700_CMOMNFNGCGB = 1;
+}
diff --git a/proto/Unk2700_HFPELHFDCIB.proto b/proto/Unk2700_HFPELHFDCIB.proto
new file mode 100644
index 00000000..398a6268
--- /dev/null
+++ b/proto/Unk2700_HFPELHFDCIB.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_HFPELHFDCIB {
+ uint32 entity_id = 2;
+ Vector Unk2700_CMOMNFNGCGB = 13;
+}
diff --git a/proto/Unk2700_HGFFGMCODNC.proto b/proto/Unk2700_HGFFGMCODNC.proto
new file mode 100644
index 00000000..7c38a327
--- /dev/null
+++ b/proto/Unk2700_HGFFGMCODNC.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_HGFFGMCODNC {
+ uint32 group_id = 4;
+ uint32 gadget_id = 7;
+ Vector pos = 8;
+}
diff --git a/proto/Unk2700_HGMCBHFFDLJ.proto b/proto/Unk2700_HGMCBHFFDLJ.proto
new file mode 100644
index 00000000..14871d19
--- /dev/null
+++ b/proto/Unk2700_HGMCBHFFDLJ.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8826
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HGMCBHFFDLJ {}
diff --git a/proto/Unk2700_HGMCNJOPDAA.proto b/proto/Unk2700_HGMCNJOPDAA.proto
new file mode 100644
index 00000000..ada69174
--- /dev/null
+++ b/proto/Unk2700_HGMCNJOPDAA.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_HGMCNJOPDAA {
+ Unk2700_HGMCNJOPDAA_NONE = 0;
+ Unk2700_HGMCNJOPDAA_Unk2700_COJANCPMOAI = 1;
+}
diff --git a/proto/Unk2700_HGMOIKODALP_ServerRsp.proto b/proto/Unk2700_HGMOIKODALP_ServerRsp.proto
new file mode 100644
index 00000000..4013cb16
--- /dev/null
+++ b/proto/Unk2700_HGMOIKODALP_ServerRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6220
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HGMOIKODALP_ServerRsp {
+ int32 retcode = 14;
+ uint64 Unk2700_ONOOJBEABOE = 11;
+}
diff --git a/proto/Unk2700_HHAMNOIDBPJ.proto b/proto/Unk2700_HHAMNOIDBPJ.proto
new file mode 100644
index 00000000..ad25f9cc
--- /dev/null
+++ b/proto/Unk2700_HHAMNOIDBPJ.proto
@@ -0,0 +1,24 @@
+// 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 Unk2700_HHAMNOIDBPJ {
+ float Unk2700_JFDNAOAAFMM = 9;
+}
diff --git a/proto/Unk2700_HHGMCHANCBJ_ServerNotify.proto b/proto/Unk2700_HHGMCHANCBJ_ServerNotify.proto
new file mode 100644
index 00000000..8e5bdb3a
--- /dev/null
+++ b/proto/Unk2700_HHGMCHANCBJ_ServerNotify.proto
@@ -0,0 +1,34 @@
+// 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 "Unk2700_ADGLMHECKKJ.proto";
+import "Unk2700_KBBDJNLFAKD.proto";
+import "Unk2700_NLFDMMFNMIO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6217
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HHGMCHANCBJ_ServerNotify {
+ Unk2700_KBBDJNLFAKD Unk2700_LGBODABIKLL = 14;
+ Unk2700_ADGLMHECKKJ Unk2700_NBAIINBBBPK = 3;
+ Unk2700_NLFDMMFNMIO Unk2700_EJHNBDLLLFO = 10;
+ repeated uint32 Unk2700_EIOPOPABBNC = 12;
+}
diff --git a/proto/Unk2700_HIHKGMLLOGD.proto b/proto/Unk2700_HIHKGMLLOGD.proto
new file mode 100644
index 00000000..2c2eeb27
--- /dev/null
+++ b/proto/Unk2700_HIHKGMLLOGD.proto
@@ -0,0 +1,30 @@
+// 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 Unk2700_HIHKGMLLOGD {
+ repeated uint32 Unk2700_ONOGHAHICAA = 1;
+ repeated uint32 Unk2700_FGBAGFMGKOO = 4;
+ uint32 max_progress = 2;
+ uint32 Unk2700_OBDGPNILPND = 13;
+ uint32 progress = 5;
+ uint32 Unk2700_HJNLDGMIHBL = 12;
+ uint32 Unk2700_BIMPFNHLMBI = 9;
+}
diff --git a/proto/Unk2700_HIIFAMCBJCD_ServerRsp.proto b/proto/Unk2700_HIIFAMCBJCD_ServerRsp.proto
new file mode 100644
index 00000000..3ef0af1f
--- /dev/null
+++ b/proto/Unk2700_HIIFAMCBJCD_ServerRsp.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 4206
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HIIFAMCBJCD_ServerRsp {
+ int32 retcode = 10;
+ uint32 type_id = 5;
+ uint32 Unk2700_LEKOKKMDNAO = 14;
+}
diff --git a/proto/Unk2700_HJKOHHGBMJP.proto b/proto/Unk2700_HJKOHHGBMJP.proto
new file mode 100644
index 00000000..6d27e6d5
--- /dev/null
+++ b/proto/Unk2700_HJKOHHGBMJP.proto
@@ -0,0 +1,35 @@
+// 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";
+
+// CmdId: 8933
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HJKOHHGBMJP {
+ bool Unk2700_GHGIOMEHIAN = 10;
+ int32 retcode = 1;
+ bool Unk2700_ONGMFKHIBNB = 6;
+ uint32 stage_id = 15;
+ bool Unk2700_MNHBGOMNPBB = 12;
+ bool Unk2700_AOFHDOOKHKF = 4;
+ uint32 final_score = 13;
+ uint32 challenge_id = 5;
+ bool is_new_record = 9;
+}
diff --git a/proto/Unk2700_HJLFNKLPFBH.proto b/proto/Unk2700_HJLFNKLPFBH.proto
new file mode 100644
index 00000000..519c194e
--- /dev/null
+++ b/proto/Unk2700_HJLFNKLPFBH.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_AGIDJODJNEA.proto";
+import "Unk2700_FMGGGEDNGGN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_HJLFNKLPFBH {
+ Unk2700_FMGGGEDNGGN avatar = 2;
+ uint32 level = 14;
+ uint32 Unk2700_EGKOIPOHCHG = 13;
+ repeated Unk2700_AGIDJODJNEA Unk2700_JCKLLFKOFCG = 9;
+}
diff --git a/proto/Unk2700_HKADKMFMBPG.proto b/proto/Unk2700_HKADKMFMBPG.proto
new file mode 100644
index 00000000..6c70677b
--- /dev/null
+++ b/proto/Unk2700_HKADKMFMBPG.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8017
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HKADKMFMBPG {
+ map Unk2700_IFCNGIPPOAE = 2;
+ uint32 schedule_id = 14;
+}
diff --git a/proto/Unk2700_HLHHNGHJLAO.proto b/proto/Unk2700_HLHHNGHJLAO.proto
new file mode 100644
index 00000000..9fb08c3b
--- /dev/null
+++ b/proto/Unk2700_HLHHNGHJLAO.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_HLHHNGHJLAO {
+ uint32 kill_monster_count = 12;
+ uint32 kill_special_monster_count = 8;
+ uint32 Unk2700_OFKHLGLOPCM = 10;
+ uint32 gallery_id = 2;
+ Unk2700_MOFABPNGIKP reason = 11;
+ uint32 final_score = 13;
+}
diff --git a/proto/Unk2700_HMFCCGCKHCA.proto b/proto/Unk2700_HMFCCGCKHCA.proto
new file mode 100644
index 00000000..9332787d
--- /dev/null
+++ b/proto/Unk2700_HMFCCGCKHCA.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8946
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HMFCCGCKHCA {}
diff --git a/proto/Unk2700_HMHHLEHFBLB.proto b/proto/Unk2700_HMHHLEHFBLB.proto
new file mode 100644
index 00000000..7306e209
--- /dev/null
+++ b/proto/Unk2700_HMHHLEHFBLB.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8713
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HMHHLEHFBLB {
+ int32 retcode = 13;
+}
diff --git a/proto/Unk2700_HMMFPDMLGEM.proto b/proto/Unk2700_HMMFPDMLGEM.proto
new file mode 100644
index 00000000..ee1bcffb
--- /dev/null
+++ b/proto/Unk2700_HMMFPDMLGEM.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8554
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HMMFPDMLGEM {
+ uint32 schedule_id = 15;
+ int32 retcode = 7;
+}
diff --git a/proto/Unk2700_HNFGBBECGMJ.proto b/proto/Unk2700_HNFGBBECGMJ.proto
new file mode 100644
index 00000000..cb0fbb50
--- /dev/null
+++ b/proto/Unk2700_HNFGBBECGMJ.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8607
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_HNFGBBECGMJ {
+ uint32 id = 8;
+}
diff --git a/proto/Unk2700_HOPDLJLBKIC_ServerRsp.proto b/proto/Unk2700_HOPDLJLBKIC_ServerRsp.proto
new file mode 100644
index 00000000..29712f49
--- /dev/null
+++ b/proto/Unk2700_HOPDLJLBKIC_ServerRsp.proto
@@ -0,0 +1,34 @@
+// 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 "Unk2700_NOCLNCCJEGK.proto";
+import "WidgetCoolDownData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6056
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_HOPDLJLBKIC_ServerRsp {
+ int32 retcode = 14;
+ uint32 material_id = 11;
+ Unk2700_NOCLNCCJEGK Unk2700_MHEKJGAIFBO = 6;
+ WidgetCoolDownData Unk2700_LNPJLPODIGB = 10;
+ uint32 Unk2700_GMHLHKIIGIC = 15;
+}
diff --git a/proto/Unk2700_IAADLJBLOIN_ServerNotify.proto b/proto/Unk2700_IAADLJBLOIN_ServerNotify.proto
new file mode 100644
index 00000000..d8366143
--- /dev/null
+++ b/proto/Unk2700_IAADLJBLOIN_ServerNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 4092
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IAADLJBLOIN_ServerNotify {
+ bool is_open = 9;
+ uint32 Unk2700_JEKIGDDNCAB = 10;
+}
diff --git a/proto/Unk2700_IAAPADOAMIA.proto b/proto/Unk2700_IAAPADOAMIA.proto
new file mode 100644
index 00000000..ec02d321
--- /dev/null
+++ b/proto/Unk2700_IAAPADOAMIA.proto
@@ -0,0 +1,36 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8414
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IAAPADOAMIA {
+ uint32 Unk2700_HCKAMFPGMJN = 14;
+ uint32 Unk2700_CHHJBPDPICI = 7;
+ uint32 quest_id = 11;
+ repeated ItemParam item_list = 10;
+ bool Unk2700_AGFNJHAMDBD = 9;
+ repeated uint32 Unk2700_AJKDPJOKBED = 6;
+ uint32 Unk2700_OEDDPDJEEPC = 3;
+}
diff --git a/proto/Unk2700_IACKJNNMCAC_ClientReq.proto b/proto/Unk2700_IACKJNNMCAC_ClientReq.proto
new file mode 100644
index 00000000..abaa2f1a
--- /dev/null
+++ b/proto/Unk2700_IACKJNNMCAC_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 4523
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IACKJNNMCAC_ClientReq {
+ uint32 group_id = 14;
+}
diff --git a/proto/Unk2700_IBEKDNOGMLA.proto b/proto/Unk2700_IBEKDNOGMLA.proto
new file mode 100644
index 00000000..989bd4e5
--- /dev/null
+++ b/proto/Unk2700_IBEKDNOGMLA.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_INMNHKOPCFB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_IBEKDNOGMLA {
+ Unk2700_INMNHKOPCFB Unk2700_JONOMFENDFP = 5;
+ repeated uint32 Unk2700_MJLHEFIGIKD = 2;
+ repeated uint32 exit_point_id_list = 13;
+}
diff --git a/proto/Unk2700_IBOKDNKBMII.proto b/proto/Unk2700_IBOKDNKBMII.proto
new file mode 100644
index 00000000..330c4727
--- /dev/null
+++ b/proto/Unk2700_IBOKDNKBMII.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8825
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IBOKDNKBMII {
+ uint32 Unk2700_MOKOAHDHAGA = 8;
+}
diff --git a/proto/Unk2700_ICABIPHHPKE.proto b/proto/Unk2700_ICABIPHHPKE.proto
new file mode 100644
index 00000000..f7e2a36c
--- /dev/null
+++ b/proto/Unk2700_ICABIPHHPKE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8028
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_ICABIPHHPKE {
+ repeated uint32 Unk2700_GGNBBHMGLAN = 15;
+ int32 retcode = 1;
+}
diff --git a/proto/Unk2700_ICPNKAALJEP.proto b/proto/Unk2700_ICPNKAALJEP.proto
new file mode 100644
index 00000000..b6d1adc9
--- /dev/null
+++ b/proto/Unk2700_ICPNKAALJEP.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_KLJLJGJOBDI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_ICPNKAALJEP {
+ bool is_new_record = 8;
+ Unk2700_KLJLJGJOBDI settle_info = 14;
+}
diff --git a/proto/Unk2700_IDADEMGCJBF_ClientNotify.proto b/proto/Unk2700_IDADEMGCJBF_ClientNotify.proto
new file mode 100644
index 00000000..a78566a7
--- /dev/null
+++ b/proto/Unk2700_IDADEMGCJBF_ClientNotify.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6243
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IDADEMGCJBF_ClientNotify {}
diff --git a/proto/Unk2700_IDAGMLJOJMP.proto b/proto/Unk2700_IDAGMLJOJMP.proto
new file mode 100644
index 00000000..3984fa7e
--- /dev/null
+++ b/proto/Unk2700_IDAGMLJOJMP.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8799
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IDAGMLJOJMP {
+ int32 retcode = 13;
+}
diff --git a/proto/Unk2700_IDGCNKONBBJ.proto b/proto/Unk2700_IDGCNKONBBJ.proto
new file mode 100644
index 00000000..1faa670b
--- /dev/null
+++ b/proto/Unk2700_IDGCNKONBBJ.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8793
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IDGCNKONBBJ {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_IEFAGBHIODK.proto b/proto/Unk2700_IEFAGBHIODK.proto
new file mode 100644
index 00000000..fe99a6b4
--- /dev/null
+++ b/proto/Unk2700_IEFAGBHIODK.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8402
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IEFAGBHIODK {
+ int32 retcode = 5;
+ repeated uint32 Unk2700_CPOJCHEOPLB = 13;
+ uint32 level_id = 10;
+ uint32 time = 8;
+}
diff --git a/proto/Unk2700_IEFGLPNHHAJ.proto b/proto/Unk2700_IEFGLPNHHAJ.proto
new file mode 100644
index 00000000..e6caf335
--- /dev/null
+++ b/proto/Unk2700_IEFGLPNHHAJ.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_IEFGLPNHHAJ {
+ repeated uint32 Unk2700_OKEAMNBIBDC = 10;
+ repeated uint32 Unk2700_DOBMDALKEOF = 7;
+}
diff --git a/proto/Unk2700_IEGOOOECBFH.proto b/proto/Unk2700_IEGOOOECBFH.proto
new file mode 100644
index 00000000..dc6bbe08
--- /dev/null
+++ b/proto/Unk2700_IEGOOOECBFH.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_HIHKGMLLOGD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8880
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IEGOOOECBFH {
+ Unk2700_HIHKGMLLOGD Unk2700_BABEGIGEEIB = 13;
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_IEPIBFMCJNJ.proto b/proto/Unk2700_IEPIBFMCJNJ.proto
new file mode 100644
index 00000000..f62c7f9e
--- /dev/null
+++ b/proto/Unk2700_IEPIBFMCJNJ.proto
@@ -0,0 +1,30 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_IEPIBFMCJNJ {
+ uint32 uid = 15;
+ string nickname = 3;
+ string remark_name = 10;
+ ProfilePicture profile_picture = 14;
+ map Unk2700_IFCNGIPPOAE = 8;
+}
diff --git a/proto/Unk2700_IGAFEBCFJEJ.proto b/proto/Unk2700_IGAFEBCFJEJ.proto
new file mode 100644
index 00000000..115e0a3d
--- /dev/null
+++ b/proto/Unk2700_IGAFEBCFJEJ.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_IGAFEBCFJEJ {
+ uint64 Unk2700_EPEFCCMPLCP = 13;
+ uint32 Unk2700_GCGDABPLCFK = 3;
+}
diff --git a/proto/Unk2700_IGJLOMCPLLE.proto b/proto/Unk2700_IGJLOMCPLLE.proto
new file mode 100644
index 00000000..2d6132c7
--- /dev/null
+++ b/proto/Unk2700_IGJLOMCPLLE.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_IGJLOMCPLLE {
+ uint32 block_id = 8;
+ Vector rot = 12;
+ uint32 guid = 4;
+ Vector pos = 1;
+}
diff --git a/proto/Unk2700_IGPIIHEDJLJ_ServerRsp.proto b/proto/Unk2700_IGPIIHEDJLJ_ServerRsp.proto
new file mode 100644
index 00000000..3c8c6826
--- /dev/null
+++ b/proto/Unk2700_IGPIIHEDJLJ_ServerRsp.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2700_KBBDJNLFAKD.proto";
+import "Unk2700_NLFDMMFNMIO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6218
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IGPIIHEDJLJ_ServerRsp {
+ Unk2700_NLFDMMFNMIO Unk2700_EJHNBDLLLFO = 14;
+ Unk2700_KBBDJNLFAKD Unk2700_LGBODABIKLL = 2;
+ int32 retcode = 10;
+ map Unk2700_DDGNPJLHKKH = 6;
+}
diff --git a/proto/Unk2700_IHLONDFBCOE_ClientReq.proto b/proto/Unk2700_IHLONDFBCOE_ClientReq.proto
new file mode 100644
index 00000000..6a98a87d
--- /dev/null
+++ b/proto/Unk2700_IHLONDFBCOE_ClientReq.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6320
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IHLONDFBCOE_ClientReq {
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 13;
+}
diff --git a/proto/Unk2700_IHOOCHJACEL.proto b/proto/Unk2700_IHOOCHJACEL.proto
new file mode 100644
index 00000000..9848d5d6
--- /dev/null
+++ b/proto/Unk2700_IHOOCHJACEL.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_BGKMAAINPCO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IHOOCHJACEL {
+ uint32 level_id = 7;
+ repeated Unk2700_BGKMAAINPCO Unk2700_GMAEHKMDIGG = 13;
+ uint32 difficulty_id = 10;
+}
diff --git a/proto/Unk2700_IHPFBKANGMJ.proto b/proto/Unk2700_IHPFBKANGMJ.proto
new file mode 100644
index 00000000..562fbc02
--- /dev/null
+++ b/proto/Unk2700_IHPFBKANGMJ.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8771
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IHPFBKANGMJ {
+ uint32 level_id = 13;
+}
diff --git a/proto/Unk2700_IJFEPCBOLDF.proto b/proto/Unk2700_IJFEPCBOLDF.proto
new file mode 100644
index 00000000..e4831fa5
--- /dev/null
+++ b/proto/Unk2700_IJFEPCBOLDF.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 8756
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IJFEPCBOLDF {
+ bool is_new_record = 9;
+ bool Unk2700_MMNILGLDHHD = 3;
+ uint32 level_id = 15;
+ uint32 score = 8;
+}
diff --git a/proto/Unk2700_IJLANPFECKC.proto b/proto/Unk2700_IJLANPFECKC.proto
new file mode 100644
index 00000000..ae7cba76
--- /dev/null
+++ b/proto/Unk2700_IJLANPFECKC.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8277
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_IJLANPFECKC {
+ uint32 stage_id = 9;
+ uint32 challenge_id = 1;
+}
diff --git a/proto/Unk2700_ILBBAKACCHA_ClientReq.proto b/proto/Unk2700_ILBBAKACCHA_ClientReq.proto
new file mode 100644
index 00000000..0c512385
--- /dev/null
+++ b/proto/Unk2700_ILBBAKACCHA_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 470
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ILBBAKACCHA_ClientReq {
+ uint32 parent_quest_id = 15;
+}
diff --git a/proto/Unk2700_ILLDDDFLKHP.proto b/proto/Unk2700_ILLDDDFLKHP.proto
new file mode 100644
index 00000000..d156bd2f
--- /dev/null
+++ b/proto/Unk2700_ILLDDDFLKHP.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8959
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_ILLDDDFLKHP {
+ uint32 gallery_id = 14;
+ int32 retcode = 5;
+}
diff --git a/proto/Unk2700_IMGLPJNBHCH.proto b/proto/Unk2700_IMGLPJNBHCH.proto
new file mode 100644
index 00000000..7a42e66e
--- /dev/null
+++ b/proto/Unk2700_IMGLPJNBHCH.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_IMGLPJNBHCH {
+ uint32 Unk2700_IIEIPINHLBN = 5;
+ uint32 Unk2700_AIKKJGOLLHK = 13;
+}
diff --git a/proto/Unk2700_IMHNKDHHGMA.proto b/proto/Unk2700_IMHNKDHHGMA.proto
new file mode 100644
index 00000000..9bc54884
--- /dev/null
+++ b/proto/Unk2700_IMHNKDHHGMA.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_JCOIDFNDHPB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8186
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IMHNKDHHGMA {
+ uint32 gallery_id = 10;
+ Unk2700_JCOIDFNDHPB settle_info = 13;
+}
diff --git a/proto/Unk2700_IMMPPANFEPP.proto b/proto/Unk2700_IMMPPANFEPP.proto
new file mode 100644
index 00000000..6b17474f
--- /dev/null
+++ b/proto/Unk2700_IMMPPANFEPP.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_IMMPPANFEPP {
+ uint32 guid = 11;
+ uint32 Unk2700_MAABPJMPILD = 6;
+}
diff --git a/proto/Unk2700_INBDPOIMAHK_ClientReq.proto b/proto/Unk2700_INBDPOIMAHK_ClientReq.proto
new file mode 100644
index 00000000..f4d7aa2f
--- /dev/null
+++ b/proto/Unk2700_INBDPOIMAHK_ClientReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_INBDPOIMAHK_ClientReq {
+ repeated uint32 tag_list = 1;
+ uint64 Unk2700_ONOOJBEABOE = 5;
+}
diff --git a/proto/Unk2700_INMNHKOPCFB.proto b/proto/Unk2700_INMNHKOPCFB.proto
new file mode 100644
index 00000000..2dccabe3
--- /dev/null
+++ b/proto/Unk2700_INMNHKOPCFB.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_CBMGMANEDNA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_INMNHKOPCFB {
+ repeated Unk2700_CBMGMANEDNA info_list = 15;
+}
diff --git a/proto/Unk2700_INOMEGGAGOP.proto b/proto/Unk2700_INOMEGGAGOP.proto
new file mode 100644
index 00000000..f0c952ef
--- /dev/null
+++ b/proto/Unk2700_INOMEGGAGOP.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_AIMMLILLOKB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8132
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_INOMEGGAGOP {
+ repeated Unk2700_AIMMLILLOKB Unk2700_DFGCIBJFNBC = 5;
+ uint32 schedule_id = 10;
+ int32 retcode = 9;
+}
diff --git a/proto/Unk2700_IOLMLCCBAKP.proto b/proto/Unk2700_IOLMLCCBAKP.proto
new file mode 100644
index 00000000..4a3dc226
--- /dev/null
+++ b/proto/Unk2700_IOLMLCCBAKP.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_BGKMAAINPCO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_IOLMLCCBAKP {
+ repeated Unk2700_BGKMAAINPCO Unk2700_GMAEHKMDIGG = 10;
+ bool is_open = 9;
+ uint32 level_id = 14;
+ uint32 best_score = 5;
+}
diff --git a/proto/Unk2700_IOONEPPHCJP.proto b/proto/Unk2700_IOONEPPHCJP.proto
new file mode 100644
index 00000000..e6c6e41f
--- /dev/null
+++ b/proto/Unk2700_IOONEPPHCJP.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_IOONEPPHCJP {
+ uint32 Unk2700_BPDFJJNJGAJ = 1;
+ uint32 Unk2700_KDJGDPDJHLL = 2;
+ map Unk2700_HGBNIFAKOGI = 3;
+}
diff --git a/proto/Unk2700_IPGJEAEFJMM_ServerRsp.proto b/proto/Unk2700_IPGJEAEFJMM_ServerRsp.proto
new file mode 100644
index 00000000..c251aeba
--- /dev/null
+++ b/proto/Unk2700_IPGJEAEFJMM_ServerRsp.proto
@@ -0,0 +1,41 @@
+// 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 "DropSubfieldType.proto";
+import "MusicBriefInfo.proto";
+import "MusicRecord.proto";
+import "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6318
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_IPGJEAEFJMM_ServerRsp {
+ uint64 Unk2700_CEPGMKAHHCD = 15;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 10;
+ int32 retcode = 2;
+ DropSubfieldType Unk2700_MJNIHFCKJMN = 14;
+ oneof Unk2700_MIPPJKBFLOO {
+ MusicRecord music_record = 4;
+ }
+ oneof Unk2700_ILHNBMNOMHO {
+ MusicBriefInfo music_brief_info = 1819;
+ }
+}
diff --git a/proto/Unk2700_JACACCPGMGC.proto b/proto/Unk2700_JACACCPGMGC.proto
new file mode 100644
index 00000000..58253450
--- /dev/null
+++ b/proto/Unk2700_JACACCPGMGC.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_MIMJBGMEMCA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JACACCPGMGC {
+ repeated Unk2700_MIMJBGMEMCA Unk2700_IDGMODJPBGF = 11;
+ uint32 level_id = 14;
+}
diff --git a/proto/Unk2700_JCBJHCFEONO.proto b/proto/Unk2700_JCBJHCFEONO.proto
new file mode 100644
index 00000000..fe0bfa09
--- /dev/null
+++ b/proto/Unk2700_JCBJHCFEONO.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_NOGODJOJDGF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JCBJHCFEONO {
+ repeated Unk2700_NOGODJOJDGF Unk2700_AIMBFNOKKHE = 8;
+ uint32 timestamp = 3;
+}
diff --git a/proto/Unk2700_JCKGJAELBMB.proto b/proto/Unk2700_JCKGJAELBMB.proto
new file mode 100644
index 00000000..42833734
--- /dev/null
+++ b/proto/Unk2700_JCKGJAELBMB.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8704
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JCKGJAELBMB {
+ uint32 finish_time = 3;
+ uint32 level_id = 11;
+}
diff --git a/proto/Unk2700_JCNIPOJMFMH.proto b/proto/Unk2700_JCNIPOJMFMH.proto
new file mode 100644
index 00000000..b1188e3b
--- /dev/null
+++ b/proto/Unk2700_JCNIPOJMFMH.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_EEPNCOAEKBM.proto";
+import "Unk2700_LELADCCDNJH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JCNIPOJMFMH {
+ repeated Unk2700_EEPNCOAEKBM Unk2700_OCBDODAGPNF = 12;
+ repeated Unk2700_LELADCCDNJH level_list = 6;
+ repeated uint32 Unk2700_EGPCJLGGGLK = 10;
+ repeated Unk2700_EEPNCOAEKBM Unk2700_CPJMLMCOCLA = 13;
+}
diff --git a/proto/Unk2700_JCOECJGPNOL_ServerRsp.proto b/proto/Unk2700_JCOECJGPNOL_ServerRsp.proto
new file mode 100644
index 00000000..aca905c4
--- /dev/null
+++ b/proto/Unk2700_JCOECJGPNOL_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 5929
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JCOECJGPNOL_ServerRsp {
+ int32 retcode = 8;
+}
diff --git a/proto/Unk2700_JCOIDFNDHPB.proto b/proto/Unk2700_JCOIDFNDHPB.proto
new file mode 100644
index 00000000..31b963ec
--- /dev/null
+++ b/proto/Unk2700_JCOIDFNDHPB.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_HLHHNGHJLAO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JCOIDFNDHPB {
+ Unk2700_HLHHNGHJLAO settle_info = 13;
+ bool is_new_record = 12;
+}
diff --git a/proto/Unk2700_JDMPECKFGIG_ServerNotify.proto b/proto/Unk2700_JDMPECKFGIG_ServerNotify.proto
new file mode 100644
index 00000000..c772928b
--- /dev/null
+++ b/proto/Unk2700_JDMPECKFGIG_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4639
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JDMPECKFGIG_ServerNotify {
+ bool is_enter_edit_mode = 15;
+}
diff --git a/proto/Unk2700_JDPMOMKAPIF.proto b/proto/Unk2700_JDPMOMKAPIF.proto
new file mode 100644
index 00000000..d6f9297c
--- /dev/null
+++ b/proto/Unk2700_JDPMOMKAPIF.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_KJDPNIKDKEJ.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JDPMOMKAPIF {
+ uint32 id = 13;
+ repeated Unk2700_KJDPNIKDKEJ Unk2700_KPOACBFLPKP = 10;
+}
diff --git a/proto/Unk2700_JEFIMHGLOJF.proto b/proto/Unk2700_JEFIMHGLOJF.proto
new file mode 100644
index 00000000..91eb4c3f
--- /dev/null
+++ b/proto/Unk2700_JEFIMHGLOJF.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 8096
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JEFIMHGLOJF {
+ uint32 Unk2700_MCGIJIGJCIG = 4;
+ bool is_success = 9;
+ repeated uint32 Unk2700_LOMDDJKOMCK = 12;
+ uint32 stage_id = 15;
+}
diff --git a/proto/Unk2700_JEHIAJHHIMP_ServerNotify.proto b/proto/Unk2700_JEHIAJHHIMP_ServerNotify.proto
new file mode 100644
index 00000000..29186360
--- /dev/null
+++ b/proto/Unk2700_JEHIAJHHIMP_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 109
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JEHIAJHHIMP_ServerNotify {
+ string nickname = 7;
+}
diff --git a/proto/Unk2700_JFGFIDBPGBK.proto b/proto/Unk2700_JFGFIDBPGBK.proto
new file mode 100644
index 00000000..6a861823
--- /dev/null
+++ b/proto/Unk2700_JFGFIDBPGBK.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JFGFIDBPGBK {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_JHMIHJFFJBO.proto b/proto/Unk2700_JHMIHJFFJBO.proto
new file mode 100644
index 00000000..f9153a48
--- /dev/null
+++ b/proto/Unk2700_JHMIHJFFJBO.proto
@@ -0,0 +1,38 @@
+// 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 "Unk2700_FEAENJPINFJ.proto";
+import "Unk2700_IMGLPJNBHCH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8862
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JHMIHJFFJBO {
+ repeated Unk2700_IMGLPJNBHCH Unk2700_DMJOJPGLFHE = 15;
+ uint32 Unk2700_AEHOPMMMHAP = 13;
+ uint32 Unk2700_HMIBIIPHBAN = 2;
+ repeated Unk2700_FEAENJPINFJ Unk2700_FLMLLJIHOAI = 8;
+ uint32 Unk2700_LOIMAGFKMOJ = 6;
+ uint32 stage_id = 12;
+ uint32 challenge_id = 11;
+ uint32 Unk2700_FGIIBJADECI = 14;
+ int32 retcode = 7;
+}
diff --git a/proto/Unk2700_JJAFAJIKDDK_ServerRsp.proto b/proto/Unk2700_JJAFAJIKDDK_ServerRsp.proto
new file mode 100644
index 00000000..6324d089
--- /dev/null
+++ b/proto/Unk2700_JJAFAJIKDDK_ServerRsp.proto
@@ -0,0 +1,35 @@
+// 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 "MusicBriefInfo.proto";
+import "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6307
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JJAFAJIKDDK_ServerRsp {
+ uint64 Unk2700_CEPGMKAHHCD = 3;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 11;
+ int32 retcode = 4;
+ oneof Unk2700_ILHNBMNOMHO {
+ MusicBriefInfo music_brief_info = 2;
+ }
+}
diff --git a/proto/Unk2700_JJCDNAHAPKD_ClientReq.proto b/proto/Unk2700_JJCDNAHAPKD_ClientReq.proto
new file mode 100644
index 00000000..66ee5213
--- /dev/null
+++ b/proto/Unk2700_JJCDNAHAPKD_ClientReq.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_KBBDJNLFAKD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JJCDNAHAPKD_ClientReq {
+ uint64 Unk2700_ONOOJBEABOE = 11;
+ uint32 dungeon_id = 12;
+ Unk2700_KBBDJNLFAKD Unk2700_LGBODABIKLL = 10;
+}
diff --git a/proto/Unk2700_JKFGMBAMNDA_ServerNotify.proto b/proto/Unk2700_JKFGMBAMNDA_ServerNotify.proto
new file mode 100644
index 00000000..73efa86b
--- /dev/null
+++ b/proto/Unk2700_JKFGMBAMNDA_ServerNotify.proto
@@ -0,0 +1,31 @@
+// 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 "BuildingInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5320
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JKFGMBAMNDA_ServerNotify {
+ uint32 Unk2700_MDJOPHOHFDB = 5;
+ repeated BuildingInfo building_list = 3;
+ uint32 Unk2700_COFBIGLBNGP = 13;
+}
diff --git a/proto/Unk2700_JKOKBPFCILA_ClientReq.proto b/proto/Unk2700_JKOKBPFCILA_ClientReq.proto
new file mode 100644
index 00000000..ec1cf7c2
--- /dev/null
+++ b/proto/Unk2700_JKOKBPFCILA_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JKOKBPFCILA_ClientReq {
+ uint32 quest_id = 4;
+}
diff --git a/proto/Unk2700_JLHKOLGFAMI.proto b/proto/Unk2700_JLHKOLGFAMI.proto
new file mode 100644
index 00000000..72e5878e
--- /dev/null
+++ b/proto/Unk2700_JLHKOLGFAMI.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_JLHKOLGFAMI {
+ uint32 level_id = 10;
+ uint32 score = 7;
+ uint32 Unk2700_HKFEBBCMBHL = 5;
+ uint32 Unk2700_FHEHGDABALE = 2;
+}
diff --git a/proto/Unk2700_JLOFMANHGHI_ClientReq.proto b/proto/Unk2700_JLOFMANHGHI_ClientReq.proto
new file mode 100644
index 00000000..517b3cad
--- /dev/null
+++ b/proto/Unk2700_JLOFMANHGHI_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6247
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JLOFMANHGHI_ClientReq {}
diff --git a/proto/Unk2700_JMPCGMBHJLG.proto b/proto/Unk2700_JMPCGMBHJLG.proto
new file mode 100644
index 00000000..8582ac1f
--- /dev/null
+++ b/proto/Unk2700_JMPCGMBHJLG.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_MLMEFKLMOEF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_JMPCGMBHJLG {
+ uint32 Unk2700_MBEMKCGABIB = 3;
+ repeated uint32 Unk2700_FJJDHBFLCCH = 2;
+ repeated Unk2700_MLMEFKLMOEF Unk2700_JDBFOILOOIF = 7;
+}
diff --git a/proto/Unk2700_JNCINBLCNNL.proto b/proto/Unk2700_JNCINBLCNNL.proto
new file mode 100644
index 00000000..32fee0f5
--- /dev/null
+++ b/proto/Unk2700_JNCINBLCNNL.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8696
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JNCINBLCNNL {
+ repeated uint32 Unk2700_DMPIDNKAJML = 3;
+ uint32 schedule_id = 4;
+ int32 retcode = 10;
+}
diff --git a/proto/Unk2700_JOEPIGNPDGH.proto b/proto/Unk2700_JOEPIGNPDGH.proto
new file mode 100644
index 00000000..222a1e26
--- /dev/null
+++ b/proto/Unk2700_JOEPIGNPDGH.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_JOEPIGNPDGH {
+ Unk2700_JOEPIGNPDGH_Unk2700_GIGONJIGKBM = 0;
+ Unk2700_JOEPIGNPDGH_Unk2700_AEKNMJMKIPN = 1;
+ Unk2700_JOEPIGNPDGH_Unk2700_LKCIHNNHIFO = 2;
+ Unk2700_JOEPIGNPDGH_Unk2700_EPAPGLMBAEB = 3;
+}
diff --git a/proto/Unk2700_JOHOODKBINN_ClientReq.proto b/proto/Unk2700_JOHOODKBINN_ClientReq.proto
new file mode 100644
index 00000000..ef91f025
--- /dev/null
+++ b/proto/Unk2700_JOHOODKBINN_ClientReq.proto
@@ -0,0 +1,32 @@
+// 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";
+
+// CmdId: 4256
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_JOHOODKBINN_ClientReq {
+ Vector pos = 10;
+ uint32 entity_id = 15;
+ uint32 material_id = 6;
+}
diff --git a/proto/Unk2700_JPGAAHJBLKB.proto b/proto/Unk2700_JPGAAHJBLKB.proto
new file mode 100644
index 00000000..1cc97891
--- /dev/null
+++ b/proto/Unk2700_JPGAAHJBLKB.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_JPGAAHJBLKB {
+ uint64 avatar_id = 3;
+ bool is_trial = 13;
+}
diff --git a/proto/Unk2700_JPLFIOOMCGG.proto b/proto/Unk2700_JPLFIOOMCGG.proto
new file mode 100644
index 00000000..b759642e
--- /dev/null
+++ b/proto/Unk2700_JPLFIOOMCGG.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8142
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_JPLFIOOMCGG {
+ int32 retcode = 10;
+}
diff --git a/proto/Unk2700_KAJNLGIDKAB_ServerRsp.proto b/proto/Unk2700_KAJNLGIDKAB_ServerRsp.proto
new file mode 100644
index 00000000..0261f8e1
--- /dev/null
+++ b/proto/Unk2700_KAJNLGIDKAB_ServerRsp.proto
@@ -0,0 +1,32 @@
+// 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";
+
+// CmdId: 4289
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KAJNLGIDKAB_ServerRsp {
+ int32 retcode = 9;
+ uint32 entity_id = 4;
+ uint32 material_id = 8;
+ Vector pos = 10;
+}
diff --git a/proto/Unk2700_KBBDJNLFAKD.proto b/proto/Unk2700_KBBDJNLFAKD.proto
new file mode 100644
index 00000000..3dab1d40
--- /dev/null
+++ b/proto/Unk2700_KBBDJNLFAKD.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_KBBDJNLFAKD {
+ Unk2700_KBBDJNLFAKD_Unk2700_FACJMMHAOLB = 0;
+ Unk2700_KBBDJNLFAKD_Unk2700_IAPAEBBEILN = 1;
+ Unk2700_KBBDJNLFAKD_Unk2700_MPJODMAIHEL = 2;
+ Unk2700_KBBDJNLFAKD_Unk2700_KPNLCPIJPAH = 3;
+}
diff --git a/proto/Unk2700_KDDPDHGPGEF_ServerRsp.proto b/proto/Unk2700_KDDPDHGPGEF_ServerRsp.proto
new file mode 100644
index 00000000..b7237bbe
--- /dev/null
+++ b/proto/Unk2700_KDDPDHGPGEF_ServerRsp.proto
@@ -0,0 +1,37 @@
+// 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 "ElementReliquaryResponse.proto";
+import "ReliquaryResponse.proto";
+import "SkillResponse.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 123
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KDDPDHGPGEF_ServerRsp {
+ int32 retcode = 6;
+ uint32 avatar_id = 15;
+ oneof detail {
+ SkillResponse skill_response = 1022;
+ ReliquaryResponse reliquary_response = 196;
+ ElementReliquaryResponse element_reliquary_response = 167;
+ }
+}
diff --git a/proto/Unk2700_KDFNIGOBLEK.proto b/proto/Unk2700_KDFNIGOBLEK.proto
new file mode 100644
index 00000000..291add3e
--- /dev/null
+++ b/proto/Unk2700_KDFNIGOBLEK.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8308
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KDFNIGOBLEK {
+ int32 retcode = 2;
+ uint32 card_id = 8;
+ uint32 level_id = 5;
+ bool Unk2700_PHGMKGEMCFF = 12;
+}
diff --git a/proto/Unk2700_KDNNKELPJFL.proto b/proto/Unk2700_KDNNKELPJFL.proto
new file mode 100644
index 00000000..9b66dc65
--- /dev/null
+++ b/proto/Unk2700_KDNNKELPJFL.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8777
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KDNNKELPJFL {
+ int32 retcode = 6;
+}
diff --git a/proto/Unk2700_KEMOFNEAOOO_ClientRsp.proto b/proto/Unk2700_KEMOFNEAOOO_ClientRsp.proto
new file mode 100644
index 00000000..468f9e29
--- /dev/null
+++ b/proto/Unk2700_KEMOFNEAOOO_ClientRsp.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 1182
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_KEMOFNEAOOO_ClientRsp {
+ repeated uint32 Unk2700_IBJECDLKPGM = 7;
+}
diff --git a/proto/Unk2700_KFPEIHHCCLA.proto b/proto/Unk2700_KFPEIHHCCLA.proto
new file mode 100644
index 00000000..a147b81f
--- /dev/null
+++ b/proto/Unk2700_KFPEIHHCCLA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8978
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KFPEIHHCCLA {
+ int32 retcode = 2;
+ uint32 id = 15;
+}
diff --git a/proto/Unk2700_KGHOJPDNMKK_ServerRsp.proto b/proto/Unk2700_KGHOJPDNMKK_ServerRsp.proto
new file mode 100644
index 00000000..a8d44404
--- /dev/null
+++ b/proto/Unk2700_KGHOJPDNMKK_ServerRsp.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_IMMPPANFEPP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4641
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KGHOJPDNMKK_ServerRsp {
+ int32 retcode = 13;
+ Unk2700_IMMPPANFEPP Unk2700_JJBKBKPEIBC = 14;
+}
diff --git a/proto/Unk2700_KGNJIBIMAHI.proto b/proto/Unk2700_KGNJIBIMAHI.proto
new file mode 100644
index 00000000..c9d4d4d8
--- /dev/null
+++ b/proto/Unk2700_KGNJIBIMAHI.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8842
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KGNJIBIMAHI {
+ bool is_new = 12;
+ int32 retcode = 6;
+ repeated uint32 affix_list = 8;
+ uint32 Unk2700_BPNCECAFPDK = 11;
+}
diff --git a/proto/Unk2700_KHDMDKKDOCD.proto b/proto/Unk2700_KHDMDKKDOCD.proto
new file mode 100644
index 00000000..49a0d40c
--- /dev/null
+++ b/proto/Unk2700_KHDMDKKDOCD.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_KHDMDKKDOCD {
+ uint64 avatar_guid = 8;
+ bool is_trial = 2;
+}
diff --git a/proto/Unk2700_KHLJJPGOELG_ClientReq.proto b/proto/Unk2700_KHLJJPGOELG_ClientReq.proto
new file mode 100644
index 00000000..4ebb5163
--- /dev/null
+++ b/proto/Unk2700_KHLJJPGOELG_ClientReq.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2700_KLPINMKOEPE.proto";
+import "Unk2700_PHGGAEDHLBN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6225
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_KHLJJPGOELG_ClientReq {
+ Unk2700_KLPINMKOEPE Unk2700_MDIJOHEFFHI = 5;
+ bool Unk2700_FHHLMJALLMN = 7;
+ Unk2700_PHGGAEDHLBN Unk2700_JGFDODPBGFL = 13;
+}
diff --git a/proto/Unk2700_KIGGOKAEFHM.proto b/proto/Unk2700_KIGGOKAEFHM.proto
new file mode 100644
index 00000000..cf0ca8ce
--- /dev/null
+++ b/proto/Unk2700_KIGGOKAEFHM.proto
@@ -0,0 +1,30 @@
+// 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 "ItemParam.proto";
+import "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KIGGOKAEFHM {
+ repeated ItemParam item_list = 2;
+ uint32 uid = 8;
+ ProfilePicture profile_picture = 1;
+ string nickname = 12;
+}
diff --git a/proto/Unk2700_KIHEEAGDGIL_ServerNotify.proto b/proto/Unk2700_KIHEEAGDGIL_ServerNotify.proto
new file mode 100644
index 00000000..5dc66f84
--- /dev/null
+++ b/proto/Unk2700_KIHEEAGDGIL_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_DPPCDPBBABA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 108
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KIHEEAGDGIL_ServerNotify {
+ Unk2700_DPPCDPBBABA info = 13;
+}
diff --git a/proto/Unk2700_KIIOGMKFNNP_ServerRsp.proto b/proto/Unk2700_KIIOGMKFNNP_ServerRsp.proto
new file mode 100644
index 00000000..99be67ee
--- /dev/null
+++ b/proto/Unk2700_KIIOGMKFNNP_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4615
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KIIOGMKFNNP_ServerRsp {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_KJDPNIKDKEJ.proto b/proto/Unk2700_KJDPNIKDKEJ.proto
new file mode 100644
index 00000000..5cb55b73
--- /dev/null
+++ b/proto/Unk2700_KJDPNIKDKEJ.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_HEMFKLPNNOM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KJDPNIKDKEJ {
+ Unk2700_HEMFKLPNNOM type = 8;
+ int32 value = 4;
+}
diff --git a/proto/Unk2700_KJODHFMHMNC.proto b/proto/Unk2700_KJODHFMHMNC.proto
new file mode 100644
index 00000000..d6449e27
--- /dev/null
+++ b/proto/Unk2700_KJODHFMHMNC.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_KJODHFMHMNC {
+ uint32 id = 1;
+ bool Unk2700_MMNILGLDHHD = 14;
+}
diff --git a/proto/Unk2700_KKEDIMOKCGD.proto b/proto/Unk2700_KKEDIMOKCGD.proto
new file mode 100644
index 00000000..17130c71
--- /dev/null
+++ b/proto/Unk2700_KKEDIMOKCGD.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_EEPNCOAEKBM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8218
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_KKEDIMOKCGD {
+ bool Unk2700_NHBDAFBHNMH = 9;
+ Unk2700_EEPNCOAEKBM Unk2700_KEAGHCIIGGN = 10;
+}
diff --git a/proto/Unk2700_KLJLJGJOBDI.proto b/proto/Unk2700_KLJLJGJOBDI.proto
new file mode 100644
index 00000000..e719b336
--- /dev/null
+++ b/proto/Unk2700_KLJLJGJOBDI.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_NCNPNMFFONG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KLJLJGJOBDI {
+ uint32 Unk2700_CDDONJJMFCI = 8;
+ Unk2700_NCNPNMFFONG reason = 7;
+ uint32 final_score = 13;
+ uint32 Unk2700_FFCCLGIFGIP = 15;
+}
diff --git a/proto/Unk2700_KLPINMKOEPE.proto b/proto/Unk2700_KLPINMKOEPE.proto
new file mode 100644
index 00000000..acbcd7ee
--- /dev/null
+++ b/proto/Unk2700_KLPINMKOEPE.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_IGJLOMCPLLE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KLPINMKOEPE {
+ uint32 room_id = 15;
+ repeated Unk2700_IGJLOMCPLLE Unk2700_ICMKKOMLHIH = 4;
+}
diff --git a/proto/Unk2700_KMIDCPLAGMN.proto b/proto/Unk2700_KMIDCPLAGMN.proto
new file mode 100644
index 00000000..4c034aea
--- /dev/null
+++ b/proto/Unk2700_KMIDCPLAGMN.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8848
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KMIDCPLAGMN {
+ uint32 schedule_id = 7;
+ int32 retcode = 3;
+ map Unk2700_IFCNGIPPOAE = 14;
+}
diff --git a/proto/Unk2700_KMNPMLCHELD_ServerRsp.proto b/proto/Unk2700_KMNPMLCHELD_ServerRsp.proto
new file mode 100644
index 00000000..a1b690d7
--- /dev/null
+++ b/proto/Unk2700_KMNPMLCHELD_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KMNPMLCHELD_ServerRsp {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2700_KNGDOIDOFFB.proto b/proto/Unk2700_KNGDOIDOFFB.proto
new file mode 100644
index 00000000..f4b2d062
--- /dev/null
+++ b/proto/Unk2700_KNGDOIDOFFB.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KNGDOIDOFFB {
+ uint32 Unk2700_HLEMPIKMBMP = 6;
+ Unk2700_MOFABPNGIKP reason = 4;
+ uint32 Unk2700_OMCCFBBDJMI = 1;
+}
diff --git a/proto/Unk2700_KNGFOEKOODA_ServerRsp.proto b/proto/Unk2700_KNGFOEKOODA_ServerRsp.proto
new file mode 100644
index 00000000..d03ec25c
--- /dev/null
+++ b/proto/Unk2700_KNGFOEKOODA_ServerRsp.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 2163
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KNGFOEKOODA_ServerRsp {
+ uint32 activity_id = 4;
+ int32 retcode = 6;
+ uint32 schedule_id = 11;
+}
diff --git a/proto/Unk2700_KNMDFCBLIIG_ServerRsp.proto b/proto/Unk2700_KNMDFCBLIIG_ServerRsp.proto
new file mode 100644
index 00000000..56db8542
--- /dev/null
+++ b/proto/Unk2700_KNMDFCBLIIG_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 384
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KNMDFCBLIIG_ServerRsp {
+ uint32 entity_id = 10;
+}
diff --git a/proto/Unk2700_KOGOPPONCHB_ClientReq.proto b/proto/Unk2700_KOGOPPONCHB_ClientReq.proto
new file mode 100644
index 00000000..9688cf02
--- /dev/null
+++ b/proto/Unk2700_KOGOPPONCHB_ClientReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 4208
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_KOGOPPONCHB_ClientReq {
+ uint32 type_id = 2;
+ uint32 Unk2700_LEKOKKMDNAO = 14;
+}
diff --git a/proto/Unk2700_KPGMEMHEEMD.proto b/proto/Unk2700_KPGMEMHEEMD.proto
new file mode 100644
index 00000000..9bd88d25
--- /dev/null
+++ b/proto/Unk2700_KPGMEMHEEMD.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_GPPKNKGDCHJ.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8185
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_KPGMEMHEEMD {
+ int32 retcode = 14;
+ Unk2700_GPPKNKGDCHJ Unk2700_AAOHOIJEOEG = 3;
+}
diff --git a/proto/Unk2700_KPMMEBNMMCL.proto b/proto/Unk2700_KPMMEBNMMCL.proto
new file mode 100644
index 00000000..38456318
--- /dev/null
+++ b/proto/Unk2700_KPMMEBNMMCL.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8363
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_KPMMEBNMMCL {
+ repeated uint32 Unk2700_OKGKHPCMNMN = 1;
+ repeated Unk2700_HJLFNKLPFBH Unk2700_ELOOIKFNJCG = 8;
+}
diff --git a/proto/Unk2700_KPNPJPPHOKA.proto b/proto/Unk2700_KPNPJPPHOKA.proto
new file mode 100644
index 00000000..b980abcb
--- /dev/null
+++ b/proto/Unk2700_KPNPJPPHOKA.proto
@@ -0,0 +1,35 @@
+// 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 "BalloonGalleryInfo.proto";
+import "RacingGalleryInfo.proto";
+import "SeekFurnitureGalleryInfo.proto";
+import "StakePlayGalleryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_KPNPJPPHOKA {
+ uint32 group_id = 5;
+ oneof detail {
+ RacingGalleryInfo racing_gallery_info = 467;
+ BalloonGalleryInfo balloon_gallery_info = 1410;
+ StakePlayGalleryInfo stake_play_info = 347;
+ SeekFurnitureGalleryInfo seek_furniture_gallery_info = 1822;
+ }
+}
diff --git a/proto/Unk2700_LAFHGMOPCCM_ServerNotify.proto b/proto/Unk2700_LAFHGMOPCCM_ServerNotify.proto
new file mode 100644
index 00000000..8bf46115
--- /dev/null
+++ b/proto/Unk2700_LAFHGMOPCCM_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 5553
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LAFHGMOPCCM_ServerNotify {
+ uint32 gallery_id = 13;
+}
diff --git a/proto/Unk2700_LBIDBGLGKCJ.proto b/proto/Unk2700_LBIDBGLGKCJ.proto
new file mode 100644
index 00000000..e0f1207d
--- /dev/null
+++ b/proto/Unk2700_LBIDBGLGKCJ.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_LBIDBGLGKCJ {
+ bool Unk2700_MMNILGLDHHD = 7;
+ uint32 max_score = 9;
+ uint32 id = 4;
+}
diff --git a/proto/Unk2700_LBJKLAGNDEJ_ClientReq.proto b/proto/Unk2700_LBJKLAGNDEJ_ClientReq.proto
new file mode 100644
index 00000000..52ddd39c
--- /dev/null
+++ b/proto/Unk2700_LBJKLAGNDEJ_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 4759
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LBJKLAGNDEJ_ClientReq {
+ uint32 group_id = 2;
+}
diff --git a/proto/Unk2700_LBOAEFMECCP.proto b/proto/Unk2700_LBOAEFMECCP.proto
new file mode 100644
index 00000000..e8fef96f
--- /dev/null
+++ b/proto/Unk2700_LBOAEFMECCP.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_LBOAEFMECCP {
+ repeated uint32 Unk2700_POMENCDDAGL = 11;
+ uint32 id = 7;
+}
diff --git a/proto/Unk2700_LBOPCDPFJEC.proto b/proto/Unk2700_LBOPCDPFJEC.proto
new file mode 100644
index 00000000..72da433a
--- /dev/null
+++ b/proto/Unk2700_LBOPCDPFJEC.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8062
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LBOPCDPFJEC {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_LBPFDCBHCBL.proto b/proto/Unk2700_LBPFDCBHCBL.proto
new file mode 100644
index 00000000..c7462f39
--- /dev/null
+++ b/proto/Unk2700_LBPFDCBHCBL.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_LBPFDCBHCBL {
+ string name = 1;
+ string value = 2;
+}
diff --git a/proto/Unk2700_LCFGKHHIAEH_ServerNotify.proto b/proto/Unk2700_LCFGKHHIAEH_ServerNotify.proto
new file mode 100644
index 00000000..2aa396e1
--- /dev/null
+++ b/proto/Unk2700_LCFGKHHIAEH_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4014
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LCFGKHHIAEH_ServerNotify {
+ string signature = 12;
+}
diff --git a/proto/Unk2700_LDJLMCAHHEN.proto b/proto/Unk2700_LDJLMCAHHEN.proto
new file mode 100644
index 00000000..e1951070
--- /dev/null
+++ b/proto/Unk2700_LDJLMCAHHEN.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8748
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LDJLMCAHHEN {
+ repeated Unk2700_HJLFNKLPFBH Unk2700_OHECOOHPNHG = 6;
+}
diff --git a/proto/Unk2700_LELADCCDNJH.proto b/proto/Unk2700_LELADCCDNJH.proto
new file mode 100644
index 00000000..52766a51
--- /dev/null
+++ b/proto/Unk2700_LELADCCDNJH.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_LELADCCDNJH {
+ uint32 Unk2700_FACFKJKIBBO = 1;
+ uint32 id = 2;
+ bool is_finished = 7;
+ bool Unk2700_MJDCFONLGKN = 9;
+ bool Unk2700_AKAAHELAGHJ = 10;
+}
diff --git a/proto/Unk2700_LEMPLKGOOJC.proto b/proto/Unk2700_LEMPLKGOOJC.proto
new file mode 100644
index 00000000..4430893a
--- /dev/null
+++ b/proto/Unk2700_LEMPLKGOOJC.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8362
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LEMPLKGOOJC {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk2700_LGAGHFKFFDO_ServerRsp.proto b/proto/Unk2700_LGAGHFKFFDO_ServerRsp.proto
new file mode 100644
index 00000000..6ca9c909
--- /dev/null
+++ b/proto/Unk2700_LGAGHFKFFDO_ServerRsp.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6349
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LGAGHFKFFDO_ServerRsp {
+ uint64 Unk2700_CEPGMKAHHCD = 14;
+ int32 retcode = 15;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 13;
+}
diff --git a/proto/Unk2700_LGGAIDMLDIA_ServerReq.proto b/proto/Unk2700_LGGAIDMLDIA_ServerReq.proto
new file mode 100644
index 00000000..d8a57eab
--- /dev/null
+++ b/proto/Unk2700_LGGAIDMLDIA_ServerReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 177
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LGGAIDMLDIA_ServerReq {}
diff --git a/proto/Unk2700_LGHJBAEBJKE_ServerRsp.proto b/proto/Unk2700_LGHJBAEBJKE_ServerRsp.proto
new file mode 100644
index 00000000..11e0bf38
--- /dev/null
+++ b/proto/Unk2700_LGHJBAEBJKE_ServerRsp.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_MIBBHAEMAGI.proto";
+import "Unk2700_OGKIDNPMMKG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6227
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LGHJBAEBJKE_ServerRsp {
+ int32 retcode = 10;
+ Unk2700_OGKIDNPMMKG Unk2700_HKIFDFGHJOK = 14;
+ repeated Unk2700_MIBBHAEMAGI Unk2700_KLOAFPMHOKI = 5;
+}
diff --git a/proto/Unk2700_LHMOFCJCIKM.proto b/proto/Unk2700_LHMOFCJCIKM.proto
new file mode 100644
index 00000000..26894efc
--- /dev/null
+++ b/proto/Unk2700_LHMOFCJCIKM.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 9000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LHMOFCJCIKM {}
diff --git a/proto/Unk2700_LHPELFJPPOD.proto b/proto/Unk2700_LHPELFJPPOD.proto
new file mode 100644
index 00000000..04cac9d1
--- /dev/null
+++ b/proto/Unk2700_LHPELFJPPOD.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_LHPELFJPPOD {
+ bool Unk2700_GHGIOMEHIAN = 13;
+ uint32 best_score = 7;
+ uint32 challenge_id = 3;
+}
diff --git a/proto/Unk2700_LIJCBOBECHJ.proto b/proto/Unk2700_LIJCBOBECHJ.proto
new file mode 100644
index 00000000..d1bf5578
--- /dev/null
+++ b/proto/Unk2700_LIJCBOBECHJ.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8964
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LIJCBOBECHJ {}
diff --git a/proto/Unk2700_LJINJNECBIA.proto b/proto/Unk2700_LJINJNECBIA.proto
new file mode 100644
index 00000000..24f88473
--- /dev/null
+++ b/proto/Unk2700_LJINJNECBIA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LJINJNECBIA {
+ uint32 schedule_id = 3;
+}
diff --git a/proto/Unk2700_LKFKCNJFGIF_ServerRsp.proto b/proto/Unk2700_LKFKCNJFGIF_ServerRsp.proto
new file mode 100644
index 00000000..84d4a784
--- /dev/null
+++ b/proto/Unk2700_LKFKCNJFGIF_ServerRsp.proto
@@ -0,0 +1,32 @@
+// 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";
+
+// CmdId: 458
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LKFKCNJFGIF_ServerRsp {
+ uint32 quest_id = 4;
+ int32 retcode = 11;
+ repeated uint32 lacked_npc_list = 8;
+ repeated uint32 lacked_place_list = 5;
+ map lacked_npc_map = 10;
+ map lacked_place_map = 2;
+}
diff --git a/proto/Unk2700_LKPBBMPFPPE_ClientReq.proto b/proto/Unk2700_LKPBBMPFPPE_ClientReq.proto
new file mode 100644
index 00000000..acc64aca
--- /dev/null
+++ b/proto/Unk2700_LKPBBMPFPPE_ClientReq.proto
@@ -0,0 +1,36 @@
+// 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 "DropSubfieldType.proto";
+import "Unk2700_CKMOPKMKCAO.proto";
+import "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LKPBBMPFPPE_ClientReq {
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 8;
+ uint64 Unk2700_CEPGMKAHHCD = 5;
+ DropSubfieldType Unk2700_MJNIHFCKJMN = 6;
+ bool Unk2700_CAOIKBJJFIH = 11;
+ Unk2700_CKMOPKMKCAO Unk2700_BFPCGJEDDFK = 13;
+}
diff --git a/proto/Unk2700_LLBCBPADBNO.proto b/proto/Unk2700_LLBCBPADBNO.proto
new file mode 100644
index 00000000..71866c6d
--- /dev/null
+++ b/proto/Unk2700_LLBCBPADBNO.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_DIEGJDEIDKO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8154
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LLBCBPADBNO {
+ Unk2700_DIEGJDEIDKO explore_info = 12;
+ Unk2700_DIEGJDEIDKO battle_info = 4;
+}
diff --git a/proto/Unk2700_LLGDCAKMCKL.proto b/proto/Unk2700_LLGDCAKMCKL.proto
new file mode 100644
index 00000000..973d3ac2
--- /dev/null
+++ b/proto/Unk2700_LLGDCAKMCKL.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_DMPIJLBHEAE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_LLGDCAKMCKL {
+ repeated Unk2700_DMPIJLBHEAE challenge_info_list = 9;
+ bool is_open = 10;
+ uint32 stage_id = 2;
+}
diff --git a/proto/Unk2700_LMAKABBJNLN.proto b/proto/Unk2700_LMAKABBJNLN.proto
new file mode 100644
index 00000000..b087633d
--- /dev/null
+++ b/proto/Unk2700_LMAKABBJNLN.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_FGJFFMPOJON.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8253
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LMAKABBJNLN {
+ int32 retcode = 6;
+ repeated Unk2700_FGJFFMPOJON Unk2700_COOFMKLNBND = 11;
+ uint32 schedule_id = 10;
+}
diff --git a/proto/Unk2700_LNBBLNNPNBE_ServerNotify.proto b/proto/Unk2700_LNBBLNNPNBE_ServerNotify.proto
new file mode 100644
index 00000000..b7340161
--- /dev/null
+++ b/proto/Unk2700_LNBBLNNPNBE_ServerNotify.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_JCBJHCFEONO.proto";
+import "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4583
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LNBBLNNPNBE_ServerNotify {
+ uint32 gallery_id = 15;
+ Unk2700_JCBJHCFEONO Unk2700_GIHGLFNAGJD = 5;
+ Unk2700_MOFABPNGIKP reason = 4;
+}
diff --git a/proto/Unk2700_LNMFIHNFKOO.proto b/proto/Unk2700_LNMFIHNFKOO.proto
new file mode 100644
index 00000000..f85bd311
--- /dev/null
+++ b/proto/Unk2700_LNMFIHNFKOO.proto
@@ -0,0 +1,31 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LNMFIHNFKOO {
+ uint32 uid = 12;
+ repeated ItemParam item_list = 11;
+}
diff --git a/proto/Unk2700_LOHBMOKOPLH_ServerNotify.proto b/proto/Unk2700_LOHBMOKOPLH_ServerNotify.proto
new file mode 100644
index 00000000..685b9285
--- /dev/null
+++ b/proto/Unk2700_LOHBMOKOPLH_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4608
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_LOHBMOKOPLH_ServerNotify {
+ repeated uint32 Unk2700_KMEKMNONMGE = 11;
+}
diff --git a/proto/Unk2700_LPMIMLCNEDA.proto b/proto/Unk2700_LPMIMLCNEDA.proto
new file mode 100644
index 00000000..209919a1
--- /dev/null
+++ b/proto/Unk2700_LPMIMLCNEDA.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8518
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_LPMIMLCNEDA {
+ uint32 stage_id = 2;
+ uint32 challenge_id = 7;
+}
diff --git a/proto/Unk2700_MBIAJKLACBG.proto b/proto/Unk2700_MBIAJKLACBG.proto
new file mode 100644
index 00000000..9d305571
--- /dev/null
+++ b/proto/Unk2700_MBIAJKLACBG.proto
@@ -0,0 +1,29 @@
+// 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 "GroupLinkBundle.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5757
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MBIAJKLACBG {
+ GroupLinkBundle bundle = 11;
+}
diff --git a/proto/Unk2700_MBIDJDLLBNM.proto b/proto/Unk2700_MBIDJDLLBNM.proto
new file mode 100644
index 00000000..f5174bef
--- /dev/null
+++ b/proto/Unk2700_MBIDJDLLBNM.proto
@@ -0,0 +1,29 @@
+// 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 Unk2700_MBIDJDLLBNM {
+ uint32 open_time = 5;
+ uint32 id = 1;
+ Vector pos = 14;
+ uint32 max_score = 2;
+}
diff --git a/proto/Unk2700_MCJIOOELGHG_ServerNotify.proto b/proto/Unk2700_MCJIOOELGHG_ServerNotify.proto
new file mode 100644
index 00000000..fcf10d81
--- /dev/null
+++ b/proto/Unk2700_MCJIOOELGHG_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_JDPMOMKAPIF.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6033
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MCJIOOELGHG_ServerNotify {
+ repeated Unk2700_JDPMOMKAPIF Unk2700_KBMKGNGFGFO = 6;
+}
diff --git a/proto/Unk2700_MCOFAKMDMEF_ServerRsp.proto b/proto/Unk2700_MCOFAKMDMEF_ServerRsp.proto
new file mode 100644
index 00000000..050cf27b
--- /dev/null
+++ b/proto/Unk2700_MCOFAKMDMEF_ServerRsp.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_OPEBMJPOOBL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6345
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MCOFAKMDMEF_ServerRsp {
+ repeated uint64 Unk2700_AOOAAECDCOA = 15;
+ int32 retcode = 10;
+ Unk2700_OPEBMJPOOBL Unk2700_KHBDAPGDOJA = 12;
+}
diff --git a/proto/Unk2700_MDGKMNEBIBA.proto b/proto/Unk2700_MDGKMNEBIBA.proto
new file mode 100644
index 00000000..13c26ae9
--- /dev/null
+++ b/proto/Unk2700_MDGKMNEBIBA.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8038
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MDGKMNEBIBA {
+ Unk2700_HJLFNKLPFBH Unk2700_GIMLODDEDJH = 2;
+}
diff --git a/proto/Unk2700_MDPHLPEGFCG_ClientReq.proto b/proto/Unk2700_MDPHLPEGFCG_ClientReq.proto
new file mode 100644
index 00000000..d12f1611
--- /dev/null
+++ b/proto/Unk2700_MDPHLPEGFCG_ClientReq.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 4020
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MDPHLPEGFCG_ClientReq {}
diff --git a/proto/Unk2700_MEBFPBDNPGO_ServerNotify.proto b/proto/Unk2700_MEBFPBDNPGO_ServerNotify.proto
new file mode 100644
index 00000000..cae46370
--- /dev/null
+++ b/proto/Unk2700_MEBFPBDNPGO_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4847
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MEBFPBDNPGO_ServerNotify {
+ repeated uint32 Unk2700_ELJPLMIHNIP = 11;
+}
diff --git a/proto/Unk2700_MEFJECGAFNH_ServerNotify.proto b/proto/Unk2700_MEFJECGAFNH_ServerNotify.proto
new file mode 100644
index 00000000..c161292d
--- /dev/null
+++ b/proto/Unk2700_MEFJECGAFNH_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 5338
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MEFJECGAFNH_ServerNotify {
+ uint32 left_monsters = 8;
+}
diff --git a/proto/Unk2700_MENCEGPEFAK.proto b/proto/Unk2700_MENCEGPEFAK.proto
new file mode 100644
index 00000000..7ea55948
--- /dev/null
+++ b/proto/Unk2700_MENCEGPEFAK.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8791
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MENCEGPEFAK {
+ int32 retcode = 2;
+}
diff --git a/proto/Unk2700_MFAIPHGDPBL.proto b/proto/Unk2700_MFAIPHGDPBL.proto
new file mode 100644
index 00000000..accb95e4
--- /dev/null
+++ b/proto/Unk2700_MFAIPHGDPBL.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MFAIPHGDPBL {
+ uint32 Unk2700_LKBHLHIHJGL = 1;
+}
diff --git a/proto/Unk2700_MFINCDMFGLD_ServerNotify.proto b/proto/Unk2700_MFINCDMFGLD_ServerNotify.proto
new file mode 100644
index 00000000..9be983a1
--- /dev/null
+++ b/proto/Unk2700_MFINCDMFGLD_ServerNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MFINCDMFGLD_ServerNotify {
+ bool is_open = 8;
+ uint32 Unk2700_JEKIGDDNCAB = 12;
+}
diff --git a/proto/Unk2700_MHMBDFKOOLJ_ClientNotify.proto b/proto/Unk2700_MHMBDFKOOLJ_ClientNotify.proto
new file mode 100644
index 00000000..41faa67b
--- /dev/null
+++ b/proto/Unk2700_MHMBDFKOOLJ_ClientNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6234
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MHMBDFKOOLJ_ClientNotify {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_MHPCNKJGEJN.proto b/proto/Unk2700_MHPCNKJGEJN.proto
new file mode 100644
index 00000000..ccf751dc
--- /dev/null
+++ b/proto/Unk2700_MHPCNKJGEJN.proto
@@ -0,0 +1,24 @@
+// 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 Unk2700_MHPCNKJGEJN {
+ uint32 Unk3000_CNGDFAGEACD = 3;
+}
diff --git a/proto/Unk2700_MIBBHAEMAGI.proto b/proto/Unk2700_MIBBHAEMAGI.proto
new file mode 100644
index 00000000..02dc1e7e
--- /dev/null
+++ b/proto/Unk2700_MIBBHAEMAGI.proto
@@ -0,0 +1,38 @@
+// 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 "Unk2700_BMBAIACNLDF.proto";
+import "Unk2700_ELMEOJFCOFH.proto";
+import "Unk2700_OHBMICGFIIK.proto";
+import "Unk2700_PHGGAEDHLBN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_MIBBHAEMAGI {
+ Unk2700_PHGGAEDHLBN Unk2700_JGFDODPBGFL = 2;
+ bool Unk2700_GBCGGDONMCD = 13;
+ Unk2700_OHBMICGFIIK Unk2700_IKGOMKLAJLH = 7;
+ uint64 Unk2700_ONOOJBEABOE = 10;
+ uint32 Unk2700_BPMLPHIMJAF = 14;
+ repeated uint32 tag_list = 15;
+ uint32 dungeon_id = 5;
+ uint32 Unk2700_DPPILIMGOKH = 12;
+ Unk2700_BMBAIACNLDF state = 1;
+ Unk2700_ELMEOJFCOFH Unk2700_PCFIKJEDEGN = 4;
+}
diff --git a/proto/Unk2700_MIBHNLEMICB.proto b/proto/Unk2700_MIBHNLEMICB.proto
new file mode 100644
index 00000000..09866c68
--- /dev/null
+++ b/proto/Unk2700_MIBHNLEMICB.proto
@@ -0,0 +1,31 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8462
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MIBHNLEMICB {
+ repeated ItemParam item_list = 7;
+ uint32 quest_id = 4;
+}
diff --git a/proto/Unk2700_MIEJMGNBPJE.proto b/proto/Unk2700_MIEJMGNBPJE.proto
new file mode 100644
index 00000000..8e7fb6e6
--- /dev/null
+++ b/proto/Unk2700_MIEJMGNBPJE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8377
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MIEJMGNBPJE {
+ uint32 stage_id = 1;
+}
diff --git a/proto/Unk2700_MIMJBGMEMCA.proto b/proto/Unk2700_MIMJBGMEMCA.proto
new file mode 100644
index 00000000..5754ca75
--- /dev/null
+++ b/proto/Unk2700_MIMJBGMEMCA.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_MIMJBGMEMCA {
+ bool Unk2700_MMNILGLDHHD = 1;
+ uint32 Unk2700_LINCFMHPMDP = 2;
+ uint32 Unk2700_FACFKJKIBBO = 8;
+ bool Unk2700_PEDCFBJLHGP = 7;
+}
diff --git a/proto/Unk2700_MJAIKMBPKCD.proto b/proto/Unk2700_MJAIKMBPKCD.proto
new file mode 100644
index 00000000..1f8476b0
--- /dev/null
+++ b/proto/Unk2700_MJAIKMBPKCD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8569
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MJAIKMBPKCD {
+ int32 retcode = 10;
+ uint32 gallery_id = 14;
+}
diff --git a/proto/Unk2700_MJCCKKHJNMP_ServerRsp.proto b/proto/Unk2700_MJCCKKHJNMP_ServerRsp.proto
new file mode 100644
index 00000000..d0b069b3
--- /dev/null
+++ b/proto/Unk2700_MJCCKKHJNMP_ServerRsp.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_GHHCCEHGKLH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6212
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MJCCKKHJNMP_ServerRsp {
+ int32 retcode = 13;
+ repeated Unk2700_GHHCCEHGKLH Unk2700_BCIBEPMFLGN = 7;
+}
diff --git a/proto/Unk2700_MJGFEHOMKJE.proto b/proto/Unk2700_MJGFEHOMKJE.proto
new file mode 100644
index 00000000..bb867979
--- /dev/null
+++ b/proto/Unk2700_MJGFEHOMKJE.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_GHONKKEGHGL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_MJGFEHOMKJE {
+ repeated Unk2700_GHONKKEGHGL Unk2700_PHKHIPLDOOA = 6;
+}
diff --git a/proto/Unk2700_MKAFBOPFDEF_ServerNotify.proto b/proto/Unk2700_MKAFBOPFDEF_ServerNotify.proto
new file mode 100644
index 00000000..4276d72f
--- /dev/null
+++ b/proto/Unk2700_MKAFBOPFDEF_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 430
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MKAFBOPFDEF_ServerNotify {
+ bool Unk2700_DFMMBCLLBEN = 5;
+}
diff --git a/proto/Unk2700_MKLLNAHEJJC_ServerRsp.proto b/proto/Unk2700_MKLLNAHEJJC_ServerRsp.proto
new file mode 100644
index 00000000..b36100ba
--- /dev/null
+++ b/proto/Unk2700_MKLLNAHEJJC_ServerRsp.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_CCEOEOHLAPK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4287
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MKLLNAHEJJC_ServerRsp {
+ Unk2700_CCEOEOHLAPK Unk2700_COIELIGEACL = 9;
+}
diff --git a/proto/Unk2700_MKMDOIKBBEP.proto b/proto/Unk2700_MKMDOIKBBEP.proto
new file mode 100644
index 00000000..0cdbd789
--- /dev/null
+++ b/proto/Unk2700_MKMDOIKBBEP.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_HIHKGMLLOGD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8026
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MKMDOIKBBEP {
+ Unk2700_HIHKGMLLOGD Unk2700_BABEGIGEEIB = 10;
+ int32 retcode = 5;
+ bool Unk2700_DJAPHKALAHA = 1;
+}
diff --git a/proto/Unk2700_MLMEFKLMOEF.proto b/proto/Unk2700_MLMEFKLMOEF.proto
new file mode 100644
index 00000000..0adb8fb8
--- /dev/null
+++ b/proto/Unk2700_MLMEFKLMOEF.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_EAJCGENDICI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_MLMEFKLMOEF {
+ int32 value = 5;
+ Unk2700_EAJCGENDICI type = 4;
+}
diff --git a/proto/Unk2700_MLMJFIGJJEH_ServerNotify.proto b/proto/Unk2700_MLMJFIGJJEH_ServerNotify.proto
new file mode 100644
index 00000000..b1fa3649
--- /dev/null
+++ b/proto/Unk2700_MLMJFIGJJEH_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_IMMPPANFEPP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4878
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MLMJFIGJJEH_ServerNotify {
+ repeated Unk2700_IMMPPANFEPP Unk2700_FEGCOKJJBGO = 12;
+}
diff --git a/proto/Unk2700_MMDCAFMGACC_ServerNotify.proto b/proto/Unk2700_MMDCAFMGACC_ServerNotify.proto
new file mode 100644
index 00000000..0d925163
--- /dev/null
+++ b/proto/Unk2700_MMDCAFMGACC_ServerNotify.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_ADGLMHECKKJ.proto";
+import "Unk2700_KBBDJNLFAKD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6221
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MMDCAFMGACC_ServerNotify {
+ Unk2700_ADGLMHECKKJ Unk2700_NBAIINBBBPK = 9;
+ repeated uint32 Unk2700_EIOPOPABBNC = 14;
+ Unk2700_KBBDJNLFAKD Unk2700_LGBODABIKLL = 15;
+}
diff --git a/proto/Unk2700_MMFIJILOCOP_ClientReq.proto b/proto/Unk2700_MMFIJILOCOP_ClientReq.proto
new file mode 100644
index 00000000..d1d253de
--- /dev/null
+++ b/proto/Unk2700_MMFIJILOCOP_ClientReq.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_IMMPPANFEPP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4486
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MMFIJILOCOP_ClientReq {
+ Unk2700_IMMPPANFEPP Unk2700_JJBKBKPEIBC = 1;
+}
diff --git a/proto/Unk2700_MMJJMKMHANL.proto b/proto/Unk2700_MMJJMKMHANL.proto
new file mode 100644
index 00000000..a10c78f3
--- /dev/null
+++ b/proto/Unk2700_MMJJMKMHANL.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_MMJJMKMHANL {
+ uint32 dungeon_id = 11;
+ uint32 Unk2700_FMOFEBIAOFO = 3;
+}
diff --git a/proto/Unk2700_MNIBEMEMGMO.proto b/proto/Unk2700_MNIBEMEMGMO.proto
new file mode 100644
index 00000000..41e53c20
--- /dev/null
+++ b/proto/Unk2700_MNIBEMEMGMO.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8514
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_MNIBEMEMGMO {
+ repeated Unk2700_HJLFNKLPFBH Unk2700_BNHNCPPADPJ = 10;
+ uint32 Unk2700_KGMFDCOMCOF = 6;
+ uint32 Unk2700_MLMJABGLDPH = 8;
+ bool Unk2700_NHMJKBGEHID = 7;
+}
diff --git a/proto/Unk2700_MOFABPNGIKP.proto b/proto/Unk2700_MOFABPNGIKP.proto
new file mode 100644
index 00000000..9fc0d80e
--- /dev/null
+++ b/proto/Unk2700_MOFABPNGIKP.proto
@@ -0,0 +1,33 @@
+// 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 Unk2700_MOFABPNGIKP {
+ Unk2700_MOFABPNGIKP_Unk2700_DGJFKKIBLCJ = 0;
+ Unk2700_MOFABPNGIKP_Unk2700_IANMLLDEIJH = 1;
+ Unk2700_MOFABPNGIKP_Unk2700_CCBNMEBCOKM = 2;
+ Unk2700_MOFABPNGIKP_Unk2700_CABFGAEJAIA = 3;
+ Unk2700_MOFABPNGIKP_Unk2700_JFPKBELPINO = 4;
+ Unk2700_MOFABPNGIKP_Unk2700_ECHKDKLKPLH = 5;
+ Unk2700_MOFABPNGIKP_Unk2700_NALBIHIEGAF = 6;
+ Unk2700_MOFABPNGIKP_Unk2700_KNAHCHDLEOM = 7;
+ Unk2700_MOFABPNGIKP_Unk2700_CAIOEECIPIM = 8;
+ Unk2700_MOFABPNGIKP_Unk2700_IEICHGLOIAL = 9;
+}
diff --git a/proto/Unk2700_MPELMDDJFHO.proto b/proto/Unk2700_MPELMDDJFHO.proto
new file mode 100644
index 00000000..3f5253b6
--- /dev/null
+++ b/proto/Unk2700_MPELMDDJFHO.proto
@@ -0,0 +1,34 @@
+// 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 "Unk2700_GBHAPPCDCIL.proto";
+import "Unk2700_IOONEPPHCJP.proto";
+import "Unk2700_PDGLEKKMCBD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_MPELMDDJFHO {
+ uint64 Unk2700_ONOOJBEABOE = 1;
+ uint32 dungeon_id = 2;
+ string Unk2700_MONNIDCNDFI = 3;
+ repeated uint32 tag_list = 4;
+ Unk2700_GBHAPPCDCIL Unk2700_JGFDODPBGFL = 5;
+ Unk2700_IOONEPPHCJP Unk2700_PCFIKJEDEGN = 6;
+ Unk2700_PDGLEKKMCBD Unk2700_IKGOMKLAJLH = 7;
+}
diff --git a/proto/Unk2700_MPPAHFFHIPI_ServerNotify.proto b/proto/Unk2700_MPPAHFFHIPI_ServerNotify.proto
new file mode 100644
index 00000000..f37c58ed
--- /dev/null
+++ b/proto/Unk2700_MPPAHFFHIPI_ServerNotify.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4187
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_MPPAHFFHIPI_ServerNotify {
+ uint32 match_id = 9;
+}
diff --git a/proto/Unk2700_NAEHEDLGLKA.proto b/proto/Unk2700_NAEHEDLGLKA.proto
new file mode 100644
index 00000000..4cf8a5b9
--- /dev/null
+++ b/proto/Unk2700_NAEHEDLGLKA.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NAEHEDLGLKA {}
diff --git a/proto/Unk2700_NAFAIMHFEFG.proto b/proto/Unk2700_NAFAIMHFEFG.proto
new file mode 100644
index 00000000..2a2ffeae
--- /dev/null
+++ b/proto/Unk2700_NAFAIMHFEFG.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_NAFAIMHFEFG {
+ Vector pos = 10;
+ uint32 group_id = 2;
+ uint32 config_id = 11;
+}
diff --git a/proto/Unk2700_NAPLFKNOECD.proto b/proto/Unk2700_NAPLFKNOECD.proto
new file mode 100644
index 00000000..c299fb0e
--- /dev/null
+++ b/proto/Unk2700_NAPLFKNOECD.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_NAPLFKNOECD {
+ uint32 type = 15;
+ float Unk2700_KJGKBENCNKF = 11;
+ float value = 3;
+ float Unk2700_POGMHNNJKDM = 10;
+}
diff --git a/proto/Unk2700_NBFJOJPCCEK_ServerRsp.proto b/proto/Unk2700_NBFJOJPCCEK_ServerRsp.proto
new file mode 100644
index 00000000..64d3d063
--- /dev/null
+++ b/proto/Unk2700_NBFJOJPCCEK_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6057
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NBFJOJPCCEK_ServerRsp {
+ int32 retcode = 6;
+}
diff --git a/proto/Unk2700_NBFOJLAHFCA_ServerNotify.proto b/proto/Unk2700_NBFOJLAHFCA_ServerNotify.proto
new file mode 100644
index 00000000..113c5df0
--- /dev/null
+++ b/proto/Unk2700_NBFOJLAHFCA_ServerNotify.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_JMPCGMBHJLG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5928
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NBFOJLAHFCA_ServerNotify {
+ repeated Unk2700_JMPCGMBHJLG Unk2700_KKDHNGGEFDI = 12;
+ uint32 Unk2700_BHOEBCNOEEG = 4;
+}
diff --git a/proto/Unk2700_NCJLMACGOCD_ClientNotify.proto b/proto/Unk2700_NCJLMACGOCD_ClientNotify.proto
new file mode 100644
index 00000000..5f1bdbde
--- /dev/null
+++ b/proto/Unk2700_NCJLMACGOCD_ClientNotify.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 933
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NCJLMACGOCD_ClientNotify {
+ uint32 Unk2700_CCPALMMFDFC = 5;
+ uint32 Unk2700_NEMOEIFHIFC = 10;
+ uint32 dungeon_id = 3;
+}
diff --git a/proto/Unk2700_NCMPMILICGJ.proto b/proto/Unk2700_NCMPMILICGJ.proto
new file mode 100644
index 00000000..4d5a0467
--- /dev/null
+++ b/proto/Unk2700_NCMPMILICGJ.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8407
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NCMPMILICGJ {
+ uint32 Unk2700_IGMHNDNGNPG = 3;
+ uint32 Unk2700_KIAHJKGOLGO = 7;
+ uint32 avatar_id = 11;
+}
diff --git a/proto/Unk2700_NCNPNMFFONG.proto b/proto/Unk2700_NCNPNMFFONG.proto
new file mode 100644
index 00000000..3696651c
--- /dev/null
+++ b/proto/Unk2700_NCNPNMFFONG.proto
@@ -0,0 +1,30 @@
+// 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 Unk2700_NCNPNMFFONG {
+ Unk2700_NCNPNMFFONG_Unk2700_EOOLPOEEAPH = 0;
+ Unk2700_NCNPNMFFONG_Unk2700_GLPMMPCFDLN = 1;
+ Unk2700_NCNPNMFFONG_Unk2700_MFPLNPDOELM = 2;
+ Unk2700_NCNPNMFFONG_Unk2700_EPFDAAKBKML = 3;
+ Unk2700_NCNPNMFFONG_Unk2700_PMAPHIADDJF = 4;
+ Unk2700_NCNPNMFFONG_Unk2700_BLJLDKHIPGD = 5;
+ Unk2700_NCNPNMFFONG_Unk2700_EOPEJCDHJCF = 6;
+}
diff --git a/proto/Unk2700_NCPLKHGCOAH.proto b/proto/Unk2700_NCPLKHGCOAH.proto
new file mode 100644
index 00000000..185f2550
--- /dev/null
+++ b/proto/Unk2700_NCPLKHGCOAH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8767
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NCPLKHGCOAH {
+ uint32 entity_id = 11;
+}
diff --git a/proto/Unk2700_NDDBFNNHLFE.proto b/proto/Unk2700_NDDBFNNHLFE.proto
new file mode 100644
index 00000000..1d7937fa
--- /dev/null
+++ b/proto/Unk2700_NDDBFNNHLFE.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_DJKEGIEIKHG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8340
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NDDBFNNHLFE {
+ Unk2700_DJKEGIEIKHG settle_info = 13;
+ uint32 gallery_id = 5;
+}
diff --git a/proto/Unk2700_NEHPMNPAAKC.proto b/proto/Unk2700_NEHPMNPAAKC.proto
new file mode 100644
index 00000000..e3a17694
--- /dev/null
+++ b/proto/Unk2700_NEHPMNPAAKC.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8806
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NEHPMNPAAKC {
+ uint32 schedule_id = 6;
+}
diff --git a/proto/Unk2700_NELNFCMDMHE_ServerRsp.proto b/proto/Unk2700_NELNFCMDMHE_ServerRsp.proto
new file mode 100644
index 00000000..9ea7e4c0
--- /dev/null
+++ b/proto/Unk2700_NELNFCMDMHE_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6314
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NELNFCMDMHE_ServerRsp {
+ int32 retcode = 7;
+}
diff --git a/proto/Unk2700_NFGNGFLNOOJ_ServerNotify.proto b/proto/Unk2700_NFGNGFLNOOJ_ServerNotify.proto
new file mode 100644
index 00000000..4f12b90d
--- /dev/null
+++ b/proto/Unk2700_NFGNGFLNOOJ_ServerNotify.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_CHLNIDHHGLE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4811
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NFGNGFLNOOJ_ServerNotify {
+ uint32 gallery_id = 1;
+ Unk2700_CHLNIDHHGLE settle_info = 5;
+ uint32 Unk2700_HAOPLFPOLFM = 6;
+ bool is_new_record = 4;
+}
diff --git a/proto/Unk2700_NGEKONFLEBB.proto b/proto/Unk2700_NGEKONFLEBB.proto
new file mode 100644
index 00000000..88497546
--- /dev/null
+++ b/proto/Unk2700_NGEKONFLEBB.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NGEKONFLEBB {
+ uint32 difficulty = 5;
+ uint32 gadget_entity_id = 15;
+}
diff --git a/proto/Unk2700_NGPMINKIOPK.proto b/proto/Unk2700_NGPMINKIOPK.proto
new file mode 100644
index 00000000..f68227c1
--- /dev/null
+++ b/proto/Unk2700_NGPMINKIOPK.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_PPIBANCGGNI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8956
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NGPMINKIOPK {
+ Unk2700_PPIBANCGGNI settle_info = 6;
+ uint32 gallery_id = 2;
+}
diff --git a/proto/Unk2700_NIMPHALPEPO_ClientNotify.proto b/proto/Unk2700_NIMPHALPEPO_ClientNotify.proto
new file mode 100644
index 00000000..58b2ba87
--- /dev/null
+++ b/proto/Unk2700_NIMPHALPEPO_ClientNotify.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6236
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NIMPHALPEPO_ClientNotify {
+ uint32 Unk2700_MKIMFKIGBCL = 13;
+ uint64 Unk2700_ONOOJBEABOE = 12;
+}
diff --git a/proto/Unk2700_NINHGODEMHH_ServerNotify.proto b/proto/Unk2700_NINHGODEMHH_ServerNotify.proto
new file mode 100644
index 00000000..681a9d60
--- /dev/null
+++ b/proto/Unk2700_NINHGODEMHH_ServerNotify.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 2155
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NINHGODEMHH_ServerNotify {
+ uint32 schedule_id = 1;
+ uint32 activity_id = 3;
+}
diff --git a/proto/Unk2700_NJNMEFINDCF.proto b/proto/Unk2700_NJNMEFINDCF.proto
new file mode 100644
index 00000000..9cbd6468
--- /dev/null
+++ b/proto/Unk2700_NJNMEFINDCF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8093
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NJNMEFINDCF {
+ int32 retcode = 6;
+ uint32 level_id = 1;
+}
diff --git a/proto/Unk2700_NKIDCOKNPFF.proto b/proto/Unk2700_NKIDCOKNPFF.proto
new file mode 100644
index 00000000..a71e51a7
--- /dev/null
+++ b/proto/Unk2700_NKIDCOKNPFF.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_NKIDCOKNPFF {
+ uint32 uid = 4;
+ uint32 building_points = 9;
+ uint32 Unk2700_CDOKENJJJMH = 3;
+}
diff --git a/proto/Unk2700_NKIEIGPLMIO.proto b/proto/Unk2700_NKIEIGPLMIO.proto
new file mode 100644
index 00000000..2af3f039
--- /dev/null
+++ b/proto/Unk2700_NKIEIGPLMIO.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8459
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NKIEIGPLMIO {
+ uint32 challenge_type = 1;
+ int32 retcode = 4;
+ uint32 stage_id = 7;
+}
diff --git a/proto/Unk2700_NLBJHDNKPCC.proto b/proto/Unk2700_NLBJHDNKPCC.proto
new file mode 100644
index 00000000..3b2b6170
--- /dev/null
+++ b/proto/Unk2700_NLBJHDNKPCC.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_GPPKNKGDCHJ.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8626
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NLBJHDNKPCC {
+ int32 retcode = 6;
+ repeated Unk2700_GPPKNKGDCHJ Unk2700_AAOHOIJEOEG = 14;
+}
diff --git a/proto/Unk2700_NLFDMMFNMIO.proto b/proto/Unk2700_NLFDMMFNMIO.proto
new file mode 100644
index 00000000..1d7b3a8e
--- /dev/null
+++ b/proto/Unk2700_NLFDMMFNMIO.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_KLPINMKOEPE.proto";
+import "Unk2700_PHGGAEDHLBN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_NLFDMMFNMIO {
+ Unk2700_PHGGAEDHLBN Unk2700_JGFDODPBGFL = 1;
+ repeated Unk2700_KLPINMKOEPE Unk2700_AAGBIFHNNPP = 15;
+ uint32 dungeon_id = 3;
+ uint64 Unk2700_ONOOJBEABOE = 10;
+}
diff --git a/proto/Unk2700_NLJBCGILMIE.proto b/proto/Unk2700_NLJBCGILMIE.proto
new file mode 100644
index 00000000..0018c6e1
--- /dev/null
+++ b/proto/Unk2700_NLJBCGILMIE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8281
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NLJBCGILMIE {
+ int32 retcode = 4;
+ repeated uint32 item_id_list = 7;
+}
diff --git a/proto/Unk2700_NMEENGOJOKD.proto b/proto/Unk2700_NMEENGOJOKD.proto
new file mode 100644
index 00000000..c7655ddb
--- /dev/null
+++ b/proto/Unk2700_NMEENGOJOKD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8930
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NMEENGOJOKD {
+ map Unk2700_DACHHINLDDJ = 12;
+}
diff --git a/proto/Unk2700_NMJCGMOOIFP.proto b/proto/Unk2700_NMJCGMOOIFP.proto
new file mode 100644
index 00000000..2304faed
--- /dev/null
+++ b/proto/Unk2700_NMJCGMOOIFP.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8061
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NMJCGMOOIFP {
+ uint32 level_id = 15;
+ uint32 gallery_id = 4;
+}
diff --git a/proto/Unk2700_NMJIMIKKIME.proto b/proto/Unk2700_NMJIMIKKIME.proto
new file mode 100644
index 00000000..9f43dc0e
--- /dev/null
+++ b/proto/Unk2700_NMJIMIKKIME.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8943
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_NMJIMIKKIME {
+ repeated uint32 Unk2700_OKGKHPCMNMN = 9;
+ repeated Unk2700_HJLFNKLPFBH Unk2700_ELOOIKFNJCG = 11;
+}
diff --git a/proto/Unk2700_NNDKOICOGGH_ServerNotify.proto b/proto/Unk2700_NNDKOICOGGH_ServerNotify.proto
new file mode 100644
index 00000000..a7e06ffa
--- /dev/null
+++ b/proto/Unk2700_NNDKOICOGGH_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 5539
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NNDKOICOGGH_ServerNotify {
+ uint32 gallery_id = 13;
+ bool Unk2700_INDLFDCOFDG = 11;
+ uint32 buff_id = 14;
+}
diff --git a/proto/Unk2700_NNMDBDNIMHN_ServerRsp.proto b/proto/Unk2700_NNMDBDNIMHN_ServerRsp.proto
new file mode 100644
index 00000000..ec147ab6
--- /dev/null
+++ b/proto/Unk2700_NNMDBDNIMHN_ServerRsp.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_KPNPJPPHOKA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 4538
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_NNMDBDNIMHN_ServerRsp {
+ Unk2700_KPNPJPPHOKA Unk2700_IFNLJDCJJED = 7;
+ int32 retcode = 11;
+ uint32 Unk2700_MAPJLIDACPN = 1;
+}
diff --git a/proto/Unk2700_NOCLNCCJEGK.proto b/proto/Unk2700_NOCLNCCJEGK.proto
new file mode 100644
index 00000000..e73f7eac
--- /dev/null
+++ b/proto/Unk2700_NOCLNCCJEGK.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_NOCLNCCJEGK {
+ Unk2700_NOCLNCCJEGK_NONE = 0;
+ Unk2700_NOCLNCCJEGK_Unk2700_ODIJEIGEGED = 1;
+}
diff --git a/proto/Unk2700_NOGODJOJDGF.proto b/proto/Unk2700_NOGODJOJDGF.proto
new file mode 100644
index 00000000..5aaad030
--- /dev/null
+++ b/proto/Unk2700_NOGODJOJDGF.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2700_OCDMIOKNHHH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_NOGODJOJDGF {
+ uint32 score = 12;
+ Unk2700_OCDMIOKNHHH player_info = 10;
+}
diff --git a/proto/Unk2700_NPOBPFNDJKK.proto b/proto/Unk2700_NPOBPFNDJKK.proto
new file mode 100644
index 00000000..cdd241ce
--- /dev/null
+++ b/proto/Unk2700_NPOBPFNDJKK.proto
@@ -0,0 +1,30 @@
+// 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 Unk2700_NPOBPFNDJKK {
+ Unk2700_NPOBPFNDJKK_Unk2700_PGICIHIAMBF = 0;
+ Unk2700_NPOBPFNDJKK_Unk2700_OALJEIJHGKL = 1;
+ Unk2700_NPOBPFNDJKK_Unk2700_JDIGCAMIBIA = 2;
+ Unk2700_NPOBPFNDJKK_Unk2700_KBGKJADDAAF = 3;
+ Unk2700_NPOBPFNDJKK_Unk2700_MNPNGKHMFNA = 4;
+ Unk2700_NPOBPFNDJKK_Unk2700_NBCDOEINJLJ = 5;
+ Unk2700_NPOBPFNDJKK_Unk2700_PHLJKMGKCBM = 6;
+}
diff --git a/proto/Unk2700_OBCKNDBAPGE.proto b/proto/Unk2700_OBCKNDBAPGE.proto
new file mode 100644
index 00000000..d2b3cd1b
--- /dev/null
+++ b/proto/Unk2700_OBCKNDBAPGE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8072
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OBCKNDBAPGE {
+ uint32 gadget_id = 9;
+ uint32 group_id = 2;
+}
diff --git a/proto/Unk2700_OBDHJJHLIKJ.proto b/proto/Unk2700_OBDHJJHLIKJ.proto
new file mode 100644
index 00000000..74da2240
--- /dev/null
+++ b/proto/Unk2700_OBDHJJHLIKJ.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8523
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OBDHJJHLIKJ {
+ uint32 Unk2700_MAOAHHBCKIA = 2;
+ uint32 activity_id = 3;
+}
diff --git a/proto/Unk2700_OCAJADDLPBB.proto b/proto/Unk2700_OCAJADDLPBB.proto
new file mode 100644
index 00000000..1a39d9b0
--- /dev/null
+++ b/proto/Unk2700_OCAJADDLPBB.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8718
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_OCAJADDLPBB {
+ uint32 Unk2700_LFALEEDODEC = 7;
+}
diff --git a/proto/Unk2700_OCDMIOKNHHH.proto b/proto/Unk2700_OCDMIOKNHHH.proto
new file mode 100644
index 00000000..b7039449
--- /dev/null
+++ b/proto/Unk2700_OCDMIOKNHHH.proto
@@ -0,0 +1,31 @@
+// 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 "ProfilePicture.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_OCDMIOKNHHH {
+ string online_id = 14;
+ string psn_id = 6;
+ string nickname = 15;
+ uint32 player_level = 4;
+ uint32 uid = 2;
+ ProfilePicture profile_picture = 5;
+}
diff --git a/proto/Unk2700_OCOKILBJIPJ.proto b/proto/Unk2700_OCOKILBJIPJ.proto
new file mode 100644
index 00000000..2190139b
--- /dev/null
+++ b/proto/Unk2700_OCOKILBJIPJ.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_OCOKILBJIPJ {
+ Unk2700_OCOKILBJIPJ_Unk2700_MPGOEMPNCEH = 0;
+ Unk2700_OCOKILBJIPJ_Unk2700_PDKBOLMIHMA = 1;
+ Unk2700_OCOKILBJIPJ_Unk2700_MCEBEJONJGH = 2;
+ Unk2700_OCOKILBJIPJ_Unk2700_MCNDLHHBBGJ = 3;
+}
diff --git a/proto/Unk2700_ODBNBICOCFK.proto b/proto/Unk2700_ODBNBICOCFK.proto
new file mode 100644
index 00000000..364df4f5
--- /dev/null
+++ b/proto/Unk2700_ODBNBICOCFK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ODBNBICOCFK {
+ uint32 Unk2700_AOJDMJPGBOL = 2;
+}
diff --git a/proto/Unk2700_ODJKHILOILK.proto b/proto/Unk2700_ODJKHILOILK.proto
new file mode 100644
index 00000000..f239cd10
--- /dev/null
+++ b/proto/Unk2700_ODJKHILOILK.proto
@@ -0,0 +1,30 @@
+// 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 "PotionStage.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8067
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_ODJKHILOILK {
+ int32 retcode = 11;
+ PotionStage Unk2700_BBEEMJECIAA = 14;
+}
diff --git a/proto/Unk2700_OEDLCGKNGLH.proto b/proto/Unk2700_OEDLCGKNGLH.proto
new file mode 100644
index 00000000..f16f44ef
--- /dev/null
+++ b/proto/Unk2700_OEDLCGKNGLH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8686
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OEDLCGKNGLH {
+ uint32 level_id = 2;
+ int32 retcode = 14;
+}
diff --git a/proto/Unk2700_OFDBHGHAJBD_ServerNotify.proto b/proto/Unk2700_OFDBHGHAJBD_ServerNotify.proto
new file mode 100644
index 00000000..2e7d20fb
--- /dev/null
+++ b/proto/Unk2700_OFDBHGHAJBD_ServerNotify.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_MIBBHAEMAGI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6223
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OFDBHGHAJBD_ServerNotify {
+ Unk2700_MIBBHAEMAGI Unk2700_JIFAAPCJOHK = 12;
+}
diff --git a/proto/Unk2700_OGHMHELMBNN_ServerRsp.proto b/proto/Unk2700_OGHMHELMBNN_ServerRsp.proto
new file mode 100644
index 00000000..b05dbee6
--- /dev/null
+++ b/proto/Unk2700_OGHMHELMBNN_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 4488
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OGHMHELMBNN_ServerRsp {
+ int32 retcode = 7;
+}
diff --git a/proto/Unk2700_OGKIDNPMMKG.proto b/proto/Unk2700_OGKIDNPMMKG.proto
new file mode 100644
index 00000000..6ef42c44
--- /dev/null
+++ b/proto/Unk2700_OGKIDNPMMKG.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_HGMCNJOPDAA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_OGKIDNPMMKG {
+ Unk2700_HGMCNJOPDAA Unk2700_MINEHKAGOGA = 11;
+ uint32 expire_time = 6;
+ uint64 Unk2700_ONOOJBEABOE = 5;
+}
diff --git a/proto/Unk2700_OHBMICGFIIK.proto b/proto/Unk2700_OHBMICGFIIK.proto
new file mode 100644
index 00000000..b34e8eb5
--- /dev/null
+++ b/proto/Unk2700_OHBMICGFIIK.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_OHBMICGFIIK {
+ uint32 Unk2700_DABMGCIOKCK = 4;
+ uint32 Unk2700_BKJABFANBIM = 12;
+ uint32 Unk2700_PGBNOPOIHIK = 7;
+ uint32 Unk2700_DJNLHEBADGE = 2;
+}
diff --git a/proto/Unk2700_OHDDPIFAPPD.proto b/proto/Unk2700_OHDDPIFAPPD.proto
new file mode 100644
index 00000000..9c719505
--- /dev/null
+++ b/proto/Unk2700_OHDDPIFAPPD.proto
@@ -0,0 +1,32 @@
+// 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";
+
+// CmdId: 8125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OHDDPIFAPPD {
+ bool is_new = 10;
+ uint32 Unk2700_GJOFNJGEDDE = 3;
+ int32 retcode = 4;
+ uint32 Unk2700_BPNCECAFPDK = 6;
+ uint32 quest_id = 15;
+ repeated uint32 affix_list = 2;
+}
diff --git a/proto/Unk2700_OHIKIOLLMHM.proto b/proto/Unk2700_OHIKIOLLMHM.proto
new file mode 100644
index 00000000..34b71bcf
--- /dev/null
+++ b/proto/Unk2700_OHIKIOLLMHM.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_OHIKIOLLMHM {
+ uint32 uid = 5;
+ uint32 schedule_id = 1;
+ map Unk2700_IFCNGIPPOAE = 4;
+}
diff --git a/proto/Unk2700_OHOKEEGPPBG.proto b/proto/Unk2700_OHOKEEGPPBG.proto
new file mode 100644
index 00000000..41194533
--- /dev/null
+++ b/proto/Unk2700_OHOKEEGPPBG.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_OHOKEEGPPBG {
+ repeated ItemParam reward_item_list = 4;
+ uint32 uid = 3;
+}
diff --git a/proto/Unk2700_OJHJBKHIPLA_ClientReq.proto b/proto/Unk2700_OJHJBKHIPLA_ClientReq.proto
new file mode 100644
index 00000000..6518c234
--- /dev/null
+++ b/proto/Unk2700_OJHJBKHIPLA_ClientReq.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 2009
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_OJHJBKHIPLA_ClientReq {
+ uint32 schedule_id = 15;
+ uint32 activity_id = 12;
+}
diff --git a/proto/Unk2700_OJJNGIHDJEH.proto b/proto/Unk2700_OJJNGIHDJEH.proto
new file mode 100644
index 00000000..b3351118
--- /dev/null
+++ b/proto/Unk2700_OJJNGIHDJEH.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_OCDMIOKNHHH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_OJJNGIHDJEH {
+ uint32 Unk2700_OMCCFBBDJMI = 1;
+ uint32 timestamp = 8;
+ Unk2700_OCDMIOKNHHH player_info = 12;
+}
diff --git a/proto/Unk2700_OJLJMJLKNGJ_ClientReq.proto b/proto/Unk2700_OJLJMJLKNGJ_ClientReq.proto
new file mode 100644
index 00000000..e3bca9e8
--- /dev/null
+++ b/proto/Unk2700_OJLJMJLKNGJ_ClientReq.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6203
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_OJLJMJLKNGJ_ClientReq {
+ uint32 room_id = 2;
+}
diff --git a/proto/Unk2700_OKEKCGDGPDA.proto b/proto/Unk2700_OKEKCGDGPDA.proto
new file mode 100644
index 00000000..11c94a25
--- /dev/null
+++ b/proto/Unk2700_OKEKCGDGPDA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8396
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_OKEKCGDGPDA {
+ uint32 gallery_id = 4;
+}
diff --git a/proto/Unk2700_OKNDIGOKMMC.proto b/proto/Unk2700_OKNDIGOKMMC.proto
new file mode 100644
index 00000000..26f57fd8
--- /dev/null
+++ b/proto/Unk2700_OKNDIGOKMMC.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8426
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OKNDIGOKMMC {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2700_OLKJCGDHENH.proto b/proto/Unk2700_OLKJCGDHENH.proto
new file mode 100644
index 00000000..5ed2a206
--- /dev/null
+++ b/proto/Unk2700_OLKJCGDHENH.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8343
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_OLKJCGDHENH {
+ int32 retcode = 8;
+}
diff --git a/proto/Unk2700_ONCHFHBBCBN.proto b/proto/Unk2700_ONCHFHBBCBN.proto
new file mode 100644
index 00000000..54cdd185
--- /dev/null
+++ b/proto/Unk2700_ONCHFHBBCBN.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_OCDMIOKNHHH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_ONCHFHBBCBN {
+ uint32 hit_count = 12;
+ uint32 score = 11;
+ Unk2700_OCDMIOKNHHH player_info = 5;
+ uint32 timestamp = 2;
+}
diff --git a/proto/Unk2700_ONKMCKLJNAL.proto b/proto/Unk2700_ONKMCKLJNAL.proto
new file mode 100644
index 00000000..e9ef4e6d
--- /dev/null
+++ b/proto/Unk2700_ONKMCKLJNAL.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8401
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_ONKMCKLJNAL {
+ uint32 id = 2;
+}
diff --git a/proto/Unk2700_OPEBMJPOOBL.proto b/proto/Unk2700_OPEBMJPOOBL.proto
new file mode 100644
index 00000000..0f19a245
--- /dev/null
+++ b/proto/Unk2700_OPEBMJPOOBL.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_OPEBMJPOOBL {
+ Unk2700_OPEBMJPOOBL_NONE = 0;
+ Unk2700_OPEBMJPOOBL_Unk2700_HONBFAOIDKK = 1;
+}
diff --git a/proto/Unk2700_PBGBOLJMIIB.proto b/proto/Unk2700_PBGBOLJMIIB.proto
new file mode 100644
index 00000000..f22c52a8
--- /dev/null
+++ b/proto/Unk2700_PBGBOLJMIIB.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8924
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PBGBOLJMIIB {
+ uint32 activity_id = 14;
+}
diff --git a/proto/Unk2700_PCBGAIAJPHH.proto b/proto/Unk2700_PCBGAIAJPHH.proto
new file mode 100644
index 00000000..fdab8b4a
--- /dev/null
+++ b/proto/Unk2700_PCBGAIAJPHH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8758
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PCBGAIAJPHH {
+ uint32 level_id = 7;
+}
diff --git a/proto/Unk2700_PDGJFHAGMKD.proto b/proto/Unk2700_PDGJFHAGMKD.proto
new file mode 100644
index 00000000..6e916b9e
--- /dev/null
+++ b/proto/Unk2700_PDGJFHAGMKD.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8447
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PDGJFHAGMKD {
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2700_PDGLEKKMCBD.proto b/proto/Unk2700_PDGLEKKMCBD.proto
new file mode 100644
index 00000000..3d8d01d8
--- /dev/null
+++ b/proto/Unk2700_PDGLEKKMCBD.proto
@@ -0,0 +1,27 @@
+// 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 Unk2700_PDGLEKKMCBD {
+ uint32 Unk2700_PGBNOPOIHIK = 1;
+ uint32 Unk2700_BKJABFANBIM = 2;
+ uint32 Unk2700_DJNLHEBADGE = 3;
+ uint32 Unk2700_DABMGCIOKCK = 4;
+}
diff --git a/proto/Unk2700_PEDJGJMHMHH.proto b/proto/Unk2700_PEDJGJMHMHH.proto
new file mode 100644
index 00000000..83f0eca8
--- /dev/null
+++ b/proto/Unk2700_PEDJGJMHMHH.proto
@@ -0,0 +1,29 @@
+// 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 "Unk2700_EOHBLDIKPME.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_PEDJGJMHMHH {
+ uint32 open_time = 8;
+ uint32 level_id = 15;
+ Unk2700_EOHBLDIKPME Unk2700_EAKNBKIIJHB = 7;
+ Unk2700_EOHBLDIKPME Unk2700_HIHOANFAKEA = 11;
+}
diff --git a/proto/Unk2700_PFFKAEPBEHE_ServerRsp.proto b/proto/Unk2700_PFFKAEPBEHE_ServerRsp.proto
new file mode 100644
index 00000000..0f229884
--- /dev/null
+++ b/proto/Unk2700_PFFKAEPBEHE_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6214
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PFFKAEPBEHE_ServerRsp {
+ int32 retcode = 2;
+}
diff --git a/proto/Unk2700_PFOLNOBIKFB.proto b/proto/Unk2700_PFOLNOBIKFB.proto
new file mode 100644
index 00000000..aae857cb
--- /dev/null
+++ b/proto/Unk2700_PFOLNOBIKFB.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8833
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PFOLNOBIKFB {
+ bool Unk2700_PIDPNNOGBJB = 4;
+ bool Unk2700_DCGOILIDPNK = 3;
+ int32 retcode = 1;
+}
diff --git a/proto/Unk2700_PGFLJBBEBKG.proto b/proto/Unk2700_PGFLJBBEBKG.proto
new file mode 100644
index 00000000..26d19b40
--- /dev/null
+++ b/proto/Unk2700_PGFLJBBEBKG.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_PGFLJBBEBKG {
+ uint64 Unk2700_ONOOJBEABOE = 1;
+ uint32 Unk2700_MKIMFKIGBCL = 2;
+}
diff --git a/proto/Unk2700_PHFADCJDBOF.proto b/proto/Unk2700_PHFADCJDBOF.proto
new file mode 100644
index 00000000..ca2332c6
--- /dev/null
+++ b/proto/Unk2700_PHFADCJDBOF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8559
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PHFADCJDBOF {
+ uint32 schedule_id = 8;
+}
diff --git a/proto/Unk2700_PHGGAEDHLBN.proto b/proto/Unk2700_PHGGAEDHLBN.proto
new file mode 100644
index 00000000..0d953678
--- /dev/null
+++ b/proto/Unk2700_PHGGAEDHLBN.proto
@@ -0,0 +1,30 @@
+// 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 Unk2700_PHGGAEDHLBN {
+ repeated uint32 Unk2700_ANHJAFDEACF = 1;
+ bool Unk2700_IBDCFAMBGOK = 14;
+ uint32 Unk2700_KENGEGJGAEL = 6;
+ uint32 Unk2700_DOIMMBJDALB = 4;
+ bool Unk2700_FKLBCNLBBNM = 3;
+ uint32 Unk2700_IFNFCNNBPIB = 10;
+ uint32 Unk2700_PBBPGFMNMNJ = 9;
+}
diff --git a/proto/Unk2700_PHLEDBIFIFL.proto b/proto/Unk2700_PHLEDBIFIFL.proto
new file mode 100644
index 00000000..e104549b
--- /dev/null
+++ b/proto/Unk2700_PHLEDBIFIFL.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PHLEDBIFIFL {
+ uint32 level_id = 12;
+ uint32 difficulty = 4;
+}
diff --git a/proto/Unk2700_PIAFGFGHGHM.proto b/proto/Unk2700_PIAFGFGHGHM.proto
new file mode 100644
index 00000000..771d1f86
--- /dev/null
+++ b/proto/Unk2700_PIAFGFGHGHM.proto
@@ -0,0 +1,26 @@
+// 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 Unk2700_PIAFGFGHGHM {
+ Unk2700_PIAFGFGHGHM_Unk2700_LKEBMNKGKCP = 0;
+ Unk2700_PIAFGFGHGHM_Unk2700_PJHOMLBMENK = 1;
+ Unk2700_PIAFGFGHGHM_Unk2700_MPGMPAOGMCB = 2;
+}
diff --git a/proto/Unk2700_PIEJLIIGLGM_ServerRsp.proto b/proto/Unk2700_PIEJLIIGLGM_ServerRsp.proto
new file mode 100644
index 00000000..53062c51
--- /dev/null
+++ b/proto/Unk2700_PIEJLIIGLGM_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6237
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PIEJLIIGLGM_ServerRsp {
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2700_PIEJMALFKIF.proto b/proto/Unk2700_PIEJMALFKIF.proto
new file mode 100644
index 00000000..723bbf53
--- /dev/null
+++ b/proto/Unk2700_PIEJMALFKIF.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2700_KHDMDKKDOCD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8531
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PIEJMALFKIF {
+ uint32 stage_id = 13;
+ uint32 Unk2700_FHEHGDABALE = 7;
+ repeated Unk2700_KHDMDKKDOCD dungeon_avatar_list = 6;
+ uint32 level_id = 8;
+ uint32 Unk2700_HKFEBBCMBHL = 5;
+}
diff --git a/proto/Unk2700_PILILDPMNNA.proto b/proto/Unk2700_PILILDPMNNA.proto
new file mode 100644
index 00000000..c8efefc2
--- /dev/null
+++ b/proto/Unk2700_PILILDPMNNA.proto
@@ -0,0 +1,28 @@
+// 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 Unk2700_PILILDPMNNA {
+ uint32 difficulty = 7;
+ repeated uint32 Unk2700_EGBDDLOBCDL = 4;
+ bool Unk2700_MMFHBHNKLDG = 9;
+ uint32 stage_id = 12;
+ uint32 Unk2700_PPEBOKBCPLE = 3;
+}
diff --git a/proto/Unk2700_PJCMAELKFEP.proto b/proto/Unk2700_PJCMAELKFEP.proto
new file mode 100644
index 00000000..cb97c068
--- /dev/null
+++ b/proto/Unk2700_PJCMAELKFEP.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8367
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PJCMAELKFEP {
+ uint32 gallery_id = 13;
+}
diff --git a/proto/Unk2700_PJPMOLPHNEH.proto b/proto/Unk2700_PJPMOLPHNEH.proto
new file mode 100644
index 00000000..2579187d
--- /dev/null
+++ b/proto/Unk2700_PJPMOLPHNEH.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 8895
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PJPMOLPHNEH {
+ uint32 Unk2700_HLHIAHAELDA = 1;
+ bool Unk2700_MMNILGLDHHD = 3;
+ uint32 Unk2700_PPEBOKBCPLE = 2;
+}
diff --git a/proto/Unk2700_PKAPCOBGIJL.proto b/proto/Unk2700_PKAPCOBGIJL.proto
new file mode 100644
index 00000000..9d6e55c9
--- /dev/null
+++ b/proto/Unk2700_PKAPCOBGIJL.proto
@@ -0,0 +1,25 @@
+// 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 Unk2700_PKAPCOBGIJL {
+ uint32 Unk2700_OOJCLILDIHM = 1;
+ uint32 Unk2700_KDNLGNDLDNM = 10;
+}
diff --git a/proto/Unk2700_PKCLMDHHPFI.proto b/proto/Unk2700_PKCLMDHHPFI.proto
new file mode 100644
index 00000000..14c6db24
--- /dev/null
+++ b/proto/Unk2700_PKCLMDHHPFI.proto
@@ -0,0 +1,30 @@
+// 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 "Unk2700_KIGGOKAEFHM.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8423
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PKCLMDHHPFI {
+ repeated Unk2700_KIGGOKAEFHM Unk2700_HHODMCCNGKE = 8;
+ int32 retcode = 6;
+}
diff --git a/proto/Unk2700_PKKJEOFNLCF.proto b/proto/Unk2700_PKKJEOFNLCF.proto
new file mode 100644
index 00000000..97249606
--- /dev/null
+++ b/proto/Unk2700_PKKJEOFNLCF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8983
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PKKJEOFNLCF {
+ int32 retcode = 3;
+ uint32 Unk2700_CKGJEOOKFIF = 8;
+}
diff --git a/proto/Unk2700_PMKNJBJPLBH.proto b/proto/Unk2700_PMKNJBJPLBH.proto
new file mode 100644
index 00000000..cf994378
--- /dev/null
+++ b/proto/Unk2700_PMKNJBJPLBH.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2700_HJLFNKLPFBH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8385
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PMKNJBJPLBH {
+ int32 retcode = 11;
+ repeated Unk2700_HJLFNKLPFBH Unk2700_BBGHICEDLBB = 13;
+ repeated uint32 Unk2700_GGNBBHMGLAN = 12;
+ repeated Unk2700_HJLFNKLPFBH avatar_list = 9;
+}
diff --git a/proto/Unk2700_PPBALCAKIBD.proto b/proto/Unk2700_PPBALCAKIBD.proto
new file mode 100644
index 00000000..5f15d1d5
--- /dev/null
+++ b/proto/Unk2700_PPBALCAKIBD.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8273
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2700_PPBALCAKIBD {}
diff --git a/proto/Unk2700_PPIBANCGGNI.proto b/proto/Unk2700_PPIBANCGGNI.proto
new file mode 100644
index 00000000..c86291f4
--- /dev/null
+++ b/proto/Unk2700_PPIBANCGGNI.proto
@@ -0,0 +1,26 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2700_PPIBANCGGNI {
+ Unk2700_MOFABPNGIKP reason = 7;
+}
diff --git a/proto/Unk2700_PPOGMFAKBMK_ServerRsp.proto b/proto/Unk2700_PPOGMFAKBMK_ServerRsp.proto
new file mode 100644
index 00000000..8992541a
--- /dev/null
+++ b/proto/Unk2700_PPOGMFAKBMK_ServerRsp.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6219
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2700_PPOGMFAKBMK_ServerRsp {
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2800_ACHELBEEBIP.proto b/proto/Unk2800_ACHELBEEBIP.proto
new file mode 100644
index 00000000..5da674d7
--- /dev/null
+++ b/proto/Unk2800_ACHELBEEBIP.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 21800
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_ACHELBEEBIP {
+ int32 retcode = 2;
+ bool is_success = 15;
+ uint32 level_id = 3;
+}
diff --git a/proto/Unk2800_ANGFAFEJBAE.proto b/proto/Unk2800_ANGFAFEJBAE.proto
new file mode 100644
index 00000000..e3bf3fb3
--- /dev/null
+++ b/proto/Unk2800_ANGFAFEJBAE.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 846
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_ANGFAFEJBAE {
+ int32 retcode = 15;
+}
diff --git a/proto/Unk2800_BDAPFODFMNE.proto b/proto/Unk2800_BDAPFODFMNE.proto
new file mode 100644
index 00000000..0c38e10e
--- /dev/null
+++ b/proto/Unk2800_BDAPFODFMNE.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 24550
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_BDAPFODFMNE {}
diff --git a/proto/Unk2800_BEMANDBNPJB.proto b/proto/Unk2800_BEMANDBNPJB.proto
new file mode 100644
index 00000000..a7e02720
--- /dev/null
+++ b/proto/Unk2800_BEMANDBNPJB.proto
@@ -0,0 +1,28 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2800_BEMANDBNPJB {
+ OnlinePlayerInfo player_info = 13;
+ repeated ExhibitionDisplayInfo card_list = 11;
+}
diff --git a/proto/Unk2800_BOFEHJBJELJ.proto b/proto/Unk2800_BOFEHJBJELJ.proto
new file mode 100644
index 00000000..6dd52d66
--- /dev/null
+++ b/proto/Unk2800_BOFEHJBJELJ.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8574
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_BOFEHJBJELJ {
+ int32 retcode = 9;
+}
diff --git a/proto/Unk2800_BPOJIIDEADD.proto b/proto/Unk2800_BPOJIIDEADD.proto
new file mode 100644
index 00000000..11655839
--- /dev/null
+++ b/proto/Unk2800_BPOJIIDEADD.proto
@@ -0,0 +1,29 @@
+// 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 Unk2800_BPOJIIDEADD {
+ uint32 Unk2800_MMPELBBNFOD = 8;
+ uint32 open_time = 11;
+ uint32 Unk2800_MGPEODNKEEC = 5;
+ uint32 level_id = 12;
+ bool is_finished = 9;
+ bool is_open = 3;
+}
diff --git a/proto/Unk2800_CEAECGGBOKL.proto b/proto/Unk2800_CEAECGGBOKL.proto
new file mode 100644
index 00000000..3fcaad9b
--- /dev/null
+++ b/proto/Unk2800_CEAECGGBOKL.proto
@@ -0,0 +1,28 @@
+// 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 Unk2800_CEAECGGBOKL {
+ uint32 Unk2800_KDLIIGEGDDH = 15;
+ uint32 Unk2800_ENMCNIPGGIA = 12;
+ uint32 Unk2800_DEIGAGPAJGK = 14;
+ uint32 dungeon_id = 4;
+ uint32 Unk2800_JKOGDAMMBIN = 13;
+}
diff --git a/proto/Unk2800_CGODFDDALAG.proto b/proto/Unk2800_CGODFDDALAG.proto
new file mode 100644
index 00000000..48e27d97
--- /dev/null
+++ b/proto/Unk2800_CGODFDDALAG.proto
@@ -0,0 +1,27 @@
+// 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 Unk2800_CGODFDDALAG {
+ uint32 stage_id = 10;
+ bool is_open = 3;
+ uint32 open_time = 12;
+ bool Unk2800_GCPNBJIJEDA = 15;
+}
diff --git a/proto/Unk2800_CGPNLBNMPCM.proto b/proto/Unk2800_CGPNLBNMPCM.proto
new file mode 100644
index 00000000..7faf0165
--- /dev/null
+++ b/proto/Unk2800_CGPNLBNMPCM.proto
@@ -0,0 +1,27 @@
+// 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 Unk2800_CGPNLBNMPCM {
+ uint32 open_time = 7;
+ bool is_open = 14;
+ uint32 stage_id = 10;
+ uint32 best_score = 13;
+}
diff --git a/proto/Unk2800_CHEDEMEDPPM.proto b/proto/Unk2800_CHEDEMEDPPM.proto
new file mode 100644
index 00000000..26ad5e6c
--- /dev/null
+++ b/proto/Unk2800_CHEDEMEDPPM.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 5565
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_CHEDEMEDPPM {
+ uint32 point_id = 7;
+ uint32 coin = 15;
+ uint32 Unk2800_EOFOECJJMLJ = 3;
+ uint32 Unk2800_BAEEDEAADIA = 13;
+}
diff --git a/proto/Unk2800_COCHLKHLCPO.proto b/proto/Unk2800_COCHLKHLCPO.proto
new file mode 100644
index 00000000..5d157f8a
--- /dev/null
+++ b/proto/Unk2800_COCHLKHLCPO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 23467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_COCHLKHLCPO {
+ uint32 level_id = 5;
+}
diff --git a/proto/Unk2800_DKDJCLLNGNL.proto b/proto/Unk2800_DKDJCLLNGNL.proto
new file mode 100644
index 00000000..66d3449a
--- /dev/null
+++ b/proto/Unk2800_DKDJCLLNGNL.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 8346
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_DKDJCLLNGNL {}
diff --git a/proto/Unk2800_DNKCFLKHKJG.proto b/proto/Unk2800_DNKCFLKHKJG.proto
new file mode 100644
index 00000000..b0e36224
--- /dev/null
+++ b/proto/Unk2800_DNKCFLKHKJG.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 876
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_DNKCFLKHKJG {
+ uint32 Unk2800_LEHIJIPEONO = 3;
+ uint32 gadget_entity_id = 8;
+}
diff --git a/proto/Unk2800_DPINLADLBFA.proto b/proto/Unk2800_DPINLADLBFA.proto
new file mode 100644
index 00000000..7ff74d55
--- /dev/null
+++ b/proto/Unk2800_DPINLADLBFA.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 1902
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_DPINLADLBFA {}
diff --git a/proto/Unk2800_ECCLDPCADCJ.proto b/proto/Unk2800_ECCLDPCADCJ.proto
new file mode 100644
index 00000000..99b2869d
--- /dev/null
+++ b/proto/Unk2800_ECCLDPCADCJ.proto
@@ -0,0 +1,25 @@
+// 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";
+
+// CmdId: 1921
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_ECCLDPCADCJ {}
diff --git a/proto/Unk2800_EKGCCBDIKFI.proto b/proto/Unk2800_EKGCCBDIKFI.proto
new file mode 100644
index 00000000..e36f71b4
--- /dev/null
+++ b/proto/Unk2800_EKGCCBDIKFI.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21851
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_EKGCCBDIKFI {
+ int32 retcode = 12;
+ bool is_success = 6;
+}
diff --git a/proto/Unk2800_FDLKPKFOIIK.proto b/proto/Unk2800_FDLKPKFOIIK.proto
new file mode 100644
index 00000000..1fe98139
--- /dev/null
+++ b/proto/Unk2800_FDLKPKFOIIK.proto
@@ -0,0 +1,26 @@
+// 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 Unk2800_FDLKPKFOIIK {
+ Unk2800_FDLKPKFOIIK_NONE = 0;
+ Unk2800_FDLKPKFOIIK_START = 1;
+ Unk2800_FDLKPKFOIIK_Unk2800_FDPBDHDHAKO = 2;
+}
diff --git a/proto/Unk2800_FGFMMFAKDEL.proto b/proto/Unk2800_FGFMMFAKDEL.proto
new file mode 100644
index 00000000..1b50ba70
--- /dev/null
+++ b/proto/Unk2800_FGFMMFAKDEL.proto
@@ -0,0 +1,28 @@
+// 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 Unk2800_FGFMMFAKDEL {
+ uint32 Unk2800_HKEDPPELJDD = 7;
+ bool Unk2800_FOGGAIHLNOP = 3;
+ bool Unk2800_NKKMCEKPKLA = 2;
+ uint32 gear_id = 11;
+ uint32 Unk2800_JJFDKELDLEM = 6;
+}
diff --git a/proto/Unk2800_FHCJIICLONO.proto b/proto/Unk2800_FHCJIICLONO.proto
new file mode 100644
index 00000000..34dc318e
--- /dev/null
+++ b/proto/Unk2800_FHCJIICLONO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21025
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_FHCJIICLONO {
+ uint32 level_id = 9;
+ int32 retcode = 2;
+}
diff --git a/proto/Unk2800_FHMOLALLEEN.proto b/proto/Unk2800_FHMOLALLEEN.proto
new file mode 100644
index 00000000..cb5f47b4
--- /dev/null
+++ b/proto/Unk2800_FHMOLALLEEN.proto
@@ -0,0 +1,24 @@
+// 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 Unk2800_FHMOLALLEEN {
+ repeated uint32 argument_list = 1;
+}
diff --git a/proto/Unk2800_FMAOEPEBKHB.proto b/proto/Unk2800_FMAOEPEBKHB.proto
new file mode 100644
index 00000000..3768b91b
--- /dev/null
+++ b/proto/Unk2800_FMAOEPEBKHB.proto
@@ -0,0 +1,26 @@
+// 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 Unk2800_FMAOEPEBKHB {
+ Unk2800_FMAOEPEBKHB_Unk2800_IBMPPHFLKEO = 0;
+ Unk2800_FMAOEPEBKHB_Unk2800_GFHGOAMCAJH = 1;
+ Unk2800_FMAOEPEBKHB_Unk2800_FOBCHIGNEJB = 2;
+}
diff --git a/proto/Unk2800_GDDLBKEENNA.proto b/proto/Unk2800_GDDLBKEENNA.proto
new file mode 100644
index 00000000..fbe082cc
--- /dev/null
+++ b/proto/Unk2800_GDDLBKEENNA.proto
@@ -0,0 +1,35 @@
+// 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 "ExhibitionDisplayInfo.proto";
+import "Unk2700_MOFABPNGIKP.proto";
+import "Unk2800_BEMANDBNPJB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 24601
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_GDDLBKEENNA {
+ bool is_new_record = 13;
+ Unk2700_MOFABPNGIKP reason = 1;
+ repeated Unk2800_BEMANDBNPJB settle_info_list = 8;
+ repeated ExhibitionDisplayInfo score_list = 6;
+ uint32 Unk2700_CDDONJJMFCI = 15;
+}
diff --git a/proto/Unk2800_HHPCNJGKIPP.proto b/proto/Unk2800_HHPCNJGKIPP.proto
new file mode 100644
index 00000000..d1244f2a
--- /dev/null
+++ b/proto/Unk2800_HHPCNJGKIPP.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 23388
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_HHPCNJGKIPP {
+ int32 retcode = 6;
+}
diff --git a/proto/Unk2800_HKBAEOMCFOD.proto b/proto/Unk2800_HKBAEOMCFOD.proto
new file mode 100644
index 00000000..9e553c11
--- /dev/null
+++ b/proto/Unk2800_HKBAEOMCFOD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 145
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_HKBAEOMCFOD {
+ uint32 giving_id = 10;
+ int32 retcode = 6;
+}
diff --git a/proto/Unk2800_IBDOMAIDPGK.proto b/proto/Unk2800_IBDOMAIDPGK.proto
new file mode 100644
index 00000000..1922176d
--- /dev/null
+++ b/proto/Unk2800_IBDOMAIDPGK.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2800_FMAOEPEBKHB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5594
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_IBDOMAIDPGK {
+ Unk2800_FMAOEPEBKHB Unk2800_ENJGEFBCLOL = 11;
+ uint32 end_time = 12;
+ bool Unk2800_OCCCDEMDONA = 7;
+ uint32 gallery_id = 14;
+}
diff --git a/proto/Unk2800_IECLGDFOMFJ.proto b/proto/Unk2800_IECLGDFOMFJ.proto
new file mode 100644
index 00000000..47ab15db
--- /dev/null
+++ b/proto/Unk2800_IECLGDFOMFJ.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2800_PHPHMILPOLC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8513
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_IECLGDFOMFJ {
+ uint32 schedule_id = 14;
+ repeated Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 3;
+ uint32 activity_id = 10;
+}
diff --git a/proto/Unk2800_IGKGDAGGCEC.proto b/proto/Unk2800_IGKGDAGGCEC.proto
new file mode 100644
index 00000000..8d2c89a6
--- /dev/null
+++ b/proto/Unk2800_IGKGDAGGCEC.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 1684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_IGKGDAGGCEC {
+ uint64 cur_avatar_guid = 8;
+ repeated uint64 avatar_team_guid_list = 3;
+}
diff --git a/proto/Unk2800_IILBEPIEBJO.proto b/proto/Unk2800_IILBEPIEBJO.proto
new file mode 100644
index 00000000..4fa468e9
--- /dev/null
+++ b/proto/Unk2800_IILBEPIEBJO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8476
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_IILBEPIEBJO {
+ uint32 gallery_id = 5;
+}
diff --git a/proto/Unk2800_ILKIAECAAKG.proto b/proto/Unk2800_ILKIAECAAKG.proto
new file mode 100644
index 00000000..5d50d3aa
--- /dev/null
+++ b/proto/Unk2800_ILKIAECAAKG.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3004
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_ILKIAECAAKG {
+ uint32 reminder_id = 15;
+}
diff --git a/proto/Unk2800_IMLDGLIMODE.proto b/proto/Unk2800_IMLDGLIMODE.proto
new file mode 100644
index 00000000..5be691f2
--- /dev/null
+++ b/proto/Unk2800_IMLDGLIMODE.proto
@@ -0,0 +1,26 @@
+// 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 Unk2800_IMLDGLIMODE {
+ Unk2800_IMLDGLIMODE_NONE = 0;
+ Unk2800_IMLDGLIMODE_Unk2800_FIPMFJALDJM = 1;
+ Unk2800_IMLDGLIMODE_Unk2800_OFNLGLLMMED = 2;
+}
diff --git a/proto/Unk2800_IOBHBFFAONO.proto b/proto/Unk2800_IOBHBFFAONO.proto
new file mode 100644
index 00000000..9f16eb6c
--- /dev/null
+++ b/proto/Unk2800_IOBHBFFAONO.proto
@@ -0,0 +1,31 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2800_IOBHBFFAONO {
+ uint32 param1 = 7;
+ uint32 param2 = 2;
+ Unk2700_MOFABPNGIKP reason = 3;
+ uint32 param3 = 6;
+ uint32 Unk2800_NGGPIECNHJA = 12;
+ uint32 gallery_id = 1;
+}
diff --git a/proto/Unk2800_JBEDBFJFEIH.proto b/proto/Unk2800_JBEDBFJFEIH.proto
new file mode 100644
index 00000000..930b8323
--- /dev/null
+++ b/proto/Unk2800_JBEDBFJFEIH.proto
@@ -0,0 +1,25 @@
+// 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 Unk2800_JBEDBFJFEIH {
+ uint32 equip_type = 9;
+ uint32 element_type = 12;
+}
diff --git a/proto/Unk2800_JCPNICABMAF.proto b/proto/Unk2800_JCPNICABMAF.proto
new file mode 100644
index 00000000..e5c8616c
--- /dev/null
+++ b/proto/Unk2800_JCPNICABMAF.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2800_IMLDGLIMODE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5504
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_JCPNICABMAF {
+ uint32 coin = 10;
+ Unk2800_IMLDGLIMODE stage = 8;
+ uint32 kill_monster_count = 4;
+ uint32 progress = 15;
+}
diff --git a/proto/Unk2800_JIPMJPAKIKE.proto b/proto/Unk2800_JIPMJPAKIKE.proto
new file mode 100644
index 00000000..4c7c21c4
--- /dev/null
+++ b/proto/Unk2800_JIPMJPAKIKE.proto
@@ -0,0 +1,27 @@
+// 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 Unk2800_JIPMJPAKIKE {
+ bool is_finished = 7;
+ uint32 Unk2800_MMPELBBNFOD = 10;
+ bool is_open = 5;
+ uint32 Unk2800_MGPEODNKEEC = 6;
+}
diff --git a/proto/Unk2800_JKLFAJKDLDG.proto b/proto/Unk2800_JKLFAJKDLDG.proto
new file mode 100644
index 00000000..7f198187
--- /dev/null
+++ b/proto/Unk2800_JKLFAJKDLDG.proto
@@ -0,0 +1,25 @@
+// 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 Unk2800_JKLFAJKDLDG {
+ uint32 quest_id = 13;
+ uint32 point_id = 6;
+}
diff --git a/proto/Unk2800_KFNCDHFHJPD.proto b/proto/Unk2800_KFNCDHFHJPD.proto
new file mode 100644
index 00000000..afd1cdf1
--- /dev/null
+++ b/proto/Unk2800_KFNCDHFHJPD.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 8996
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_KFNCDHFHJPD {
+ int32 retcode = 3;
+}
diff --git a/proto/Unk2800_KHLHFFHGEHA.proto b/proto/Unk2800_KHLHFFHGEHA.proto
new file mode 100644
index 00000000..e58baacc
--- /dev/null
+++ b/proto/Unk2800_KHLHFFHGEHA.proto
@@ -0,0 +1,33 @@
+// 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 "Unk2800_FGFMMFAKDEL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 21834
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_KHLHFFHGEHA {
+ bool is_success = 4;
+ bool Unk2800_ICNCEKIJNJA = 12;
+ repeated Unk2800_FGFMMFAKDEL Unk2800_EGJDBBGNMFI = 9;
+ uint32 level_id = 5;
+}
diff --git a/proto/Unk2800_KILFIICJLEE.proto b/proto/Unk2800_KILFIICJLEE.proto
new file mode 100644
index 00000000..f3c5c559
--- /dev/null
+++ b/proto/Unk2800_KILFIICJLEE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 5593
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_KILFIICJLEE {
+ uint32 gallery_id = 15;
+}
diff --git a/proto/Unk2800_KJEOLFNEOPF.proto b/proto/Unk2800_KJEOLFNEOPF.proto
new file mode 100644
index 00000000..dfe4b1cd
--- /dev/null
+++ b/proto/Unk2800_KJEOLFNEOPF.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 1768
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_KJEOLFNEOPF {
+ repeated uint64 avatar_team_guid_list = 14;
+ int32 retcode = 7;
+ uint64 cur_avatar_guid = 15;
+}
diff --git a/proto/Unk2800_KOMBBIEEGCP.proto b/proto/Unk2800_KOMBBIEEGCP.proto
new file mode 100644
index 00000000..b4487a7a
--- /dev/null
+++ b/proto/Unk2800_KOMBBIEEGCP.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 5522
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_KOMBBIEEGCP {
+ uint32 gallery_id = 2;
+ uint32 coin = 9;
+ uint32 Unk2800_LBPCDCHOOLJ = 11;
+}
diff --git a/proto/Unk2800_KPJKAJLNAED.proto b/proto/Unk2800_KPJKAJLNAED.proto
new file mode 100644
index 00000000..d3dfeb82
--- /dev/null
+++ b/proto/Unk2800_KPJKAJLNAED.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 874
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_KPJKAJLNAED {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk2800_LGIKLPBOJOI.proto b/proto/Unk2800_LGIKLPBOJOI.proto
new file mode 100644
index 00000000..4fb4fdc9
--- /dev/null
+++ b/proto/Unk2800_LGIKLPBOJOI.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 8145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_LGIKLPBOJOI {
+ repeated uint32 Unk2800_AEKPBKAAHFL = 14;
+ uint32 activity_id = 7;
+}
diff --git a/proto/Unk2800_LIBCDGDJMDF.proto b/proto/Unk2800_LIBCDGDJMDF.proto
new file mode 100644
index 00000000..8edcf668
--- /dev/null
+++ b/proto/Unk2800_LIBCDGDJMDF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 5527
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_LIBCDGDJMDF {
+ uint32 gallery_id = 9;
+ int32 retcode = 5;
+}
diff --git a/proto/Unk2800_MBKLJLMLIKF.proto b/proto/Unk2800_MBKLJLMLIKF.proto
new file mode 100644
index 00000000..dbe5ce7b
--- /dev/null
+++ b/proto/Unk2800_MBKLJLMLIKF.proto
@@ -0,0 +1,26 @@
+// 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 Unk2800_MBKLJLMLIKF {
+ uint32 stage_id = 13;
+ bool is_open = 14;
+ uint32 best_score = 4;
+}
diff --git a/proto/Unk2800_MHCFAGCKGIB.proto b/proto/Unk2800_MHCFAGCKGIB.proto
new file mode 100644
index 00000000..7eba55e9
--- /dev/null
+++ b/proto/Unk2800_MHCFAGCKGIB.proto
@@ -0,0 +1,29 @@
+// 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 "DungeonEntryInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2800_MHCFAGCKGIB {
+ uint32 scene_id = 12;
+ uint32 point_id = 6;
+ repeated DungeonEntryInfo dungeon_entry_list = 1;
+ uint32 recommend_dungeon_id = 8;
+}
diff --git a/proto/Unk2800_MNBDNGKGDGF.proto b/proto/Unk2800_MNBDNGKGDGF.proto
new file mode 100644
index 00000000..c5a7f593
--- /dev/null
+++ b/proto/Unk2800_MNBDNGKGDGF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 8004
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_MNBDNGKGDGF {
+ uint32 gallery_id = 13;
+ int32 retcode = 8;
+}
diff --git a/proto/Unk2800_NHEOHBNFHJD.proto b/proto/Unk2800_NHEOHBNFHJD.proto
new file mode 100644
index 00000000..fccb2211
--- /dev/null
+++ b/proto/Unk2800_NHEOHBNFHJD.proto
@@ -0,0 +1,32 @@
+// 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 "Unk2800_IOBHBFFAONO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 8870
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk2800_NHEOHBNFHJD {
+ Unk2800_IOBHBFFAONO settle_info = 11;
+ uint32 stage_id = 7;
+ bool is_new_record = 2;
+ uint32 gallery_id = 1;
+}
diff --git a/proto/Unk2800_OCOMLNLPLGA.proto b/proto/Unk2800_OCOMLNLPLGA.proto
new file mode 100644
index 00000000..afc2df0a
--- /dev/null
+++ b/proto/Unk2800_OCOMLNLPLGA.proto
@@ -0,0 +1,28 @@
+// 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 "Unk2700_GBBDJMDIDEI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2800_OCOMLNLPLGA {
+ uint32 element_type = 11;
+ repeated Unk2700_GBBDJMDIDEI Unk2700_DMDHDIHGPFA = 5;
+ uint32 equip_type = 15;
+}
diff --git a/proto/Unk2800_OFIHDGFMDGB.proto b/proto/Unk2800_OFIHDGFMDGB.proto
new file mode 100644
index 00000000..15f4e372
--- /dev/null
+++ b/proto/Unk2800_OFIHDGFMDGB.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 171
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_OFIHDGFMDGB {
+ uint32 giving_id = 4;
+}
diff --git a/proto/Unk2800_OMGNOBICOCD.proto b/proto/Unk2800_OMGNOBICOCD.proto
new file mode 100644
index 00000000..b12e9f1c
--- /dev/null
+++ b/proto/Unk2800_OMGNOBICOCD.proto
@@ -0,0 +1,32 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 843
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_OMGNOBICOCD {
+ uint32 Unk2800_DPEOIJKEAPB = 14;
+ CustomGadgetTreeInfo Unk2700_OCIHJFOKHPK = 11;
+ uint32 gadget_entity_id = 10;
+}
diff --git a/proto/Unk2800_OOKIPFHPJMG.proto b/proto/Unk2800_OOKIPFHPJMG.proto
new file mode 100644
index 00000000..e949413f
--- /dev/null
+++ b/proto/Unk2800_OOKIPFHPJMG.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk2800_OOKIPFHPJMG {
+ bool is_success = 8;
+}
diff --git a/proto/Unk2800_PHPHMILPOLC.proto b/proto/Unk2800_PHPHMILPOLC.proto
new file mode 100644
index 00000000..545747c0
--- /dev/null
+++ b/proto/Unk2800_PHPHMILPOLC.proto
@@ -0,0 +1,27 @@
+// 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 "Unk2800_FDLKPKFOIIK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk2800_PHPHMILPOLC {
+ Unk2800_FDLKPKFOIIK state = 10;
+ uint32 Unk2800_CLOCMPFBGMD = 4;
+}
diff --git a/proto/Unk3000_ACNMEFGKHKO.proto b/proto/Unk3000_ACNMEFGKHKO.proto
new file mode 100644
index 00000000..50b45f1a
--- /dev/null
+++ b/proto/Unk3000_ACNMEFGKHKO.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 4622
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_ACNMEFGKHKO {
+ int32 retcode = 13;
+ uint32 Unk3000_LOFNFMJFGNB = 1;
+ uint32 Unk3000_DEDHCIKCAGH = 3;
+ uint32 Unk3000_HCAJDIBHKDG = 2;
+}
diff --git a/proto/Unk3000_AFMFIPPDAJE.proto b/proto/Unk3000_AFMFIPPDAJE.proto
new file mode 100644
index 00000000..952f1f61
--- /dev/null
+++ b/proto/Unk3000_AFMFIPPDAJE.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 4576
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_AFMFIPPDAJE {
+ map Unk3000_OBLCKELHBGH = 3;
+ uint32 Unk3000_LOFNFMJFGNB = 12;
+}
diff --git a/proto/Unk3000_AGDEGMCKIAF.proto b/proto/Unk3000_AGDEGMCKIAF.proto
new file mode 100644
index 00000000..b86e2d83
--- /dev/null
+++ b/proto/Unk3000_AGDEGMCKIAF.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 20702
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_AGDEGMCKIAF {
+ int32 retcode = 5;
+}
diff --git a/proto/Unk3000_AHNHHIOAHBC.proto b/proto/Unk3000_AHNHHIOAHBC.proto
new file mode 100644
index 00000000..ae7db209
--- /dev/null
+++ b/proto/Unk3000_AHNHHIOAHBC.proto
@@ -0,0 +1,27 @@
+// 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 Unk3000_AHNHHIOAHBC {
+ Unk3000_AHNHHIOAHBC_NONE = 0;
+ Unk3000_AHNHHIOAHBC_Unk3000_IKCFCMNEEAO = 1;
+ Unk3000_AHNHHIOAHBC_Unk3000_BCPDDCDJHHA = 2;
+ Unk3000_AHNHHIOAHBC_FINISHED = 3;
+}
diff --git a/proto/Unk3000_ALPEACOMIPG.proto b/proto/Unk3000_ALPEACOMIPG.proto
new file mode 100644
index 00000000..0f012e1f
--- /dev/null
+++ b/proto/Unk3000_ALPEACOMIPG.proto
@@ -0,0 +1,28 @@
+// 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 "Unk3000_ECGHJKANPJK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_ALPEACOMIPG {
+ repeated Unk3000_ECGHJKANPJK Unk2700_PHKHIPLDOOA = 10;
+ uint32 Unk3000_FJENMMCFMGD = 7;
+ repeated uint32 Unk3000_HKABHFLDNKF = 6;
+}
diff --git a/proto/Unk3000_AMGHKNBNNPD.proto b/proto/Unk3000_AMGHKNBNNPD.proto
new file mode 100644
index 00000000..bb075062
--- /dev/null
+++ b/proto/Unk3000_AMGHKNBNNPD.proto
@@ -0,0 +1,34 @@
+// 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 Unk3000_AMGHKNBNNPD {
+ float Unk3000_OFFBBHIKDIN = 1;
+ repeated uint32 animator_state_id_list = 2;
+ uint32 entity_id = 3;
+ bool need_set_is_in_air = 13;
+ float speed = 12;
+ float Unk3000_PJPFIPOLNAH = 8;
+ bool check_animator_state_on_exit_only = 11;
+ string override_collider = 14;
+ Vector target_pos = 10;
+}
diff --git a/proto/Unk3000_BGPMEPKCLPA.proto b/proto/Unk3000_BGPMEPKCLPA.proto
new file mode 100644
index 00000000..c1a84585
--- /dev/null
+++ b/proto/Unk3000_BGPMEPKCLPA.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3000_CMEPCFFDIGL.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_BGPMEPKCLPA {
+ repeated Unk3000_CMEPCFFDIGL Unk3000_MKIJEIKFIJP = 3;
+}
diff --git a/proto/Unk3000_BMLKKNEINNF.proto b/proto/Unk3000_BMLKKNEINNF.proto
new file mode 100644
index 00000000..3deb3a2b
--- /dev/null
+++ b/proto/Unk3000_BMLKKNEINNF.proto
@@ -0,0 +1,34 @@
+// 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 "MailData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 1481
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_BMLKKNEINNF {
+ string Unk3000_HJKCLHGMBFC = 9;
+ repeated MailData mail_list = 5;
+ uint32 Unk3000_OJIKNBEGAKL = 11;
+ uint32 Unk3000_DKLGOIEPECB = 4;
+ bool Unk2700_OPEHLDAGICF = 7;
+ int32 retcode = 14;
+}
diff --git a/proto/Unk3000_BOBIJEDOFKG.proto b/proto/Unk3000_BOBIJEDOFKG.proto
new file mode 100644
index 00000000..f0ed9266
--- /dev/null
+++ b/proto/Unk3000_BOBIJEDOFKG.proto
@@ -0,0 +1,25 @@
+// 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 Unk3000_BOBIJEDOFKG {
+ bool is_open = 9;
+ uint32 id = 14;
+}
diff --git a/proto/Unk3000_CMEPCFFDIGL.proto b/proto/Unk3000_CMEPCFFDIGL.proto
new file mode 100644
index 00000000..0b73679c
--- /dev/null
+++ b/proto/Unk3000_CMEPCFFDIGL.proto
@@ -0,0 +1,27 @@
+// 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 "Unk3000_GDKMIBFADKD.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_CMEPCFFDIGL {
+ int32 level = 10;
+ repeated Unk3000_GDKMIBFADKD Unk3000_MKIJEIKFIJP = 6;
+}
diff --git a/proto/Unk3000_CMKEPEDFOKE.proto b/proto/Unk3000_CMKEPEDFOKE.proto
new file mode 100644
index 00000000..5aa93c8c
--- /dev/null
+++ b/proto/Unk3000_CMKEPEDFOKE.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 22391
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_CMKEPEDFOKE {}
diff --git a/proto/Unk3000_CNDHIGKNELM.proto b/proto/Unk3000_CNDHIGKNELM.proto
new file mode 100644
index 00000000..591f87e4
--- /dev/null
+++ b/proto/Unk3000_CNDHIGKNELM.proto
@@ -0,0 +1,31 @@
+// 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 "Unk3000_BGPMEPKCLPA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6173
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_CNDHIGKNELM {
+ int32 query_id = 3;
+ int32 retcode = 14;
+ Unk3000_BGPMEPKCLPA Unk3000_ADJJOGDKIKL = 8;
+}
diff --git a/proto/Unk3000_CPCMICDDBCH.proto b/proto/Unk3000_CPCMICDDBCH.proto
new file mode 100644
index 00000000..85ebd8b7
--- /dev/null
+++ b/proto/Unk3000_CPCMICDDBCH.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 20011
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_CPCMICDDBCH {
+ uint32 Unk3000_MKFIPLFHJNE = 10;
+ uint32 level_id = 15;
+}
diff --git a/proto/Unk3000_DCAHJINNNDM.proto b/proto/Unk3000_DCAHJINNNDM.proto
new file mode 100644
index 00000000..b52b2379
--- /dev/null
+++ b/proto/Unk3000_DCAHJINNNDM.proto
@@ -0,0 +1,31 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 23107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_DCAHJINNNDM {
+ uint32 entity_id = 2;
+ CustomGadgetTreeInfo Unk2700_OCIHJFOKHPK = 11;
+}
diff --git a/proto/Unk3000_DCHMAMFIFOF.proto b/proto/Unk3000_DCHMAMFIFOF.proto
new file mode 100644
index 00000000..cfc31210
--- /dev/null
+++ b/proto/Unk3000_DCHMAMFIFOF.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_DCHMAMFIFOF {
+ uint32 Unk3000_PAFIGDFHGNA = 1;
+ uint32 finish_time = 4;
+ uint32 param = 14;
+}
diff --git a/proto/Unk3000_DCLAGIJJEHB.proto b/proto/Unk3000_DCLAGIJJEHB.proto
new file mode 100644
index 00000000..177be344
--- /dev/null
+++ b/proto/Unk3000_DCLAGIJJEHB.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3000_ENLDIHLGNCK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 402
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_DCLAGIJJEHB {
+ uint32 parent_quest_id = 2;
+ repeated Unk3000_ENLDIHLGNCK Unk3000_HLPGILIGGCB = 1;
+}
diff --git a/proto/Unk3000_DFIIBIGPHGE.proto b/proto/Unk3000_DFIIBIGPHGE.proto
new file mode 100644
index 00000000..b2b736c7
--- /dev/null
+++ b/proto/Unk3000_DFIIBIGPHGE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 1731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_DFIIBIGPHGE {
+ uint32 Unk3000_GCAJHPHIEAA = 4;
+}
diff --git a/proto/Unk3000_DHEOMDCCMMC.proto b/proto/Unk3000_DHEOMDCCMMC.proto
new file mode 100644
index 00000000..5f6b6453
--- /dev/null
+++ b/proto/Unk3000_DHEOMDCCMMC.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 429
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_DHEOMDCCMMC {
+ uint32 Unk3000_CCNCELKPPFN = 7;
+ uint32 Unk3000_CIOLEGEHDAC = 11;
+ uint32 Unk3000_OIIEJOKFHPP = 2;
+}
diff --git a/proto/Unk3000_DHOFMKPKFMF.proto b/proto/Unk3000_DHOFMKPKFMF.proto
new file mode 100644
index 00000000..03b5e1d8
--- /dev/null
+++ b/proto/Unk3000_DHOFMKPKFMF.proto
@@ -0,0 +1,31 @@
+// 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 "AvatarTeam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 1749
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_DHOFMKPKFMF {
+ repeated uint64 temp_avatar_guid_list = 6;
+ map avatar_team_map = 3;
+ repeated uint32 Unk3000_NIGPICLBHMA = 1;
+}
diff --git a/proto/Unk3000_DJNBNBMIECP.proto b/proto/Unk3000_DJNBNBMIECP.proto
new file mode 100644
index 00000000..601b647a
--- /dev/null
+++ b/proto/Unk3000_DJNBNBMIECP.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 5588
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_DJNBNBMIECP {
+ uint32 score = 3;
+}
diff --git a/proto/Unk3000_DLCDJPKNGBD.proto b/proto/Unk3000_DLCDJPKNGBD.proto
new file mode 100644
index 00000000..27fc37d5
--- /dev/null
+++ b/proto/Unk3000_DLCDJPKNGBD.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 185
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_DLCDJPKNGBD {
+ bool Unk3000_FGIJKFANKEI = 8;
+ uint32 Unk3000_LHIINBOCMFN = 14;
+ uint32 Unk3000_HMLGHBEKCOF = 9;
+ uint32 Unk3000_EMJDLANPPNF = 1;
+}
diff --git a/proto/Unk3000_DPEJONKFONL.proto b/proto/Unk3000_DPEJONKFONL.proto
new file mode 100644
index 00000000..b75a9450
--- /dev/null
+++ b/proto/Unk3000_DPEJONKFONL.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 21750
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_DPEJONKFONL {
+ uint32 param = 1;
+ uint32 Unk3000_PAFIGDFHGNA = 4;
+}
diff --git a/proto/Unk3000_EBNMMLENEII.proto b/proto/Unk3000_EBNMMLENEII.proto
new file mode 100644
index 00000000..ae42a7c1
--- /dev/null
+++ b/proto/Unk3000_EBNMMLENEII.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3000_JACOCADDNFE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 24857
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_EBNMMLENEII {
+ repeated Unk3000_JACOCADDNFE avatar_info_list = 13;
+}
diff --git a/proto/Unk3000_ECGHJKANPJK.proto b/proto/Unk3000_ECGHJKANPJK.proto
new file mode 100644
index 00000000..0ad25f63
--- /dev/null
+++ b/proto/Unk3000_ECGHJKANPJK.proto
@@ -0,0 +1,25 @@
+// 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 Unk3000_ECGHJKANPJK {
+ uint32 stage_id = 9;
+ bool is_open = 1;
+}
diff --git a/proto/Unk3000_EDGJEBLODLF.proto b/proto/Unk3000_EDGJEBLODLF.proto
new file mode 100644
index 00000000..d30633c4
--- /dev/null
+++ b/proto/Unk3000_EDGJEBLODLF.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 416
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_EDGJEBLODLF {
+ uint32 Unk3000_CFDMLGKNLKL = 2;
+ uint32 Unk3000_CIOLEGEHDAC = 13;
+ uint32 Unk3000_FDGFAHAOEPP = 5;
+ int32 retcode = 8;
+}
diff --git a/proto/Unk3000_EHJALCDEBKK.proto b/proto/Unk3000_EHJALCDEBKK.proto
new file mode 100644
index 00000000..c341d56b
--- /dev/null
+++ b/proto/Unk3000_EHJALCDEBKK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 23381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_EHJALCDEBKK {
+ uint32 level_id = 11;
+ int32 retcode = 9;
+}
diff --git a/proto/Unk3000_EMGMOECAJDK.proto b/proto/Unk3000_EMGMOECAJDK.proto
new file mode 100644
index 00000000..cc635c6b
--- /dev/null
+++ b/proto/Unk3000_EMGMOECAJDK.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6092
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_EMGMOECAJDK {
+ repeated uint32 Unk3000_CNNFGFBBBFP = 3;
+}
diff --git a/proto/Unk3000_EMMKKLIECLB.proto b/proto/Unk3000_EMMKKLIECLB.proto
new file mode 100644
index 00000000..203cee67
--- /dev/null
+++ b/proto/Unk3000_EMMKKLIECLB.proto
@@ -0,0 +1,27 @@
+// 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 Unk3000_EMMKKLIECLB {
+ Vector tree_pos = 12;
+ uint32 tree_type = 8;
+}
diff --git a/proto/Unk3000_ENLDIHLGNCK.proto b/proto/Unk3000_ENLDIHLGNCK.proto
new file mode 100644
index 00000000..dab2da8a
--- /dev/null
+++ b/proto/Unk3000_ENLDIHLGNCK.proto
@@ -0,0 +1,27 @@
+// 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 "Unk3000_GDDGGJIFNCH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_ENLDIHLGNCK {
+ uint32 Unk3000_CIOLEGEHDAC = 3;
+ repeated Unk3000_GDDGGJIFNCH Unk3000_NLFPKDOBNCD = 15;
+}
diff --git a/proto/Unk3000_EOLNDBMGCBP.proto b/proto/Unk3000_EOLNDBMGCBP.proto
new file mode 100644
index 00000000..6d0ce396
--- /dev/null
+++ b/proto/Unk3000_EOLNDBMGCBP.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 4473
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_EOLNDBMGCBP {}
diff --git a/proto/Unk3000_EPHGPACBEHL.proto b/proto/Unk3000_EPHGPACBEHL.proto
new file mode 100644
index 00000000..08de5c4b
--- /dev/null
+++ b/proto/Unk3000_EPHGPACBEHL.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 1497
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_EPHGPACBEHL {
+ bool Unk2700_OPEHLDAGICF = 13;
+}
diff --git a/proto/Unk3000_FAPNAHAEPBF.proto b/proto/Unk3000_FAPNAHAEPBF.proto
new file mode 100644
index 00000000..103da3fb
--- /dev/null
+++ b/proto/Unk3000_FAPNAHAEPBF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21880
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_FAPNAHAEPBF {
+ int32 retcode = 8;
+ uint32 gallery_id = 6;
+}
diff --git a/proto/Unk3000_FENDDMMFAME.proto b/proto/Unk3000_FENDDMMFAME.proto
new file mode 100644
index 00000000..aad4bbf2
--- /dev/null
+++ b/proto/Unk3000_FENDDMMFAME.proto
@@ -0,0 +1,27 @@
+// 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 Unk3000_FENDDMMFAME {
+ bool is_open = 15;
+ uint32 level_id = 10;
+ uint32 stage_id = 9;
+ bool is_finished = 3;
+}
diff --git a/proto/Unk3000_FFOBEKMOHOI.proto b/proto/Unk3000_FFOBEKMOHOI.proto
new file mode 100644
index 00000000..5d62bec5
--- /dev/null
+++ b/proto/Unk3000_FFOBEKMOHOI.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3000_FENDDMMFAME.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_FFOBEKMOHOI {
+ repeated Unk3000_FENDDMMFAME Unk2700_PHKHIPLDOOA = 5;
+}
diff --git a/proto/Unk3000_FIPHHGCJIMO.proto b/proto/Unk3000_FIPHHGCJIMO.proto
new file mode 100644
index 00000000..4a00e482
--- /dev/null
+++ b/proto/Unk3000_FIPHHGCJIMO.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3000_JACOCADDNFE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 23678
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_FIPHHGCJIMO {
+ repeated Unk3000_JACOCADDNFE avatar_info_list = 6;
+}
diff --git a/proto/Unk3000_FLOEPMMABMH.proto b/proto/Unk3000_FLOEPMMABMH.proto
new file mode 100644
index 00000000..47bf5452
--- /dev/null
+++ b/proto/Unk3000_FLOEPMMABMH.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_FLOEPMMABMH {
+ uint32 level_id = 13;
+ uint32 max_score = 14;
+ bool is_open = 1;
+}
diff --git a/proto/Unk3000_FPDBJJJLKEP.proto b/proto/Unk3000_FPDBJJJLKEP.proto
new file mode 100644
index 00000000..4e64bd9c
--- /dev/null
+++ b/proto/Unk3000_FPDBJJJLKEP.proto
@@ -0,0 +1,31 @@
+// 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 "Unk3000_BGPMEPKCLPA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6103
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_FPDBJJJLKEP {
+ Unk3000_BGPMEPKCLPA Unk3000_ADJJOGDKIKL = 2;
+ int32 query_id = 13;
+ int32 retcode = 11;
+}
diff --git a/proto/Unk3000_GCBMILHPIKA.proto b/proto/Unk3000_GCBMILHPIKA.proto
new file mode 100644
index 00000000..9107f020
--- /dev/null
+++ b/proto/Unk3000_GCBMILHPIKA.proto
@@ -0,0 +1,35 @@
+// 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";
+
+// CmdId: 4659
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_GCBMILHPIKA {
+ int32 retcode = 10;
+ repeated Unk3000_PPGINNAFPIF Unk3000_EBIEGNHLMFP = 5;
+
+ message Unk3000_PPGINNAFPIF {
+ uint32 Unk3000_CLMLONOEHLB = 7;
+ uint32 Unk3000_HCAJDIBHKDG = 12;
+ uint32 next_refresh_time = 14;
+ uint32 Unk3000_LOFNFMJFGNB = 2;
+ }
+}
diff --git a/proto/Unk3000_GDDGGJIFNCH.proto b/proto/Unk3000_GDDGGJIFNCH.proto
new file mode 100644
index 00000000..a1009fb4
--- /dev/null
+++ b/proto/Unk3000_GDDGGJIFNCH.proto
@@ -0,0 +1,28 @@
+// 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 Unk3000_GDDGGJIFNCH {
+ uint32 Unk3000_CFDMLGKNLKL = 8;
+ bool Unk3000_HONINDEHLNO = 15;
+ bool Unk3000_FIMENALCAKG = 10;
+ bool Unk3000_BJGNKDEGLGC = 6;
+ uint32 Unk3000_HPHLGFDHBON = 5;
+}
diff --git a/proto/Unk3000_GDKMIBFADKD.proto b/proto/Unk3000_GDKMIBFADKD.proto
new file mode 100644
index 00000000..33701303
--- /dev/null
+++ b/proto/Unk3000_GDKMIBFADKD.proto
@@ -0,0 +1,28 @@
+// 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 Unk3000_GDKMIBFADKD {
+ int64 index = 8;
+ int32 area = 5;
+ Vector Unk3000_AOEGLPPFIFD = 1;
+}
diff --git a/proto/Unk3000_GDMEIKLAMIB.proto b/proto/Unk3000_GDMEIKLAMIB.proto
new file mode 100644
index 00000000..786edbeb
--- /dev/null
+++ b/proto/Unk3000_GDMEIKLAMIB.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 3295
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_GDMEIKLAMIB {
+ uint32 group_id = 6;
+ uint32 scene_id = 9;
+ uint32 config_id = 12;
+}
diff --git a/proto/Unk3000_GMLAHHCDKOI.proto b/proto/Unk3000_GMLAHHCDKOI.proto
new file mode 100644
index 00000000..5f18347e
--- /dev/null
+++ b/proto/Unk3000_GMLAHHCDKOI.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3000_LLBHCMKJJHB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 841
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_GMLAHHCDKOI {
+ repeated Unk3000_LLBHCMKJJHB Unk3000_LHBOCEKGGIF = 14;
+}
diff --git a/proto/Unk3000_GNLFOLGMEPN.proto b/proto/Unk3000_GNLFOLGMEPN.proto
new file mode 100644
index 00000000..6aebe7e7
--- /dev/null
+++ b/proto/Unk3000_GNLFOLGMEPN.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 21208
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_GNLFOLGMEPN {
+ int32 retcode = 5;
+}
diff --git a/proto/Unk3000_HBIPKOBMGGD.proto b/proto/Unk3000_HBIPKOBMGGD.proto
new file mode 100644
index 00000000..e5e4a783
--- /dev/null
+++ b/proto/Unk3000_HBIPKOBMGGD.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3000_HKHFFDEMNKN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 5995
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_HBIPKOBMGGD {
+ repeated Unk3000_HKHFFDEMNKN Unk3000_GCJLJCJAADG = 3;
+}
diff --git a/proto/Unk3000_HDJHHOCABBK.proto b/proto/Unk3000_HDJHHOCABBK.proto
new file mode 100644
index 00000000..7a5cec96
--- /dev/null
+++ b/proto/Unk3000_HDJHHOCABBK.proto
@@ -0,0 +1,35 @@
+// 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 Unk3000_HDJHHOCABBK {
+ bool is_done = 12;
+ uint32 Unk3000_LIHPABKOAIP = 6;
+ uint32 Unk3000_AEGHMLLEOJF = 10;
+ float region_radius = 7;
+ bool is_open = 9;
+ uint32 open_time = 8;
+ Vector region_center_pos = 11;
+ uint32 scene_id = 13;
+ uint32 Unk3000_KNNPMAMOCOM = 15;
+ uint32 region_id = 1;
+}
diff --git a/proto/Unk3000_HGBNOCJBDEK.proto b/proto/Unk3000_HGBNOCJBDEK.proto
new file mode 100644
index 00000000..6ba88286
--- /dev/null
+++ b/proto/Unk3000_HGBNOCJBDEK.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_HGBNOCJBDEK {
+ bool is_finished = 11;
+ uint32 stage_id = 6;
+ bool is_open = 9;
+}
diff --git a/proto/Unk3000_HIJKNFBBCFC.proto b/proto/Unk3000_HIJKNFBBCFC.proto
new file mode 100644
index 00000000..cb16adc5
--- /dev/null
+++ b/proto/Unk3000_HIJKNFBBCFC.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 23948
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_HIJKNFBBCFC {
+ uint32 Unk3000_PAFIGDFHGNA = 6;
+ uint32 param = 11;
+ int32 retcode = 12;
+}
diff --git a/proto/Unk3000_HKHFFDEMNKN.proto b/proto/Unk3000_HKHFFDEMNKN.proto
new file mode 100644
index 00000000..808d8612
--- /dev/null
+++ b/proto/Unk3000_HKHFFDEMNKN.proto
@@ -0,0 +1,27 @@
+// 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 "WidgetSlotData.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_HKHFFDEMNKN {
+ uint32 uid = 14;
+ repeated WidgetSlotData slot_list = 13;
+}
diff --git a/proto/Unk3000_HPFGNOIGNAG.proto b/proto/Unk3000_HPFGNOIGNAG.proto
new file mode 100644
index 00000000..48100f02
--- /dev/null
+++ b/proto/Unk3000_HPFGNOIGNAG.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 21961
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_HPFGNOIGNAG {
+ bool Unk3000_PHIIBCMNPEK = 11;
+ bool Unk3000_NFLEINABPPC = 7;
+ uint32 round = 15;
+ uint32 stage_id = 8;
+ uint32 level_id = 10;
+}
diff --git a/proto/Unk3000_IBMFJMGHCNC.proto b/proto/Unk3000_IBMFJMGHCNC.proto
new file mode 100644
index 00000000..e83f93e7
--- /dev/null
+++ b/proto/Unk3000_IBMFJMGHCNC.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 6060
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_IBMFJMGHCNC {
+ int32 retcode = 8;
+ uint32 material_id = 6;
+}
diff --git a/proto/Unk3000_IBNIGBFIEEF.proto b/proto/Unk3000_IBNIGBFIEEF.proto
new file mode 100644
index 00000000..7b82552b
--- /dev/null
+++ b/proto/Unk3000_IBNIGBFIEEF.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 1735
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_IBNIGBFIEEF {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk3000_ICLKJJNGOHN.proto b/proto/Unk3000_ICLKJJNGOHN.proto
new file mode 100644
index 00000000..158e3046
--- /dev/null
+++ b/proto/Unk3000_ICLKJJNGOHN.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3000_KEJLPBEOHNH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_ICLKJJNGOHN {
+ bool is_finished = 10;
+ uint32 max_score = 3;
+ uint32 stage_id = 4;
+ repeated Unk3000_KEJLPBEOHNH Unk2700_GMAEHKMDIGG = 6;
+}
diff --git a/proto/Unk3000_IGCECHKNKOO.proto b/proto/Unk3000_IGCECHKNKOO.proto
new file mode 100644
index 00000000..22706d30
--- /dev/null
+++ b/proto/Unk3000_IGCECHKNKOO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21804
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_IGCECHKNKOO {
+ int32 retcode = 6;
+ uint32 level_id = 9;
+}
diff --git a/proto/Unk3000_IIBHKLNAHHC.proto b/proto/Unk3000_IIBHKLNAHHC.proto
new file mode 100644
index 00000000..44506c58
--- /dev/null
+++ b/proto/Unk3000_IIBHKLNAHHC.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_IIBHKLNAHHC {
+ uint32 level_id = 15;
+ uint32 max_score = 9;
+ bool is_open = 10;
+}
diff --git a/proto/Unk3000_ILLNKBDNGKP.proto b/proto/Unk3000_ILLNKBDNGKP.proto
new file mode 100644
index 00000000..59a8852d
--- /dev/null
+++ b/proto/Unk3000_ILLNKBDNGKP.proto
@@ -0,0 +1,28 @@
+// 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 "Unk3000_DCHMAMFIFOF.proto";
+import "Unk3000_HGBNOCJBDEK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_ILLNKBDNGKP {
+ repeated Unk3000_HGBNOCJBDEK Unk2700_PHKHIPLDOOA = 5;
+ repeated Unk3000_DCHMAMFIFOF Unk3000_AIENCMLMCBE = 7;
+}
diff --git a/proto/Unk3000_IMLAPBGLBFF.proto b/proto/Unk3000_IMLAPBGLBFF.proto
new file mode 100644
index 00000000..e9dfae94
--- /dev/null
+++ b/proto/Unk3000_IMLAPBGLBFF.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 1687
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_IMLAPBGLBFF {}
diff --git a/proto/Unk3000_INJDOLGMLAG.proto b/proto/Unk3000_INJDOLGMLAG.proto
new file mode 100644
index 00000000..b549891b
--- /dev/null
+++ b/proto/Unk3000_INJDOLGMLAG.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_INJDOLGMLAG {
+ Unk3000_INJDOLGMLAG_Unk3000_AHABODBKNKA = 0;
+ Unk3000_INJDOLGMLAG_Unk3000_IGJICIAJPFD = 1;
+ Unk3000_INJDOLGMLAG_Unk3000_KEEDEFPAJJG = 2;
+}
diff --git a/proto/Unk3000_IPAKLDNKDAO.proto b/proto/Unk3000_IPAKLDNKDAO.proto
new file mode 100644
index 00000000..8280a9f0
--- /dev/null
+++ b/proto/Unk3000_IPAKLDNKDAO.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6275
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_IPAKLDNKDAO {
+ uint32 Unk3000_FJIJOIMJMPF = 8;
+}
diff --git a/proto/Unk3000_JACOCADDNFE.proto b/proto/Unk3000_JACOCADDNFE.proto
new file mode 100644
index 00000000..9906bdd3
--- /dev/null
+++ b/proto/Unk3000_JACOCADDNFE.proto
@@ -0,0 +1,25 @@
+// 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 Unk3000_JACOCADDNFE {
+ bool is_trial = 8;
+ uint64 avatar_id = 2;
+}
diff --git a/proto/Unk3000_JDCOHPBDPED.proto b/proto/Unk3000_JDCOHPBDPED.proto
new file mode 100644
index 00000000..8f847d56
--- /dev/null
+++ b/proto/Unk3000_JDCOHPBDPED.proto
@@ -0,0 +1,34 @@
+// 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 "CompoundQueueData.proto";
+import "ItemParam.proto";
+import "Unk3000_PKHPBOIDLEA.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_JDCOHPBDPED {
+ repeated ItemParam Unk3100_HFOFIMOGDBD = 2;
+ Unk3000_PKHPBOIDLEA Unk3000_CNOABNNCPOL = 6;
+ int32 retcode = 7;
+ repeated CompoundQueueData compound_que_data_list = 1;
+}
diff --git a/proto/Unk3000_JFOGFMJDFFF.proto b/proto/Unk3000_JFOGFMJDFFF.proto
new file mode 100644
index 00000000..433d8841
--- /dev/null
+++ b/proto/Unk3000_JFOGFMJDFFF.proto
@@ -0,0 +1,24 @@
+// 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 Unk3000_JFOGFMJDFFF {
+ bool Unk3000_ADJNBMKCHAA = 9;
+}
diff --git a/proto/Unk3000_JIEPEGAHDNH.proto b/proto/Unk3000_JIEPEGAHDNH.proto
new file mode 100644
index 00000000..dc4bfa69
--- /dev/null
+++ b/proto/Unk3000_JIEPEGAHDNH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 24152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_JIEPEGAHDNH {
+ uint32 level_id = 1;
+ int32 retcode = 8;
+}
diff --git a/proto/Unk3000_JIMGCFDPFCK.proto b/proto/Unk3000_JIMGCFDPFCK.proto
new file mode 100644
index 00000000..61eca5ab
--- /dev/null
+++ b/proto/Unk3000_JIMGCFDPFCK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 20754
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_JIMGCFDPFCK {
+ uint32 Unk2700_MDJOPHOHFDB = 11;
+ uint32 total_num = 5;
+}
diff --git a/proto/Unk3000_KEJGDDMMBLP.proto b/proto/Unk3000_KEJGDDMMBLP.proto
new file mode 100644
index 00000000..06f19ee7
--- /dev/null
+++ b/proto/Unk3000_KEJGDDMMBLP.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3000_PONJHEGKBBP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6376
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_KEJGDDMMBLP {
+ repeated Unk3000_PONJHEGKBBP Unk3000_EIHLJGPJDJM = 14;
+}
diff --git a/proto/Unk3000_KEJLPBEOHNH.proto b/proto/Unk3000_KEJLPBEOHNH.proto
new file mode 100644
index 00000000..e93bdb66
--- /dev/null
+++ b/proto/Unk3000_KEJLPBEOHNH.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3000_JACOCADDNFE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_KEJLPBEOHNH {
+ repeated Unk3000_JACOCADDNFE avatar_info_list = 13;
+}
diff --git a/proto/Unk3000_KGDKKLOOIPG.proto b/proto/Unk3000_KGDKKLOOIPG.proto
new file mode 100644
index 00000000..0396cf2f
--- /dev/null
+++ b/proto/Unk3000_KGDKKLOOIPG.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 457
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_KGDKKLOOIPG {
+ int32 retcode = 15;
+ uint32 Unk3000_CCNCELKPPFN = 14;
+ uint32 Unk3000_OIIEJOKFHPP = 13;
+ uint32 Unk3000_CIOLEGEHDAC = 1;
+}
diff --git a/proto/Unk3000_KHFMBKILMMD.proto b/proto/Unk3000_KHFMBKILMMD.proto
new file mode 100644
index 00000000..7ece94a2
--- /dev/null
+++ b/proto/Unk3000_KHFMBKILMMD.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 24081
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_KHFMBKILMMD {
+ int32 retcode = 12;
+}
diff --git a/proto/Unk3000_KIDDGDPKBEN.proto b/proto/Unk3000_KIDDGDPKBEN.proto
new file mode 100644
index 00000000..4abbe9b5
--- /dev/null
+++ b/proto/Unk3000_KIDDGDPKBEN.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 1729
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_KIDDGDPKBEN {
+ uint32 Unk3000_GCAJHPHIEAA = 15;
+ int32 retcode = 4;
+}
diff --git a/proto/Unk3000_KJNIKBPKAED.proto b/proto/Unk3000_KJNIKBPKAED.proto
new file mode 100644
index 00000000..34321b4c
--- /dev/null
+++ b/proto/Unk3000_KJNIKBPKAED.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 461
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_KJNIKBPKAED {
+ int32 retcode = 5;
+ uint32 Unk3000_CFDMLGKNLKL = 14;
+ uint32 Unk3000_CIOLEGEHDAC = 13;
+}
diff --git a/proto/Unk3000_KKHPGFINACH.proto b/proto/Unk3000_KKHPGFINACH.proto
new file mode 100644
index 00000000..ebd8e4b8
--- /dev/null
+++ b/proto/Unk3000_KKHPGFINACH.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 24602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_KKHPGFINACH {
+ uint32 level_id = 12;
+}
diff --git a/proto/Unk3000_KOKEHAPLNHF.proto b/proto/Unk3000_KOKEHAPLNHF.proto
new file mode 100644
index 00000000..13de827c
--- /dev/null
+++ b/proto/Unk3000_KOKEHAPLNHF.proto
@@ -0,0 +1,35 @@
+// 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";
+
+// CmdId: 6190
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_KOKEHAPLNHF {
+ int32 Unk3000_ACPIAKFPDND = 12;
+ uint32 scene_id = 10;
+ int32 query_id = 11;
+
+ enum Unk3000_GKFABJEJMKB {
+ Unk3000_GKFABJEJMKB_Unk3000_IEAAFHCHOIA = 0;
+ Unk3000_GKFABJEJMKB_Unk3000_DBHGONMGIOJ = 1;
+ }
+}
diff --git a/proto/Unk3000_LAIAGAPKPLB.proto b/proto/Unk3000_LAIAGAPKPLB.proto
new file mode 100644
index 00000000..5ccb94b3
--- /dev/null
+++ b/proto/Unk3000_LAIAGAPKPLB.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_LAIAGAPKPLB {
+ repeated uint32 Unk3000_KJJKONKEINI = 7;
+}
diff --git a/proto/Unk3000_LBNFMLHLBIH.proto b/proto/Unk3000_LBNFMLHLBIH.proto
new file mode 100644
index 00000000..3a2e4252
--- /dev/null
+++ b/proto/Unk3000_LBNFMLHLBIH.proto
@@ -0,0 +1,36 @@
+// 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 "MathQuaternion.proto";
+import "Vector.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_LBNFMLHLBIH {
+ Unk3000_GPHBIBGMHJN type = 2;
+ int32 Unk3000_MFHLAJACMFA = 11;
+ MathQuaternion rotation = 7;
+ Vector center = 13;
+ Vector Unk3000_LNHPLNEBBIP = 14;
+
+ enum Unk3000_GPHBIBGMHJN {
+ Unk3000_GPHBIBGMHJN_OBSTACLE_SHAPE_CAPSULE = 0;
+ Unk3000_GPHBIBGMHJN_OBSTACLE_SHAPE_BOX = 1;
+ }
+}
diff --git a/proto/Unk3000_LHEMAMBKEKI.proto b/proto/Unk3000_LHEMAMBKEKI.proto
new file mode 100644
index 00000000..1893803f
--- /dev/null
+++ b/proto/Unk3000_LHEMAMBKEKI.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 6107
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_LHEMAMBKEKI {
+ int32 retcode = 7;
+}
diff --git a/proto/Unk3000_LJIMEHHNHJA.proto b/proto/Unk3000_LJIMEHHNHJA.proto
new file mode 100644
index 00000000..7b0a4917
--- /dev/null
+++ b/proto/Unk3000_LJIMEHHNHJA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_LJIMEHHNHJA {
+ int32 retcode = 4;
+ repeated uint32 Unk3000_CKLBBGHIIFC = 6;
+}
diff --git a/proto/Unk3000_LLBCFCDMCID.proto b/proto/Unk3000_LLBCFCDMCID.proto
new file mode 100644
index 00000000..43b693cd
--- /dev/null
+++ b/proto/Unk3000_LLBCFCDMCID.proto
@@ -0,0 +1,32 @@
+// 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 "Unk3000_JACOCADDNFE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 24312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_LLBCFCDMCID {
+ uint32 stage_id = 13;
+ uint32 difficulty = 2;
+ repeated Unk3000_JACOCADDNFE avatar_info_list = 7;
+}
diff --git a/proto/Unk3000_LLBHCMKJJHB.proto b/proto/Unk3000_LLBHCMKJJHB.proto
new file mode 100644
index 00000000..7b90d486
--- /dev/null
+++ b/proto/Unk3000_LLBHCMKJJHB.proto
@@ -0,0 +1,29 @@
+// 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 Unk3000_LLBHCMKJJHB {
+ uint32 scene_id = 5;
+ Vector pos = 9;
+ uint32 group_id = 7;
+ uint32 config_id = 3;
+}
diff --git a/proto/Unk3000_LNCOEOMFKAO.proto b/proto/Unk3000_LNCOEOMFKAO.proto
new file mode 100644
index 00000000..1ca9988e
--- /dev/null
+++ b/proto/Unk3000_LNCOEOMFKAO.proto
@@ -0,0 +1,25 @@
+// 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 Unk3000_LNCOEOMFKAO {
+ uint32 Unk3000_JCGKNMJFPGC = 1;
+ uint32 Unk3000_DGDIBEKBBLG = 2;
+}
diff --git a/proto/Unk3000_MEFJDDHIAOK.proto b/proto/Unk3000_MEFJDDHIAOK.proto
new file mode 100644
index 00000000..816ba139
--- /dev/null
+++ b/proto/Unk3000_MEFJDDHIAOK.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 6135
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_MEFJDDHIAOK {
+ uint32 version = 14;
+ uint32 scene_id = 15;
+}
diff --git a/proto/Unk3000_MFCAIADEPGJ.proto b/proto/Unk3000_MFCAIADEPGJ.proto
new file mode 100644
index 00000000..8680b3da
--- /dev/null
+++ b/proto/Unk3000_MFCAIADEPGJ.proto
@@ -0,0 +1,40 @@
+// 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";
+
+// CmdId: 6198
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_MFCAIADEPGJ {
+ Unk3000_PNOAFGLCLPG query_status = 7;
+ repeated int64 index = 3;
+ repeated Vector corners = 14;
+ repeated int32 level = 1;
+ int32 retcode = 8;
+ int32 query_id = 9;
+
+ enum Unk3000_PNOAFGLCLPG {
+ Unk3000_PNOAFGLCLPG_STATUS_FAIL = 0;
+ Unk3000_PNOAFGLCLPG_STATUS_SUCC = 1;
+ Unk3000_PNOAFGLCLPG_STATUS_PARTIAL = 2;
+ }
+}
diff --git a/proto/Unk3000_MFHOOFLHNPH.proto b/proto/Unk3000_MFHOOFLHNPH.proto
new file mode 100644
index 00000000..75c04066
--- /dev/null
+++ b/proto/Unk3000_MFHOOFLHNPH.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_MFHOOFLHNPH {
+ uint32 Unk3000_CFDMLGKNLKL = 2;
+ uint32 Unk3000_CIOLEGEHDAC = 4;
+}
diff --git a/proto/Unk3000_MOIPPIJMIJC.proto b/proto/Unk3000_MOIPPIJMIJC.proto
new file mode 100644
index 00000000..deb6e361
--- /dev/null
+++ b/proto/Unk3000_MOIPPIJMIJC.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3000_INJDOLGMLAG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 3323
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_MOIPPIJMIJC {
+ uint32 Unk3000_BBNOIPMEOOJ = 14;
+ Unk3000_INJDOLGMLAG Unk3000_ABHKMADEKEA = 11;
+}
diff --git a/proto/Unk3000_NBGBGODDBMP.proto b/proto/Unk3000_NBGBGODDBMP.proto
new file mode 100644
index 00000000..71536153
--- /dev/null
+++ b/proto/Unk3000_NBGBGODDBMP.proto
@@ -0,0 +1,33 @@
+// 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 "Unk3000_LBNFMLHLBIH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6121
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_NBGBGODDBMP {
+ bool Unk3000_PHOPHGOGIIK = 12;
+ Unk3000_LBNFMLHLBIH Unk3000_APCKCDLMGMN = 13;
+ int32 query_id = 9;
+ uint32 scene_id = 3;
+}
diff --git a/proto/Unk3000_NHPPMHHJPMJ.proto b/proto/Unk3000_NHPPMHHJPMJ.proto
new file mode 100644
index 00000000..731b26ec
--- /dev/null
+++ b/proto/Unk3000_NHPPMHHJPMJ.proto
@@ -0,0 +1,31 @@
+// 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";
+
+// CmdId: 20005
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_NHPPMHHJPMJ {
+ uint32 final_score = 11;
+ uint32 Unk3000_MKFIPLFHJNE = 15;
+ bool is_success = 6;
+ uint32 level_id = 10;
+ bool is_new_record = 2;
+}
diff --git a/proto/Unk3000_NJNPNJDFEOL.proto b/proto/Unk3000_NJNPNJDFEOL.proto
new file mode 100644
index 00000000..8e9af976
--- /dev/null
+++ b/proto/Unk3000_NJNPNJDFEOL.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 6112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_NJNPNJDFEOL {}
diff --git a/proto/Unk3000_NLFNMGEJDPG.proto b/proto/Unk3000_NLFNMGEJDPG.proto
new file mode 100644
index 00000000..760dc986
--- /dev/null
+++ b/proto/Unk3000_NLFNMGEJDPG.proto
@@ -0,0 +1,22 @@
+// 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 Unk3000_NLFNMGEJDPG {}
diff --git a/proto/Unk3000_NMEJCJFJPHM.proto b/proto/Unk3000_NMEJCJFJPHM.proto
new file mode 100644
index 00000000..7d3469fa
--- /dev/null
+++ b/proto/Unk3000_NMEJCJFJPHM.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 24923
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_NMEJCJFJPHM {
+ uint32 level_id = 1;
+ int32 retcode = 13;
+}
diff --git a/proto/Unk3000_NMENEAHJGKE.proto b/proto/Unk3000_NMENEAHJGKE.proto
new file mode 100644
index 00000000..74f7dad5
--- /dev/null
+++ b/proto/Unk3000_NMENEAHJGKE.proto
@@ -0,0 +1,50 @@
+// 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";
+
+// CmdId: 6172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_NMENEAHJGKE {
+ Vector source_pos = 10;
+ bool Unk3000_HAACAHAJJOC = 5;
+ bool Unk3000_GIIFEGOPHDF = 13;
+ int32 Unk3000_FNEDHNGIFNC = 15;
+ Unk3000_MPAGIMDCEDK query_type = 8;
+ Unk3000_BCDLJFDFBFH Unk3000_OBGPENBMEGG = 1;
+ Vector destination_pos = 9;
+ int32 query_id = 11;
+ uint32 scene_id = 6;
+
+ enum Unk3000_MPAGIMDCEDK {
+ Unk3000_MPAGIMDCEDK_OPTION_NONE = 0;
+ Unk3000_MPAGIMDCEDK_OPTION_NORMAL = 1;
+ }
+
+ enum Unk3000_BCDLJFDFBFH {
+ Unk3000_BCDLJFDFBFH_Unk3000_HLJABAKPIOI = 0;
+ Unk3000_BCDLJFDFBFH_Unk3000_ICILODFJDCO = 1;
+ Unk3000_BCDLJFDFBFH_Unk3000_IHILBIFGFEE = 2;
+ Unk3000_BCDLJFDFBFH_Unk3000_IDPBKAOFEJD = 3;
+ }
+}
diff --git a/proto/Unk3000_NNPCGEAHNHM.proto b/proto/Unk3000_NNPCGEAHNHM.proto
new file mode 100644
index 00000000..49c5aa96
--- /dev/null
+++ b/proto/Unk3000_NNPCGEAHNHM.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3000_BOBIJEDOFKG.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6268
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_NNPCGEAHNHM {
+ repeated Unk3000_BOBIJEDOFKG Unk3000_ALGOLKMONEF = 8;
+}
diff --git a/proto/Unk3000_NOMEJNJKGGL.proto b/proto/Unk3000_NOMEJNJKGGL.proto
new file mode 100644
index 00000000..673d1c82
--- /dev/null
+++ b/proto/Unk3000_NOMEJNJKGGL.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3000_EMMKKLIECLB.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 3345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_NOMEJNJKGGL {
+ repeated Unk3000_EMMKKLIECLB Unk3000_GGGLAIIIJOJ = 5;
+}
diff --git a/proto/Unk3000_NPPMPMGBBLM.proto b/proto/Unk3000_NPPMPMGBBLM.proto
new file mode 100644
index 00000000..c87b1a3d
--- /dev/null
+++ b/proto/Unk3000_NPPMPMGBBLM.proto
@@ -0,0 +1,32 @@
+// 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 "Unk3000_AHNHHIOAHBC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6368
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_NPPMPMGBBLM {
+ uint32 Unk3000_JPONGJJLGKF = 7;
+ Unk3000_AHNHHIOAHBC Unk3000_HPKDIOBGGHN = 12;
+ Unk3000_AHNHHIOAHBC Unk3000_OAFAKPMJCEN = 15;
+ uint32 Unk3000_BIACMOKGHKF = 8;
+}
diff --git a/proto/Unk3000_ODGMCFAFADH.proto b/proto/Unk3000_ODGMCFAFADH.proto
new file mode 100644
index 00000000..ee0248ed
--- /dev/null
+++ b/proto/Unk3000_ODGMCFAFADH.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 5907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_ODGMCFAFADH {
+ bool is_active = 15;
+ uint32 material_id = 3;
+}
diff --git a/proto/Unk3000_OFMFFECMKLE.proto b/proto/Unk3000_OFMFFECMKLE.proto
new file mode 100644
index 00000000..9045292f
--- /dev/null
+++ b/proto/Unk3000_OFMFFECMKLE.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3000_FLOEPMMABMH.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_OFMFFECMKLE {
+ repeated Unk3000_FLOEPMMABMH Unk2700_FIKHCFMEOAJ = 11;
+}
diff --git a/proto/Unk3000_OJOAECCPCBP.proto b/proto/Unk3000_OJOAECCPCBP.proto
new file mode 100644
index 00000000..26f2aa72
--- /dev/null
+++ b/proto/Unk3000_OJOAECCPCBP.proto
@@ -0,0 +1,22 @@
+// 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 Unk3000_OJOAECCPCBP {}
diff --git a/proto/Unk3000_OMCBMAHOLHB.proto b/proto/Unk3000_OMCBMAHOLHB.proto
new file mode 100644
index 00000000..208a0b20
--- /dev/null
+++ b/proto/Unk3000_OMCBMAHOLHB.proto
@@ -0,0 +1,26 @@
+// 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 Unk3000_OMCBMAHOLHB {
+ uint32 buff_id = 6;
+ uint64 Unk3000_KDOLDNMNHGL = 9;
+ uint64 Unk3000_OKIDNAAKOJC = 4;
+}
diff --git a/proto/Unk3000_PCGBDJJOIHH.proto b/proto/Unk3000_PCGBDJJOIHH.proto
new file mode 100644
index 00000000..9f565374
--- /dev/null
+++ b/proto/Unk3000_PCGBDJJOIHH.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 3475
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_PCGBDJJOIHH {
+ uint32 target_entity_id = 14;
+ uint32 source_entity_id = 12;
+}
diff --git a/proto/Unk3000_PDNJDOBPEKA.proto b/proto/Unk3000_PDNJDOBPEKA.proto
new file mode 100644
index 00000000..1aa2fc2b
--- /dev/null
+++ b/proto/Unk3000_PDNJDOBPEKA.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 22882
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_PDNJDOBPEKA {
+ uint32 gallery_id = 6;
+}
diff --git a/proto/Unk3000_PHCPMFMFOMO.proto b/proto/Unk3000_PHCPMFMFOMO.proto
new file mode 100644
index 00000000..90c5d5e9
--- /dev/null
+++ b/proto/Unk3000_PHCPMFMFOMO.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 23864
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_PHCPMFMFOMO {
+ uint32 Unk3000_OHKPPFPNKNF = 14;
+ uint32 reminder_id = 6;
+}
diff --git a/proto/Unk3000_PILFPILPMFO.proto b/proto/Unk3000_PILFPILPMFO.proto
new file mode 100644
index 00000000..1a363397
--- /dev/null
+++ b/proto/Unk3000_PILFPILPMFO.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 3336
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_PILFPILPMFO {
+ int32 retcode = 2;
+}
diff --git a/proto/Unk3000_PJLAPMPPIAG.proto b/proto/Unk3000_PJLAPMPPIAG.proto
new file mode 100644
index 00000000..da65a415
--- /dev/null
+++ b/proto/Unk3000_PJLAPMPPIAG.proto
@@ -0,0 +1,38 @@
+// 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 "Unk2700_MOFABPNGIKP.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 20681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3000_PJLAPMPPIAG {
+ bool is_new_record = 4;
+ uint32 gallery_id = 6;
+ uint32 score = 5;
+ Unk2700_MOFABPNGIKP reason = 2;
+ uint32 Unk3000_OGFOAOCCGNK = 13;
+ uint32 remain_time = 10;
+ uint32 Unk3000_HKMKHPMIIPF = 1;
+ uint32 Unk3000_GDFHJBOCONO = 8;
+ bool is_success = 7;
+ uint32 level_id = 11;
+}
diff --git a/proto/Unk3000_PKHPBOIDLEA.proto b/proto/Unk3000_PKHPBOIDLEA.proto
new file mode 100644
index 00000000..eda22a77
--- /dev/null
+++ b/proto/Unk3000_PKHPBOIDLEA.proto
@@ -0,0 +1,27 @@
+// 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 Unk3000_PKHPBOIDLEA {
+ Unk3000_PKHPBOIDLEA_Unk3000_KANMGBLJEHC = 0;
+ Unk3000_PKHPBOIDLEA_Unk3000_ICFILKDKFNL = 1;
+ Unk3000_PKHPBOIDLEA_Unk3000_FBFKPBGLMAD = 2;
+ Unk3000_PKHPBOIDLEA_Unk3000_KEOIEIKLFDN = 3;
+}
diff --git a/proto/Unk3000_PNIEIHDLIDN.proto b/proto/Unk3000_PNIEIHDLIDN.proto
new file mode 100644
index 00000000..5efdb65f
--- /dev/null
+++ b/proto/Unk3000_PNIEIHDLIDN.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 2207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_PNIEIHDLIDN {
+ uint32 add_progress = 4;
+ uint32 stage = 2;
+ uint32 watcher_id = 12;
+}
diff --git a/proto/Unk3000_PONJHEGKBBP.proto b/proto/Unk3000_PONJHEGKBBP.proto
new file mode 100644
index 00000000..9c67acdd
--- /dev/null
+++ b/proto/Unk3000_PONJHEGKBBP.proto
@@ -0,0 +1,27 @@
+// 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 "Unk3000_AHNHHIOAHBC.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3000_PONJHEGKBBP {
+ map Unk3000_MKNODEKEGJF = 6;
+ uint32 Unk3000_JPONGJJLGKF = 12;
+}
diff --git a/proto/Unk3000_PPDLLPNMJMK.proto b/proto/Unk3000_PPDLLPNMJMK.proto
new file mode 100644
index 00000000..a112de9f
--- /dev/null
+++ b/proto/Unk3000_PPDLLPNMJMK.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 500
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3000_PPDLLPNMJMK {
+ uint32 Unk3000_CFDMLGKNLKL = 4;
+ uint32 Unk3000_CIOLEGEHDAC = 9;
+}
diff --git a/proto/Unk3100_ADOMNIEPKEK.proto b/proto/Unk3100_ADOMNIEPKEK.proto
new file mode 100644
index 00000000..a76cc625
--- /dev/null
+++ b/proto/Unk3100_ADOMNIEPKEK.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 3259
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_ADOMNIEPKEK {
+ repeated uint32 entity_id_list = 7;
+}
diff --git a/proto/Unk3100_AHIKHIOFBJJ.proto b/proto/Unk3100_AHIKHIOFBJJ.proto
new file mode 100644
index 00000000..406693bd
--- /dev/null
+++ b/proto/Unk3100_AHIKHIOFBJJ.proto
@@ -0,0 +1,25 @@
+// 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 Unk3100_AHIKHIOFBJJ {
+ bool is_open = 7;
+ uint32 gadget_id = 8;
+}
diff --git a/proto/Unk3100_AILMJOHBIDC.proto b/proto/Unk3100_AILMJOHBIDC.proto
new file mode 100644
index 00000000..05f9cd26
--- /dev/null
+++ b/proto/Unk3100_AILMJOHBIDC.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 24201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_AILMJOHBIDC {
+ repeated uint32 Unk3100_KHPFAPCPGBE = 15;
+ uint32 coin_c = 12;
+ uint32 Unk3100_BCHHFFJEJCD = 4;
+}
diff --git a/proto/Unk3100_ALLPCCMKIGD.proto b/proto/Unk3100_ALLPCCMKIGD.proto
new file mode 100644
index 00000000..d757c990
--- /dev/null
+++ b/proto/Unk3100_ALLPCCMKIGD.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 21700
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_ALLPCCMKIGD {
+ uint32 Unk3100_HGKBAEHFMKI = 1;
+ repeated uint32 Unk3100_CKOJIKGDEPO = 14;
+}
diff --git a/proto/Unk3100_ANELMFHNGHE.proto b/proto/Unk3100_ANELMFHNGHE.proto
new file mode 100644
index 00000000..89210d0b
--- /dev/null
+++ b/proto/Unk3100_ANELMFHNGHE.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 22864
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_ANELMFHNGHE {
+ uint32 Unk3100_IFHHJEFBLNI = 5;
+}
diff --git a/proto/Unk3100_APOOGGMHCJI.proto b/proto/Unk3100_APOOGGMHCJI.proto
new file mode 100644
index 00000000..72200fb0
--- /dev/null
+++ b/proto/Unk3100_APOOGGMHCJI.proto
@@ -0,0 +1,27 @@
+// 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 Unk3100_APOOGGMHCJI {
+ uint32 Unk3100_LINPNGLHPDL = 10;
+ bool is_open = 11;
+ bool Unk2700_MMNILGLDHHD = 5;
+ uint32 stage_id = 1;
+}
diff --git a/proto/Unk3100_BDEGPHDCIDN.proto b/proto/Unk3100_BDEGPHDCIDN.proto
new file mode 100644
index 00000000..02e01d39
--- /dev/null
+++ b/proto/Unk3100_BDEGPHDCIDN.proto
@@ -0,0 +1,27 @@
+// 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 Unk3100_BDEGPHDCIDN {
+ uint32 stage_id = 14;
+ uint32 level_id = 11;
+ bool Unk2700_MMNILGLDHHD = 8;
+ bool is_open = 6;
+}
diff --git a/proto/Unk3100_BPALEKJDCCC.proto b/proto/Unk3100_BPALEKJDCCC.proto
new file mode 100644
index 00000000..63566cfb
--- /dev/null
+++ b/proto/Unk3100_BPALEKJDCCC.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 24244
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_BPALEKJDCCC {
+ uint32 Unk3000_OHKPPFPNKNF = 10;
+}
diff --git a/proto/Unk3100_CEKADDKEFOB.proto b/proto/Unk3100_CEKADDKEFOB.proto
new file mode 100644
index 00000000..88b7722a
--- /dev/null
+++ b/proto/Unk3100_CEKADDKEFOB.proto
@@ -0,0 +1,31 @@
+// 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 "Unk3100_GINCGFOCGAI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 20676
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_CEKADDKEFOB {
+ uint32 Unk3100_IFHHJEFBLNI = 9;
+ repeated Unk3100_GINCGFOCGAI Unk3100_AELOKNKDCDE = 3;
+}
diff --git a/proto/Unk3100_DFOIHKPBGPD.proto b/proto/Unk3100_DFOIHKPBGPD.proto
new file mode 100644
index 00000000..7c67de33
--- /dev/null
+++ b/proto/Unk3100_DFOIHKPBGPD.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 21780
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_DFOIHKPBGPD {
+ uint32 stage_id = 7;
+}
diff --git a/proto/Unk3100_DJEOICDIKKD.proto b/proto/Unk3100_DJEOICDIKKD.proto
new file mode 100644
index 00000000..e5b8e923
--- /dev/null
+++ b/proto/Unk3100_DJEOICDIKKD.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 21951
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_DJEOICDIKKD {
+ int32 retcode = 4;
+}
diff --git a/proto/Unk3100_DNDKAGHCAKF.proto b/proto/Unk3100_DNDKAGHCAKF.proto
new file mode 100644
index 00000000..05871a12
--- /dev/null
+++ b/proto/Unk3100_DNDKAGHCAKF.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 20626
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_DNDKAGHCAKF {
+ uint32 Unk3100_CIJIHEGPEMB = 10;
+}
diff --git a/proto/Unk3100_DPCPLEIJPDB.proto b/proto/Unk3100_DPCPLEIJPDB.proto
new file mode 100644
index 00000000..defa25bb
--- /dev/null
+++ b/proto/Unk3100_DPCPLEIJPDB.proto
@@ -0,0 +1,33 @@
+// 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";
+
+// CmdId: 5563
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_DPCPLEIJPDB {
+ uint32 Unk3100_CHGHHBNGNHH = 6;
+ bool is_start = 8;
+ uint32 Unk3100_MPJOMKKCHKC = 12;
+ bool is_success = 7;
+ uint32 Unk3100_KAKJMGFBOOH = 13;
+ uint32 Unk3100_CDJOHNPJAAB = 11;
+ uint32 Unk3100_EDMNOAPJIDC = 1;
+}
diff --git a/proto/Unk3100_EDNBMJJHOKM.proto b/proto/Unk3100_EDNBMJJHOKM.proto
new file mode 100644
index 00000000..0e5552e6
--- /dev/null
+++ b/proto/Unk3100_EDNBMJJHOKM.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 24712
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_EDNBMJJHOKM {
+ int32 retcode = 5;
+}
diff --git a/proto/Unk3100_ENNGOAOEIKE.proto b/proto/Unk3100_ENNGOAOEIKE.proto
new file mode 100644
index 00000000..9b2dc0fe
--- /dev/null
+++ b/proto/Unk3100_ENNGOAOEIKE.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 21814
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_ENNGOAOEIKE {
+ int32 retcode = 2;
+ repeated uint32 Unk3100_CKOJIKGDEPO = 3;
+ uint32 Unk3100_HGKBAEHFMKI = 14;
+}
diff --git a/proto/Unk3100_FGDECIHNIJG.proto b/proto/Unk3100_FGDECIHNIJG.proto
new file mode 100644
index 00000000..b101163f
--- /dev/null
+++ b/proto/Unk3100_FGDECIHNIJG.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3100_MCIBDBBEKEK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6395
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_FGDECIHNIJG {
+ repeated Unk3100_MCIBDBBEKEK Unk3100_IMPDKHPHALG = 2;
+}
diff --git a/proto/Unk3100_FHDBCIIMLLP.proto b/proto/Unk3100_FHDBCIIMLLP.proto
new file mode 100644
index 00000000..c4ee86f9
--- /dev/null
+++ b/proto/Unk3100_FHDBCIIMLLP.proto
@@ -0,0 +1,31 @@
+// 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 "Unk3100_BDEGPHDCIDN.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3100_FHDBCIIMLLP {
+ bool is_open = 5;
+ uint32 Unk3100_OJNFPCDHBLH = 11;
+ uint32 open_time = 3;
+ bool Unk2700_MMNILGLDHHD = 10;
+ uint32 stage_id = 4;
+ map Unk3100_PBAJFKPPMMF = 2;
+}
diff --git a/proto/Unk3100_FKKBIDJONKF.proto b/proto/Unk3100_FKKBIDJONKF.proto
new file mode 100644
index 00000000..7912d0dc
--- /dev/null
+++ b/proto/Unk3100_FKKBIDJONKF.proto
@@ -0,0 +1,27 @@
+// 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 Unk3100_FKKBIDJONKF {
+ bool Unk2700_MMNILGLDHHD = 6;
+ uint32 open_time = 7;
+ bool is_open = 5;
+ uint32 stage_id = 3;
+}
diff --git a/proto/Unk3100_FMAINCNFHOL.proto b/proto/Unk3100_FMAINCNFHOL.proto
new file mode 100644
index 00000000..51193584
--- /dev/null
+++ b/proto/Unk3100_FMAINCNFHOL.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 22181
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_FMAINCNFHOL {
+ int32 retcode = 6;
+ uint32 Unk3100_FOOACIGDBFB = 3;
+}
diff --git a/proto/Unk3100_GINCGFOCGAI.proto b/proto/Unk3100_GINCGFOCGAI.proto
new file mode 100644
index 00000000..0cbec524
--- /dev/null
+++ b/proto/Unk3100_GINCGFOCGAI.proto
@@ -0,0 +1,28 @@
+// 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 Unk3100_GINCGFOCGAI {
+ repeated uint32 Unk3100_CKOJIKGDEPO = 5;
+ uint32 Unk3100_MBKPGAKHKBG = 9;
+ uint32 Unk3100_CIJIHEGPEMB = 2;
+ uint32 Unk3100_JBLGMELHEEM = 7;
+ repeated uint32 Unk3100_MMIDNFAOMHG = 15;
+}
diff --git a/proto/Unk3100_HEJFCDEKFOE.proto b/proto/Unk3100_HEJFCDEKFOE.proto
new file mode 100644
index 00000000..80f48a1a
--- /dev/null
+++ b/proto/Unk3100_HEJFCDEKFOE.proto
@@ -0,0 +1,28 @@
+// 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 Unk3100_HEJFCDEKFOE {
+ uint32 open_time = 10;
+ bool Unk2700_MMNILGLDHHD = 3;
+ bool is_open = 9;
+ uint32 Unk3100_HBJLJFAPPCC = 12;
+ uint32 stage_id = 7;
+}
diff --git a/proto/Unk3100_HJALLGOLFGL.proto b/proto/Unk3100_HJALLGOLFGL.proto
new file mode 100644
index 00000000..9d0859ae
--- /dev/null
+++ b/proto/Unk3100_HJALLGOLFGL.proto
@@ -0,0 +1,28 @@
+// 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 Unk3100_HJALLGOLFGL {
+ Unk3100_HJALLGOLFGL_Unk3100_KAADIPNHPAM = 0;
+ Unk3100_HJALLGOLFGL_Unk3100_CAHECEKOFPF = 1;
+ Unk3100_HJALLGOLFGL_Unk3100_KHCKNDLKPAB = 2;
+ Unk3100_HJALLGOLFGL_Unk3100_CNAOCFDKPBN = 3;
+ Unk3100_HJALLGOLFGL_Unk3100_DOPCNHIOGOB = 4;
+}
diff --git a/proto/Unk3100_IALGADDCFNN.proto b/proto/Unk3100_IALGADDCFNN.proto
new file mode 100644
index 00000000..6ff084ae
--- /dev/null
+++ b/proto/Unk3100_IALGADDCFNN.proto
@@ -0,0 +1,28 @@
+// 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 Unk3100_IALGADDCFNN {
+ repeated uint32 Unk3100_CKABCMCIPLM = 5;
+ repeated uint32 Unk3100_CJIAFHOLGPB = 14;
+ repeated uint32 Unk3100_CKOJIKGDEPO = 2;
+ uint32 Unk3100_MBDCDNHEDFO = 3;
+ uint32 Unk3100_CIJIHEGPEMB = 10;
+}
diff --git a/proto/Unk3100_IHGFOKNPCKJ.proto b/proto/Unk3100_IHGFOKNPCKJ.proto
new file mode 100644
index 00000000..accb3b10
--- /dev/null
+++ b/proto/Unk3100_IHGFOKNPCKJ.proto
@@ -0,0 +1,40 @@
+// 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";
+
+// CmdId: 3160
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_IHGFOKNPCKJ {
+ Vector look_pos = 8;
+ uint32 template_id = 5;
+ Vector follow_pos = 2;
+ uint32 entity_id = 12;
+ repeated string other_params = 13;
+ Unk3100_DDADIDBLJGO Unk3100_JHIMHLNPLGA = 9;
+
+ enum Unk3100_DDADIDBLJGO {
+ Unk3100_DDADIDBLJGO_Unk3100_CHMICKLPAKA = 0;
+ Unk3100_DDADIDBLJGO_Unk3100_GEJFGKILBLO = 1;
+ Unk3100_DDADIDBLJGO_Unk3100_HAFBECHLCIE = 2;
+ }
+}
diff --git a/proto/Unk3100_IOJKKDNELHE.proto b/proto/Unk3100_IOJKKDNELHE.proto
new file mode 100644
index 00000000..9efb2e50
--- /dev/null
+++ b/proto/Unk3100_IOJKKDNELHE.proto
@@ -0,0 +1,30 @@
+// 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 "Unk3100_APOOGGMHCJI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3100_IOJKKDNELHE {
+ uint32 open_time = 1;
+ uint32 stage_id = 15;
+ bool Unk2700_MMNILGLDHHD = 13;
+ bool is_open = 10;
+ map Unk3100_EAGEPOFAMDB = 2;
+}
diff --git a/proto/Unk3100_JBBEJECGEFI.proto b/proto/Unk3100_JBBEJECGEFI.proto
new file mode 100644
index 00000000..c6956ebf
--- /dev/null
+++ b/proto/Unk3100_JBBEJECGEFI.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 22830
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_JBBEJECGEFI {
+ uint32 stage_id = 11;
+}
diff --git a/proto/Unk3100_JJKFAMDHEBL.proto b/proto/Unk3100_JJKFAMDHEBL.proto
new file mode 100644
index 00000000..04d58dd0
--- /dev/null
+++ b/proto/Unk3100_JJKFAMDHEBL.proto
@@ -0,0 +1,29 @@
+// 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";
+
+// CmdId: 24860
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_JJKFAMDHEBL {
+ uint32 Unk3100_CIJIHEGPEMB = 15;
+ int32 retcode = 9;
+ repeated uint32 Unk3100_CKOJIKGDEPO = 2;
+}
diff --git a/proto/Unk3100_JJNBDPJAFKK.proto b/proto/Unk3100_JJNBDPJAFKK.proto
new file mode 100644
index 00000000..7d3393be
--- /dev/null
+++ b/proto/Unk3100_JJNBDPJAFKK.proto
@@ -0,0 +1,34 @@
+// 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";
+
+// CmdId: 5526
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_JJNBDPJAFKK {
+ uint32 Unk3100_MPJOMKKCHKC = 3;
+ uint32 Unk3100_HFOHBJOGEPJ = 7;
+ uint32 Unk3100_CHEKINPIFFM = 9;
+ uint32 Unk3100_CDJOHNPJAAB = 1;
+ uint32 Unk3100_KAKJMGFBOOH = 5;
+ uint32 Unk3100_EDMNOAPJIDC = 10;
+ uint32 Unk3100_CHGHHBNGNHH = 4;
+ uint32 Unk3100_OIOIEMJMNNI = 14;
+}
diff --git a/proto/Unk3100_JKGDHFGAJMH.proto b/proto/Unk3100_JKGDHFGAJMH.proto
new file mode 100644
index 00000000..7b6725ec
--- /dev/null
+++ b/proto/Unk3100_JKGDHFGAJMH.proto
@@ -0,0 +1,40 @@
+// 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 "Unk3100_JKGDHFGAJMH_FirstStageInfo.proto";
+import "Unk3100_JKGDHFGAJMH_SecondStageInfo.proto";
+import "Unk3100_JKGDHFGAJMH_ThirdStageInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 20324
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_JKGDHFGAJMH {
+ bool Unk3100_CNJDDIKJHLL = 11;
+ uint32 stage_id = 9;
+ uint32 Unk3100_ONLIFLEFPBO = 12;
+ uint32 Unk3100_PPEIAMHIJBP = 6;
+ bool is_new_record = 1;
+ oneof info {
+ Unk3100_JKGDHFGAJMH_FirstStageInfo first_stage_info = 4;
+ Unk3100_JKGDHFGAJMH_SecondStageInfo second_stage_info = 10;
+ Unk3100_JKGDHFGAJMH_ThirdStageInfo third_stage_info = 8;
+ }
+}
diff --git a/proto/Unk3100_JKGDHFGAJMH_FirstStageInfo.proto b/proto/Unk3100_JKGDHFGAJMH_FirstStageInfo.proto
new file mode 100644
index 00000000..b62b89bc
--- /dev/null
+++ b/proto/Unk3100_JKGDHFGAJMH_FirstStageInfo.proto
@@ -0,0 +1,27 @@
+// 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 Unk3100_JKGDHFGAJMH_FirstStageInfo {
+ uint32 Unk3100_KCFEMMIGNPG = 10;
+ uint32 Unk3100_BKOPHMFCPGD = 2;
+ uint32 Unk3100_OMMEHLGCBHP = 6;
+ uint32 score = 14;
+}
diff --git a/proto/Unk3100_JKGDHFGAJMH_SecondStageInfo.proto b/proto/Unk3100_JKGDHFGAJMH_SecondStageInfo.proto
new file mode 100644
index 00000000..a758623b
--- /dev/null
+++ b/proto/Unk3100_JKGDHFGAJMH_SecondStageInfo.proto
@@ -0,0 +1,26 @@
+// 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 Unk3100_JKGDHFGAJMH_SecondStageInfo {
+ map Unk3100_IDNCFGLFIPF = 6;
+ uint32 Unk3100_IFMAFOGLKOO = 7;
+ uint32 total_num = 15;
+}
diff --git a/proto/Unk3100_JKGDHFGAJMH_ThirdStageInfo.proto b/proto/Unk3100_JKGDHFGAJMH_ThirdStageInfo.proto
new file mode 100644
index 00000000..35b006ca
--- /dev/null
+++ b/proto/Unk3100_JKGDHFGAJMH_ThirdStageInfo.proto
@@ -0,0 +1,25 @@
+// 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 Unk3100_JKGDHFGAJMH_ThirdStageInfo {
+ uint32 left_time = 13;
+ bool is_success = 9;
+}
diff --git a/proto/Unk3100_JLKDDKHHFPO.proto b/proto/Unk3100_JLKDDKHHFPO.proto
new file mode 100644
index 00000000..3f9f1140
--- /dev/null
+++ b/proto/Unk3100_JLKDDKHHFPO.proto
@@ -0,0 +1,27 @@
+// 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 "ItemParam.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3100_JLKDDKHHFPO {
+ uint32 Unk3100_FOOACIGDBFB = 7;
+ repeated ItemParam Unk3100_FGHHLOJHMIK = 9;
+}
diff --git a/proto/Unk3100_JNOIANKCPPG.proto b/proto/Unk3100_JNOIANKCPPG.proto
new file mode 100644
index 00000000..3a34c9e9
--- /dev/null
+++ b/proto/Unk3100_JNOIANKCPPG.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 20086
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_JNOIANKCPPG {
+ uint32 Unk3100_LINPNGLHPDL = 3;
+}
diff --git a/proto/Unk3100_KLKDONEJEEG.proto b/proto/Unk3100_KLKDONEJEEG.proto
new file mode 100644
index 00000000..85eb7f2a
--- /dev/null
+++ b/proto/Unk3100_KLKDONEJEEG.proto
@@ -0,0 +1,36 @@
+// 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";
+
+// CmdId: 23462
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_KLKDONEJEEG {
+ repeated uint32 Unk3100_EKPCGKFHODO = 8;
+ uint32 Unk3100_IFHHJEFBLNI = 12;
+ repeated uint32 Unk3100_ENBGIALBGIN = 10;
+ repeated uint32 Unk3100_FBGLNABGPMH = 11;
+ uint32 Unk3100_IOCOGKAIBEN = 9;
+ uint32 Unk3100_NMPJHOLLDGD = 1;
+ map Unk3100_CJIDDCFJDDJ = 3;
+ int32 retcode = 7;
+ uint32 Unk3100_JCIBNDGDKPK = 14;
+ uint32 Unk3100_PKFCBGPFEOE = 15;
+}
diff --git a/proto/Unk3100_LDKPEAGMAGH.proto b/proto/Unk3100_LDKPEAGMAGH.proto
new file mode 100644
index 00000000..6c01a6d6
--- /dev/null
+++ b/proto/Unk3100_LDKPEAGMAGH.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 20993
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_LDKPEAGMAGH {
+ int32 retcode = 1;
+}
diff --git a/proto/Unk3100_LFIMJOCPILC.proto b/proto/Unk3100_LFIMJOCPILC.proto
new file mode 100644
index 00000000..5147ae80
--- /dev/null
+++ b/proto/Unk3100_LFIMJOCPILC.proto
@@ -0,0 +1,24 @@
+// 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 Unk3100_LFIMJOCPILC {
+ repeated double Unk3100_KMAEGMEJGCK = 1;
+}
diff --git a/proto/Unk3100_MCIBDBBEKEK.proto b/proto/Unk3100_MCIBDBBEKEK.proto
new file mode 100644
index 00000000..9e39d1b6
--- /dev/null
+++ b/proto/Unk3100_MCIBDBBEKEK.proto
@@ -0,0 +1,25 @@
+// 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 Unk3100_MCIBDBBEKEK {
+ repeated uint32 Unk3100_NNOCAMHJFAO = 8;
+ uint32 Unk3100_NDGIJLCIEDB = 13;
+}
diff --git a/proto/Unk3100_MDELBDDANOC.proto b/proto/Unk3100_MDELBDDANOC.proto
new file mode 100644
index 00000000..7b8bc54f
--- /dev/null
+++ b/proto/Unk3100_MDELBDDANOC.proto
@@ -0,0 +1,27 @@
+// 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 Unk3100_MDELBDDANOC {
+ Vector init_pos = 13;
+ Vector forward = 2;
+}
diff --git a/proto/Unk3100_MDGBODAFNDA.proto b/proto/Unk3100_MDGBODAFNDA.proto
new file mode 100644
index 00000000..37a888ef
--- /dev/null
+++ b/proto/Unk3100_MDGBODAFNDA.proto
@@ -0,0 +1,29 @@
+// 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 "Unk3100_MCIBDBBEKEK.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 6370
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_MDGBODAFNDA {
+ repeated Unk3100_MCIBDBBEKEK Unk3100_DAOIJMIAAKP = 13;
+}
diff --git a/proto/Unk3100_MFCGFACPOGJ.proto b/proto/Unk3100_MFCGFACPOGJ.proto
new file mode 100644
index 00000000..6d35d9bf
--- /dev/null
+++ b/proto/Unk3100_MFCGFACPOGJ.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 573
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_MFCGFACPOGJ {
+ repeated uint32 Unk3100_MKNPIHFAGEP = 1;
+}
diff --git a/proto/Unk3100_MHHKLJEDNHN.proto b/proto/Unk3100_MHHKLJEDNHN.proto
new file mode 100644
index 00000000..170ab75c
--- /dev/null
+++ b/proto/Unk3100_MHHKLJEDNHN.proto
@@ -0,0 +1,26 @@
+// 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";
+
+// CmdId: 20731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_MHHKLJEDNHN {}
diff --git a/proto/Unk3100_NBBMHKJHJJI.proto b/proto/Unk3100_NBBMHKJHJJI.proto
new file mode 100644
index 00000000..42d50428
--- /dev/null
+++ b/proto/Unk3100_NBBMHKJHJJI.proto
@@ -0,0 +1,48 @@
+// 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 "Unk3100_IALGADDCFNN.proto";
+import "Unk3100_OMJPPGKDLEE.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3100_NBBMHKJHJJI {
+ bool Unk3100_PKKNECFBEBP = 1485;
+ bool Unk3100_IOHCNCOBALE = 15;
+ Unk3100_OMJPPGKDLEE Unk3100_CLGDGELKHLC = 11;
+ uint32 Unk3100_IFHHJEFBLNI = 7;
+ repeated uint32 Unk3100_GJLOIJIFDNI = 207;
+ bool Unk3100_FDBHCFMGHFD = 5;
+ repeated uint32 Unk3100_GIAEBCAMHIE = 8;
+ bool Unk3100_BHHJOJIOHNE = 10;
+ uint32 Unk3100_DMEBALJKLPF = 1800;
+ bool Unk3100_OECBCJGJIGJ = 2;
+ repeated uint32 Unk3100_BKOCJPHIPMJ = 14;
+ uint32 Unk3100_HHBELCHEDDM = 3;
+ map Unk3100_COPOPELALCM = 6;
+ uint32 Unk3100_NCEDBIKIAEK = 1798;
+ repeated uint32 Unk3100_CNBFLLOBGAH = 4;
+ bool Unk3100_FHADKJOEFMO = 366;
+ uint32 Unk3100_ELDLKBJPCCN = 1;
+ repeated Unk3100_IALGADDCFNN Unk3100_EBCHINDDHKP = 9;
+ uint32 Unk3100_JBLGMELHEEM = 760;
+ bool Unk3100_IDNAMCONOOL = 12;
+ bool Unk3100_IEBALILDNKL = 876;
+ repeated uint32 Unk3100_KHPFAPCPGBE = 13;
+}
diff --git a/proto/Unk3100_NNJNENGFHII.proto b/proto/Unk3100_NNJNENGFHII.proto
new file mode 100644
index 00000000..c5e2e002
--- /dev/null
+++ b/proto/Unk3100_NNJNENGFHII.proto
@@ -0,0 +1,28 @@
+// 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";
+
+// CmdId: 23147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_NNJNENGFHII {
+ uint32 Unk3100_BCHHFFJEJCD = 5;
+ uint32 coin_c = 11;
+}
diff --git a/proto/Unk3100_OCAPENGJILJ.proto b/proto/Unk3100_OCAPENGJILJ.proto
new file mode 100644
index 00000000..24f43289
--- /dev/null
+++ b/proto/Unk3100_OCAPENGJILJ.proto
@@ -0,0 +1,26 @@
+// 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 Unk3100_OCAPENGJILJ {
+ bool is_open = 12;
+ uint32 open_time = 14;
+ uint32 stage_id = 8;
+}
diff --git a/proto/Unk3100_OEAPOMDPBDE.proto b/proto/Unk3100_OEAPOMDPBDE.proto
new file mode 100644
index 00000000..ee4df4ed
--- /dev/null
+++ b/proto/Unk3100_OEAPOMDPBDE.proto
@@ -0,0 +1,32 @@
+// 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 "Unk3100_GINCGFOCGAI.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 21248
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_OEAPOMDPBDE {
+ uint32 Unk3100_CIJIHEGPEMB = 6;
+ repeated Unk3100_GINCGFOCGAI Unk3100_AELOKNKDCDE = 9;
+ repeated uint32 Unk3100_CKOJIKGDEPO = 8;
+}
diff --git a/proto/Unk3100_OGIPKMEFMDI.proto b/proto/Unk3100_OGIPKMEFMDI.proto
new file mode 100644
index 00000000..67aa7689
--- /dev/null
+++ b/proto/Unk3100_OGIPKMEFMDI.proto
@@ -0,0 +1,30 @@
+// 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";
+
+// CmdId: 22130
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_OGIPKMEFMDI {
+ uint32 Unk3100_POICNOLDOEK = 7;
+ uint32 Unk3100_IFHHJEFBLNI = 2;
+ uint32 Unk3100_PECHEBLPBAD = 5;
+ int32 retcode = 8;
+}
diff --git a/proto/Unk3100_OIDABBJEMCG.proto b/proto/Unk3100_OIDABBJEMCG.proto
new file mode 100644
index 00000000..50fd7bbd
--- /dev/null
+++ b/proto/Unk3100_OIDABBJEMCG.proto
@@ -0,0 +1,31 @@
+// 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 "CustomGadgetTreeInfo.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 20846
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message Unk3100_OIDABBJEMCG {
+ uint32 entity_id = 6;
+ CustomGadgetTreeInfo Unk2700_OCIHJFOKHPK = 11;
+}
diff --git a/proto/Unk3100_OMJOFLDLNDG.proto b/proto/Unk3100_OMJOFLDLNDG.proto
new file mode 100644
index 00000000..a526d715
--- /dev/null
+++ b/proto/Unk3100_OMJOFLDLNDG.proto
@@ -0,0 +1,27 @@
+// 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";
+
+// CmdId: 24142
+// EnetChannelId: 0
+// EnetIsReliable: true
+message Unk3100_OMJOFLDLNDG {
+ uint32 Unk3100_LINPNGLHPDL = 7;
+}
diff --git a/proto/Unk3100_OMJPPGKDLEE.proto b/proto/Unk3100_OMJPPGKDLEE.proto
new file mode 100644
index 00000000..2db66ed7
--- /dev/null
+++ b/proto/Unk3100_OMJPPGKDLEE.proto
@@ -0,0 +1,26 @@
+// 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 "Unk3100_JLKDDKHHFPO.proto";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message Unk3100_OMJPPGKDLEE {
+ map Unk3100_JHDGDENAJHO = 13;
+}
diff --git a/proto/Unk3100_PEBEPNKENON.proto b/proto/Unk3100_PEBEPNKENON.proto
new file mode 100644
index 00000000..1aba2e63
--- /dev/null
+++ b/proto/Unk3100_PEBEPNKENON.proto
@@ -0,0 +1,31 @@
+// 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