From 58542ed979d4b81c4155a1890641ae10f653ae32 Mon Sep 17 00:00:00 2001
From: Yuuki <6851027-yukiz@users.noreply.gitlab.com>
Date: Sat, 8 Jun 2024 14:18:08 +0800
Subject: [PATCH] sync proto
---
deobf.proto | 2 +-
proto/AddQuestContentProgressReq.proto | 29 +++------
proto/AddQuestContentProgressRsp.proto | 27 ++-------
proto/AiSkillCdInfo.proto | 8 ++-
proto/AvatarSkillDepotChangeNotify.proto | 37 ++++--------
proto/BNAIFNLBGOL.proto | 11 ++++
proto/BartenderGetFormulaReq.proto | 13 ++++
proto/BlessingAcceptGivePicRsp.proto | 11 ++++
proto/CanUseSkillNotify.proto | 24 ++------
proto/ChallengeBrief.proto | 30 +++-------
proto/ChallengeDataNotify.proto | 30 +++-------
proto/ChallengeFinishType.proto | 22 ++-----
proto/ChangeGameTimeReq.proto | 11 ++--
.../ChannelerSlabLoopDungeonResultInfo.proto | 12 ++++
proto/ChildQuest.proto | 27 +++------
proto/CityReputationRequestInfo.proto | 16 +++++
proto/CustomDungeonFinishType.proto | 20 +------
proto/CustomDungeonResultInfo.proto | 35 ++++-------
proto/CutSceneBeginNotify.proto | 31 +++-------
proto/CutSceneEndNotify.proto | 10 ++++
proto/CutSceneExtraParam.proto | 22 ++-----
proto/CutSceneFinishNotify.proto | 9 +++
proto/DungeonChallengeBeginNotify.proto | 17 +++---
proto/DungeonChallengeFinishNotify.proto | 40 +++++++------
proto/DungeonDataNotify.proto | 9 +++
proto/DungeonEnterPosInfo.proto | 9 ++-
proto/DungeonSettleExhibitionInfo.proto | 29 +++------
proto/DungeonSettleNotify.proto | 57 ++++++++++++++----
proto/EffigyChallengeDungeonResultInfo.proto | 32 +++-------
proto/EvtAiSyncSkillCdNotify.proto | 7 ++-
proto/ExhibitionDisplayInfo.proto | 22 ++-----
proto/FinishedParentQuestNotify.proto | 24 ++------
proto/FinishedParentQuestUpdateNotify.proto | 24 ++------
proto/FurnitureMakeData.proto | 35 ++++-------
proto/GachaSimpleInfoNotify.proto | 9 +++
proto/GetParentQuestVideoKeyRsp.proto | 29 +++------
proto/GetQuestLackingResourceRsp.proto | 32 +++-------
proto/InferencePageInfo.proto | 30 +++-------
proto/InferenceWordInfo.proto | 13 ++++
proto/Investigation.proto | 34 ++++-------
proto/InvestigationTarget.proto | 34 ++++-------
proto/ItemRenameAvatarReq.proto | 27 ++-------
proto/ItemRenameAvatarRsp.proto | 29 +++------
proto/LackingResourceInfo.proto | 17 ++++++
proto/LockedPersonallineData.proto | 47 +++++----------
proto/LunaRiteAreaInfo.proto | 34 ++++-------
proto/LunaRiteHintStatusType.proto | 23 ++------
proto/ParamList.proto | 22 ++-----
proto/ParentQuest.proto | 49 +++++++--------
proto/ParentQuestInferenceDataNotify.proto | 28 +++------
proto/ParentQuestRandomInfo.proto | 29 +++------
proto/PlayerEnterDungeonReq.proto | 12 ++--
proto/PlayerEnterDungeonRsp.proto | 11 ++--
proto/PlayerEnterSceneNotify.proto | 38 ++++++++----
proto/PlayerInvestigationAllInfoNotify.proto | 24 ++------
proto/PlayerInvestigationNotify.proto | 26 ++------
proto/PlayerInvestigationTargetNotify.proto | 24 ++------
proto/PlayerQuitDungeonReq.proto | 9 ++-
proto/PlayerQuitDungeonRsp.proto | 10 ++++
proto/PlayerReportReq.proto | 17 ++++++
proto/PlayerReportRsp.proto | 10 ++++
proto/PotionDungeonResultInfo.proto | 34 ++++-------
proto/ProudSkillChangeNotify.proto | 29 +++------
proto/Quest.proto | 35 ++++-------
proto/QuestDestroyNpcReq.proto | 25 ++------
proto/QuestDestroyNpcRsp.proto | 29 +++------
proto/QuestGlobalVar.proto | 25 ++------
proto/QuestGlobalVarNotify.proto | 26 ++------
proto/QuestListNotify.proto | 26 ++------
proto/QuestListUpdateNotify.proto | 26 ++------
proto/QuestProgressUpdateNotify.proto | 29 +++------
proto/QuestRenameAvatarReq.proto | 27 ++-------
proto/QuestRenameAvatarRsp.proto | 31 +++-------
proto/QuestTransmitReq.proto | 29 +++------
proto/QuestTransmitRsp.proto | 29 +++------
proto/QuestUpdateQuestTimeVarNotify.proto | 27 ++-------
proto/QuestUpdateQuestVarNotify.proto | 29 +++------
proto/QuestUpdateQuestVarReq.proto | 13 ++--
proto/QuestUpdateQuestVarRsp.proto | 29 +++------
proto/QuestVarOp.proto | 11 ++--
proto/ReportReasonType.proto | 15 +++++
proto/ReportSubtype.proto | 14 +++++
proto/SeaLampContributeItemRsp.proto | 31 +++-------
proto/SelectWorktopOptionReq.proto | 9 ++-
proto/SelectWorktopOptionRsp.proto | 11 ++--
proto/StrengthenPointData.proto | 24 ++------
.../TakeCityReputationExploreRewardReq.proto | 9 +++
.../TakeCityReputationExploreRewardRsp.proto | 13 ++++
proto/TakeCityReputationParentQuestReq.proto | 27 ++-------
proto/TakeCityReputationParentQuestRsp.proto | 32 +++-------
proto/TowerAllDataReq.proto | 26 ++------
proto/TowerAllDataRsp.proto | 59 ++++++++-----------
proto/TowerBriefDataNotify.proto | 15 +++++
proto/TowerCurLevelRecord.proto | 33 ++++-------
proto/TowerCurLevelRecordChangeNotify.proto | 27 +++------
...TowerDailyRewardProgressChangeNotify.proto | 10 ++++
proto/TowerEnterLevelReq.proto | 26 ++------
proto/TowerEnterLevelRsp.proto | 32 +++-------
proto/TowerFightRecordPair.proto | 9 +++
proto/TowerFloorRecord.proto | 31 +++-------
proto/TowerFloorRecordChangeNotify.proto | 29 +++------
proto/TowerGetFloorStarRewardReq.proto | 9 +++
proto/TowerGetFloorStarRewardRsp.proto | 10 ++++
proto/TowerLevelEndNotify.proto | 28 +++++----
proto/TowerLevelRecord.proto | 26 ++------
proto/TowerLevelStarCondData.proto | 28 +++------
proto/TowerLevelStarCondNotify.proto | 29 +++------
proto/TowerMonthlyBrief.proto | 30 +++-------
proto/TowerMonthlyCombatRecord.proto | 15 +++++
proto/TowerMonthlyDetail.proto | 12 ++++
proto/TowerRecordHandbookRsp.proto | 12 ++++
proto/TowerTeam.proto | 26 ++------
proto/TowerTeamSelectReq.proto | 29 +++------
proto/TrialAvatarFirstPassDungeonNotify.proto | 6 +-
proto/WatcherEventNotify.proto | 9 +++
proto/WatcherEventStageNotify.proto | 10 ++++
proto/WatcherEventTypeNotify.proto | 10 ++++
117 files changed, 1071 insertions(+), 1618 deletions(-)
create mode 100644 proto/BNAIFNLBGOL.proto
create mode 100644 proto/BartenderGetFormulaReq.proto
create mode 100644 proto/BlessingAcceptGivePicRsp.proto
create mode 100644 proto/ChannelerSlabLoopDungeonResultInfo.proto
create mode 100644 proto/CityReputationRequestInfo.proto
create mode 100644 proto/CutSceneEndNotify.proto
create mode 100644 proto/CutSceneFinishNotify.proto
create mode 100644 proto/DungeonDataNotify.proto
create mode 100644 proto/GachaSimpleInfoNotify.proto
create mode 100644 proto/InferenceWordInfo.proto
create mode 100644 proto/LackingResourceInfo.proto
create mode 100644 proto/PlayerQuitDungeonRsp.proto
create mode 100644 proto/PlayerReportReq.proto
create mode 100644 proto/PlayerReportRsp.proto
create mode 100644 proto/ReportReasonType.proto
create mode 100644 proto/ReportSubtype.proto
create mode 100644 proto/TakeCityReputationExploreRewardReq.proto
create mode 100644 proto/TakeCityReputationExploreRewardRsp.proto
create mode 100644 proto/TowerBriefDataNotify.proto
create mode 100644 proto/TowerDailyRewardProgressChangeNotify.proto
create mode 100644 proto/TowerFightRecordPair.proto
create mode 100644 proto/TowerGetFloorStarRewardReq.proto
create mode 100644 proto/TowerGetFloorStarRewardRsp.proto
create mode 100644 proto/TowerMonthlyCombatRecord.proto
create mode 100644 proto/TowerMonthlyDetail.proto
create mode 100644 proto/TowerRecordHandbookRsp.proto
create mode 100644 proto/WatcherEventNotify.proto
create mode 100644 proto/WatcherEventStageNotify.proto
create mode 100644 proto/WatcherEventTypeNotify.proto
diff --git a/deobf.proto b/deobf.proto
index 942792d5..0b3737c1 100644
--- a/deobf.proto
+++ b/deobf.proto
@@ -26381,7 +26381,7 @@ message GLGOCFNCMJP {
}
// CmdId: 3564
-message AHDFJPOBOJJ {
+message AvatarPromoteRsp {
uint64 guid = 13;
int32 retcode = 15;
}
diff --git a/proto/AddQuestContentProgressReq.proto b/proto/AddQuestContentProgressReq.proto
index fbef7781..6b162e40 100644
--- a/proto/AddQuestContentProgressReq.proto
+++ b/proto/AddQuestContentProgressReq.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3824
-// Obf: AIJHHIHHOHI
+
+// CmdId: 8699
message AddQuestContentProgressReq {
- uint32 add_progress = 7;
- uint32 content_type = 1;
- uint32 param = 6;
-}
+ uint32 content_type = 6;
+ uint32 param = 10;
+ uint32 add_progress = 11;
+}
\ No newline at end of file
diff --git a/proto/AddQuestContentProgressRsp.proto b/proto/AddQuestContentProgressRsp.proto
index dce2d97b..d66c1771 100644
--- a/proto/AddQuestContentProgressRsp.proto
+++ b/proto/AddQuestContentProgressRsp.proto
@@ -1,24 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5514
-// Obf: FGGNCOHIPDL
+
+// CmdId: 23613
message AddQuestContentProgressRsp {
- int32 retcode = 12;
- uint32 content_type = 10;
-}
+ int32 retcode = 5;
+ uint32 content_type = 14;
+}
\ No newline at end of file
diff --git a/proto/AiSkillCdInfo.proto b/proto/AiSkillCdInfo.proto
index 254a2ec9..c20b4114 100644
--- a/proto/AiSkillCdInfo.proto
+++ b/proto/AiSkillCdInfo.proto
@@ -1,7 +1,9 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// 4.6.0
message AiSkillCdInfo {
- map skill_cd_map = 6;
- map skill_group_cd_map = 13;
-}
+ map skill_cd_map = 1;
+ map skill_group_cd_map = 8;
+}
\ No newline at end of file
diff --git a/proto/AvatarSkillDepotChangeNotify.proto b/proto/AvatarSkillDepotChangeNotify.proto
index 1c4d622b..b519ae4f 100644
--- a/proto/AvatarSkillDepotChangeNotify.proto
+++ b/proto/AvatarSkillDepotChangeNotify.proto
@@ -1,30 +1,15 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 3748
-// Obf: LEIEOELEMFM
+
+// CmdId: 25636
message AvatarSkillDepotChangeNotify {
- uint64 avatar_guid = 9;
- uint32 core_proud_skill_level = 1;
- repeated uint32 proud_skill_list = 3;
- uint32 entity_id = 10;
- map proud_skill_extra_level_map = 4;
- repeated uint32 talent_id_list = 7;
- map skill_level_map = 13;
+ uint32 entity_id = 3;
+ uint32 core_proud_skill_level = 5;
+ map proud_skill_extra_level_map = 7;
+ uint64 avatar_guid = 8;
+ map skill_level_map = 9;
+ repeated uint32 proud_skill_list = 11;
+ repeated uint32 talent_id_list = 12;
uint32 skill_depot_id = 14;
-}
+}
\ No newline at end of file
diff --git a/proto/BNAIFNLBGOL.proto b/proto/BNAIFNLBGOL.proto
new file mode 100644
index 00000000..f769f776
--- /dev/null
+++ b/proto/BNAIFNLBGOL.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// Obfs: BNAIFNLBGOL
+message BNAIFNLBGOL {
+ bool is_success = 1;
+ uint32 DPNNPLCCDEL = 7;
+ uint32 DPEBFHMKICN = 12;
+}
\ No newline at end of file
diff --git a/proto/BartenderGetFormulaReq.proto b/proto/BartenderGetFormulaReq.proto
new file mode 100644
index 00000000..994c6ea3
--- /dev/null
+++ b/proto/BartenderGetFormulaReq.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "ItemParam.proto";
+
+// CmdId: 8526
+// Version: 4.6.0
+// Obfs: MDIPHMMHBNG
+message BartenderGetFormulaReq {
+ repeated ItemParam item_list = 7;
+ uint32 quest_id = 13;
+}
\ No newline at end of file
diff --git a/proto/BlessingAcceptGivePicRsp.proto b/proto/BlessingAcceptGivePicRsp.proto
new file mode 100644
index 00000000..08851ceb
--- /dev/null
+++ b/proto/BlessingAcceptGivePicRsp.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 9387
+message BlessingAcceptGivePicRsp {
+ uint32 pic_id = 5;
+ uint32 uid = 8;
+ uint32 index = 9;
+ int32 retcode = 14;
+}
\ No newline at end of file
diff --git a/proto/CanUseSkillNotify.proto b/proto/CanUseSkillNotify.proto
index 3077f293..24b0e806 100644
--- a/proto/CanUseSkillNotify.proto
+++ b/proto/CanUseSkillNotify.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1186
-// Obf: DBEMADCMEEF
+
+// Version: 4.6.0
+// CmdId: 5279
message CanUseSkillNotify {
- bool is_can_use_skill = 8;
+ bool is_can_use_skill = 2;
}
diff --git a/proto/ChallengeBrief.proto b/proto/ChallengeBrief.proto
index 520c8112..2cf7de8c 100644
--- a/proto/ChallengeBrief.proto
+++ b/proto/ChallengeBrief.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: LECFLFKFOOL
+
+// 4.6.0
message ChallengeBrief {
- uint32 challenge_id = 14;
- uint32 cur_progress = 3;
- bool is_success = 9;
- uint32 challenge_index = 15;
-}
+ bool is_success = 3;
+ uint32 cur_progress = 7;
+ uint32 challenge_index = 8;
+ uint32 challenge_id = 9;
+}
\ No newline at end of file
diff --git a/proto/ChallengeDataNotify.proto b/proto/ChallengeDataNotify.proto
index 337d08ff..14736ac2 100644
--- a/proto/ChallengeDataNotify.proto
+++ b/proto/ChallengeDataNotify.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2864
-// Obf: MFANHHFJIBJ
+
+// 4.6.0
+// CmdId: 2570
message ChallengeDataNotify {
- uint32 challenge_index = 5;
- uint32 param_index = 9;
- uint32 value = 8;
-}
+ uint32 challenge_index = 6;
+ uint32 value = 7;
+ uint32 param_index = 8;
+}
\ No newline at end of file
diff --git a/proto/ChallengeFinishType.proto b/proto/ChallengeFinishType.proto
index 0cf190ff..7e8ef9b2 100644
--- a/proto/ChallengeFinishType.proto
+++ b/proto/ChallengeFinishType.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: KKEOIBNCMCK
+
+// 4.6.0
enum ChallengeFinishType {
CHALLENGE_FINISH_TYPE_NONE = 0;
CHALLENGE_FINISH_TYPE_FAIL = 1;
CHALLENGE_FINISH_TYPE_SUCC = 2;
CHALLENGE_FINISH_TYPE_PAUSE = 3;
-}
+}
\ No newline at end of file
diff --git a/proto/ChangeGameTimeReq.proto b/proto/ChangeGameTimeReq.proto
index e1407ecb..03bfab31 100644
--- a/proto/ChangeGameTimeReq.proto
+++ b/proto/ChangeGameTimeReq.proto
@@ -1,8 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// CmdId: 26138
+// Version: 4.6.0
message ChangeGameTimeReq {
- bool is_force_set = 1;
- uint32 extra_days = 2;
- uint32 game_time = 9;
-}
+ bool is_force_set = 7;
+ uint32 game_time = 15;
+ uint32 extra_days = 65535; // VMPED
+}
\ No newline at end of file
diff --git a/proto/ChannelerSlabLoopDungeonResultInfo.proto b/proto/ChannelerSlabLoopDungeonResultInfo.proto
new file mode 100644
index 00000000..551aa5c0
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonResultInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+message ChannelerSlabLoopDungeonResultInfo {
+ uint32 challenge_max_score = 1;
+ uint32 dungeon_index = 2;
+ bool is_success = 3;
+ uint32 challenge_score = 6;
+ bool is_in_time_limit = 13;
+}
\ No newline at end of file
diff --git a/proto/ChildQuest.proto b/proto/ChildQuest.proto
index 8d92222d..bc61f914 100644
--- a/proto/ChildQuest.proto
+++ b/proto/ChildQuest.proto
@@ -1,24 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: DHJCFBHIJFE
+
+// Version: 4.6.0
+// Obfs: CCOMDFHOPAL
message ChildQuest {
- uint32 quest_config_id = 6;
+ uint32 state = 1;
+ uint32 quest_config_id = 2;
uint32 quest_id = 11;
- uint32 state = 2;
-}
+}
\ No newline at end of file
diff --git a/proto/CityReputationRequestInfo.proto b/proto/CityReputationRequestInfo.proto
new file mode 100644
index 00000000..198db11d
--- /dev/null
+++ b/proto/CityReputationRequestInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// Obfs: JNIMFEJFNOO
+message CityReputationRequestInfo {
+ message RequestInfo {
+ uint32 request_id = 1;
+ bool is_taken_reward = 11;
+ uint32 quest_id = 14;
+ }
+
+ bool is_open = 6;
+ repeated RequestInfo request_info_list = 15;
+}
\ No newline at end of file
diff --git a/proto/CustomDungeonFinishType.proto b/proto/CustomDungeonFinishType.proto
index d11723d6..6dd1d92c 100644
--- a/proto/CustomDungeonFinishType.proto
+++ b/proto/CustomDungeonFinishType.proto
@@ -1,22 +1,8 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: AJGOAOOHDHK
+
+// Version: 4.6.0
enum CustomDungeonFinishType {
CUSTOM_DUNGEON_FINISH_PLAY_NORMAL = 0;
CUSTOM_DUNGEON_FINISH_PLAY_TRY = 1;
diff --git a/proto/CustomDungeonResultInfo.proto b/proto/CustomDungeonResultInfo.proto
index e30023dc..8d440d69 100644
--- a/proto/CustomDungeonResultInfo.proto
+++ b/proto/CustomDungeonResultInfo.proto
@@ -1,31 +1,18 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "CustomDungeonFinishType.proto";
import "ChallengeBrief.proto";
-// Obf: HMBINEDPAHO
+
+// Version: 4.6.0
message CustomDungeonResultInfo {
- uint32 got_coin_num = 3;
- CustomDungeonFinishType finish_type = 14;
- repeated ChallengeBrief child_challenge_list = 12;
+ CustomDungeonFinishType finish_type = 1;
+ bool AOFLEOKAPPE = 4;
+ uint32 get_coin_num = 5;
+ repeated ChallengeBrief child_challenge_list = 6;
+ uint32 time_cost = 8;
uint64 dungeon_guid = 11;
- bool is_liked = 7;
- uint32 time_cost = 2;
- bool is_stored = 15;
- bool is_arrive_finish = 5;
+ bool JLPAPANBLCE = 12;
+ bool PGEHHNIADBK = 14;
}
diff --git a/proto/CutSceneBeginNotify.proto b/proto/CutSceneBeginNotify.proto
index 4c176907..89aa25f7 100644
--- a/proto/CutSceneBeginNotify.proto
+++ b/proto/CutSceneBeginNotify.proto
@@ -1,26 +1,13 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "CutSceneExtraParam.proto";
-// CmdId: 418
-// Obf: LKBOJOLENCC
+
+// 4.6.0
+// CmdId: 28649
message CutSceneBeginNotify {
- uint32 cutscene_id = 11;
- bool is_wait_others = 8;
- repeated CutSceneExtraParam extra_param_list = 15;
-}
+ repeated CutSceneExtraParam extra_param_list = 2;
+ bool is_wait_others = 6;
+ uint32 cutscene_id = 12;
+}
\ No newline at end of file
diff --git a/proto/CutSceneEndNotify.proto b/proto/CutSceneEndNotify.proto
new file mode 100644
index 00000000..87678b17
--- /dev/null
+++ b/proto/CutSceneEndNotify.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 579
+message CutSceneEndNotify {
+ int32 retcode = 7;
+ uint32 cutscene_id = 12;
+}
\ No newline at end of file
diff --git a/proto/CutSceneExtraParam.proto b/proto/CutSceneExtraParam.proto
index c65b2d07..b98b5dd4 100644
--- a/proto/CutSceneExtraParam.proto
+++ b/proto/CutSceneExtraParam.proto
@@ -1,22 +1,8 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: LHEBFKHNPDH
+
+// 4.6.0
message CutSceneExtraParam {
- repeated double detail_param_list = 14;
+ repeated double detail_param_list = 12;
}
diff --git a/proto/CutSceneFinishNotify.proto b/proto/CutSceneFinishNotify.proto
new file mode 100644
index 00000000..489cad9e
--- /dev/null
+++ b/proto/CutSceneFinishNotify.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 26365
+message CutSceneFinishNotify {
+ uint32 cutscene_id = 3;
+}
\ No newline at end of file
diff --git a/proto/DungeonChallengeBeginNotify.proto b/proto/DungeonChallengeBeginNotify.proto
index 0df265aa..771e7b1f 100644
--- a/proto/DungeonChallengeBeginNotify.proto
+++ b/proto/DungeonChallengeBeginNotify.proto
@@ -1,11 +1,14 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// Version: 4.6.0
+// CmdId: 26552
message DungeonChallengeBeginNotify {
- repeated uint32 param_list = 4;
- repeated uint32 uid_list = 12;
- uint32 challenge_id = 10;
- uint32 group_id = 8;
- uint32 father_index = 5;
- uint32 challenge_index = 11;
-}
+ uint32 challenge_id = 2;
+ repeated uint32 param_list = 4;
+ uint32 group_id = 5;
+ uint32 father_index = 6;
+ uint32 challenge_index = 9;
+ repeated uint32 uid_list = 12;
+}
\ No newline at end of file
diff --git a/proto/DungeonChallengeFinishNotify.proto b/proto/DungeonChallengeFinishNotify.proto
index 69a57fdc..1fb64187 100644
--- a/proto/DungeonChallengeFinishNotify.proto
+++ b/proto/DungeonChallengeFinishNotify.proto
@@ -1,25 +1,29 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ChallengeFinishType.proto";
-import "StrengthenPointData.proto";
-import "ChannellerSlabLoopDungeonResultInfo.proto";
+import "ChannelerSlabLoopDungeonResultInfo.proto";
+import "CustomDungeonResultInfo.proto";
import "EffigyChallengeDungeonResultInfo.proto";
import "PotionDungeonResultInfo.proto";
-import "CustomDungeonResultInfo.proto";
+import "StrengthenPointData.proto";
+// Version: 4.6.0
+// CmdId: 20089
message DungeonChallengeFinishNotify {
- map strengthen_point_data_map = 13;
- uint32 challenge_record_type = 9;
- bool is_success = 1;
- bool is_new_record = 10;
- ChallengeFinishType finish_type = 7;
- uint32 time_cost = 6;
- uint32 challenge_index = 5;
- uint32 current_value = 12;
- oneof detail {
- ChannellerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1389;
- EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1637;
- PotionDungeonResultInfo potion_dungeon_result_info = 319;
- CustomDungeonResultInfo custom_dungeon_result_info = 823;
- }
-}
+ ChallengeFinishType finish_type = 2;
+ uint32 time_cost = 3;
+ map strengthen_point_data_map = 5;
+ uint32 challenge_index = 7;
+ bool is_success = 8;
+ uint32 challenge_record_type = 9;
+ bool is_new_record = 13;
+ uint32 current_value = 15;
+ oneof detail {
+ ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1922;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1859;
+ PotionDungeonResultInfo potion_dungeon_result_info = 1677;
+ CustomDungeonResultInfo custom_dungeon_result_info = 1349;
+ }
+}
\ No newline at end of file
diff --git a/proto/DungeonDataNotify.proto b/proto/DungeonDataNotify.proto
new file mode 100644
index 00000000..16bca7f5
--- /dev/null
+++ b/proto/DungeonDataNotify.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// CmdId: 6799
+message DungeonDataNotify {
+ map dungeon_data_map = 10;
+}
\ No newline at end of file
diff --git a/proto/DungeonEnterPosInfo.proto b/proto/DungeonEnterPosInfo.proto
index 7884ec8b..2e166858 100644
--- a/proto/DungeonEnterPosInfo.proto
+++ b/proto/DungeonEnterPosInfo.proto
@@ -1,7 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// Version: 4.6.0
+// Obfs: KCCNEAHCDBC
message DungeonEnterPosInfo {
- uint32 quest_id = 13;
- uint32 point_id = 1;
-}
+ uint32 point_id = 7;
+ uint32 quest_id = 12;
+}
\ No newline at end of file
diff --git a/proto/DungeonSettleExhibitionInfo.proto b/proto/DungeonSettleExhibitionInfo.proto
index 66ca5020..981f14fb 100644
--- a/proto/DungeonSettleExhibitionInfo.proto
+++ b/proto/DungeonSettleExhibitionInfo.proto
@@ -1,25 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-import "OnlinePlayerInfo.proto";
+
import "ExhibitionDisplayInfo.proto";
-// Obf: EKCOLEKCJKB
+import "OnlinePlayerInfo.proto";
+
+// 4.6.0
message DungeonSettleExhibitionInfo {
- OnlinePlayerInfo player_info = 3;
- repeated ExhibitionDisplayInfo card_list = 12;
-}
+ repeated ExhibitionDisplayInfo card_list = 6;
+ OnlinePlayerInfo player_info = 10;
+}
\ No newline at end of file
diff --git a/proto/DungeonSettleNotify.proto b/proto/DungeonSettleNotify.proto
index 47b0e26e..93f69aa5 100644
--- a/proto/DungeonSettleNotify.proto
+++ b/proto/DungeonSettleNotify.proto
@@ -1,22 +1,55 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "DungeonSettleExhibitionInfo.proto";
import "StrengthenPointData.proto";
import "ParamList.proto";
import "TowerLevelEndNotify.proto";
import "TrialAvatarFirstPassDungeonNotify.proto";
+import "ChannelerSlabLoopDungeonResultInfo.proto";
+import "EffigyChallengeDungeonResultInfo.proto";
+// Version: 4.6.0
+// CmdId: 944
message DungeonSettleNotify {
- map settle_show = 2;
- repeated DungeonSettleExhibitionInfo exhibition_info_list = 5;
- map strengthen_point_data_map = 8;
- repeated uint32 fail_cond_list = 6;
- bool is_success = 4;
- uint32 close_time = 7;
- uint32 use_time = 3;
- uint32 dungeon_id = 1;
- uint32 create_player_uid = 11;
- uint32 result = 9;
- TowerLevelEndNotify tower_level_end_notify = 382;
- TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1300;
+ uint32 result = 1;
+ uint32 close_time = 3;
+ repeated DungeonSettleExhibitionInfo exhibition_info_list = 5;
+ uint32 use_time = 6;
+ map strengthen_point_data_map = 8;
+ bool is_success = 9;
+ uint32 create_player_uid = 11;
+ map settle_show = 12;
+ repeated uint32 fail_cond_list = 13;
+ uint32 dungeon_id = 14;
+ oneof detail {
+ TowerLevelEndNotify tower_level_end_notify = 517;
+ TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1297;
+ ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 803;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 974;
+ //RoguelikeDungeonSettleInfo roguelike_dungeon_settle_info = 1594;
+ //CrystalLinkDungeonSettleInfo crystal_link_settle_info = 1578;
+ //SummerTimeV2DungeonSettleInfo summer_time_v2_dungeon_settle_info = 1189;
+ //InstableSprayDungeonSettleInfo instable_spray_settle_info = 1915;
+ //WindFieldDungeonSettleInfo wind_field_dungeon_settle_info = 1143;
+ //EffigyChallengeV2SettleInfo effigy_challenge_v2_settle_info = 169;
+ //TeamChainSettleInfo team_chain_settle_info = 1188;
+ //PacmanSettleInfo pacman_settle_info = 1973;
+ //FungusFighterV2SettleInfo fungus_fighter_v2_settle_info = 1458;
+ //NIBNJDNHPEF blade_dance_settle_info = 519;
+ //MIGBNKHHKLE multi_character_dungeon_settle_info = 233;
+ //HPCOAIFPJDG inspiration_spurt_dungeon_settle_info = 1997;
+ //KODBLPGOIKM quick_time_combat_settle_info = 110;
+ //OKMNDMNIACJ fungus_fighter_v3_settle_info = 190;
+ //JCAGIDBMAHL filmfest_battle_settle_info = 755;
+ //GODHJGHJOHG filmfest_sniper_settle_info = 1436;
+ //PCKAPLFCEKB goal_challenge_settle_info = 1082;
+ //GMJBKKCMOHH mist_trial_settle_info = 858;
+ //PGOGLHJIHFG stamina_fight_settle_info = 1697;
+ //JGDCFJHICHC lost_samachurl_sneak_settle_info = 162;
+ //HEDJEKNOIJI auto_time_stop_settle_info = 994;
+ //MJOCABKDAHH slime_cannon_settle_info = 1682;
+ //LICBKCNACHH effigy_challenge_v5_settle_info = 868;
+ }
}
\ No newline at end of file
diff --git a/proto/EffigyChallengeDungeonResultInfo.proto b/proto/EffigyChallengeDungeonResultInfo.proto
index 8ee21e22..37d7f8ab 100644
--- a/proto/EffigyChallengeDungeonResultInfo.proto
+++ b/proto/EffigyChallengeDungeonResultInfo.proto
@@ -1,26 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: FMEPDDDIKHK
+
+// 4.6.0
message EffigyChallengeDungeonResultInfo {
- bool is_in_time_limit = 8;
- uint32 challenge_id = 5;
- uint32 challenge_max_score = 11;
- uint32 challenge_score = 15;
- bool is_success = 13;
-}
+ uint32 challenge_max_score = 4;
+ uint32 challenge_score = 7;
+ bool is_success = 8;
+ uint32 challenge_id = 9;
+ bool is_in_time_limit = 12;
+}
\ No newline at end of file
diff --git a/proto/EvtAiSyncSkillCdNotify.proto b/proto/EvtAiSyncSkillCdNotify.proto
index d65a4a2e..347284b8 100644
--- a/proto/EvtAiSyncSkillCdNotify.proto
+++ b/proto/EvtAiSyncSkillCdNotify.proto
@@ -1,7 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "AiSkillCdInfo.proto";
+// CmdId: 2783
message EvtAiSyncSkillCdNotify {
- map ai_cd_map = 2;
-}
+ map ai_cd_map = 1;
+}
\ No newline at end of file
diff --git a/proto/ExhibitionDisplayInfo.proto b/proto/ExhibitionDisplayInfo.proto
index 950865cf..1ef3a156 100644
--- a/proto/ExhibitionDisplayInfo.proto
+++ b/proto/ExhibitionDisplayInfo.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: MCIHMDBLAPP
+
+// 4.6.0
message ExhibitionDisplayInfo {
uint32 id = 1;
uint32 param = 2;
uint32 detail_param = 3;
-}
+}
\ No newline at end of file
diff --git a/proto/FinishedParentQuestNotify.proto b/proto/FinishedParentQuestNotify.proto
index 134a460f..a4465f64 100644
--- a/proto/FinishedParentQuestNotify.proto
+++ b/proto/FinishedParentQuestNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ParentQuest.proto";
-// CmdId: 27820
-// Obf: EPOAAKIMMFB
+
+// CmdId: 22868
message FinishedParentQuestNotify {
- repeated ParentQuest parent_quest_list = 6;
+ repeated ParentQuest parent_quest_list = 10;
}
diff --git a/proto/FinishedParentQuestUpdateNotify.proto b/proto/FinishedParentQuestUpdateNotify.proto
index 4910e36f..1182d701 100644
--- a/proto/FinishedParentQuestUpdateNotify.proto
+++ b/proto/FinishedParentQuestUpdateNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ParentQuest.proto";
-// CmdId: 455
-// Obf: JCGNAICEEND
+
+// CmdId: 3745
message FinishedParentQuestUpdateNotify {
- repeated ParentQuest parent_quest_list = 3;
+ repeated ParentQuest parent_quest_list = 4;
}
diff --git a/proto/FurnitureMakeData.proto b/proto/FurnitureMakeData.proto
index e3eb2f0f..acae82d1 100644
--- a/proto/FurnitureMakeData.proto
+++ b/proto/FurnitureMakeData.proto
@@ -1,27 +1,14 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: OLNPKHEMJEN
+
+// Version: 4.6.0
+// Obfs: KBMGFOFLGCP
message FurnitureMakeData {
- uint32 durTime = 14;
- fixed32 accelerateTime = 15;
- uint32 make_id = 7;
- uint32 avatar_id = 10;
- uint32 index = 12;
- fixed32 begin_time = 1;
-}
+ uint32 make_id = 6;
+ uint32 dur_time = 7;
+ uint32 index = 9;
+ fixed32 accelerate_time = 10;
+ uint32 avatar_id = 12;
+ fixed32 begin_time = 13;
+}
\ No newline at end of file
diff --git a/proto/GachaSimpleInfoNotify.proto b/proto/GachaSimpleInfoNotify.proto
new file mode 100644
index 00000000..6517c5ef
--- /dev/null
+++ b/proto/GachaSimpleInfoNotify.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// CmdId: 7025
+message GachaSimpleInfoNotify {
+ bool is_new = 9;
+}
\ No newline at end of file
diff --git a/proto/GetParentQuestVideoKeyRsp.proto b/proto/GetParentQuestVideoKeyRsp.proto
index a3a0b8a7..fa72384e 100644
--- a/proto/GetParentQuestVideoKeyRsp.proto
+++ b/proto/GetParentQuestVideoKeyRsp.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5868
-// Obf: HKBLCEEFAFM
+
+// CmdId: 29959
message GetParentQuestVideoKeyRsp {
- int32 retcode = 8;
- uint32 parent_quest_id = 2;
- uint64 video_key = 7;
-}
+ uint64 video_key = 1;
+ int32 retcode = 3;
+ uint32 parent_quest_id = 10;
+}
\ No newline at end of file
diff --git a/proto/GetQuestLackingResourceRsp.proto b/proto/GetQuestLackingResourceRsp.proto
index 5bfa821a..f7970940 100644
--- a/proto/GetQuestLackingResourceRsp.proto
+++ b/proto/GetQuestLackingResourceRsp.proto
@@ -1,28 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 28297
-// Obf: FDCIDFLNJKP
+
+import "LackingResourceInfo.proto";
+
+// CmdId: 3935
message GetQuestLackingResourceRsp {
- repeated uint32 lacked_npc_list = 15;
- map lacked_place_map = 4;
- repeated uint32 lacked_place_list = 10;
- int32 retcode = 9;
- map lacked_npc_map = 1;
- uint32 quest_id = 7;
+ uint32 quest_id = 4;
+ int32 retcode = 7;
+ LackingResourceInfo DMDCNMGJPAN = 8;
}
diff --git a/proto/InferencePageInfo.proto b/proto/InferencePageInfo.proto
index 7aa0eda8..4759d30c 100644
--- a/proto/InferencePageInfo.proto
+++ b/proto/InferencePageInfo.proto
@@ -1,24 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-import "InfernceWordInfo.proto";
-// Obf: BMEHNPACBEM
+
+import "InferenceWordInfo.proto";
+
+// Version: 4.6.0
+// Obfs: CAOBNKCODIB
message InferencePageInfo {
- repeated InfernceWordInfo unlock_word_list = 7;
- uint32 page_id = 13;
-}
+ repeated InferenceWordInfo unlock_word_list = 10;
+ uint32 page_id = 12;
+}
\ No newline at end of file
diff --git a/proto/InferenceWordInfo.proto b/proto/InferenceWordInfo.proto
new file mode 100644
index 00000000..70cd0338
--- /dev/null
+++ b/proto/InferenceWordInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// Obfs: IMHNIMEAFKE
+message InferenceWordInfo {
+ bool LHPCEHJMDNF = 3;
+ uint32 unlock_by_word_id = 5;
+ bool PFHIFFLGPKK = 10;
+ bool NLJGIIJPNJP = 11;
+ uint32 word_id = 13;
+}
\ No newline at end of file
diff --git a/proto/Investigation.proto b/proto/Investigation.proto
index 1e18c5a6..323de745 100644
--- a/proto/Investigation.proto
+++ b/proto/Investigation.proto
@@ -1,33 +1,19 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: LJAJANHHOML
+
+// Version: 4.6.0
+// Obfs: INJKDLOLFNC
message Investigation {
- // Obf: GMMLBMGDPPP
enum State {
INVALID = 0;
IN_PROGRESS = 1;
COMPLETE = 2;
REWARD_TAKEN = 3;
}
-
- uint32 id = 8;
- uint32 progress = 7;
- State state = 12;
- uint32 total_progress = 14;
-}
+
+ uint32 id = 6;
+ uint32 total_progress = 8;
+ State state = 9;
+ uint32 progress = 12;
+}
\ No newline at end of file
diff --git a/proto/InvestigationTarget.proto b/proto/InvestigationTarget.proto
index 85ac97a7..e2e8874d 100644
--- a/proto/InvestigationTarget.proto
+++ b/proto/InvestigationTarget.proto
@@ -1,34 +1,20 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: CHDNBCDJCEJ
+
+// Version: 4.6.0
+// Obfs: KMNKJKIEPCB
message InvestigationTarget {
- // Obf: MBMPKODCOJI
enum State {
INVALID = 0;
IN_PROGRESS = 1;
COMPLETE = 2;
REWARD_TAKEN = 3;
}
-
+
+ uint32 quest_id = 3;
+ uint32 progress = 4;
+ uint32 investigation_id = 6;
+ State state = 9;
uint32 total_progress = 12;
- uint32 progress = 15;
- uint32 quest_id = 4;
- uint32 investigation_id = 8;
- State state = 1;
-}
+}
\ No newline at end of file
diff --git a/proto/ItemRenameAvatarReq.proto b/proto/ItemRenameAvatarReq.proto
index 6aeef897..878d4092 100644
--- a/proto/ItemRenameAvatarReq.proto
+++ b/proto/ItemRenameAvatarReq.proto
@@ -1,24 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 29042
-// Obf: IBCHBDKCOEB
+
+// CmdId: 7359
message ItemRenameAvatarReq {
- uint32 rename_id = 6;
- string avatar_name = 9;
-}
+ string avatar_name = 8;
+ uint32 rename_id = 12;
+}
\ No newline at end of file
diff --git a/proto/ItemRenameAvatarRsp.proto b/proto/ItemRenameAvatarRsp.proto
index 1b687d0a..1e07d406 100644
--- a/proto/ItemRenameAvatarRsp.proto
+++ b/proto/ItemRenameAvatarRsp.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 27302
-// Obf: PNDEJAEBEOE
+
+// CmdId: 29921
message ItemRenameAvatarRsp {
- uint32 rename_id = 8;
- uint32 cd_time = 5;
- int32 retcode = 6;
-}
+ uint32 rename_id = 3;
+ uint32 cd_time = 12;
+ int32 retcode = 15;
+}
\ No newline at end of file
diff --git a/proto/LackingResourceInfo.proto b/proto/LackingResourceInfo.proto
new file mode 100644
index 00000000..1e3ca773
--- /dev/null
+++ b/proto/LackingResourceInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+// Obfs: NNLDPKHOPAL
+message LackingResourceInfo {
+ repeated uint32 OMGCMCLLEAJ = 1;
+ map FCDLFNOEGHM = 2;
+ repeated uint32 EELMHKHPHAE = 3;
+ map AIPBIKFKCOJ = 4;
+ repeated uint32 MCJIAMFJJHO = 5;
+ map EKIOGCFMENA = 6;
+ repeated uint32 EAPIHMKHAPD = 7;
+ repeated uint32 PPHMKELDLKI = 8;
+ repeated uint32 OBOABOBKDOE = 9;
+}
\ No newline at end of file
diff --git a/proto/LockedPersonallineData.proto b/proto/LockedPersonallineData.proto
index 4c86dfec..d5912430 100644
--- a/proto/LockedPersonallineData.proto
+++ b/proto/LockedPersonallineData.proto
@@ -1,40 +1,25 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: KGFDBLAPENJ
+
+// Version: 4.6.0
+// Obfs: ???
message LockedPersonallineData {
- // Obf: ONPJFEHGHMM
enum LockReason {
- LEVEL = 0;
- QUEST = 1;
+ LockReason_LEVEL = 0;
+ LockReason_QUEST = 1;
}
-
- // Obf: EDNGHGCCDGF
+
message QuestParam {
- uint32 chapter_id = 10;
- uint32 quest_id = 7;
+ uint32 chapter_id = 1;
+ uint32 quest_id = 5;
}
-
- uint32 personal_line_id = 10;
- LockReason lock_reason = 4;
+
+ LockReason lock_reason = 3;
+ uint32 personal_line_id = 5;
oneof param {
- uint32 chapter_id = 7;
- uint32 level = 13;
- QuestParam quest_param = 12;
+ uint32 chapter_id = 11;
+ uint32 level = 2;
+ QuestParam quest_param = 1;
}
-}
+}
\ No newline at end of file
diff --git a/proto/LunaRiteAreaInfo.proto b/proto/LunaRiteAreaInfo.proto
index 884780fa..d9fb3041 100644
--- a/proto/LunaRiteAreaInfo.proto
+++ b/proto/LunaRiteAreaInfo.proto
@@ -1,27 +1,15 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "LunaRiteHintStatusType.proto";
-// Obf: MKHIINJPJME
+
+// Version: 4.6.0
+// Obfs: PFOJKOELJAB
message LunaRiteAreaInfo {
- repeated uint32 sacrifice_reward_list = 9;
- repeated uint32 sacrifice_list = 6;
- uint32 area_id = 4;
- uint32 challenge_index = 15;
- LunaRiteHintStatusType hint_status = 3;
-}
+ repeated uint32 NLADEGOOIDA = 2;
+ LunaRiteHintStatusType hint_status = 7;
+ repeated uint32 PAJINADKPNM = 8;
+ uint32 area_id = 9;
+ uint32 challenge_index = 10;
+}
\ No newline at end of file
diff --git a/proto/LunaRiteHintStatusType.proto b/proto/LunaRiteHintStatusType.proto
index cf888689..e3dbf3bd 100644
--- a/proto/LunaRiteHintStatusType.proto
+++ b/proto/LunaRiteHintStatusType.proto
@@ -1,24 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: GGCKOHLIGEL
+
+// Version: 4.6.0
+// Obfs: FMLOPHOEIPK
enum LunaRiteHintStatusType {
LUNA_RITE_HINT_STATUS_DEFAULT = 0;
LUNA_RITE_HINT_STATUS_NO_COUNT = 1;
LUNA_RITE_HINT_STATUS_FINISH = 2;
-}
+}
\ No newline at end of file
diff --git a/proto/ParamList.proto b/proto/ParamList.proto
index 800bd534..4b94b095 100644
--- a/proto/ParamList.proto
+++ b/proto/ParamList.proto
@@ -1,22 +1,8 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: BLCNFAPGDKG
+
+// Version: 4.6.0
message ParamList {
repeated uint32 param_list = 1;
-}
+}
\ No newline at end of file
diff --git a/proto/ParentQuest.proto b/proto/ParentQuest.proto
index db47b52d..02feb23d 100644
--- a/proto/ParentQuest.proto
+++ b/proto/ParentQuest.proto
@@ -1,36 +1,27 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ChildQuest.proto";
+import "BNAIFNLBGOL.proto";
import "InferencePageInfo.proto";
import "ParentQuestRandomInfo.proto";
-// Obf: HJOGPKJDLID
+
+// Version: 4.6.0
+// Obfs: BLKNHPMNCDI
message ParentQuest {
- uint64 video_key = 4;
- uint32 parent_quest_state = 8;
- uint32 quest_var_seq = 15;
- bool is_random = 11;
- uint32 accept_time = 3;
repeated ChildQuest child_quest_list = 1;
- repeated int32 quest_var = 7;
- repeated InferencePageInfo inference_page_list = 9;
- bool is_finished = 14;
- uint32 parent_quest_id = 5;
- map time_var_map = 10;
- ParentQuestRandomInfo random_info = 2;
-}
+ bool is_random = 2;
+ map time_var_map = 4;
+ bool is_finished = 5;
+ uint64 video_key = 6;
+ uint32 quest_var_seq = 7;
+ uint32 parent_quest_state = 8;
+ uint32 parent_quest_id = 9;
+ uint32 accept_time = 10;
+ repeated BNAIFNLBGOL GNDCAPMKBOL = 11;
+ repeated InferencePageInfo inference_page_list = 12;
+ repeated int32 quest_var = 13;
+ ParentQuestRandomInfo random_info = 14;
+ bool AOLONEOJINE = 15;
+}
\ No newline at end of file
diff --git a/proto/ParentQuestInferenceDataNotify.proto b/proto/ParentQuestInferenceDataNotify.proto
index 20e66cbb..cd9f6074 100644
--- a/proto/ParentQuestInferenceDataNotify.proto
+++ b/proto/ParentQuestInferenceDataNotify.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "InferencePageInfo.proto";
-// CmdId: 24796
-// Obf: LPFEFNDAENI
+
+// CmdId: 1127
message ParentQuestInferenceDataNotify {
- repeated InferencePageInfo inference_page_list = 12;
- uint32 parent_quest_id = 4;
-}
+ repeated InferencePageInfo inference_page_list = 4;
+ uint32 parent_quest_id = 15;
+}
\ No newline at end of file
diff --git a/proto/ParentQuestRandomInfo.proto b/proto/ParentQuestRandomInfo.proto
index 215c5299..8b8cd861 100644
--- a/proto/ParentQuestRandomInfo.proto
+++ b/proto/ParentQuestRandomInfo.proto
@@ -1,24 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: NIGBJJFCAGF
+
+// Version: 4.6.0
+// Obfs: FILNNGFJFGA
message ParentQuestRandomInfo {
- uint32 template_id = 10;
- repeated uint32 factor_list = 9;
- uint32 entrance_id = 3;
-}
+ repeated uint32 factor_list = 4;
+ uint32 template_id = 6;
+ uint32 entrance_id = 12;
+}
\ No newline at end of file
diff --git a/proto/PlayerEnterDungeonReq.proto b/proto/PlayerEnterDungeonReq.proto
index 75e803e5..445d8e76 100644
--- a/proto/PlayerEnterDungeonReq.proto
+++ b/proto/PlayerEnterDungeonReq.proto
@@ -1,9 +1,13 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "DungeonEnterPosInfo.proto";
+// 4.6.0
+// CmdId: 2254
message PlayerEnterDungeonReq {
- DungeonEnterPosInfo enter_pos_info = 5;
- uint32 dungeon_id = 14;
- uint32 point_id = 2;
-}
+ uint32 dungeon_id = 1;
+ uint32 point_id = 11;
+ DungeonEnterPosInfo enter_pos_info = 12;
+}
\ No newline at end of file
diff --git a/proto/PlayerEnterDungeonRsp.proto b/proto/PlayerEnterDungeonRsp.proto
index dbde9674..0334e064 100644
--- a/proto/PlayerEnterDungeonRsp.proto
+++ b/proto/PlayerEnterDungeonRsp.proto
@@ -1,8 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// 4.6.0
+// CmdId: 21726
message PlayerEnterDungeonRsp {
- uint32 point_id = 13;
- uint32 dungeon_id = 1;
- int32 retcode = 15;
-}
+ uint32 dungeon_id = 10;
+ uint32 point_id = 13;
+ int32 retcode = 14;
+}
\ No newline at end of file
diff --git a/proto/PlayerEnterSceneNotify.proto b/proto/PlayerEnterSceneNotify.proto
index 1067eb33..14e53fe3 100644
--- a/proto/PlayerEnterSceneNotify.proto
+++ b/proto/PlayerEnterSceneNotify.proto
@@ -3,21 +3,33 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
import "EnterType.proto";
+import "MapLayerInfo.proto";
// 4.6.0
// CmdId: 21317
+// 2 -> 1, 4 -> 1, 376 -> 1, 1100 -> 1
+// world_type type enter_reason is_first_login_enter_scene
message PlayerEnterSceneNotify {
- //MapLayerInfo map_layer_info = 317;
- EnterType type = 2;//sus
- repeated uint32 scene_tag_id_list = 9;
- uint32 world_level = 3;
- uint32 target_uid = 14;//14 or 189
- uint32 create_player_uid = 189;//14 or 189
- Vector pos = 13;
- uint32 scene_id = 7;
- string scene_transaction = 120;
- uint32 enter_scene_token = 15;
- uint64 scene_begin_time = 6;
- bool is_skip_ui = 376;//sus
- uint32 dungeon_id = 1999;//wrong
+ uint32 prev_scene_id = 1; // OK
+ EnterType type = 2; // OK
+ uint32 world_level = 3; // OK
+ bool is_first_login_enter_scene = 4; // OK
+ uint64 scene_begin_time = 6; // OK
+ uint32 scene_id = 7; // OK
+ uint32 dungeon_id = 8; // OK
+ repeated uint32 scene_tag_id_list = 9; // OK
+ Vector prev_pos = 11; // OK
+ Vector pos = 13; // OK
+ uint32 target_uid = 14; // 14 or 189
+ uint32 enter_scene_token = 15; // OK
+ string scene_transaction = 120; // OK
+ uint32 create_player_uid = 189; // 14 or 189
+ MapLayerInfo map_layer_info = 317; // OK
+ uint32 world_type = 376; // OK
+ uint32 enter_reason = 1100; // OK
+
+ Vector dungeon_prev_pos = 1663; // NEW
+ uint32 dungeon_prev_scene_id = 1848; // NEW
+
+ bool is_skip_ui = 2000; // wrong
}
\ No newline at end of file
diff --git a/proto/PlayerInvestigationAllInfoNotify.proto b/proto/PlayerInvestigationAllInfoNotify.proto
index 12916929..3ce2e6d1 100644
--- a/proto/PlayerInvestigationAllInfoNotify.proto
+++ b/proto/PlayerInvestigationAllInfoNotify.proto
@@ -1,26 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "Investigation.proto";
import "InvestigationTarget.proto";
-// CmdId: 23777
-// Obf: AOFKNKKENHJ
+
+// CmdId: 23844
message PlayerInvestigationAllInfoNotify {
repeated Investigation investigation_list = 5;
repeated InvestigationTarget investigation_target_list = 14;
-}
+}
\ No newline at end of file
diff --git a/proto/PlayerInvestigationNotify.proto b/proto/PlayerInvestigationNotify.proto
index a2b37d7e..e000c6bd 100644
--- a/proto/PlayerInvestigationNotify.proto
+++ b/proto/PlayerInvestigationNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "Investigation.proto";
-// CmdId: 22886
-// Obf: ALOLADCMDPF
+
+// CmdId: 20131
message PlayerInvestigationNotify {
- repeated Investigation investigation_list = 7;
-}
+ repeated Investigation investigation_list = 12;
+}
\ No newline at end of file
diff --git a/proto/PlayerInvestigationTargetNotify.proto b/proto/PlayerInvestigationTargetNotify.proto
index e6f2468e..39fd38ac 100644
--- a/proto/PlayerInvestigationTargetNotify.proto
+++ b/proto/PlayerInvestigationTargetNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "InvestigationTarget.proto";
-// CmdId: 1218
-// Obf: MCKLNIEGCOK
+
+// CmdId: 8373
message PlayerInvestigationTargetNotify {
- repeated InvestigationTarget investigation_target_list = 14;
+ repeated InvestigationTarget investigation_target_list = 6;
}
diff --git a/proto/PlayerQuitDungeonReq.proto b/proto/PlayerQuitDungeonReq.proto
index c94388fe..aa1de803 100644
--- a/proto/PlayerQuitDungeonReq.proto
+++ b/proto/PlayerQuitDungeonReq.proto
@@ -1,7 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// 4.6.0
+// CmdId: 9001
message PlayerQuitDungeonReq {
- bool is_quit_immediately = 7;
- uint32 point_id = 6;
-}
+ uint32 point_id = 13;
+ bool is_quit_immediately = 14;
+}
\ No newline at end of file
diff --git a/proto/PlayerQuitDungeonRsp.proto b/proto/PlayerQuitDungeonRsp.proto
new file mode 100644
index 00000000..0802fdc2
--- /dev/null
+++ b/proto/PlayerQuitDungeonRsp.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 26503
+message PlayerQuitDungeonRsp {
+ int32 retcode = 7;
+ uint32 point_id = 15;
+}
\ No newline at end of file
diff --git a/proto/PlayerReportReq.proto b/proto/PlayerReportReq.proto
new file mode 100644
index 00000000..a4e3c728
--- /dev/null
+++ b/proto/PlayerReportReq.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "ReportReasonType.proto";
+import "ReportSubtype.proto";
+
+// CmdId: 22232
+message PlayerReportReq {
+ uint32 target_uid = 2;
+ string target_home_module_name = 3;
+ ReportReasonType reason = 4;
+ string content = 8;
+ uint32 target_home_module_id = 9;
+ ReportSubtype subtype = 14;
+}
+
diff --git a/proto/PlayerReportRsp.proto b/proto/PlayerReportRsp.proto
new file mode 100644
index 00000000..cde63159
--- /dev/null
+++ b/proto/PlayerReportRsp.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 26350
+message PlayerReportRsp {
+ uint32 target_uid = 2;
+ int32 retcode = 3;
+ uint32 cd_time = 4;
+}
diff --git a/proto/PotionDungeonResultInfo.proto b/proto/PotionDungeonResultInfo.proto
index 2540e317..f73b002c 100644
--- a/proto/PotionDungeonResultInfo.proto
+++ b/proto/PotionDungeonResultInfo.proto
@@ -1,27 +1,13 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: IFLFOABLCJB
+
+// 4.6.0
message PotionDungeonResultInfo {
- uint32 level_id = 10;
- uint32 stage_id = 2;
- uint32 mode_id = 9;
- uint32 final_score = 1;
- uint32 difficulty_level = 15;
- uint32 left_time = 11;
-}
+ uint32 IPKGIOBPENI = 3;
+ uint32 EEOAFHOMHPH = 8;
+ uint32 MCAIMDGIIPN = 10;
+ uint32 level_id = 11;
+ uint32 IKDMGBPAKOL = 12;
+ uint32 stage_id = 13;
+}
\ No newline at end of file
diff --git a/proto/ProudSkillChangeNotify.proto b/proto/ProudSkillChangeNotify.proto
index b5c66e6d..474bfac7 100644
--- a/proto/ProudSkillChangeNotify.proto
+++ b/proto/ProudSkillChangeNotify.proto
@@ -1,26 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 23429
-// Obf: GALAIBFEIIG
+
+// CmdId: 26650
message ProudSkillChangeNotify {
- uint32 entity_id = 4;
- repeated uint32 proud_skill_list = 3;
- uint32 skill_depot_id = 11;
- uint64 avatar_guid = 9;
+ uint32 skill_depot_id = 7;
+ uint64 avatar_guid = 10;
+ uint32 entity_id = 12;
+ repeated uint32 proud_skill_list = 15;
}
diff --git a/proto/Quest.proto b/proto/Quest.proto
index 5ee63ba2..e754c9c2 100644
--- a/proto/Quest.proto
+++ b/proto/Quest.proto
@@ -1,22 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: BLFINGECHDB
+
+import "LackingResourceInfo.proto";
+
+// Version: 4.6.0
+// Obfs: DNMAECDIBPD
message Quest {
uint32 quest_id = 1;
uint32 state = 2;
@@ -26,10 +15,8 @@ message Quest {
uint32 quest_config_id = 7;
uint32 start_game_time = 8;
uint32 accept_time = 9;
- repeated uint32 lacked_npc_list = 10;
- repeated uint32 finish_progress_list = 11;
- repeated uint32 fail_progress_list = 12;
- map lacked_npc_map = 13;
- repeated uint32 lacked_place_list = 14;
- map lacked_place_map = 15;
-}
+ repeated uint32 finish_progress_list = 10;
+ repeated uint32 fail_progress_list = 11;
+ repeated uint32 CBIIPBMDLCH = 12;
+ LackingResourceInfo DMDCNMGJPAN = 13;
+}
\ No newline at end of file
diff --git a/proto/QuestDestroyNpcReq.proto b/proto/QuestDestroyNpcReq.proto
index 699eab91..53116581 100644
--- a/proto/QuestDestroyNpcReq.proto
+++ b/proto/QuestDestroyNpcReq.proto
@@ -1,24 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 26568
-// Obf: GLNOOFDFGEC
+
+// CmdId: 3062
message QuestDestroyNpcReq {
- uint32 npc_id = 14;
+ uint32 npc_id = 2;
uint32 parent_quest_id = 15;
-}
+}
\ No newline at end of file
diff --git a/proto/QuestDestroyNpcRsp.proto b/proto/QuestDestroyNpcRsp.proto
index 9944dcb0..807b1cb9 100644
--- a/proto/QuestDestroyNpcRsp.proto
+++ b/proto/QuestDestroyNpcRsp.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 607
-// Obf: PCNAEIAPMGE
+
+// CmdId: 5341
message QuestDestroyNpcRsp {
- uint32 parent_quest_id = 13;
- uint32 npc_id = 4;
- int32 retcode = 9;
-}
+ uint32 npc_id = 3;
+ uint32 parent_quest_id = 7;
+ int32 retcode = 15;
+}
\ No newline at end of file
diff --git a/proto/QuestGlobalVar.proto b/proto/QuestGlobalVar.proto
index 9e2ac428..ca3917c2 100644
--- a/proto/QuestGlobalVar.proto
+++ b/proto/QuestGlobalVar.proto
@@ -1,23 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: PGEKJBDCGND
+
+// Version: 4.6.0
+// Obfs: JOHFHDPJJHA
message QuestGlobalVar {
+ uint32 key = 3;
int32 value = 14;
- uint32 key = 8;
-}
+}
\ No newline at end of file
diff --git a/proto/QuestGlobalVarNotify.proto b/proto/QuestGlobalVarNotify.proto
index 8e67f501..0ae64717 100644
--- a/proto/QuestGlobalVarNotify.proto
+++ b/proto/QuestGlobalVarNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "QuestGlobalVar.proto";
-// CmdId: 23502
-// Obf: JGINEENLNCF
+
+// CmdId: 7471
message QuestGlobalVarNotify {
- repeated QuestGlobalVar var_list = 1;
-}
+ repeated QuestGlobalVar var_list = 11;
+}
\ No newline at end of file
diff --git a/proto/QuestListNotify.proto b/proto/QuestListNotify.proto
index 2cf99368..e691c715 100644
--- a/proto/QuestListNotify.proto
+++ b/proto/QuestListNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "Quest.proto";
-// CmdId: 29451
-// Obf: LNKCGCNLKDP
+
+// CmdId: 20190
message QuestListNotify {
- repeated Quest quest_list = 13;
-}
+ repeated Quest quest_list = 9;
+}
\ No newline at end of file
diff --git a/proto/QuestListUpdateNotify.proto b/proto/QuestListUpdateNotify.proto
index 43b9926e..25b2e9be 100644
--- a/proto/QuestListUpdateNotify.proto
+++ b/proto/QuestListUpdateNotify.proto
@@ -1,24 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "Quest.proto";
-// CmdId: 22114
-// Obf: NCEKGFIOHJG
+
+// CmdId: 28355
message QuestListUpdateNotify {
- repeated Quest quest_list = 1;
-}
+ repeated Quest quest_list = 15;
+}
\ No newline at end of file
diff --git a/proto/QuestProgressUpdateNotify.proto b/proto/QuestProgressUpdateNotify.proto
index a00dac78..8dd940f8 100644
--- a/proto/QuestProgressUpdateNotify.proto
+++ b/proto/QuestProgressUpdateNotify.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5388
-// Obf: DEOLGKMMGHH
+
+// CmdId: 23329
message QuestProgressUpdateNotify {
- uint32 quest_id = 1;
- repeated uint32 finish_progress_list = 3;
- repeated uint32 fail_progress_list = 10;
-}
+ repeated uint32 fail_progress_list = 2;
+ uint32 quest_id = 8;
+ repeated uint32 finish_progress_list = 9;
+}
\ No newline at end of file
diff --git a/proto/QuestRenameAvatarReq.proto b/proto/QuestRenameAvatarReq.proto
index 86129c81..1d9b3756 100644
--- a/proto/QuestRenameAvatarReq.proto
+++ b/proto/QuestRenameAvatarReq.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1366
-// Obf: EACELLFNBCE
+
+// CmdId: 20927
message QuestRenameAvatarReq {
- bool is_check = 14;
- uint32 rename_id = 13;
+ bool is_check = 1;
+ uint32 rename_id = 7;
string avatar_name = 9;
-}
+}
\ No newline at end of file
diff --git a/proto/QuestRenameAvatarRsp.proto b/proto/QuestRenameAvatarRsp.proto
index 29850437..a95290c9 100644
--- a/proto/QuestRenameAvatarRsp.proto
+++ b/proto/QuestRenameAvatarRsp.proto
@@ -1,26 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 21481
-// Obf: ALHLKPOGFGC
+
+// CmdId: 9870
message QuestRenameAvatarRsp {
- string avatar_name = 3;
- uint32 rename_id = 9;
- int32 retcode = 1;
- bool is_check = 7;
-}
+ uint32 rename_id = 1;
+ bool is_check = 4;
+ string avatar_name = 6;
+ int32 retcode = 10;
+}
\ No newline at end of file
diff --git a/proto/QuestTransmitReq.proto b/proto/QuestTransmitReq.proto
index 66d89205..fc8371fc 100644
--- a/proto/QuestTransmitReq.proto
+++ b/proto/QuestTransmitReq.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 2854
-// Obf: FGDGCAJEJPM
+
+// CmdId: 29107
message QuestTransmitReq {
- uint32 quest_id = 2;
- uint32 point_id = 1;
- uint32 LAJGLCIFKCP = 10;
-}
+ uint32 point_id = 8;
+ uint32 text_id = 9;
+ uint32 quest_id = 11;
+}
\ No newline at end of file
diff --git a/proto/QuestTransmitRsp.proto b/proto/QuestTransmitRsp.proto
index 2eb53a2a..6d00957b 100644
--- a/proto/QuestTransmitRsp.proto
+++ b/proto/QuestTransmitRsp.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 20137
-// Obf: EFHMAODMGJJ
+
+// CmdId: 22002
message QuestTransmitRsp {
- int32 retcode = 5;
- uint32 point_id = 9;
- uint32 quest_id = 14;
-}
+ int32 retcode = 6;
+ uint32 point_id = 11;
+ uint32 quest_id = 15;
+}
\ No newline at end of file
diff --git a/proto/QuestUpdateQuestTimeVarNotify.proto b/proto/QuestUpdateQuestTimeVarNotify.proto
index 1a01ebf1..a3426b52 100644
--- a/proto/QuestUpdateQuestTimeVarNotify.proto
+++ b/proto/QuestUpdateQuestTimeVarNotify.proto
@@ -1,24 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 28219
-// Obf: DIAGJLMDMDL
+
+// CmdId: 26969
message QuestUpdateQuestTimeVarNotify {
- map time_var_map = 4;
- uint32 parent_quest_id = 11;
-}
+ uint32 parent_quest_id = 3;
+ map time_var_map = 7;
+}
\ No newline at end of file
diff --git a/proto/QuestUpdateQuestVarNotify.proto b/proto/QuestUpdateQuestVarNotify.proto
index fb9e52b4..571320b4 100644
--- a/proto/QuestUpdateQuestVarNotify.proto
+++ b/proto/QuestUpdateQuestVarNotify.proto
@@ -1,25 +1,10 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 1753
-// Obf: OEEFAJLMMNF
+
+// CmdId: 28763
message QuestUpdateQuestVarNotify {
- uint32 parent_quest_id = 3;
- repeated int32 quest_var = 6;
- uint32 parent_quest_var_seq = 9;
-}
+ repeated int32 quest_var = 9;
+ uint32 parent_quest_var_seq = 10;
+ uint32 parent_quest_id = 15;
+}
\ No newline at end of file
diff --git a/proto/QuestUpdateQuestVarReq.proto b/proto/QuestUpdateQuestVarReq.proto
index 010b64ed..44182c34 100644
--- a/proto/QuestUpdateQuestVarReq.proto
+++ b/proto/QuestUpdateQuestVarReq.proto
@@ -1,10 +1,13 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "QuestVarOp.proto";
+// CmdId: 9309
message QuestUpdateQuestVarReq {
- repeated QuestVarOp quest_var_op_list = 7;
- uint32 quest_id = 10;
- uint32 parent_quest_id = 15;
- uint32 parent_quest_var_seq = 12;
-}
+ repeated QuestVarOp quest_var_op_list = 3;
+ uint32 quest_id = 4;
+ uint32 parent_quest_id = 8;
+ uint32 parent_quest_var_seq = 12;
+}
\ No newline at end of file
diff --git a/proto/QuestUpdateQuestVarRsp.proto b/proto/QuestUpdateQuestVarRsp.proto
index 9a4464f9..950efaf4 100644
--- a/proto/QuestUpdateQuestVarRsp.proto
+++ b/proto/QuestUpdateQuestVarRsp.proto
@@ -1,26 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 5677
-// Obf: ENCODHADEDM
+
+// CmdId: 21367
message QuestUpdateQuestVarRsp {
- uint32 parent_quest_var_seq = 10;
- uint32 quest_id = 7;
- int32 retcode = 14;
+ uint32 quest_id = 2;
uint32 parent_quest_id = 11;
-}
+ uint32 parent_quest_var_seq = 12;
+ int32 retcode = 13;
+}
\ No newline at end of file
diff --git a/proto/QuestVarOp.proto b/proto/QuestVarOp.proto
index 9300178b..f0bfab76 100644
--- a/proto/QuestVarOp.proto
+++ b/proto/QuestVarOp.proto
@@ -1,8 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// Version: 4.6.0
+// Obfs: LHJAINDLHBM
message QuestVarOp {
- bool is_add = 4;
- uint32 index = 9;
- int32 value = 5;
-}
+ uint32 index = 2;
+ bool is_add = 8;
+ int32 value = 15;
+}
\ No newline at end of file
diff --git a/proto/ReportReasonType.proto b/proto/ReportReasonType.proto
new file mode 100644
index 00000000..80e55a7a
--- /dev/null
+++ b/proto/ReportReasonType.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+enum ReportReasonType {
+ REPORT_REASON_NONE = 0;
+ REPORT_REASON_DECEPTIVE_ADS = 1;
+ REPORT_REASON_ABUSING = 2;
+ REPORT_REASON_CHEAT = 3;
+ REPORT_REASON_POLITICAL = 4;
+ REPORT_REASON_OTHER = 5;
+ REPORT_REASON_HOME = 6;
+}
+
diff --git a/proto/ReportSubtype.proto b/proto/ReportSubtype.proto
new file mode 100644
index 00000000..3739ca81
--- /dev/null
+++ b/proto/ReportSubtype.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// Version: 4.6.0
+enum ReportSubtype {
+ REPORT_REASON_SUBTYPE_NONE = 0;
+ REPORT_REASON_SUBTYPE_INVALID_NICKNAME = 1;
+ REPORT_REASON_SUBTYPE_INVALID_SIGNATURE = 2;
+ REPORT_REASON_SUBTYPE_INVALID_ARRANGEMENT = 3;
+ REPORT_REASON_SUBTYPE_INVALID_CHAT = 4;
+ REPORT_REASON_SUBTYPE_INVALID_AVATAR_NAME = 5;
+ REPORT_REASON_SUBTYPE_INVALID_OTHER = 6;
+}
\ No newline at end of file
diff --git a/proto/SeaLampContributeItemRsp.proto b/proto/SeaLampContributeItemRsp.proto
index 7ec136f7..14ffaf87 100644
--- a/proto/SeaLampContributeItemRsp.proto
+++ b/proto/SeaLampContributeItemRsp.proto
@@ -1,26 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 9989
-// Obf: IAPDCOGBMLL
+
+// CmdId: 1527
message SeaLampContributeItemRsp {
- uint32 add_progress = 8;
- uint32 PBLDLEJHKIC = 12;
- int32 retcode = 7;
- uint32 LMKMIKOGFMG = 14;
-}
+ uint32 add_progress = 3;
+ uint32 CHEONBIDFMN = 5;
+ uint32 OIGKMDPCBIC = 12;
+ int32 retcode = 14;
+}
\ No newline at end of file
diff --git a/proto/SelectWorktopOptionReq.proto b/proto/SelectWorktopOptionReq.proto
index 868c38f7..86529705 100644
--- a/proto/SelectWorktopOptionReq.proto
+++ b/proto/SelectWorktopOptionReq.proto
@@ -1,7 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// 4.6.0
+// CmdId: 29044
message SelectWorktopOptionReq {
- uint32 gadget_entity_id = 9;
- uint32 option_id = 12;
-}
+ uint32 gadget_entity_id = 4;
+ uint32 option_id = 10;
+}
\ No newline at end of file
diff --git a/proto/SelectWorktopOptionRsp.proto b/proto/SelectWorktopOptionRsp.proto
index d65df871..325c6943 100644
--- a/proto/SelectWorktopOptionRsp.proto
+++ b/proto/SelectWorktopOptionRsp.proto
@@ -1,8 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// 4.6.0
+// CmdId: 6213
message SelectWorktopOptionRsp {
- uint32 gadget_entity_id = 7;
- uint32 option_id = 15;
- int32 retcode = 11;
-}
+ uint32 option_id = 1;
+ uint32 gadget_entity_id = 2;
+ int32 retcode = 4;
+}
\ No newline at end of file
diff --git a/proto/StrengthenPointData.proto b/proto/StrengthenPointData.proto
index 19833017..1366ab11 100644
--- a/proto/StrengthenPointData.proto
+++ b/proto/StrengthenPointData.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: DELLDHCKHKJ
+
+// 4.6.0
message StrengthenPointData {
- uint32 FNBNNLOLACD = 2;
- uint32 ENNCLEFEMDF = 5;
+ uint32 base_point = 2;
+ uint32 cur_point = 6;
}
diff --git a/proto/TakeCityReputationExploreRewardReq.proto b/proto/TakeCityReputationExploreRewardReq.proto
new file mode 100644
index 00000000..fa5543cd
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardReq.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 29140
+message TakeCityReputationExploreRewardReq {
+ uint32 city_id = 4;
+ repeated uint32 explore_id_list = 6;
+}
\ No newline at end of file
diff --git a/proto/TakeCityReputationExploreRewardRsp.proto b/proto/TakeCityReputationExploreRewardRsp.proto
new file mode 100644
index 00000000..2f90c357
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardRsp.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "ItemParam.proto";
+
+// CmdId: 26120
+message TakeCityReputationExploreRewardRsp {
+ repeated ItemParam item_list = 1;
+ uint32 city_id = 3;
+ int32 retcode = 7;
+ repeated uint32 explore_id_list = 15;
+}
\ No newline at end of file
diff --git a/proto/TakeCityReputationParentQuestReq.proto b/proto/TakeCityReputationParentQuestReq.proto
index 26972982..abe92842 100644
--- a/proto/TakeCityReputationParentQuestReq.proto
+++ b/proto/TakeCityReputationParentQuestReq.proto
@@ -1,24 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 26463
-// Obf: JANFMKFOJFF
+
+// CmdId: 22912
message TakeCityReputationParentQuestReq {
- uint32 city_id = 9;
- repeated uint32 parent_quest_list = 11;
-}
+ repeated uint32 parent_quest_list = 3;
+ uint32 city_id = 13;
+}
\ No newline at end of file
diff --git a/proto/TakeCityReputationParentQuestRsp.proto b/proto/TakeCityReputationParentQuestRsp.proto
index 248953d5..c1e86f02 100644
--- a/proto/TakeCityReputationParentQuestRsp.proto
+++ b/proto/TakeCityReputationParentQuestRsp.proto
@@ -1,27 +1,13 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ItemParam.proto";
-// CmdId: 1428
-// Obf: HEOCHFLFHEE
+
+// CmdId: 8041
message TakeCityReputationParentQuestRsp {
- repeated ItemParam item_list = 15;
- uint32 city_id = 7;
- int32 retcode = 11;
- repeated uint32 parent_quest_list = 9;
-}
+ repeated uint32 parent_quest_list = 2;
+ repeated ItemParam item_list = 4;
+ uint32 city_id = 6;
+ int32 retcode = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerAllDataReq.proto b/proto/TowerAllDataReq.proto
index bc4aac1c..b138a658 100644
--- a/proto/TowerAllDataReq.proto
+++ b/proto/TowerAllDataReq.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 23009
-// Obf: OBIBAPPDOKJ
+
+// 4.6.0
+// CmdId: 6852
message TowerAllDataReq {
- bool is_interact = 6;
-}
+ bool is_interact = 9;
+}
\ No newline at end of file
diff --git a/proto/TowerAllDataRsp.proto b/proto/TowerAllDataRsp.proto
index 818f4b83..550b3c2e 100644
--- a/proto/TowerAllDataRsp.proto
+++ b/proto/TowerAllDataRsp.proto
@@ -1,42 +1,29 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-import "TowerFloorRecord.proto";
+
import "TowerCurLevelRecord.proto";
+import "TowerFloorRecord.proto";
import "TowerMonthlyBrief.proto";
-// CmdId: 3897
-// Obf: BDPBFJJNCKK
+
+// 4.6.0
+// CmdId: 7133
message TowerAllDataRsp {
- bool is_finished_entrance_floor = 12;
- uint32 schedule_start_time = 1168;
- uint32 FEOKMKFLOFI = 6;
- uint32 CFHPLJKKOFG = 15;
- uint32 NFLJLHDCPFJ = 5;
- repeated TowerFloorRecord tower_floor_record_list = 14;
- uint32 JJJCPHMBMLG = 9;
+ uint32 tower_schedule_id = 1;
+ bool is_finished_entrance_floor = 2;
+ uint32 valid_floor_record_list = 3;
+ TowerCurLevelRecord cur_level_record = 4;
+ int32 retcode = 5;
+ map skip_floor_granted_reward_item_map = 6;
bool is_first_interact = 7;
- TowerCurLevelRecord cur_level_record = 10;
- TowerMonthlyBrief last_schedule_monthly_brief = 4;
- map floor_open_time_map = 13;
- TowerMonthlyBrief monthly_brief = 120;
- uint32 next_schedule_change_time = 11;
- uint32 tower_schedule_id = 3;
- map skip_floor_granted_reward_item_map = 8;
- int32 retcode = 2;
- uint32 MOOJNLEAKFC = 1;
-}
+ uint32 NNIGLOKAEAI = 8;
+ map floor_open_time_map = 9;
+ uint32 ANOHIMHLMID = 10;
+ uint32 MICBOPDAEFN = 11;
+ uint32 next_schedule_change_time = 12;
+ TowerMonthlyBrief monthly_brief = 13;
+ repeated TowerFloorRecord tower_floor_record_list = 14;
+ uint32 LKDMPGCGDCJ = 15;
+ uint32 schedule_start_time = 942;
+ TowerMonthlyBrief last_schedule_monthly_brief = 1740;
+}
\ No newline at end of file
diff --git a/proto/TowerBriefDataNotify.proto b/proto/TowerBriefDataNotify.proto
new file mode 100644
index 00000000..fb1974b4
--- /dev/null
+++ b/proto/TowerBriefDataNotify.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 612
+message TowerBriefDataNotify {
+ uint32 last_floor_index = 6;
+ uint32 tower_schedule_id = 7;
+ uint32 last_level_index = 9;
+ uint32 next_schedule_change_time = 12;
+ uint32 total_star_num = 13;
+ uint32 schedule_start_time = 14;
+ bool is_finished_entrance_floor = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerCurLevelRecord.proto b/proto/TowerCurLevelRecord.proto
index bbc3fb0e..7498cc92 100644
--- a/proto/TowerCurLevelRecord.proto
+++ b/proto/TowerCurLevelRecord.proto
@@ -1,28 +1,15 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerTeam.proto";
-// Obf: KJMLGFALEGC
+
+// 4.6.0
message TowerCurLevelRecord {
+ uint32 cur_floor_id = 1; // MIEGCLBLGNM sus (1, 13)
+ bool is_empty = 2;
repeated TowerTeam tower_team_list = 3;
- bool is_upper_part = 7;
- uint32 cur_floor_id = 13;
- bool is_empty = 14;
- uint32 cur_level_index = 11;
- repeated uint32 buff_id_list = 8;
-}
+ repeated uint32 buff_id_list = 7;
+ uint32 cur_level_index = 13; // NOKAAKKOHLB sus (1, 13)
+ bool is_upper_part = 14;
+}
\ No newline at end of file
diff --git a/proto/TowerCurLevelRecordChangeNotify.proto b/proto/TowerCurLevelRecordChangeNotify.proto
index 7a16e969..8e9d380b 100644
--- a/proto/TowerCurLevelRecordChangeNotify.proto
+++ b/proto/TowerCurLevelRecordChangeNotify.proto
@@ -1,24 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerCurLevelRecord.proto";
-// CmdId: 2583
-// Obf: PLJFJACFJAH
+
+// 4.6.0
+// CmdId: 24979
message TowerCurLevelRecordChangeNotify {
- TowerCurLevelRecord cur_level_record = 3;
-}
+ TowerCurLevelRecord cur_level_record = 9;
+}
\ No newline at end of file
diff --git a/proto/TowerDailyRewardProgressChangeNotify.proto b/proto/TowerDailyRewardProgressChangeNotify.proto
new file mode 100644
index 00000000..ec1b928c
--- /dev/null
+++ b/proto/TowerDailyRewardProgressChangeNotify.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 26940
+message TowerDailyRewardProgressChangeNotify {
+ uint32 MICBOPDAEFN = 3;
+ uint32 NNIGLOKAEAI = 10;
+}
\ No newline at end of file
diff --git a/proto/TowerEnterLevelReq.proto b/proto/TowerEnterLevelReq.proto
index 85d7e3d2..3a70e503 100644
--- a/proto/TowerEnterLevelReq.proto
+++ b/proto/TowerEnterLevelReq.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 21406
-// Obf: OFJGAEGGHFE
+
+// 4.6.0
+// CmdId: 5485
message TowerEnterLevelReq {
- uint32 enter_point_id = 5;
-}
+ uint32 enter_point_id = 13;
+}
\ No newline at end of file
diff --git a/proto/TowerEnterLevelRsp.proto b/proto/TowerEnterLevelRsp.proto
index 0ff01dd1..9a38f3c4 100644
--- a/proto/TowerEnterLevelRsp.proto
+++ b/proto/TowerEnterLevelRsp.proto
@@ -1,26 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// CmdId: 26115
-// Obf: KHHHPNPIIGJ
+
+// 4.6.0
+// CmdId: 21658
message TowerEnterLevelRsp {
- uint32 level_index = 9;
- repeated uint32 tower_buff_id_list = 12;
- int32 retcode = 4;
- uint32 floor_id = 11;
-}
+ repeated uint32 tower_buff_id_list = 7;
+ uint32 floor_id = 9;
+ uint32 level_index = 11;
+ int32 retcode = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerFightRecordPair.proto b/proto/TowerFightRecordPair.proto
new file mode 100644
index 00000000..4c56b8d8
--- /dev/null
+++ b/proto/TowerFightRecordPair.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+message TowerFightRecordPair {
+ uint32 data = 6;
+ uint32 avatar_id = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerFloorRecord.proto b/proto/TowerFloorRecord.proto
index ead9f81b..2286d855 100644
--- a/proto/TowerFloorRecord.proto
+++ b/proto/TowerFloorRecord.proto
@@ -1,26 +1,13 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerLevelRecord.proto";
-// Obf: BGHANHOBDGP
+
+// 4.6.0
message TowerFloorRecord {
- uint32 floor_id = 11;
- map passed_level_map = 2;
- uint32 floor_star_reward_progress = 7;
- repeated TowerLevelRecord passed_level_record_list = 8;
-}
+ map passed_level_map = 4;
+ repeated TowerLevelRecord passed_level_record_list = 7;
+ uint32 floor_star_reward_progress = 8;
+ uint32 floor_id = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerFloorRecordChangeNotify.proto b/proto/TowerFloorRecordChangeNotify.proto
index 1bee16e8..0a642bab 100644
--- a/proto/TowerFloorRecordChangeNotify.proto
+++ b/proto/TowerFloorRecordChangeNotify.proto
@@ -1,25 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerFloorRecord.proto";
-// CmdId: 23989
-// Obf: EEHMCGKNNPI
+
+// 4.6.0
+// CmdId: 9916
message TowerFloorRecordChangeNotify {
- repeated TowerFloorRecord tower_floor_record_list = 9;
- bool is_finished_entrance_floor = 1;
-}
+ bool is_finished_entrance_floor = 6;
+ repeated TowerFloorRecord tower_floor_record_list = 10;
+}
\ No newline at end of file
diff --git a/proto/TowerGetFloorStarRewardReq.proto b/proto/TowerGetFloorStarRewardReq.proto
new file mode 100644
index 00000000..dbf991bb
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardReq.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 21493
+message TowerGetFloorStarRewardReq {
+ uint32 floor_id = 3;
+}
\ No newline at end of file
diff --git a/proto/TowerGetFloorStarRewardRsp.proto b/proto/TowerGetFloorStarRewardRsp.proto
new file mode 100644
index 00000000..03809768
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardRsp.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// 4.6.0
+// CmdId: 4467
+message TowerGetFloorStarRewardRsp {
+ uint32 floor_id = 3;
+ int32 retcode = 8;
+}
\ No newline at end of file
diff --git a/proto/TowerLevelEndNotify.proto b/proto/TowerLevelEndNotify.proto
index 4020a970..bc3c5399 100644
--- a/proto/TowerLevelEndNotify.proto
+++ b/proto/TowerLevelEndNotify.proto
@@ -1,17 +1,21 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "ItemParam.proto";
+// 4.6.0
+// CmdId: 25369
message TowerLevelEndNotify {
- 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;
- }
-
- repeated ItemParam reward_item_list = 10;
- repeated uint32 finished_star_cond_list = 3;
- bool is_success = 2;
- uint32 continue_state = 11;
- uint32 next_floor_id = 5;
-}
\ No newline at end of file
+ repeated uint32 finished_star_cond_list = 3;
+ repeated ItemParam reward_item_list = 7;
+ uint32 next_floor_id = 9; // FJLBPFJCOEB sus (9, 15)
+ bool is_success = 13;
+ uint32 continue_state = 15; // MMIKGNOABLJ sus (9, 15)
+
+ 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;
+ }
+}
diff --git a/proto/TowerLevelRecord.proto b/proto/TowerLevelRecord.proto
index fc363eac..a8997c9a 100644
--- a/proto/TowerLevelRecord.proto
+++ b/proto/TowerLevelRecord.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: AIDBCLODKJO
+
+// 4.6.0
message TowerLevelRecord {
- repeated uint32 satisfied_cond_list = 13;
- uint32 level_id = 9;
-}
+ uint32 level_id = 8;
+ repeated uint32 satisfied_cond_list = 10;
+}
\ No newline at end of file
diff --git a/proto/TowerLevelStarCondData.proto b/proto/TowerLevelStarCondData.proto
index 3f31675d..9eb44b6d 100644
--- a/proto/TowerLevelStarCondData.proto
+++ b/proto/TowerLevelStarCondData.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: CJAADENOOAJ
+
+// 4.6.0
message TowerLevelStarCondData {
- uint32 NGHNFHCLFBH = 12;
- bool IBGHBFANCBK = 6;
- bool OILLLBMMABH = 9;
- uint32 OMOECEGOALC = 2;
+ bool is_fail = 4; // sus
+ uint32 cond_value = 5; // sus
+ bool is_pause = 9; // sus
+ uint32 star_cond_index = 12; // sus
}
diff --git a/proto/TowerLevelStarCondNotify.proto b/proto/TowerLevelStarCondNotify.proto
index a83ae9ab..b56aed65 100644
--- a/proto/TowerLevelStarCondNotify.proto
+++ b/proto/TowerLevelStarCondNotify.proto
@@ -1,26 +1,13 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerLevelStarCondData.proto";
-// CmdId: 2042
-// Obf: ALNLBDBGCAE
+
+// 4.6.0
+// CmdId: 9959
message TowerLevelStarCondNotify {
- uint32 floor_id = 9;
- uint32 level_index = 2;
- repeated TowerLevelStarCondData cond_data_list = 10;
+ repeated TowerLevelStarCondData cond_data_list = 9;
+ uint32 floor_id = 10;
+ uint32 level_index = 13;
}
diff --git a/proto/TowerMonthlyBrief.proto b/proto/TowerMonthlyBrief.proto
index 5590ee49..0298fcea 100644
--- a/proto/TowerMonthlyBrief.proto
+++ b/proto/TowerMonthlyBrief.proto
@@ -1,25 +1,11 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: HHBHKONDDNK
+
+// 4.6.0
message TowerMonthlyBrief {
- uint32 DLPIFFMADHI = 13;
- uint32 MEJOLHPJGJK = 5;
- uint32 tower_schedule_id = 6;
- uint32 KCGJAFBPCLB = 2;
-}
+ uint32 tower_schedule_id = 3;
+ uint32 best_level_index = 11;
+ uint32 best_floor_index = 12;
+ uint32 total_star_count = 14;
+}
\ No newline at end of file
diff --git a/proto/TowerMonthlyCombatRecord.proto b/proto/TowerMonthlyCombatRecord.proto
new file mode 100644
index 00000000..60683ebb
--- /dev/null
+++ b/proto/TowerMonthlyCombatRecord.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "TowerFightRecordPair.proto";
+
+// 4.6.0
+message TowerMonthlyCombatRecord {
+ TowerFightRecordPair CAKGOFILEMK = 1;
+ TowerFightRecordPair BCMIFPLEOGJ = 3;
+ repeated TowerFightRecordPair most_reveal_avatar_list = 4;
+ TowerFightRecordPair ADMFMEDHECE = 8;
+ TowerFightRecordPair JCOILHJELOJ = 13;
+ TowerFightRecordPair FKGJCPIDNBH = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerMonthlyDetail.proto b/proto/TowerMonthlyDetail.proto
new file mode 100644
index 00000000..26936251
--- /dev/null
+++ b/proto/TowerMonthlyDetail.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "TowerMonthlyBrief.proto";
+import "TowerMonthlyCombatRecord.proto";
+
+// 4.6.0
+message TowerMonthlyDetail {
+ TowerMonthlyBrief monthly_brief = 4;
+ TowerMonthlyCombatRecord monthly_combat_record = 15;
+}
\ No newline at end of file
diff --git a/proto/TowerRecordHandbookRsp.proto b/proto/TowerRecordHandbookRsp.proto
new file mode 100644
index 00000000..09b24b95
--- /dev/null
+++ b/proto/TowerRecordHandbookRsp.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "TowerMonthlyDetail.proto";
+
+// 4.6.0
+// CmdId: 1883
+message TowerRecordHandbookRsp {
+ int32 retcode = 4;
+ repeated TowerMonthlyDetail monthly_detail_list = 14;
+}
\ No newline at end of file
diff --git a/proto/TowerTeam.proto b/proto/TowerTeam.proto
index bcd2e79f..db0d38a7 100644
--- a/proto/TowerTeam.proto
+++ b/proto/TowerTeam.proto
@@ -1,23 +1,9 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-// Obf: NAMNJCDLHGI
+
+// 4.6.0
message TowerTeam {
- uint32 tower_team_id = 5;
- repeated uint64 avatar_guid_list = 3;
-}
+ uint32 tower_team_id = 4;
+ repeated uint64 avatar_guid_list = 12;
+}
\ No newline at end of file
diff --git a/proto/TowerTeamSelectReq.proto b/proto/TowerTeamSelectReq.proto
index e910d3de..f2620864 100644
--- a/proto/TowerTeamSelectReq.proto
+++ b/proto/TowerTeamSelectReq.proto
@@ -1,25 +1,12 @@
-// https://github.com/SlushinPS/beach-simulator
-// Copyright (C) 2023 Slushy Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
import "TowerTeam.proto";
-// CmdId: 2100
-// Obf: FOIIKKPGFAG
+
+// 4.6.0
+// CmdId: 4492
message TowerTeamSelectReq {
- repeated TowerTeam tower_team_list = 15;
- uint32 floor_id = 1;
-}
+ uint32 floor_id = 4;
+ repeated TowerTeam tower_team_list = 11;
+}
\ No newline at end of file
diff --git a/proto/TrialAvatarFirstPassDungeonNotify.proto b/proto/TrialAvatarFirstPassDungeonNotify.proto
index f1948ca5..158cf428 100644
--- a/proto/TrialAvatarFirstPassDungeonNotify.proto
+++ b/proto/TrialAvatarFirstPassDungeonNotify.proto
@@ -1,6 +1,8 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+// CmdId: 7953
message TrialAvatarFirstPassDungeonNotify {
- uint32 trial_avatar_index_id = 7;
-}
+ uint32 trial_avatar_index_id = 10;
+}
\ No newline at end of file
diff --git a/proto/WatcherEventNotify.proto b/proto/WatcherEventNotify.proto
new file mode 100644
index 00000000..c636dd36
--- /dev/null
+++ b/proto/WatcherEventNotify.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 2066
+message WatcherEventNotify {
+ uint32 add_progress = 3;
+ uint32 watcher_id = 13;
+}
\ No newline at end of file
diff --git a/proto/WatcherEventStageNotify.proto b/proto/WatcherEventStageNotify.proto
new file mode 100644
index 00000000..d56abf5f
--- /dev/null
+++ b/proto/WatcherEventStageNotify.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 22871
+message WatcherEventStageNotify {
+ uint32 watcher_id = 10;
+ uint32 stage = 13;
+ uint32 add_progress = 15;
+}
\ No newline at end of file
diff --git a/proto/WatcherEventTypeNotify.proto b/proto/WatcherEventTypeNotify.proto
new file mode 100644
index 00000000..f85e2215
--- /dev/null
+++ b/proto/WatcherEventTypeNotify.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+// CmdId: 1367
+message WatcherEventTypeNotify {
+ uint32 watcher_trigger_type = 3;
+ repeated uint32 param_list = 6;
+ uint32 add_progress = 12;
+}
\ No newline at end of file