sync proto

This commit is contained in:
Yuuki 2024-06-08 14:18:08 +08:00
parent 8b3ee4ab88
commit 58542ed979
117 changed files with 1071 additions and 1618 deletions

View File

@ -26381,7 +26381,7 @@ message GLGOCFNCMJP {
} }
// CmdId: 3564 // CmdId: 3564
message AHDFJPOBOJJ { message AvatarPromoteRsp {
uint64 guid = 13; uint64 guid = 13;
int32 retcode = 15; int32 retcode = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 3824
// Obf: AIJHHIHHOHI // CmdId: 8699
message AddQuestContentProgressReq { message AddQuestContentProgressReq {
uint32 add_progress = 7; uint32 content_type = 6;
uint32 content_type = 1; uint32 param = 10;
uint32 param = 6; uint32 add_progress = 11;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 5514
// Obf: FGGNCOHIPDL // CmdId: 23613
message AddQuestContentProgressRsp { message AddQuestContentProgressRsp {
int32 retcode = 12; int32 retcode = 5;
uint32 content_type = 10; uint32 content_type = 14;
} }

View File

@ -1,7 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0
message AiSkillCdInfo { message AiSkillCdInfo {
map<uint32, uint32> skill_cd_map = 6; map<uint32, uint32> skill_cd_map = 1;
map<uint32, uint32> skill_group_cd_map = 13; map<uint32, uint32> skill_group_cd_map = 8;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 3748
// Obf: LEIEOELEMFM // CmdId: 25636
message AvatarSkillDepotChangeNotify { message AvatarSkillDepotChangeNotify {
uint64 avatar_guid = 9; uint32 entity_id = 3;
uint32 core_proud_skill_level = 1; uint32 core_proud_skill_level = 5;
repeated uint32 proud_skill_list = 3; map<uint32, uint32> proud_skill_extra_level_map = 7;
uint32 entity_id = 10; uint64 avatar_guid = 8;
map<uint32, uint32> proud_skill_extra_level_map = 4; map<uint32, uint32> skill_level_map = 9;
repeated uint32 talent_id_list = 7; repeated uint32 proud_skill_list = 11;
map<uint32, uint32> skill_level_map = 13; repeated uint32 talent_id_list = 12;
uint32 skill_depot_id = 14; uint32 skill_depot_id = 14;
} }

11
proto/BNAIFNLBGOL.proto Normal file
View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 1186
// Obf: DBEMADCMEEF // Version: 4.6.0
// CmdId: 5279
message CanUseSkillNotify { message CanUseSkillNotify {
bool is_can_use_skill = 8; bool is_can_use_skill = 2;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: LECFLFKFOOL
// 4.6.0
message ChallengeBrief { message ChallengeBrief {
uint32 challenge_id = 14; bool is_success = 3;
uint32 cur_progress = 3; uint32 cur_progress = 7;
bool is_success = 9; uint32 challenge_index = 8;
uint32 challenge_index = 15; uint32 challenge_id = 9;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 2864
// Obf: MFANHHFJIBJ // 4.6.0
// CmdId: 2570
message ChallengeDataNotify { message ChallengeDataNotify {
uint32 challenge_index = 5; uint32 challenge_index = 6;
uint32 param_index = 9; uint32 value = 7;
uint32 value = 8; uint32 param_index = 8;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: KKEOIBNCMCK
// 4.6.0
enum ChallengeFinishType { enum ChallengeFinishType {
CHALLENGE_FINISH_TYPE_NONE = 0; CHALLENGE_FINISH_TYPE_NONE = 0;
CHALLENGE_FINISH_TYPE_FAIL = 1; CHALLENGE_FINISH_TYPE_FAIL = 1;
CHALLENGE_FINISH_TYPE_SUCC = 2; CHALLENGE_FINISH_TYPE_SUCC = 2;
CHALLENGE_FINISH_TYPE_PAUSE = 3; CHALLENGE_FINISH_TYPE_PAUSE = 3;
} }

View File

@ -1,8 +1,11 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 26138
// Version: 4.6.0
message ChangeGameTimeReq { message ChangeGameTimeReq {
bool is_force_set = 1; bool is_force_set = 7;
uint32 extra_days = 2; uint32 game_time = 15;
uint32 game_time = 9; uint32 extra_days = 65535; // VMPED
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: DHJCFBHIJFE
// Version: 4.6.0
// Obfs: CCOMDFHOPAL
message ChildQuest { message ChildQuest {
uint32 quest_config_id = 6; uint32 state = 1;
uint32 quest_config_id = 2;
uint32 quest_id = 11; uint32 quest_id = 11;
uint32 state = 2; }
}

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: AJGOAOOHDHK
// Version: 4.6.0
enum CustomDungeonFinishType { enum CustomDungeonFinishType {
CUSTOM_DUNGEON_FINISH_PLAY_NORMAL = 0; CUSTOM_DUNGEON_FINISH_PLAY_NORMAL = 0;
CUSTOM_DUNGEON_FINISH_PLAY_TRY = 1; CUSTOM_DUNGEON_FINISH_PLAY_TRY = 1;

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "CustomDungeonFinishType.proto"; import "CustomDungeonFinishType.proto";
import "ChallengeBrief.proto"; import "ChallengeBrief.proto";
// Obf: HMBINEDPAHO
// Version: 4.6.0
message CustomDungeonResultInfo { message CustomDungeonResultInfo {
uint32 got_coin_num = 3; CustomDungeonFinishType finish_type = 1;
CustomDungeonFinishType finish_type = 14; bool AOFLEOKAPPE = 4;
repeated ChallengeBrief child_challenge_list = 12; uint32 get_coin_num = 5;
repeated ChallengeBrief child_challenge_list = 6;
uint32 time_cost = 8;
uint64 dungeon_guid = 11; uint64 dungeon_guid = 11;
bool is_liked = 7; bool JLPAPANBLCE = 12;
uint32 time_cost = 2; bool PGEHHNIADBK = 14;
bool is_stored = 15;
bool is_arrive_finish = 5;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "CutSceneExtraParam.proto"; import "CutSceneExtraParam.proto";
// CmdId: 418
// Obf: LKBOJOLENCC // 4.6.0
// CmdId: 28649
message CutSceneBeginNotify { message CutSceneBeginNotify {
uint32 cutscene_id = 11; repeated CutSceneExtraParam extra_param_list = 2;
bool is_wait_others = 8; bool is_wait_others = 6;
repeated CutSceneExtraParam extra_param_list = 15; uint32 cutscene_id = 12;
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: LHEBFKHNPDH
// 4.6.0
message CutSceneExtraParam { message CutSceneExtraParam {
repeated double detail_param_list = 14; repeated double detail_param_list = 12;
} }

View File

@ -0,0 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 26365
message CutSceneFinishNotify {
uint32 cutscene_id = 3;
}

View File

@ -1,11 +1,14 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// CmdId: 26552
message DungeonChallengeBeginNotify { message DungeonChallengeBeginNotify {
repeated uint32 param_list = 4; uint32 challenge_id = 2;
repeated uint32 uid_list = 12; repeated uint32 param_list = 4;
uint32 challenge_id = 10; uint32 group_id = 5;
uint32 group_id = 8; uint32 father_index = 6;
uint32 father_index = 5; uint32 challenge_index = 9;
uint32 challenge_index = 11; repeated uint32 uid_list = 12;
} }

View File

@ -1,25 +1,29 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ChallengeFinishType.proto"; import "ChallengeFinishType.proto";
import "StrengthenPointData.proto"; import "ChannelerSlabLoopDungeonResultInfo.proto";
import "ChannellerSlabLoopDungeonResultInfo.proto"; import "CustomDungeonResultInfo.proto";
import "EffigyChallengeDungeonResultInfo.proto"; import "EffigyChallengeDungeonResultInfo.proto";
import "PotionDungeonResultInfo.proto"; import "PotionDungeonResultInfo.proto";
import "CustomDungeonResultInfo.proto"; import "StrengthenPointData.proto";
// Version: 4.6.0
// CmdId: 20089
message DungeonChallengeFinishNotify { message DungeonChallengeFinishNotify {
map<uint32, StrengthenPointData> strengthen_point_data_map = 13; ChallengeFinishType finish_type = 2;
uint32 challenge_record_type = 9; uint32 time_cost = 3;
bool is_success = 1; map<uint32, StrengthenPointData> strengthen_point_data_map = 5;
bool is_new_record = 10; uint32 challenge_index = 7;
ChallengeFinishType finish_type = 7; bool is_success = 8;
uint32 time_cost = 6; uint32 challenge_record_type = 9;
uint32 challenge_index = 5; bool is_new_record = 13;
uint32 current_value = 12; uint32 current_value = 15;
oneof detail { oneof detail {
ChannellerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1389; ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1922;
EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1637; EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1859;
PotionDungeonResultInfo potion_dungeon_result_info = 319; PotionDungeonResultInfo potion_dungeon_result_info = 1677;
CustomDungeonResultInfo custom_dungeon_result_info = 823; CustomDungeonResultInfo custom_dungeon_result_info = 1349;
} }
} }

View File

@ -0,0 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// CmdId: 6799
message DungeonDataNotify {
map<uint32, uint32> dungeon_data_map = 10;
}

View File

@ -1,7 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: KCCNEAHCDBC
message DungeonEnterPosInfo { message DungeonEnterPosInfo {
uint32 quest_id = 13; uint32 point_id = 7;
uint32 point_id = 1; uint32 quest_id = 12;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "OnlinePlayerInfo.proto";
import "ExhibitionDisplayInfo.proto"; import "ExhibitionDisplayInfo.proto";
// Obf: EKCOLEKCJKB import "OnlinePlayerInfo.proto";
// 4.6.0
message DungeonSettleExhibitionInfo { message DungeonSettleExhibitionInfo {
OnlinePlayerInfo player_info = 3; repeated ExhibitionDisplayInfo card_list = 6;
repeated ExhibitionDisplayInfo card_list = 12; OnlinePlayerInfo player_info = 10;
} }

View File

@ -1,22 +1,55 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "DungeonSettleExhibitionInfo.proto"; import "DungeonSettleExhibitionInfo.proto";
import "StrengthenPointData.proto"; import "StrengthenPointData.proto";
import "ParamList.proto"; import "ParamList.proto";
import "TowerLevelEndNotify.proto"; import "TowerLevelEndNotify.proto";
import "TrialAvatarFirstPassDungeonNotify.proto"; import "TrialAvatarFirstPassDungeonNotify.proto";
import "ChannelerSlabLoopDungeonResultInfo.proto";
import "EffigyChallengeDungeonResultInfo.proto";
// Version: 4.6.0
// CmdId: 944
message DungeonSettleNotify { message DungeonSettleNotify {
map<uint32, ParamList> settle_show = 2; uint32 result = 1;
repeated DungeonSettleExhibitionInfo exhibition_info_list = 5; uint32 close_time = 3;
map<uint32, StrengthenPointData> strengthen_point_data_map = 8; repeated DungeonSettleExhibitionInfo exhibition_info_list = 5;
repeated uint32 fail_cond_list = 6; uint32 use_time = 6;
bool is_success = 4; map<uint32, StrengthenPointData> strengthen_point_data_map = 8;
uint32 close_time = 7; bool is_success = 9;
uint32 use_time = 3; uint32 create_player_uid = 11;
uint32 dungeon_id = 1; map<uint32, ParamList> settle_show = 12;
uint32 create_player_uid = 11; repeated uint32 fail_cond_list = 13;
uint32 result = 9; uint32 dungeon_id = 14;
TowerLevelEndNotify tower_level_end_notify = 382; oneof detail {
TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1300; 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;
}
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: FMEPDDDIKHK
// 4.6.0
message EffigyChallengeDungeonResultInfo { message EffigyChallengeDungeonResultInfo {
bool is_in_time_limit = 8; uint32 challenge_max_score = 4;
uint32 challenge_id = 5; uint32 challenge_score = 7;
uint32 challenge_max_score = 11; bool is_success = 8;
uint32 challenge_score = 15; uint32 challenge_id = 9;
bool is_success = 13; bool is_in_time_limit = 12;
} }

View File

@ -1,7 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AiSkillCdInfo.proto"; import "AiSkillCdInfo.proto";
// CmdId: 2783
message EvtAiSyncSkillCdNotify { message EvtAiSyncSkillCdNotify {
map<uint32, AiSkillCdInfo> ai_cd_map = 2; map<uint32, AiSkillCdInfo> ai_cd_map = 1;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: MCIHMDBLAPP
// 4.6.0
message ExhibitionDisplayInfo { message ExhibitionDisplayInfo {
uint32 id = 1; uint32 id = 1;
uint32 param = 2; uint32 param = 2;
uint32 detail_param = 3; uint32 detail_param = 3;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ParentQuest.proto"; import "ParentQuest.proto";
// CmdId: 27820
// Obf: EPOAAKIMMFB // CmdId: 22868
message FinishedParentQuestNotify { message FinishedParentQuestNotify {
repeated ParentQuest parent_quest_list = 6; repeated ParentQuest parent_quest_list = 10;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ParentQuest.proto"; import "ParentQuest.proto";
// CmdId: 455
// Obf: JCGNAICEEND // CmdId: 3745
message FinishedParentQuestUpdateNotify { message FinishedParentQuestUpdateNotify {
repeated ParentQuest parent_quest_list = 3; repeated ParentQuest parent_quest_list = 4;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: OLNPKHEMJEN
// Version: 4.6.0
// Obfs: KBMGFOFLGCP
message FurnitureMakeData { message FurnitureMakeData {
uint32 durTime = 14; uint32 make_id = 6;
fixed32 accelerateTime = 15; uint32 dur_time = 7;
uint32 make_id = 7; uint32 index = 9;
uint32 avatar_id = 10; fixed32 accelerate_time = 10;
uint32 index = 12; uint32 avatar_id = 12;
fixed32 begin_time = 1; fixed32 begin_time = 13;
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 5868
// Obf: HKBLCEEFAFM // CmdId: 29959
message GetParentQuestVideoKeyRsp { message GetParentQuestVideoKeyRsp {
int32 retcode = 8; uint64 video_key = 1;
uint32 parent_quest_id = 2; int32 retcode = 3;
uint64 video_key = 7; uint32 parent_quest_id = 10;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 28297
// Obf: FDCIDFLNJKP import "LackingResourceInfo.proto";
// CmdId: 3935
message GetQuestLackingResourceRsp { message GetQuestLackingResourceRsp {
repeated uint32 lacked_npc_list = 15; uint32 quest_id = 4;
map<uint32, uint32> lacked_place_map = 4; int32 retcode = 7;
repeated uint32 lacked_place_list = 10; LackingResourceInfo DMDCNMGJPAN = 8;
int32 retcode = 9;
map<uint32, uint32> lacked_npc_map = 1;
uint32 quest_id = 7;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "InfernceWordInfo.proto";
// Obf: BMEHNPACBEM import "InferenceWordInfo.proto";
// Version: 4.6.0
// Obfs: CAOBNKCODIB
message InferencePageInfo { message InferencePageInfo {
repeated InfernceWordInfo unlock_word_list = 7; repeated InferenceWordInfo unlock_word_list = 10;
uint32 page_id = 13; uint32 page_id = 12;
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: LJAJANHHOML
// Version: 4.6.0
// Obfs: INJKDLOLFNC
message Investigation { message Investigation {
// Obf: GMMLBMGDPPP
enum State { enum State {
INVALID = 0; INVALID = 0;
IN_PROGRESS = 1; IN_PROGRESS = 1;
COMPLETE = 2; COMPLETE = 2;
REWARD_TAKEN = 3; REWARD_TAKEN = 3;
} }
uint32 id = 8; uint32 id = 6;
uint32 progress = 7; uint32 total_progress = 8;
State state = 12; State state = 9;
uint32 total_progress = 14; uint32 progress = 12;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: CHDNBCDJCEJ
// Version: 4.6.0
// Obfs: KMNKJKIEPCB
message InvestigationTarget { message InvestigationTarget {
// Obf: MBMPKODCOJI
enum State { enum State {
INVALID = 0; INVALID = 0;
IN_PROGRESS = 1; IN_PROGRESS = 1;
COMPLETE = 2; COMPLETE = 2;
REWARD_TAKEN = 3; REWARD_TAKEN = 3;
} }
uint32 quest_id = 3;
uint32 progress = 4;
uint32 investigation_id = 6;
State state = 9;
uint32 total_progress = 12; uint32 total_progress = 12;
uint32 progress = 15; }
uint32 quest_id = 4;
uint32 investigation_id = 8;
State state = 1;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 29042
// Obf: IBCHBDKCOEB // CmdId: 7359
message ItemRenameAvatarReq { message ItemRenameAvatarReq {
uint32 rename_id = 6; string avatar_name = 8;
string avatar_name = 9; uint32 rename_id = 12;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 27302
// Obf: PNDEJAEBEOE // CmdId: 29921
message ItemRenameAvatarRsp { message ItemRenameAvatarRsp {
uint32 rename_id = 8; uint32 rename_id = 3;
uint32 cd_time = 5; uint32 cd_time = 12;
int32 retcode = 6; int32 retcode = 15;
} }

View File

@ -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<uint32, uint32> FCDLFNOEGHM = 2;
repeated uint32 EELMHKHPHAE = 3;
map<uint32, uint32> AIPBIKFKCOJ = 4;
repeated uint32 MCJIAMFJJHO = 5;
map<uint32, uint32> EKIOGCFMENA = 6;
repeated uint32 EAPIHMKHAPD = 7;
repeated uint32 PPHMKELDLKI = 8;
repeated uint32 OBOABOBKDOE = 9;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: KGFDBLAPENJ
// Version: 4.6.0
// Obfs: ???
message LockedPersonallineData { message LockedPersonallineData {
// Obf: ONPJFEHGHMM
enum LockReason { enum LockReason {
LEVEL = 0; LockReason_LEVEL = 0;
QUEST = 1; LockReason_QUEST = 1;
} }
// Obf: EDNGHGCCDGF
message QuestParam { message QuestParam {
uint32 chapter_id = 10; uint32 chapter_id = 1;
uint32 quest_id = 7; uint32 quest_id = 5;
} }
uint32 personal_line_id = 10; LockReason lock_reason = 3;
LockReason lock_reason = 4; uint32 personal_line_id = 5;
oneof param { oneof param {
uint32 chapter_id = 7; uint32 chapter_id = 11;
uint32 level = 13; uint32 level = 2;
QuestParam quest_param = 12; QuestParam quest_param = 1;
} }
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "LunaRiteHintStatusType.proto"; import "LunaRiteHintStatusType.proto";
// Obf: MKHIINJPJME
// Version: 4.6.0
// Obfs: PFOJKOELJAB
message LunaRiteAreaInfo { message LunaRiteAreaInfo {
repeated uint32 sacrifice_reward_list = 9; repeated uint32 NLADEGOOIDA = 2;
repeated uint32 sacrifice_list = 6; LunaRiteHintStatusType hint_status = 7;
uint32 area_id = 4; repeated uint32 PAJINADKPNM = 8;
uint32 challenge_index = 15; uint32 area_id = 9;
LunaRiteHintStatusType hint_status = 3; uint32 challenge_index = 10;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: GGCKOHLIGEL
// Version: 4.6.0
// Obfs: FMLOPHOEIPK
enum LunaRiteHintStatusType { enum LunaRiteHintStatusType {
LUNA_RITE_HINT_STATUS_DEFAULT = 0; LUNA_RITE_HINT_STATUS_DEFAULT = 0;
LUNA_RITE_HINT_STATUS_NO_COUNT = 1; LUNA_RITE_HINT_STATUS_NO_COUNT = 1;
LUNA_RITE_HINT_STATUS_FINISH = 2; LUNA_RITE_HINT_STATUS_FINISH = 2;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: BLCNFAPGDKG
// Version: 4.6.0
message ParamList { message ParamList {
repeated uint32 param_list = 1; repeated uint32 param_list = 1;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ChildQuest.proto"; import "ChildQuest.proto";
import "BNAIFNLBGOL.proto";
import "InferencePageInfo.proto"; import "InferencePageInfo.proto";
import "ParentQuestRandomInfo.proto"; import "ParentQuestRandomInfo.proto";
// Obf: HJOGPKJDLID
// Version: 4.6.0
// Obfs: BLKNHPMNCDI
message ParentQuest { 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 ChildQuest child_quest_list = 1;
repeated int32 quest_var = 7; bool is_random = 2;
repeated InferencePageInfo inference_page_list = 9; map<uint32, uint32> time_var_map = 4;
bool is_finished = 14; bool is_finished = 5;
uint32 parent_quest_id = 5; uint64 video_key = 6;
map<uint32, uint32> time_var_map = 10; uint32 quest_var_seq = 7;
ParentQuestRandomInfo random_info = 2; 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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "InferencePageInfo.proto"; import "InferencePageInfo.proto";
// CmdId: 24796
// Obf: LPFEFNDAENI // CmdId: 1127
message ParentQuestInferenceDataNotify { message ParentQuestInferenceDataNotify {
repeated InferencePageInfo inference_page_list = 12; repeated InferencePageInfo inference_page_list = 4;
uint32 parent_quest_id = 4; uint32 parent_quest_id = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: NIGBJJFCAGF
// Version: 4.6.0
// Obfs: FILNNGFJFGA
message ParentQuestRandomInfo { message ParentQuestRandomInfo {
uint32 template_id = 10; repeated uint32 factor_list = 4;
repeated uint32 factor_list = 9; uint32 template_id = 6;
uint32 entrance_id = 3; uint32 entrance_id = 12;
} }

View File

@ -1,9 +1,13 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "DungeonEnterPosInfo.proto"; import "DungeonEnterPosInfo.proto";
// 4.6.0
// CmdId: 2254
message PlayerEnterDungeonReq { message PlayerEnterDungeonReq {
DungeonEnterPosInfo enter_pos_info = 5; uint32 dungeon_id = 1;
uint32 dungeon_id = 14; uint32 point_id = 11;
uint32 point_id = 2; DungeonEnterPosInfo enter_pos_info = 12;
} }

View File

@ -1,8 +1,11 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 21726
message PlayerEnterDungeonRsp { message PlayerEnterDungeonRsp {
uint32 point_id = 13; uint32 dungeon_id = 10;
uint32 dungeon_id = 1; uint32 point_id = 13;
int32 retcode = 15; int32 retcode = 14;
} }

View File

@ -3,21 +3,33 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
import "EnterType.proto"; import "EnterType.proto";
import "MapLayerInfo.proto";
// 4.6.0 // 4.6.0
// CmdId: 21317 // CmdId: 21317
// 2 -> 1, 4 -> 1, 376 -> 1, 1100 -> 1
// world_type type enter_reason is_first_login_enter_scene
message PlayerEnterSceneNotify { message PlayerEnterSceneNotify {
//MapLayerInfo map_layer_info = 317; uint32 prev_scene_id = 1; // OK
EnterType type = 2;//sus EnterType type = 2; // OK
repeated uint32 scene_tag_id_list = 9; uint32 world_level = 3; // OK
uint32 world_level = 3; bool is_first_login_enter_scene = 4; // OK
uint32 target_uid = 14;//14 or 189 uint64 scene_begin_time = 6; // OK
uint32 create_player_uid = 189;//14 or 189 uint32 scene_id = 7; // OK
Vector pos = 13; uint32 dungeon_id = 8; // OK
uint32 scene_id = 7; repeated uint32 scene_tag_id_list = 9; // OK
string scene_transaction = 120; Vector prev_pos = 11; // OK
uint32 enter_scene_token = 15; Vector pos = 13; // OK
uint64 scene_begin_time = 6; uint32 target_uid = 14; // 14 or 189
bool is_skip_ui = 376;//sus uint32 enter_scene_token = 15; // OK
uint32 dungeon_id = 1999;//wrong 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
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Investigation.proto"; import "Investigation.proto";
import "InvestigationTarget.proto"; import "InvestigationTarget.proto";
// CmdId: 23777
// Obf: AOFKNKKENHJ // CmdId: 23844
message PlayerInvestigationAllInfoNotify { message PlayerInvestigationAllInfoNotify {
repeated Investigation investigation_list = 5; repeated Investigation investigation_list = 5;
repeated InvestigationTarget investigation_target_list = 14; repeated InvestigationTarget investigation_target_list = 14;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Investigation.proto"; import "Investigation.proto";
// CmdId: 22886
// Obf: ALOLADCMDPF // CmdId: 20131
message PlayerInvestigationNotify { message PlayerInvestigationNotify {
repeated Investigation investigation_list = 7; repeated Investigation investigation_list = 12;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "InvestigationTarget.proto"; import "InvestigationTarget.proto";
// CmdId: 1218
// Obf: MCKLNIEGCOK // CmdId: 8373
message PlayerInvestigationTargetNotify { message PlayerInvestigationTargetNotify {
repeated InvestigationTarget investigation_target_list = 14; repeated InvestigationTarget investigation_target_list = 6;
} }

View File

@ -1,7 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 9001
message PlayerQuitDungeonReq { message PlayerQuitDungeonReq {
bool is_quit_immediately = 7; uint32 point_id = 13;
uint32 point_id = 6; bool is_quit_immediately = 14;
} }

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: IFLFOABLCJB
// 4.6.0
message PotionDungeonResultInfo { message PotionDungeonResultInfo {
uint32 level_id = 10; uint32 IPKGIOBPENI = 3;
uint32 stage_id = 2; uint32 EEOAFHOMHPH = 8;
uint32 mode_id = 9; uint32 MCAIMDGIIPN = 10;
uint32 final_score = 1; uint32 level_id = 11;
uint32 difficulty_level = 15; uint32 IKDMGBPAKOL = 12;
uint32 left_time = 11; uint32 stage_id = 13;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 23429
// Obf: GALAIBFEIIG // CmdId: 26650
message ProudSkillChangeNotify { message ProudSkillChangeNotify {
uint32 entity_id = 4; uint32 skill_depot_id = 7;
repeated uint32 proud_skill_list = 3; uint64 avatar_guid = 10;
uint32 skill_depot_id = 11; uint32 entity_id = 12;
uint64 avatar_guid = 9; repeated uint32 proud_skill_list = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: BLFINGECHDB
import "LackingResourceInfo.proto";
// Version: 4.6.0
// Obfs: DNMAECDIBPD
message Quest { message Quest {
uint32 quest_id = 1; uint32 quest_id = 1;
uint32 state = 2; uint32 state = 2;
@ -26,10 +15,8 @@ message Quest {
uint32 quest_config_id = 7; uint32 quest_config_id = 7;
uint32 start_game_time = 8; uint32 start_game_time = 8;
uint32 accept_time = 9; uint32 accept_time = 9;
repeated uint32 lacked_npc_list = 10; repeated uint32 finish_progress_list = 10;
repeated uint32 finish_progress_list = 11; repeated uint32 fail_progress_list = 11;
repeated uint32 fail_progress_list = 12; repeated uint32 CBIIPBMDLCH = 12;
map<uint32, uint32> lacked_npc_map = 13; LackingResourceInfo DMDCNMGJPAN = 13;
repeated uint32 lacked_place_list = 14; }
map<uint32, uint32> lacked_place_map = 15;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 26568
// Obf: GLNOOFDFGEC // CmdId: 3062
message QuestDestroyNpcReq { message QuestDestroyNpcReq {
uint32 npc_id = 14; uint32 npc_id = 2;
uint32 parent_quest_id = 15; uint32 parent_quest_id = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 607
// Obf: PCNAEIAPMGE // CmdId: 5341
message QuestDestroyNpcRsp { message QuestDestroyNpcRsp {
uint32 parent_quest_id = 13; uint32 npc_id = 3;
uint32 npc_id = 4; uint32 parent_quest_id = 7;
int32 retcode = 9; int32 retcode = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: PGEKJBDCGND
// Version: 4.6.0
// Obfs: JOHFHDPJJHA
message QuestGlobalVar { message QuestGlobalVar {
uint32 key = 3;
int32 value = 14; int32 value = 14;
uint32 key = 8; }
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "QuestGlobalVar.proto"; import "QuestGlobalVar.proto";
// CmdId: 23502
// Obf: JGINEENLNCF // CmdId: 7471
message QuestGlobalVarNotify { message QuestGlobalVarNotify {
repeated QuestGlobalVar var_list = 1; repeated QuestGlobalVar var_list = 11;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Quest.proto"; import "Quest.proto";
// CmdId: 29451
// Obf: LNKCGCNLKDP // CmdId: 20190
message QuestListNotify { message QuestListNotify {
repeated Quest quest_list = 13; repeated Quest quest_list = 9;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Quest.proto"; import "Quest.proto";
// CmdId: 22114
// Obf: NCEKGFIOHJG // CmdId: 28355
message QuestListUpdateNotify { message QuestListUpdateNotify {
repeated Quest quest_list = 1; repeated Quest quest_list = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 5388
// Obf: DEOLGKMMGHH // CmdId: 23329
message QuestProgressUpdateNotify { message QuestProgressUpdateNotify {
uint32 quest_id = 1; repeated uint32 fail_progress_list = 2;
repeated uint32 finish_progress_list = 3; uint32 quest_id = 8;
repeated uint32 fail_progress_list = 10; repeated uint32 finish_progress_list = 9;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 1366
// Obf: EACELLFNBCE // CmdId: 20927
message QuestRenameAvatarReq { message QuestRenameAvatarReq {
bool is_check = 14; bool is_check = 1;
uint32 rename_id = 13; uint32 rename_id = 7;
string avatar_name = 9; string avatar_name = 9;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 21481
// Obf: ALHLKPOGFGC // CmdId: 9870
message QuestRenameAvatarRsp { message QuestRenameAvatarRsp {
string avatar_name = 3; uint32 rename_id = 1;
uint32 rename_id = 9; bool is_check = 4;
int32 retcode = 1; string avatar_name = 6;
bool is_check = 7; int32 retcode = 10;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 2854
// Obf: FGDGCAJEJPM // CmdId: 29107
message QuestTransmitReq { message QuestTransmitReq {
uint32 quest_id = 2; uint32 point_id = 8;
uint32 point_id = 1; uint32 text_id = 9;
uint32 LAJGLCIFKCP = 10; uint32 quest_id = 11;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 20137
// Obf: EFHMAODMGJJ // CmdId: 22002
message QuestTransmitRsp { message QuestTransmitRsp {
int32 retcode = 5; int32 retcode = 6;
uint32 point_id = 9; uint32 point_id = 11;
uint32 quest_id = 14; uint32 quest_id = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 28219
// Obf: DIAGJLMDMDL // CmdId: 26969
message QuestUpdateQuestTimeVarNotify { message QuestUpdateQuestTimeVarNotify {
map<uint32, uint32> time_var_map = 4; uint32 parent_quest_id = 3;
uint32 parent_quest_id = 11; map<uint32, uint32> time_var_map = 7;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 1753
// Obf: OEEFAJLMMNF // CmdId: 28763
message QuestUpdateQuestVarNotify { message QuestUpdateQuestVarNotify {
uint32 parent_quest_id = 3; repeated int32 quest_var = 9;
repeated int32 quest_var = 6; uint32 parent_quest_var_seq = 10;
uint32 parent_quest_var_seq = 9; uint32 parent_quest_id = 15;
} }

View File

@ -1,10 +1,13 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "QuestVarOp.proto"; import "QuestVarOp.proto";
// CmdId: 9309
message QuestUpdateQuestVarReq { message QuestUpdateQuestVarReq {
repeated QuestVarOp quest_var_op_list = 7; repeated QuestVarOp quest_var_op_list = 3;
uint32 quest_id = 10; uint32 quest_id = 4;
uint32 parent_quest_id = 15; uint32 parent_quest_id = 8;
uint32 parent_quest_var_seq = 12; uint32 parent_quest_var_seq = 12;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 5677
// Obf: ENCODHADEDM // CmdId: 21367
message QuestUpdateQuestVarRsp { message QuestUpdateQuestVarRsp {
uint32 parent_quest_var_seq = 10; uint32 quest_id = 2;
uint32 quest_id = 7;
int32 retcode = 14;
uint32 parent_quest_id = 11; uint32 parent_quest_id = 11;
} uint32 parent_quest_var_seq = 12;
int32 retcode = 13;
}

View File

@ -1,8 +1,11 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: LHJAINDLHBM
message QuestVarOp { message QuestVarOp {
bool is_add = 4; uint32 index = 2;
uint32 index = 9; bool is_add = 8;
int32 value = 5; int32 value = 15;
} }

View File

@ -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;
}

14
proto/ReportSubtype.proto Normal file
View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 9989
// Obf: IAPDCOGBMLL // CmdId: 1527
message SeaLampContributeItemRsp { message SeaLampContributeItemRsp {
uint32 add_progress = 8; uint32 add_progress = 3;
uint32 PBLDLEJHKIC = 12; uint32 CHEONBIDFMN = 5;
int32 retcode = 7; uint32 OIGKMDPCBIC = 12;
uint32 LMKMIKOGFMG = 14; int32 retcode = 14;
} }

View File

@ -1,7 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 29044
message SelectWorktopOptionReq { message SelectWorktopOptionReq {
uint32 gadget_entity_id = 9; uint32 gadget_entity_id = 4;
uint32 option_id = 12; uint32 option_id = 10;
} }

View File

@ -1,8 +1,11 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 6213
message SelectWorktopOptionRsp { message SelectWorktopOptionRsp {
uint32 gadget_entity_id = 7; uint32 option_id = 1;
uint32 option_id = 15; uint32 gadget_entity_id = 2;
int32 retcode = 11; int32 retcode = 4;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Obf: DELLDHCKHKJ
// 4.6.0
message StrengthenPointData { message StrengthenPointData {
uint32 FNBNNLOLACD = 2; uint32 base_point = 2;
uint32 ENNCLEFEMDF = 5; uint32 cur_point = 6;
} }

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 26463
// Obf: JANFMKFOJFF // CmdId: 22912
message TakeCityReputationParentQuestReq { message TakeCityReputationParentQuestReq {
uint32 city_id = 9; repeated uint32 parent_quest_list = 3;
repeated uint32 parent_quest_list = 11; uint32 city_id = 13;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto"; import "ItemParam.proto";
// CmdId: 1428
// Obf: HEOCHFLFHEE // CmdId: 8041
message TakeCityReputationParentQuestRsp { message TakeCityReputationParentQuestRsp {
repeated ItemParam item_list = 15; repeated uint32 parent_quest_list = 2;
uint32 city_id = 7; repeated ItemParam item_list = 4;
int32 retcode = 11; uint32 city_id = 6;
repeated uint32 parent_quest_list = 9; int32 retcode = 15;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 23009
// Obf: OBIBAPPDOKJ // 4.6.0
// CmdId: 6852
message TowerAllDataReq { message TowerAllDataReq {
bool is_interact = 6; bool is_interact = 9;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "TowerFloorRecord.proto";
import "TowerCurLevelRecord.proto"; import "TowerCurLevelRecord.proto";
import "TowerFloorRecord.proto";
import "TowerMonthlyBrief.proto"; import "TowerMonthlyBrief.proto";
// CmdId: 3897
// Obf: BDPBFJJNCKK // 4.6.0
// CmdId: 7133
message TowerAllDataRsp { message TowerAllDataRsp {
bool is_finished_entrance_floor = 12; uint32 tower_schedule_id = 1;
uint32 schedule_start_time = 1168; bool is_finished_entrance_floor = 2;
uint32 FEOKMKFLOFI = 6; uint32 valid_floor_record_list = 3;
uint32 CFHPLJKKOFG = 15; TowerCurLevelRecord cur_level_record = 4;
uint32 NFLJLHDCPFJ = 5; int32 retcode = 5;
repeated TowerFloorRecord tower_floor_record_list = 14; map<uint32, uint32> skip_floor_granted_reward_item_map = 6;
uint32 JJJCPHMBMLG = 9;
bool is_first_interact = 7; bool is_first_interact = 7;
TowerCurLevelRecord cur_level_record = 10; uint32 NNIGLOKAEAI = 8;
TowerMonthlyBrief last_schedule_monthly_brief = 4; map<uint32, uint32> floor_open_time_map = 9;
map<uint32, uint32> floor_open_time_map = 13; uint32 ANOHIMHLMID = 10;
TowerMonthlyBrief monthly_brief = 120; uint32 MICBOPDAEFN = 11;
uint32 next_schedule_change_time = 11; uint32 next_schedule_change_time = 12;
uint32 tower_schedule_id = 3; TowerMonthlyBrief monthly_brief = 13;
map<uint32, uint32> skip_floor_granted_reward_item_map = 8; repeated TowerFloorRecord tower_floor_record_list = 14;
int32 retcode = 2; uint32 LKDMPGCGDCJ = 15;
uint32 MOOJNLEAKFC = 1; uint32 schedule_start_time = 942;
} TowerMonthlyBrief last_schedule_monthly_brief = 1740;
}

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "TowerTeam.proto"; import "TowerTeam.proto";
// Obf: KJMLGFALEGC
// 4.6.0
message TowerCurLevelRecord { message TowerCurLevelRecord {
uint32 cur_floor_id = 1; // MIEGCLBLGNM sus (1, 13)
bool is_empty = 2;
repeated TowerTeam tower_team_list = 3; repeated TowerTeam tower_team_list = 3;
bool is_upper_part = 7; repeated uint32 buff_id_list = 7;
uint32 cur_floor_id = 13; uint32 cur_level_index = 13; // NOKAAKKOHLB sus (1, 13)
bool is_empty = 14; bool is_upper_part = 14;
uint32 cur_level_index = 11; }
repeated uint32 buff_id_list = 8;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "TowerCurLevelRecord.proto"; import "TowerCurLevelRecord.proto";
// CmdId: 2583
// Obf: PLJFJACFJAH // 4.6.0
// CmdId: 24979
message TowerCurLevelRecordChangeNotify { message TowerCurLevelRecordChangeNotify {
TowerCurLevelRecord cur_level_record = 3; TowerCurLevelRecord cur_level_record = 9;
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 21406
// Obf: OFJGAEGGHFE // 4.6.0
// CmdId: 5485
message TowerEnterLevelReq { message TowerEnterLevelReq {
uint32 enter_point_id = 5; uint32 enter_point_id = 13;
} }

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 26115
// Obf: KHHHPNPIIGJ // 4.6.0
// CmdId: 21658
message TowerEnterLevelRsp { message TowerEnterLevelRsp {
uint32 level_index = 9; repeated uint32 tower_buff_id_list = 7;
repeated uint32 tower_buff_id_list = 12; uint32 floor_id = 9;
int32 retcode = 4; uint32 level_index = 11;
uint32 floor_id = 11; int32 retcode = 15;
} }

View File

@ -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;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "TowerLevelRecord.proto"; import "TowerLevelRecord.proto";
// Obf: BGHANHOBDGP
// 4.6.0
message TowerFloorRecord { message TowerFloorRecord {
uint32 floor_id = 11; map<uint32, uint32> passed_level_map = 4;
map<uint32, uint32> passed_level_map = 2; repeated TowerLevelRecord passed_level_record_list = 7;
uint32 floor_star_reward_progress = 7; uint32 floor_star_reward_progress = 8;
repeated TowerLevelRecord passed_level_record_list = 8; uint32 floor_id = 15;
} }

Some files were not shown because too many files have changed in this diff Show More