diff --git a/proto/AllWidgetDataNotify.proto b/proto/AllWidgetDataNotify.proto
index d65f8ff9..9f7a52a7 100644
--- a/proto/AllWidgetDataNotify.proto
+++ b/proto/AllWidgetDataNotify.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
import "AnchorPointData.proto";
import "ClientCollectorData.proto";
import "LunchBoxData.proto";
-import "OneofGatherPointDetectorData.proto";
+import "OneoffGatherPointDetectorData.proto";
import "SkyCrystalDetectorData.proto";
import "WeatherWizardData.proto";
import "WidgetCoolDownData.proto";
@@ -39,7 +39,7 @@ message AllWidgetDataNotify {
uint32 next_anchor_point_usable_time = 5;
LunchBoxData lunch_box_data = 1;
- repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 14;
+ repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 14;
repeated WidgetSlotData slot_list = 6;
repeated uint32 background_active_widget_list = 9;
repeated WidgetCoolDownData cool_down_group_data_list = 3;
diff --git a/proto/ChannelerSlabChallengeStage.proto b/proto/ChannelerSlabChallengeStage.proto
index 82f013bb..2b1ea607 100644
--- a/proto/ChannelerSlabChallengeStage.proto
+++ b/proto/ChannelerSlabChallengeStage.proto
@@ -18,13 +18,13 @@
syntax = "proto3";
import "ChannelerSlabChallenge.proto";
-import "ChannelerSlabOneofDungeon.proto";
+import "ChannelerSlabOneoffDungeon.proto";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabChallengeStage {
bool is_open = 4;
- ChannelerSlabOneofDungeon dungeon_info = 12;
+ ChannelerSlabOneoffDungeon dungeon_info = 12;
uint32 open_time = 13;
uint32 stage_id = 1;
repeated ChannelerSlabChallenge challenge_list = 2;
diff --git a/proto/ChannelerSlabOneOfDungeonInfoRsp.proto b/proto/ChannelerSlabOneOfDungeonInfoRsp.proto
deleted file mode 100644
index 189ffc65..00000000
--- a/proto/ChannelerSlabOneOfDungeonInfoRsp.proto
+++ /dev/null
@@ -1,33 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message 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
index 3225e330..2c7861e5 100644
--- a/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
+++ b/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
@@ -19,9 +19,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8729
-// EnetChannelId: 0
-// EnetIsReliable: true
message ChannelerSlabOneOffDungeonInfoNotify {
- repeated uint32 scheme_buff_id_list = 6;
+ // 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/ChannelerSlabOneOffDungeonInfoReq.proto b/proto/ChannelerSlabOneOffDungeonInfoReq.proto
index 3f92f3d9..1c6aee5b 100644
--- a/proto/ChannelerSlabOneOffDungeonInfoReq.proto
+++ b/proto/ChannelerSlabOneOffDungeonInfoReq.proto
@@ -19,8 +19,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 8409
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message ChannelerSlabOneOffDungeonInfoReq {}
+message ChannelerSlabOneOffDungeonInfoReq {
+ // 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/ChannelerSlabOneOffDungeonInfoRsp.proto b/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
index fa301395..9dc7385c 100644
--- a/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
+++ b/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
@@ -19,10 +19,15 @@ 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;
+ // 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/ChannelerSlabOneofDungeon.proto b/proto/ChannelerSlabOneofDungeon.proto
index 5405b978..748f300d 100644
--- a/proto/ChannelerSlabOneofDungeon.proto
+++ b/proto/ChannelerSlabOneofDungeon.proto
@@ -20,7 +20,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChannelerSlabOneofDungeon {
- uint32 dungeon_id = 6;
- bool is_done = 1;
- uint32 reward_id = 5;
+ bool is_done = 8;
+ uint32 dungeon_id = 12;
+ uint32 reward_id = 13;
}
diff --git a/proto/ChannelerSlabOneOfDungeonInfoReq.proto b/proto/ChannelerSlabOneoffDungeon.proto
similarity index 80%
rename from proto/ChannelerSlabOneOfDungeonInfoReq.proto
rename to proto/ChannelerSlabOneoffDungeon.proto
index f7a347d7..4793f4ed 100644
--- a/proto/ChannelerSlabOneOfDungeonInfoReq.proto
+++ b/proto/ChannelerSlabOneoffDungeon.proto
@@ -19,13 +19,8 @@ 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;
- // }
+message ChannelerSlabOneoffDungeon {
+ uint32 dungeon_id = 6;
+ bool is_done = 1;
+ uint32 reward_id = 5;
}
diff --git a/proto/ChannelerSlabStageOneofDungeonNotify.proto b/proto/ChannelerSlabStageOneofDungeonNotify.proto
index 7595e194..145934ea 100644
--- a/proto/ChannelerSlabStageOneofDungeonNotify.proto
+++ b/proto/ChannelerSlabStageOneofDungeonNotify.proto
@@ -19,15 +19,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
+// CmdId: 8203
+// EnetChannelId: 0
+// EnetIsReliable: true
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;
+ uint32 stage_id = 2;
+ bool is_done = 8;
}
diff --git a/proto/ChannelerSlabOneOfDungeonInfoNotify.proto b/proto/ChannelerSlabStageOneoffDungeonNotify.proto
similarity index 90%
rename from proto/ChannelerSlabOneOfDungeonInfoNotify.proto
rename to proto/ChannelerSlabStageOneoffDungeonNotify.proto
index e661746b..9486e275 100644
--- a/proto/ChannelerSlabOneOfDungeonInfoNotify.proto
+++ b/proto/ChannelerSlabStageOneoffDungeonNotify.proto
@@ -19,14 +19,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-message ChannelerSlabOneOfDungeonInfoNotify {
+message ChannelerSlabStageOneoffDungeonNotify {
// enum CmdId {
// option allow_alias = true;
// NONE = 0;
- // CMD_ID = 8015;
+ // CMD_ID = 8692;
// ENET_CHANNEL_ID = 0;
// ENET_IS_RELIABLE = 1;
// }
- repeated uint32 scheme_buff_id_list = 8;
+ bool is_done = 6;
+ uint32 stage_id = 13;
}
diff --git a/proto/GetPlayerTokenReq.proto b/proto/GetPlayerTokenReq.proto
index 2d2a6c03..22bf9abe 100644
--- a/proto/GetPlayerTokenReq.proto
+++ b/proto/GetPlayerTokenReq.proto
@@ -34,7 +34,7 @@ message GetPlayerTokenReq {
uint32 platform_type = 2;
bool is_guest = 14;
string online_id = 12;
- uint32 Unk3300_FDNAJOFMOAK = 6;
+ uint32 account_type = 6;
uint32 channel_id = 8;
string client_rand_key = 400;
string Unk3300_PHNOHCKIHIA = 3;
diff --git a/proto/GetPlayerTokenRsp.proto b/proto/GetPlayerTokenRsp.proto
index da1eb185..fb829126 100644
--- a/proto/GetPlayerTokenRsp.proto
+++ b/proto/GetPlayerTokenRsp.proto
@@ -37,7 +37,7 @@ message GetPlayerTokenRsp {
uint32 key_id = 134;
string sign = 1666;
string secret_key = 15;
- uint32 Unk3300_FDNAJOFMOAK = 8;
+ uint32 account_type = 8;
uint32 channel_id = 676;
bytes extra_bin_data = 5;
uint64 secret_key_seed = 3;
diff --git a/proto/GetScenePointRsp.proto b/proto/GetScenePointRsp.proto
index 874758ea..388af62d 100644
--- a/proto/GetScenePointRsp.proto
+++ b/proto/GetScenePointRsp.proto
@@ -28,16 +28,16 @@ message GetScenePointRsp {
// ENET_IS_RELIABLE = 1;
// }
- repeated uint32 Unk3300_NFDMMIOFECO = 9;
- repeated uint32 Unk3300_FKANNCGJEFJ = 15;
+ repeated uint32 unlock_area_list = 9;
+ repeated uint32 locked_point_list = 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;
+ repeated uint32 unhide_point_list = 3;
+ repeated uint32 hide_point_list = 10;
+ repeated uint32 group_unlimit_point_list = 1;
+ repeated uint32 not_interact_dungeon_entry_list = 11;
+ repeated uint32 to_be_explore_dungeon_entry_list = 6;
+ repeated uint32 not_explored_dungeon_entry_list = 7;
uint32 belong_uid = 12;
- repeated uint32 Unk3300_GEDEFAIHKMH = 2;
+ repeated uint32 unlocked_point_list = 2;
uint32 scene_id = 8;
}
diff --git a/proto/MarkMapReq.proto b/proto/MarkMapReq.proto
index 8830e0d7..90e8de02 100644
--- a/proto/MarkMapReq.proto
+++ b/proto/MarkMapReq.proto
@@ -39,6 +39,6 @@ message MarkMapReq {
}
Operation op = 3;
- MapMarkPoint Unk3300_IEBKBPOBECB = 6;
- MapMarkPoint Unk3300_BGFDGKONNBI = 13;
+ MapMarkPoint old = 6;
+ MapMarkPoint mark = 13;
}
diff --git a/proto/OneofGatherPointDetectorData.proto b/proto/OneofGatherPointDetectorData.proto
index f1e47166..9feb5bc0 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 {
- 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;
+ 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;
}
diff --git a/proto/OneofGatherPointDetectorDataNotify.proto b/proto/OneofGatherPointDetectorDataNotify.proto
index 63b0b378..47622173 100644
--- a/proto/OneofGatherPointDetectorDataNotify.proto
+++ b/proto/OneofGatherPointDetectorDataNotify.proto
@@ -21,14 +21,9 @@ import "OneofGatherPointDetectorData.proto";
option java_package = "emu.grasscutter.net.proto";
+// CmdId: 4297
+// EnetChannelId: 0
+// EnetIsReliable: true
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;
+ repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 3;
}
diff --git a/proto/OneoffGatherPointDetectorData.proto b/proto/OneoffGatherPointDetectorData.proto
index 1a33adeb..c4aab554 100644
--- a/proto/OneoffGatherPointDetectorData.proto
+++ b/proto/OneoffGatherPointDetectorData.proto
@@ -1,16 +1,32 @@
// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
-option java_package = "emu.grasscutter.net.proto";
+syntax = "proto3";
import "Vector.proto";
+option java_package = "emu.grasscutter.net.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;
+ 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/OneoffGatherPointDetectorDataNotify.proto b/proto/OneoffGatherPointDetectorDataNotify.proto
index 03f12c5b..3ada880e 100644
--- a/proto/OneoffGatherPointDetectorDataNotify.proto
+++ b/proto/OneoffGatherPointDetectorDataNotify.proto
@@ -1,18 +1,34 @@
// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
-option java_package = "emu.grasscutter.net.proto";
+syntax = "proto3";
import "OneoffGatherPointDetectorData.proto";
-message OneoffGatherPointDetectorDataNotify {
- enum CmdId {
- option allow_alias = true;
- NONE = 0;
- ENET_CHANNEL_ID = 0;
- ENET_IS_RELIABLE = 1;
- CMD_ID = 4262;
- }
+option java_package = "emu.grasscutter.net.proto";
- repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 6;
+message OneoffGatherPointDetectorDataNotify {
+ // enum CmdId {
+ // option allow_alias = true;
+ // NONE = 0;
+ // CMD_ID = 4293;
+ // ENET_CHANNEL_ID = 0;
+ // ENET_IS_RELIABLE = 1;
+ // }
+
+ repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 2;
}
diff --git a/proto/PlayerLoginReq.proto b/proto/PlayerLoginReq.proto
index 066cf494..83188c4b 100644
--- a/proto/PlayerLoginReq.proto
+++ b/proto/PlayerLoginReq.proto
@@ -36,25 +36,25 @@ message PlayerLoginReq {
uint32 target_uid = 10;
bytes extra_bin_data = 2046;
string platform = 4;
- string Unk3300_LNPPCJMBOMN = 1334;
+ string checksum = 1334;
uint32 channel_id = 1565;
- string Unk3300_EJBMMPBPDBE = 2040;
+ string client_verison_hash = 2040;
uint32 language_type = 11;
uint32 client_data_version = 847;
- uint32 Unk3300_FDNAJOFMOAK = 7;
+ uint32 account_type = 7;
string Unk3300_BBAABEHNFOE = 868;
string online_id = 577;
uint32 Unk3300_PMGFBMJNNCL = 82;
- string Unk3300_EAMDLGIILGK = 12;
+ string device_name = 12;
string birthday = 875;
uint32 tag = 525;
string account_uid = 14;
- string Unk3300_NALKBABGLDG = 15;
+ string device_info = 15;
uint32 Unk3300_IADFJHNFKIB = 1458;
bool is_editor = 1;
string token = 8;
uint32 reg_platform = 424;
- string Unk3300_CHDCMLIBMPO = 581;
+ string checksum_client_version = 581;
uint32 Unk3300_OOBHAIIIPHH = 85;
uint32 Unk3300_NDLANBEIGEG = 1320;
string country_code = 104;
@@ -64,14 +64,14 @@ message PlayerLoginReq {
string Unk3300_BIAKNIALBFJ = 828;
string client_version = 2;
bool is_guest = 13;
- string Unk3300_OBJKBHMKJGM = 6;
+ string system_version = 6;
uint32 target_home_owner_uid = 899;
string psn_id = 1146;
- bytes Unk3300_ILHAIPDJIMH = 874;
+ bytes security_cmd_reply = 874;
uint32 Unk3300_OFFHPAFIFGD = 1028;
uint64 login_rand = 9;
AdjustTrackingInfo adjust_tracking_info = 64;
- bytes Unk3300_FCDEBMBICIJ = 256;
+ bytes environment_error_code = 256;
uint32 platform_type = 3;
- string Unk3300_CFLCCIICKDE = 1983;
+ string cps = 1983;
}
diff --git a/proto/QuickUseWidgetRsp.proto b/proto/QuickUseWidgetRsp.proto
index 96729369..e5bdeee4 100644
--- a/proto/QuickUseWidgetRsp.proto
+++ b/proto/QuickUseWidgetRsp.proto
@@ -18,7 +18,7 @@
syntax = "proto3";
import "ClientCollectorData.proto";
-import "OneofGatherPointDetectorData.proto";
+import "OneoffGatherPointDetectorData.proto";
import "SkyCrystalDetectorQuickUseResult.proto";
option java_package = "emu.grasscutter.net.proto";
@@ -35,7 +35,7 @@ message QuickUseWidgetRsp {
uint32 material_id = 11;
int32 retcode = 12;
oneof param {
- OneofGatherPointDetectorData detector_data = 14;
+ OneoffGatherPointDetectorData detector_data = 14;
ClientCollectorData client_collector_data = 10;
SkyCrystalDetectorQuickUseResult sky_crystal_detector_quick_use_result = 172322;
}
diff --git a/proto/ScenePointUnlockNotify.proto b/proto/ScenePointUnlockNotify.proto
index d0a24863..cfc32344 100644
--- a/proto/ScenePointUnlockNotify.proto
+++ b/proto/ScenePointUnlockNotify.proto
@@ -28,9 +28,9 @@ message ScenePointUnlockNotify {
// ENET_IS_RELIABLE = 1;
// }
- repeated uint32 Unk3300_PIGCABAAMMB = 10;
- repeated uint32 Unk3300_FKANNCGJEFJ = 5;
+ repeated uint32 hide_point_list = 10;
+ repeated uint32 locked_point_list = 5;
uint32 scene_id = 11;
repeated uint32 point_list = 6;
- repeated uint32 Unk3300_FGPKDGFLJOF = 1;
+ repeated uint32 unhide_point_list = 1;
}