many but most of them are useless

This commit is contained in:
Yuuki 2024-07-05 05:44:58 +08:00
parent 885dfe5970
commit 2a73344021
90 changed files with 972 additions and 1351 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// FIHHOFLHLOC
message Achievement {
enum Status {
STATUS_INVALID = 0;
@ -9,9 +11,9 @@ message Achievement {
STATUS_REWARD_TAKEN = 3;
}
uint32 id = 1;
Status status = 2;
uint32 cur_progress = 6;
uint32 id = 14;
Status status = 8;
uint32 cur_progress = 15;
uint32 total_progress = 9;
uint32 finish_timestamp = 13;
}

View File

@ -3,9 +3,10 @@ option java_package = "emu.grasscutter.net.proto";
import "Achievement.proto";
// 4.6.0
// CmdId: 1655
// 4.7.0
// CmdId: 7450
// CPJHPFLCICH
message AchievementAllDataNotify {
repeated uint32 reward_taken_goal_id_list = 8;
repeated Achievement achievement_list = 11;
repeated uint32 reward_taken_goal_id_list = 12;
repeated Achievement achievement_list = 8;
}

View File

@ -3,8 +3,9 @@ option java_package = "emu.grasscutter.net.proto";
import "Achievement.proto";
// 4.6.0
// CmdId: 6011
// 4.7.0
// CmdId: 27625
// LHNDAHEENOD
message AchievementUpdateNotify {
repeated Achievement achievement_list = 14;
repeated Achievement achievement_list = 12;
}

View File

@ -1,19 +1,3 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
import "ActivityWatcherInfo.proto";
@ -103,7 +87,9 @@ import "ToyBattleInfo.proto";
import "PhotoUnderseaInfo.proto";
import "FontaineGatherInfo.proto";
import "GcgPvePuzzleInfo.proto";
// Obf: AMADJGLDDCF
// 4.7.0
// Obf: ?
message ActivityInfo {
uint32 activity_id = 3;
repeated uint32 DNMOEAFCDGC = 1736;

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";
option java_package = "emu.grasscutter.net.proto";
import "ActivityInfo.proto";
// CmdId: 1246
// Obf: JADBHEGBGIO
// 4.7.0
// CmdId: 20264
// Obf: EBMLNILFGGE
message ActivityInfoNotify {
ActivityInfo activity_info = 3;
ActivityInfo activity_info = 4;
}

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";
option java_package = "emu.grasscutter.net.proto";
// Obf: MJEHIMOOCNJ
// 4.7.0
// Obf: EHFDEDADODA
message ActivityScheduleInfo {
bool is_open = 6;
uint32 begin_time = 7;
uint32 end_time = 8;
uint32 schedule_id = 4;
bool is_open = 3;
uint32 begin_time = 13;
uint32 end_time = 6;
uint32 schedule_id = 5;
uint32 activity_id = 1;
}

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";
option java_package = "emu.grasscutter.net.proto";
import "ActivityScheduleInfo.proto";
// CmdId: 23970
// Obf: HGICHODDHDN
// 4.7.0
// CmdId: 29397
// Obf: MGBFMLMPMCA
message ActivityScheduleInfoNotify {
repeated ActivityScheduleInfo activity_schedule_list = 11;
uint32 remain_fly_sea_lamp_num = 10;
repeated ActivityScheduleInfo activity_schedule_list = 2;
uint32 remain_fly_sea_lamp_num = 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";
option java_package = "emu.grasscutter.net.proto";
// Obf: MCEOHOILHEH
// 4.7.0
// Obf: IGECABELLEF
message ActivityWatcherInfo {
uint32 total_progress = 14;
uint32 watcher_id = 13;
bool is_taken_reward = 8;
uint32 cur_progress = 15;
uint32 total_progress = 9;
uint32 watcher_id = 12;
bool is_taken_reward = 6;
uint32 cur_progress = 3;
}

View File

@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// EOBEHCHGHPF
message AiSkillCdInfo {
map<uint32, uint32> skill_cd_map = 1;
map<uint32, uint32> skill_group_cd_map = 8;
map<uint32, uint32> skill_cd_map = 4;
map<uint32, uint32> skill_group_cd_map = 14;
}

View File

@ -1,19 +1,3 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
import "OneoffGatherPointDetectorData.proto";
@ -26,8 +10,9 @@ import "SkyCrystalDetectorData.proto";
import "EPIAFADAJAN.proto";
import "WidgetSlotData.proto";
import "WeatherWizardData.proto";
// CmdId: 2294
// Obf: PODFDFDOCGK
// 4.7.0 (TODO)
// CmdId: 9546
// Obf: IFNFOADFFEL
message AllWidgetDataNotify {
repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 4;
repeated ClientCollectorData client_collector_data_list = 9;

View File

@ -1,8 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 27498
// 4.7.0
// CmdId: 25586
// KHNMMCJAOCB
message AvatarGainCostumeNotify {
uint32 costume_id = 5;
uint32 costume_id = 1;
}

View File

@ -1,8 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 22682
// 4.7.0
// CmdId: 2863
// DCIIMGJNLPA
message AvatarGainFlycloakNotify {
uint32 flycloak_id = 4;
uint32 flycloak_id = 7;
}

View File

@ -5,11 +5,11 @@ option java_package = "emu.grasscutter.net.proto";
import "BattlePassMission.proto";
import "BattlePassSchedule.proto";
// CmdId: 9910
// Version: 4.6.0
// Obfs: BLMJNHLPHPA
// CmdId: 2963
// Version: 4.7.0
// Obfs: ?
message BattlePassAllDataNotify {
bool have_cur_schedule = 5;
repeated BattlePassMission mission_list = 7;
BattlePassSchedule cur_schedule = 11;
bool have_cur_schedule = 4;
repeated BattlePassMission mission_list = 10;
BattlePassSchedule cur_schedule = 1;
}

View File

@ -4,12 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto";
// CmdId: 21408
// Version: 4.6.0
// Obfs: KNIBHNOEHPA
// CmdId: 9695
// Version: 4.7.0
// Obfs: JPMBKGGDCNF
message BattlePassBuySuccNotify {
uint32 schedule_id = 1;
uint32 HMKOKJKINCG = 6;
uint32 LAKIBHGHOGE = 7;
uint32 schedule_id = 3;
//uint32 PFNHCJENBPL = 8;
//uint32 FIMGIBMBBOP = 12;
repeated ItemParam item_list = 11;
}

View File

@ -4,10 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "BattlePassSchedule.proto";
// CmdId: 2634
// Version: 4.6.0
// Obfs: DMCBPPFMCAB
// CmdId: 23013
// Version: 4.7.0
// Obfs: ?
message BattlePassCurScheduleUpdateNotify {
bool have_cur_schedule = 14;
BattlePassSchedule cur_schedule = 15;
bool have_cur_schedule = 3;
BattlePassSchedule cur_schedule = 12;
}

View File

@ -2,10 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: CNCKBALKDCG
// Version: 4.7.0
// Obfs: ?
message BattlePassCycle {
uint32 end_time = 7;
uint32 begin_time = 11;
uint32 cycle_idx = 13;
uint32 end_time = 6;
uint32 begin_time = 2;
uint32 cycle_idx = 15;
}

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: KLNCDOLLCFF
// Version: 4.7.0
// Obfs: ?
message BattlePassMission {
enum MissionStatus {
MISSION_STATUS_INVALID = 0;
@ -11,10 +11,14 @@ message BattlePassMission {
MISSION_STATUS_FINISHED = 2;
MISSION_STATUS_POINT_TAKEN = 3;
}
uint32 reward_battle_pass_point = 5;
uint32 cur_progress = 6;
uint32 cur_progress = 4; // OK
uint32 total_progress = 5; // OK
// ONLY 1 COUNT
uint32 reward_battle_pass_point = 6; // why 8
uint32 mission_type = 7;
uint32 total_progress = 10;
uint32 mission_id = 12;
MissionStatus mission_status = 14;
uint32 mission_id = 14;
MissionStatus mission_status = 2; // OK
}

View File

@ -4,9 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "BattlePassMission.proto";
// CmdId: 7238
// Version: 4.6.0
// Obfs: JCACMJGEKDM
// CmdId: 21651
// Version: 4.7.0
// Obfs: JJFBBHHGGMD
message BattlePassMissionUpdateNotify {
repeated BattlePassMission mission_list = 8;
repeated BattlePassMission mission_list = 5;
}

View File

@ -2,10 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: IPHAEDEDLGF
// Version: 4.7.0
// Obfs: ?
message BattlePassProduct {
string normal_product_id = 2;
string upgrade_product_id = 4;
string extra_product_id = 11;
string normal_product_id = 12;
string upgrade_product_id = 3;
string extra_product_id = 9;
}

View File

@ -4,10 +4,11 @@ option java_package = "emu.grasscutter.net.proto";
import "BattlePassUnlockStatus.proto";
// Version: 4.6.0
// Obfs: FEKBEHGKKML
// Version: 4.7.0
// Obfs: ?
message BattlePassRewardTag {
uint32 reward_id = 4;
BattlePassUnlockStatus unlock_status = 10;
uint32 level = 13;
BattlePassUnlockStatus unlock_status = 12;
uint32 level = 2;
uint32 JHANOGEFHHG = 14;
}

View File

@ -4,9 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "BattlePassRewardTag.proto";
// Version: 4.6.0
// Obfs: LAAGOMCGIPI
// Version: 4.7.0
// Obfs: FIMEPLBAJMH
message BattlePassRewardTakeOption {
uint32 option_idx = 3;
uint32 option_idx = 4;
BattlePassRewardTag tag = 11;
}

View File

@ -7,20 +7,20 @@ import "BattlePassRewardTag.proto";
import "BattlePassProduct.proto";
import "BattlePassUnlockStatus.proto";
// Version: 4.6.0
// Obfs: DCBJKBNBFNK
// Version: 4.7.0
// Obfs: ?
message BattlePassSchedule {
BattlePassCycle cur_cycle = 1;
uint32 schedule_id = 2;
uint32 point = 3; // GECKAKLNAID
BattlePassUnlockStatus unlock_status = 4;
repeated BattlePassRewardTag reward_taken_list = 5;
uint32 begin_time = 6;
uint32 paid_platform_flags = 7; // IDJOJEHFMHM
uint32 cur_cycle_points = 8; // NALIJACNLLL
BattlePassProduct product_info = 10;
uint32 end_time = 12;
uint32 level = 13;
bool is_extra_paid_reward_taken = 14; // PCPNJNGAFLE
bool is_viewed = 15; // HDIMHNDPLKP
BattlePassCycle cur_cycle = 6;
uint32 schedule_id = 15;
uint32 point = 3; // sus
BattlePassUnlockStatus unlock_status = 5;
repeated BattlePassRewardTag reward_taken_list = 2;
uint32 begin_time = 9;
uint32 paid_platform_flags = 7; // sus
uint32 cur_cycle_points = 8; // sus
BattlePassProduct product_info = 12;
uint32 end_time = 14;
uint32 level = 13; // sus
bool is_extra_paid_reward_taken = 11; // sus
bool is_viewed = 10; // sus
}

View File

@ -4,18 +4,18 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Version: 4.6.0
// Obfs: ILNBNHMLOOA
// Version: 4.7.0
// Obfs: KIMHLKPIGFH
message BlossomBriefInfo {
uint32 refresh_id = 1;
uint32 resin = 2;
uint32 monster_level = 3;
uint32 reward_id = 5;
bool is_guide_opened = 7;
uint32 scene_id = 8;
uint32 city_id = 9;
uint32 map_layer_id = 11;
Vector pos = 12;
uint32 state = 13;
uint32 circle_camp_id = 14;
uint32 refresh_id = 4;
uint32 resin = 9;
uint32 monster_level = 15;
uint32 reward_id = 2;
bool is_guide_opened = 14;
uint32 scene_id = 3;
uint32 city_id = 1;
uint32 map_layer_id = 13;
Vector pos = 6;
uint32 state = 10;
uint32 circle_camp_id = 5;
}

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";
option java_package = "emu.grasscutter.net.proto";
import "BlossomBriefInfo.proto";
// CmdId: 29177
// Obf: GHNDODAOAJO
// 4.7.0
// CmdId: 24748
// Obf: KBLLKBMMLIP
message BlossomBriefInfoNotify {
repeated BlossomBriefInfo brief_info_list = 12;
repeated BlossomBriefInfo brief_info_list = 10;
}

View File

@ -2,10 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// IHPNNDNPAAP
message ChallengeBrief {
bool is_success = 3;
uint32 cur_progress = 7;
uint32 challenge_index = 8;
uint32 challenge_id = 9;
bool is_success = 1;
uint32 cur_progress = 4;
uint32 challenge_index = 3;
uint32 challenge_id = 14;
}

View File

@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// DILEFMOGENI
enum ChallengeFinishType {
CHALLENGE_FINISH_TYPE_NONE = 0;
CHALLENGE_FINISH_TYPE_FAIL = 1;

View File

@ -2,11 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.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;
bool is_success = 15;
uint32 challenge_score = 14; // sus
bool is_in_time_limit = 10;
}

View File

@ -1,27 +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";
option java_package = "emu.grasscutter.net.proto";
import "CodexTypeData.proto";
// CmdId: 29256
// Obf: AJCOMKIBIIJ
// CmdId: 2558
// Obf: EGCKNCDJOIL
message CodexDataFullNotify {
repeated uint32 recent_viewed_pushtips_list = 1;
repeated CodexTypeData type_data_list = 5;
uint32 DPHPDJIJCFL = 10;
uint32 PDMKCNJAFAD = 11;
repeated uint32 recent_viewed_pushtips_list = 5;
repeated CodexTypeData type_data_list = 9;
//uint32 FDLECJBMMJA = 1;
//uint32 EHIKCIIPMIM = 15;
}

View File

@ -4,11 +4,11 @@ option java_package = "emu.grasscutter.net.proto";
import "CodexType.proto";
// CmdId: 8002
// Version: 4.6.0
// Obfs: JJIPFMLHHKI
// CmdId: 26679
// Version: 4.7.0
// Obfs: BPLMKLJIGAL
message CodexDataUpdateNotify {
uint32 weapon_max_promote_level = 2;
uint32 id = 8;
CodexType type = 9;
uint32 weapon_max_promote_level = 14;
uint32 id = 9;
CodexType type = 4;
}

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";
option java_package = "emu.grasscutter.net.proto";
import "CodexType.proto";
// Obf: MMBAFOIPNPD
// 4.7.0
// KCFMKMBEKPN
message CodexTypeData {
map<uint32, uint32> weapon_max_promote_level_map = 12;
map<uint32, uint32> weapon_max_promote_level_map = 10;
repeated bool have_viewed_list = 1;
repeated uint32 codex_id_list = 5;
CodexType type = 13;
repeated uint32 codex_id_list = 15;
CodexType type = 5;
}

View File

@ -1,22 +1,7 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// Obf: BPPJNIAJACJ
// 4.7.0
// Obf: GMKADOHBEHD
enum CompoundBoostTakeStatusType {
COMPOUND_BOOST_TAKE_STATUS_NONE = 0;
COMPOUND_BOOST_TAKE_STATUS_BOOST_ONLY = 1;

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";
option java_package = "emu.grasscutter.net.proto";
import "CompoundQueueData.proto";
// CmdId: 25801
// Obf: MMAMJJIHNBP
// 4.7.0
// cmdid: 26025
// CDFMAMKIAFO
message CompoundDataNotify {
repeated CompoundQueueData compoundQueueDataList = 9;
repeated uint32 unlockCompoundList = 6;
repeated CompoundQueueData compoundQueueDataList = 3;
repeated uint32 unlockCompoundList = 14;
}

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";
option java_package = "emu.grasscutter.net.proto";
// Obf: EEHJDMLBLEE
// 4.7.0
// Obf: PEOFAMNKHPB
message CompoundQueueData {
uint32 outputTime = 1;
uint32 waitCount = 14;
uint32 compound_id = 11;
uint32 outputCount = 12;
uint32 outputTime = 3;
uint32 waitCount = 4;
uint32 compound_id = 10;
uint32 outputCount = 11;
}

View File

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

View File

@ -9,21 +9,22 @@ import "EffigyChallengeDungeonResultInfo.proto";
import "PotionDungeonResultInfo.proto";
import "StrengthenPointData.proto";
// Version: 4.6.0
// CmdId: 20089
// Version: 4.7.0
// CmdId: 25587
// CEPEBFLLCLB
message DungeonChallengeFinishNotify {
ChallengeFinishType finish_type = 2;
uint32 time_cost = 3;
map<uint32, StrengthenPointData> strengthen_point_data_map = 5;
uint32 challenge_index = 7;
bool is_success = 8;
uint32 challenge_record_type = 9;
bool is_new_record = 13;
uint32 current_value = 15;
ChallengeFinishType finish_type = 6;
uint32 time_cost = 5;
map<uint32, StrengthenPointData> strengthen_point_data_map = 7; // sus
uint32 challenge_index = 13;
bool is_success = 1; // sus
uint32 challenge_record_type = 4;
bool is_new_record = 2; // sus
uint32 current_value = 14;
oneof detail {
ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 1922;
EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1859;
PotionDungeonResultInfo potion_dungeon_result_info = 1677;
CustomDungeonResultInfo custom_dungeon_result_info = 1349;
ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 917;
EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 165;
PotionDungeonResultInfo potion_dungeon_result_info = 1784;
CustomDungeonResultInfo custom_dungeon_result_info = 1317;
}
}

View File

@ -1,7 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "PlayerDieOption.proto";
// 4.7.0
//cmdid: 22244
// BJIEMNHCLPK
message DungeonDieOptionReq {
PlayerDieOption die_option = 2;
bool is_quit_immediately = 3;

View File

@ -1,9 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "PlayerDieOption.proto";
// 4.7.0
// cmdid: 21764
// CNOFGGAKJKL
message DungeonDieOptionRsp {
PlayerDieOption die_option = 2;
int32 retcode = 11;
uint32 revive_count = 14;
PlayerDieOption die_option = 11;
int32 retcode = 3;
uint32 revive_count = 4;
}

View File

@ -1,8 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// cmdid: 26162 or
// DAFAPKGFIBA
message DungeonEntryToBeExploreNotify {
uint32 dungeon_entry_config_id = 1;
uint32 dungeon_entry_scene_point_id = 7;
uint32 scene_id = 11;
uint32 dungeon_entry_config_id = 6;
uint32 dungeon_entry_scene_point_id = 14;
uint32 scene_id = 3;
}

View File

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

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 3607
// Version: 4.6.0
// CmdId: 533
// Version: 4.7.0
// Obfs: ???
message GetAreaExplorePointReq {
repeated uint32 area_id_list = 13;

View File

@ -2,11 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 9042
// Version: 4.6.0
// CmdId: 5384
// Version: 4.7.0
// Obfs: ???
message GetAreaExplorePointRsp {
int32 retcode = 4;
int32 retcode = 1;
repeated uint32 explore_point_list = 5;
repeated uint32 area_id_list = 15;
repeated uint32 area_id_list = 13;
}

View File

@ -4,10 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "BlossomBriefInfo.proto";
// CmdId: 23247
// Version: 4.6.0
// Obfs: BPJGKLGEOKA
// CmdId: 27024
// Version: 4.7.0
// Obfs: HHMJIHLJDJE
message GetBlossomBriefInfoListRsp {
repeated BlossomBriefInfo brief_info_list = 4;
int32 retcode = 6;
repeated BlossomBriefInfo brief_info_list = 14;
int32 retcode = 13;
}

View File

@ -1,22 +1,7 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 8732
// Obf: IHBMOEIBEGJ
// 4.7.0
// CmdId: 23308 ???
// Obf: AGCEJANLCNN
message GetCompoundDataReq {
}

View File

@ -1,26 +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";
option java_package = "emu.grasscutter.net.proto";
import "CompoundQueueData.proto";
// CmdId: 24302
// Obf: AFFGNHAFPID
// CmdId: 28257
// Obf: CPJBJBKMHLD
message GetCompoundDataRsp {
int32 retcode = 14;
repeated uint32 unlockCompoundList = 9;
repeated CompoundQueueData compoundQueueDataList = 12;
int32 retcode = 6;
repeated uint32 unlockCompoundList = 13;
repeated CompoundQueueData compoundQueueDataList = 9;
}

View File

@ -1,8 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// cmdid: 4963
// BEOHCCALCPI
message GetFriendShowNameCardInfoRsp {
repeated uint32 show_name_card_id_list = 2;
int32 retcode = 10;
uint32 uid = 11;
repeated uint32 show_name_card_id_list = 13;
int32 retcode = 3;
uint32 uid = 14;
}

View File

@ -2,10 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 25947
// Version: 4.6.0
// Obfs: DHCBHICEMLG
// CmdId: 21813
// Version: 4.7.0
// Obfs: MHLHAFDDEAF
message GetInvestigationMonsterReq {
bool is_for_mark = 11;
bool is_for_mark = 3;
repeated uint32 city_id_list = 12;
}

View File

@ -4,11 +4,11 @@ option java_package = "emu.grasscutter.net.proto";
import "InvestigationMonster.proto";
// CmdId: 27061
// Version: 4.6.0
// Obfs: OOADKBLCCJN
// CmdId: 25460
// Version: 4.7.0
// Obfs: BMKAHHPHDGG
message GetInvestigationMonsterRsp {
int32 retcode = 11;
repeated InvestigationMonster monster_list = 13;
bool is_for_mark = 15;
int32 retcode = 12;
repeated InvestigationMonster monster_list = 5;
bool is_for_mark = 1;
}

View File

@ -1,23 +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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 6257
// Obf: EANOCGOKDIN
// 4.7.0
// CmdId: 1797 or 27620 (m) or 8371 (m) or 2465 (m) or 28625 or 26778 (m/l) or 4753 or 6552 (m) or 4742
// Obf: IGFEPBECEIG
message GroupSuiteNotify {
map<uint32, uint32> group_map = 10;
map<uint32, uint32> group_map = 1;
}

View File

@ -1,23 +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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 27542
// Obf: NDCHDNICDBF
// 4.7.0 ?
// CmdId: 23831 or 25365 (?)
// Obf: PJEMNKAGMMH
message GroupUnloadNotify {
repeated uint32 group_list = 9;
repeated uint32 group_list = 3;
}

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: INJKDLOLFNC
// Version: 4.7.0
// Obfs: KMDDNLBJLJJ
message Investigation {
enum State {
INVALID = 0;
@ -12,8 +12,8 @@ message Investigation {
REWARD_TAKEN = 3;
}
uint32 id = 6;
uint32 total_progress = 8;
State state = 9;
uint32 progress = 12;
uint32 id = 13;
uint32 total_progress = 7;
State state = 1;
uint32 progress = 15;
}

View File

@ -5,31 +5,31 @@ option java_package = "emu.grasscutter.net.proto";
import "WeeklyBossResinDiscountInfo.proto";
import "Vector.proto";
// Version: 4.6.0
// Obfs: GHKMDKIHGAN
// Version: 4.7.0
// Obfs: HNOMCMKENBA
message InvestigationMonster {
enum LockState {
LOCK_NONE = 0;
LOCK_QUEST = 1;
LOCK_NONE = 0;
LOCK_QUEST = 1;
}
uint32 left_times = 1; // NKDIJIFMLKI
uint32 next_refresh_time = 2;
LockState lock_state = 3;
bool is_alive = 4;
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 5;
uint32 level = 6;
bool IDCEKNMKCKG = 7;
uint32 resin = 8;
uint32 refresh_interval = 9; // EKFGDFIDKBF
uint32 CJJEGKEPHKM = 10; // CJJEGKEPHKM
uint32 id = 11;
uint32 scene_id = 12;
uint32 city_id = 13;
uint32 max_boss_chest_num = 14; // JNDHLFKEGAL
Vector pos = 15;
uint32 group_id = 196;
uint32 map_layer_id = 498;
bool BHLBJLIPCBO = 1793;
uint32 monster_id = 2015;
uint32 left_times = 3;
uint32 next_refresh_time = 11;
LockState lock_state = 6;
bool is_alive = 13; // sus 13,15,1559
bool KCJLDICGONA = 15;
bool GKPDPFNNKJH = 1559;
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 1;
uint32 level = 2;
uint32 resin = 5;
uint32 refresh_interval = 7; // sus
uint32 id = 4;
uint32 scene_id = 14;
uint32 city_id = 9;
uint32 max_boss_chest_num = 10;
Vector pos = 8;
uint32 group_id = 1997;
uint32 monster_id = 289;
uint32 circle_camp_id = 767;
uint32 BILKCPNIMAA = 12; // 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";
option java_package = "emu.grasscutter.net.proto";
import "InvestigationMonster.proto";
// CmdId: 23884
// Obf: FFNIIIKPNCC
// 4.7.0
// CmdId: 2443
// Obf: HIDDCDKDOKM
message InvestigationMonsterUpdateNotify {
InvestigationMonster investigation_monster = 13;
bool EPLBKADEEMO = 5;
InvestigationMonster investigation_monster = 10;
}

View File

@ -1,22 +1,6 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 22478
// Obf: GKGAJBBBCDI
// CmdId: ?
// Obf: ?
message InvestigationQuestDailyNotify {
}

View File

@ -1,22 +1,6 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 6920
// Obf: NNFAHGOLKAK
// CmdId: ?
// Obf: ?
message InvestigationReadQuestDailyNotify {
}

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Obfs: KMNKJKIEPCB
// Version: 4.7.0
// Obfs: ?
message InvestigationTarget {
enum State {
INVALID = 0;
@ -12,9 +12,9 @@ message InvestigationTarget {
REWARD_TAKEN = 3;
}
uint32 quest_id = 3;
uint32 progress = 4;
uint32 investigation_id = 6;
uint32 quest_id = 12;
uint32 progress = 7;
uint32 investigation_id = 4;
State state = 9;
uint32 total_progress = 12;
uint32 total_progress = 13;
}

View File

@ -4,12 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "DeshretObeliskChestInfo.proto";
// CmdId: 28878
// Version: 4.6.0
// Obfs: HOEBDLJJCPL
// CmdId: 4072
// Version: 4.7.0
// Obfs: BNJPANBFBDL
message MarkTargetInvestigationMonsterNotify {
uint32 investigation_monster_id = 1;
uint32 scene_id = 2;
uint32 group_id = 4;
uint32 monster_id = 8;
uint32 scene_id = 6;
uint32 group_id = 12;
uint32 monster_id = 3;
}

View File

@ -1,7 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 27203 (4.7.0)
// Obf: BPINAIKKBEL
// CmdId: 1143 (4.7.0)
// Obf: BFHAGEOJCPG
message PlayerApplyEnterMpResultNotify {
enum Reason {

View File

@ -1,29 +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";
option java_package = "emu.grasscutter.net.proto";
import "CompoundQueueData.proto";
import "CompoundBoostTakeStatusType.proto";
import "ItemParam.proto";
// CmdId: 26999
// Obf: MGJOFINPPAE
// 4.7.0
// CmdId: 3301
// Obf: HGCDLGPPEMJ
message PlayerCompoundMaterialBoostRsp {
repeated CompoundQueueData compoundQueueDataList = 15;
CompoundBoostTakeStatusType take_status = 9;
repeated ItemParam take_item_list = 12;
int32 retcode = 4;
repeated CompoundQueueData compoundQueueDataList = 2;
CompoundBoostTakeStatusType take_status = 4;
repeated ItemParam take_item_list = 11;
int32 retcode = 8;
}

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";
option java_package = "emu.grasscutter.net.proto";
import "CompoundQueueData.proto";
// CmdId: 25784
// Obf: LDKLPKGHGJA
// 4.7.0
// CmdId: 4656
// Obf: EDADGPGIIAK
message PlayerCompoundMaterialRsp {
int32 retcode = 13;
CompoundQueueData compoundQueueData = 2;
int32 retcode = 10;
CompoundQueueData compoundQueueData = 13;
}

View File

@ -1,22 +1,7 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// Obf: FEBNBMEEDHK
// 4.7.0
// Obf: LAOBNEJJEPF
enum PlayerDieOption {
DIE_OPT_NONE = 0;
DIE_OPT_REPLAY = 1;

View File

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

View File

@ -4,9 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "Investigation.proto";
import "InvestigationTarget.proto";
// CmdId: 23844
// 4.7.0
// CmdId: 27774
message PlayerInvestigationAllInfoNotify {
repeated Investigation investigation_list = 5;
repeated InvestigationTarget investigation_target_list = 14;
repeated Investigation investigation_list = 11;
repeated InvestigationTarget investigation_target_list = 15;
}

View File

@ -3,8 +3,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Investigation.proto";
// CmdId: 20131
// 4.7.0
// CmdId: 6640
message PlayerInvestigationNotify {
repeated Investigation investigation_list = 12;
repeated Investigation investigation_list = 6;
}

View File

@ -3,8 +3,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "InvestigationTarget.proto";
// CmdId: 8373
// 4.7.0
// CmdId: 22101
message PlayerInvestigationTargetNotify {
repeated InvestigationTarget investigation_target_list = 6;
repeated InvestigationTarget investigation_target_list = 7;
}

View File

@ -4,10 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Version: 4.6.0
// Obfs: ???
// Version: 4.7.0
// Obfs: IEEDPBMKLFC
message PlayerLocationInfo {
uint32 uid = 4;
Vector pos = 5;
Vector rot = 6;
uint32 uid = 1;
Vector pos = 6;
Vector rot = 12;
}

View File

@ -4,9 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "PlayerLocationInfo.proto";
// Version: 4.6.0
// Obfs: KOBHCHMLBED
// Version: 4.7.0
// Obfs: EIKCDBNDHDM
message PlayerWorldLocationInfo {
uint32 scene_id = 1;
PlayerLocationInfo player_loc = 9;
uint32 scene_id = 12;
PlayerLocationInfo player_loc = 14;
}

View File

@ -2,9 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "SceneEntityInfo.proto";
import "VisionType.proto";
// 4.7.0
// cmdid: 27183
// AMPAJBECEIJ
message SceneEntityUpdateNotify {
repeated SceneEntityInfo entity_list = 13;
VisionType appear_type = 2;
uint32 param = 11;
repeated SceneEntityInfo entity_list = 11;
VisionType appear_type = 9;
uint32 param = 13;
}

View File

@ -5,9 +5,9 @@ option java_package = "emu.grasscutter.net.proto";
import "PlayerLocationInfo.proto";
import "VehicleLocationInfo.proto";
// CmdId: 801
// Version: 4.6.0
// Obfs: FIIKEOEAHIE
// CmdId: 21376
// Version: 4.7.0
// Obfs: MBLLHEGOBPL
message ScenePlayerLocationNotify {
uint32 scene_id = 8;
repeated VehicleLocationInfo vehicle_loc_list = 10;

View File

@ -2,9 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 29044
// 4.7.0
// CmdId: 2015 or 9214 or 6544 or 6885 (lock)
// GHAAJJKIIDI
message SelectWorktopOptionReq {
uint32 gadget_entity_id = 4;
uint32 option_id = 10;
uint32 option_id = 1;
}

View File

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

View File

@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// ?
message StrengthenPointData {
uint32 base_point = 2;
uint32 cur_point = 6;
uint32 base_point = 9; // sus
uint32 cur_point = 13; // sus
}

View File

@ -1,23 +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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 8462
// Obf: GBGKOACHBNE
// 4.7.0
// CmdId: 25416ok or 2516x or 25450 or 9438 or 20310 or 23959 or 20220
// Obf: MKCBNOMFKMB
message TakeInvestigationRewardReq {
uint32 id = 8;
uint32 id = 7;
}

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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 3594
// Obf: IAHCCKACNIB
// 4.7.0
// CmdId: 4841
// Obf: NIJGKFDJBIL ?
message TakeInvestigationRewardRsp {
int32 retcode = 12;
uint32 id = 1;
int32 retcode = 4;
uint32 id = 8;
}

View File

@ -1,23 +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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 6368
// Obf: PCALDFEGFGJ
// 4.7.0
// CmdId: 20048
// Obf: IIDCNCKAOJJ
message TakeInvestigationTargetRewardReq {
uint32 quest_id = 2;
uint32 quest_id = 9;
}

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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1562
// Obf: NNNEAKIELHD
// 4.7.0
// CmdId: 25452
// Obf: EBFMICFMNEN
message TakeInvestigationTargetRewardRsp {
uint32 quest_id = 7;
uint32 quest_id = 10;
int32 retcode = 15;
}

View File

@ -1,6 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// cmdid: 20108 (lock) or 23531 or 8505
// NOFJHPDHIEK ?
message TakePlayerLevelRewardReq {
uint32 level = 14;
uint32 level = 2;
}

View File

@ -1,8 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// cmdid: 24293
// FNNGIHINONF
message TakePlayerLevelRewardRsp {
uint32 level = 5;
uint32 reward_id = 2;
int32 retcode = 3;
uint32 reward_id = 10;
int32 retcode = 6;
}

View File

@ -6,24 +6,24 @@ import "TowerCurLevelRecord.proto";
import "TowerFloorRecord.proto";
import "TowerMonthlyBrief.proto";
// 4.6.0
// CmdId: 7133
// 4.7.0
// CmdId: 2253
message TowerAllDataRsp {
uint32 tower_schedule_id = 1;
bool is_finished_entrance_floor = 2;
uint32 valid_floor_record_list = 3;
TowerCurLevelRecord cur_level_record = 4;
int32 retcode = 5;
map<uint32, uint32> skip_floor_granted_reward_item_map = 6;
uint32 tower_schedule_id = 3;
bool is_finished_entrance_floor = 10;
uint32 valid_floor_record_list = 4; // sus
TowerCurLevelRecord cur_level_record = 1;
int32 retcode = 11;
map<uint32, uint32> skip_floor_granted_reward_item_map = 14; // sus
bool is_first_interact = 7;
uint32 NNIGLOKAEAI = 8;
map<uint32, uint32> floor_open_time_map = 9;
uint32 ANOHIMHLMID = 10;
uint32 MICBOPDAEFN = 11;
uint32 next_schedule_change_time = 12;
TowerMonthlyBrief monthly_brief = 13;
repeated TowerFloorRecord tower_floor_record_list = 14;
uint32 LKDMPGCGDCJ = 15;
uint32 schedule_start_time = 942;
TowerMonthlyBrief last_schedule_monthly_brief = 1740;
//uint32 NNIGLOKAEAI = 8;
map<uint32, uint32> floor_open_time_map = 15; // sus
//uint32 ANOHIMHLMID = 10;
//uint32 MICBOPDAEFN = 11;
uint32 next_schedule_change_time = 12; // sus
TowerMonthlyBrief monthly_brief = 8;
repeated TowerFloorRecord tower_floor_record_list = 5;
//uint32 LKDMPGCGDCJ = 15;
uint32 schedule_start_time = 1082;
TowerMonthlyBrief last_schedule_monthly_brief = 1040;
}

View File

@ -2,14 +2,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 612
// 4.7.0
// CmdId: 4797
// EJPCIICDONE
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;
uint32 last_floor_index = 1; // sus
uint32 tower_schedule_id = 3;
uint32 last_level_index = 7; // sus
uint32 next_schedule_change_time = 5; // sus
uint32 total_star_num = 9; // sus
uint32 schedule_start_time = 12;
bool is_finished_entrance_floor = 6;
}

View File

@ -4,12 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "TowerTeam.proto";
// 4.6.0
// 4.7.0
message TowerCurLevelRecord {
uint32 cur_floor_id = 1; // MIEGCLBLGNM sus (1, 13)
bool is_empty = 2;
repeated TowerTeam tower_team_list = 3;
repeated uint32 buff_id_list = 7;
uint32 cur_level_index = 13; // NOKAAKKOHLB sus (1, 13)
bool is_upper_part = 14;
uint32 cur_floor_id = 1; // sus
bool is_empty = 12; // sus
repeated TowerTeam tower_team_list = 4;
repeated uint32 buff_id_list = 11;
uint32 cur_level_index = 5; // sus
bool is_upper_part = 15; // sus
}

View File

@ -4,10 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "TowerLevelRecord.proto";
// 4.6.0
// 4.7.0
message TowerFloorRecord {
map<uint32, uint32> passed_level_map = 4;
repeated TowerLevelRecord passed_level_record_list = 7;
uint32 floor_star_reward_progress = 8;
uint32 floor_id = 15;
map<uint32, uint32> passed_level_map = 2;
repeated TowerLevelRecord passed_level_record_list = 11;
uint32 floor_star_reward_progress = 12; // sus
uint32 floor_id = 9; // sus
}

View File

@ -4,9 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "TowerFloorRecord.proto";
// 4.6.0
// CmdId: 9916
// 4.7.0
// CmdId: 1981
// AIIOPKKFPFF
message TowerFloorRecordChangeNotify {
bool is_finished_entrance_floor = 6;
repeated TowerFloorRecord tower_floor_record_list = 10;
bool is_finished_entrance_floor = 8;
repeated TowerFloorRecord tower_floor_record_list = 13;
}

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
message TowerLevelRecord {
uint32 level_id = 8;
repeated uint32 satisfied_cond_list = 10;
uint32 level_id = 13;
repeated uint32 satisfied_cond_list = 5;
}

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
message TowerTeam {
uint32 tower_team_id = 4;
repeated uint64 avatar_guid_list = 12;
uint32 tower_team_id = 5;
repeated uint64 avatar_guid_list = 6;
}

View File

@ -4,9 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "TowerTeam.proto";
// 4.6.0
// CmdId: 4492
// 4.7.0
// CmdId: 28157
// OACGHLELOPK
message TowerTeamSelectReq {
uint32 floor_id = 4;
repeated TowerTeam tower_team_list = 11;
uint32 floor_id = 11;
repeated TowerTeam tower_team_list = 5;
}

View File

@ -1,23 +1,7 @@
// 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";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 21023
// Obf: INPKIDGHCKO
// CmdId: 27570 ?
// Obf: FMDBCKKMDIM
message TowerTeamSelectRsp {
int32 retcode = 8;
int32 retcode = 11;
}

View File

@ -3,26 +3,29 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// 4.7.0
// CmdId: 5852
// ?
message WindSeedClientNotify {
message RefreshNotify {
uint32 refresh_num = 4;
uint32 refresh_num = 12;
}
message AddWindBulletNotify {
Vector seed_pos = 5;
uint32 HCHIGHEKMPI = 12;
uint32 FJOPGEEAHNB = 1;
Vector seed_pos = 13;
uint32 NIDGMKAEPIF = 7; // ?
uint32 NLKNLGBIAHD = 9; // ?
}
message AreaNotify {
bytes area_code = 7;
uint32 area_type = 4;
uint32 area_id = 5;
bytes area_code = 1;
uint32 area_type = 12;
uint32 area_id = 2;
}
oneof notify {
RefreshNotify refresh_notify = 4;
AddWindBulletNotify add_wind_bullet_notify = 13;
AreaNotify area_notify = 14;
RefreshNotify refresh_notify = 14;
AddWindBulletNotify add_wind_bullet_notify = 9;
AreaNotify area_notify = 8;
}
}

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";
option java_package = "emu.grasscutter.net.proto";
import "BlossomBriefInfo.proto";
// CmdId: 2494
// Obf: ILOJPNAEJEO
// 4.7.0
// CmdId: 24777
// Obf: ECNICMCKEAF
message WorldOwnerBlossomBriefInfoNotify {
repeated BlossomBriefInfo brief_info_list = 5;
repeated BlossomBriefInfo brief_info_list = 11;
}

View File

@ -5,10 +5,10 @@ option java_package = "emu.grasscutter.net.proto";
import "PlayerLocationInfo.proto";
import "PlayerWorldLocationInfo.proto";
// CmdId: 7462
// Version: 4.6.0
// Obfs: KJMDKJLLMKA
// CmdId: 7420
// Version: 4.7.0
// Obfs: NGLPJNEKNNJ
message WorldPlayerLocationNotify {
repeated PlayerLocationInfo player_loc_list = 7;
repeated PlayerWorldLocationInfo player_world_loc_list = 14;
repeated PlayerLocationInfo player_loc_list = 3;
repeated PlayerWorldLocationInfo player_world_loc_list = 11;
}