shop,gacha,abyss fix p1

This commit is contained in:
Yuuki 2024-07-22 11:47:23 +08:00
parent 79f805751b
commit 0b7044b24c
55 changed files with 256 additions and 431 deletions

View File

@ -1,13 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "BuyGoodsParam.proto";
// CmdId: 6661
// Version: 4.6.0
// Obfs: MGHFKOEEGKD
// CmdId: 21323
// Version: 4.7.0
// Obfs: GJPKFIHDNNF
message BatchBuyGoodsReq {
uint32 shop_type = 10;
repeated BuyGoodsParam buy_goods_list = 11;
uint32 shop_type = 2;
repeated BuyGoodsParam buy_goods_list = 4;
}

View File

@ -1,16 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "BuyGoodsParam.proto";
import "ShopGoods.proto";
// CmdId: 23001
// Version: 4.6.0
// Obfs: PHGJENGMPOE
// CmdId: 8097
// Version: 4.7.0
// Obfs: GCHGAJJHEJO
message BatchBuyGoodsRsp {
repeated ShopGoods goods_list = 1;
repeated BuyGoodsParam buy_goods_list = 2;
int32 retcode = 5;
repeated ShopGoods goods_list = 15;
repeated BuyGoodsParam buy_goods_list = 14;
int32 retcode = 7;
uint32 shop_type = 11;
}

View File

@ -1,12 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ShopGoods.proto";
// Version: 4.6.0
// Obfs: KHNAGEGDMIJ
// Version: 4.7.0
// Obfs: MACJPBNAKLI
message BuyGoodsParam {
uint32 buy_count = 6;
ShopGoods goods = 10;
uint32 buy_count = 13;
ShopGoods goods = 8;
}

View File

@ -1,14 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ShopGoods.proto";
// CmdId: 28819
// Version: 4.6.0
// Obfs: OGHIMOFAHII
// CmdId: 23649
// Version: 4.7.0
// Obfs: CGCCHDKDIJG
message BuyGoodsReq {
uint32 buy_count = 4;
uint32 shop_type = 8;
ShopGoods goods = 15;
uint32 buy_count = 11;
uint32 shop_type = 12;
ShopGoods goods = 13;
}

View File

@ -1,16 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ShopGoods.proto";
// CmdId: 8
// Version: 4.6.0
// Obfs: ALLGKCIALEP
// CmdId: 22736
// Version: 4.7.0
// Obfs: EEOIKFGEOCJ
message BuyGoodsRsp {
repeated ShopGoods goods_list = 1;
int32 retcode = 4;
ShopGoods goods = 9;
uint32 buy_count = 12;
repeated ShopGoods goods_list = 7;
int32 retcode = 13;
ShopGoods goods = 3;
uint32 buy_count = 8;
uint32 shop_type = 14;
}

View File

@ -1,9 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Version: 4.7.0
// CmdId: 5279
// ?
message CanUseSkillNotify {
bool is_can_use_skill = 2;
bool is_can_use_skill = 13;
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// IHPNNDNPAAP
message ChallengeBrief {

View File

@ -1,11 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 2570
// 4.7.0
// CmdId: 6967
message ChallengeDataNotify {
uint32 challenge_index = 6;
uint32 value = 7;
uint32 param_index = 8;
uint32 challenge_index = 13;
uint32 value = 1;
uint32 param_index = 10;
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// DILEFMOGENI
enum ChallengeFinishType {

View File

@ -1,17 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "DungeonEntryInfo.proto";
// CmdId: 7795
// Version: 4.6.0
// Obfs: PJIEDHIAOEH
// Version: 4.7.0
// Obfs: ?
message DailyDungeonEntryInfo {
DungeonEntryInfo recommend_dungeon_entry_info = 2;
uint32 recommend_dungeon_id = 6;
DungeonEntryInfo recommend_dungeon_entry_info = 7;
uint32 recommend_dungeon_id = 13;
uint32 dungeon_entry_id = 9;
uint32 dungeon_entry_config_id = 10;
bool is_point_unlocked = 13; // FBMFIAFCPKB
bool is_quick_open = 14; // KHMADLJLNEB
uint32 dungeon_entry_config_id = 5;
bool is_point_unlocked = 14;
bool is_quick_open = 1;
}

View File

@ -1,8 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 1018
message DoGachaReq {
uint32 gacha_schedule_id = 4;
string gacha_tag = 6;

View File

@ -1,28 +1,26 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "GachaItem.proto";
// 4.7.0
// CmdId: 27578
message DoGachaRsp {
uint32 gacha_type = 6;
uint32 gachaTimesLimit = 1;
uint32 wishMaxProgress = 2;
uint32 wishItemId = 3;
repeated GachaItem gacha_item_list = 4;
uint32 tenCostItemNum = 5;
uint32 gacha_type = 6;
int32 retcode = 7;
uint32 gacha_times = 8;
uint32 newGachaRandom = 9;
uint32 tenCostItemId = 10;
uint32 costItemId = 11;
uint32 leftGachaTimes = 12;
uint32 gacha_schedule_id = 13;
uint32 wishProgress = 14;
uint32 costItemNum = 15;
bool is_under_general_restrict = 713;
uint32 gachaSortId = 971;
uint32 daily_gacha_times = 1479;
bool is_under_minors_restrict = 1626;
uint32 gacha_times = 8;
int32 retcode = 7;
uint32 tenCostItemNum = 14;
uint32 wishMaxProgress = 9;
uint32 leftGachaTimes = 11;
uint32 costItemNum = 10;
uint32 curScheduleDailyGachaTimes = 706;
uint32 wishProgress = 5;
uint32 newGachaRandom = 16;
uint32 costItemId = 12;
uint32 tenCostItemId = 3;
uint32 gachaTimesLimit = 15;
uint32 wishItemId = 1;
}

View File

@ -1,34 +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";
option java_package = "emu.grasscutter.net.proto";
import "StrengthenPointData.proto";
import "PlayerDieType.proto";
// CmdId: 28240
// Obf: JNJBBMEHNOL
// 4.7.0
// CmdId: 8234
// Obf: ?
message DungeonPlayerDieNotify {
uint32 revive_count = 6;
map<uint32, StrengthenPointData> strengthen_point_data_map = 1;
PlayerDieType die_type = 11;
uint32 wait_time = 9;
uint32 dungeon_id = 4;
uint32 revive_count = 7; // sus
map<uint32, StrengthenPointData> strengthen_point_data_map = 14;
PlayerDieType die_type = 9;
uint32 wait_time = 11;
uint32 dungeon_id = 8;
oneof entity {
uint32 monster_id = 3;
uint32 gadget_id = 10;
uint32 monster_id = 13;
uint32 gadget_id = 1;
}
uint32 murderer_entity_id = 15;
}

View File

@ -1,11 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "PlayerDieType.proto";
// 4.6.0
// CmdId: 23739
// 4.7.0
// CmdId: 7032
// ?
message DungeonPlayerDieReq {
uint32 dungeon_id = 3;
PlayerDieType die_type = 7;
uint32 dungeon_id = 7;
PlayerDieType die_type = 11;
}

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: 29888
// Obf: OAJOHKDAIJF
// 4.7.0
// CmdId: 28416 ?
// Obf: GGGLNIBKMGC
message DungeonPlayerDieRsp {
int32 retcode = 14;
int32 retcode = 13;
}

View File

@ -2,31 +2,26 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
//import "DungeonSettleExhibitionInfo.proto";
import "StrengthenPointData.proto";
import "ParamList.proto";
import "TowerLevelEndNotify.proto";
import "TrialAvatarFirstPassDungeonNotify.proto";
//import "ChannelerSlabLoopDungeonResultInfo.proto";
//import "EffigyChallengeDungeonResultInfo.proto";
// Version: 4.6.0
// CmdId: 944
// Version: 4.7.0
// CmdId: 3857
// CEPEBFLLCLB
message DungeonSettleNotify {
uint32 result = 1;
uint32 close_time = 3;
//repeated DungeonSettleExhibitionInfo exhibition_info_list = 5;
uint32 use_time = 6;
map<uint32, StrengthenPointData> strengthen_point_data_map = 8;
bool is_success = 9;
uint32 create_player_uid = 11;
map<uint32, ParamList> settle_show = 12;
repeated uint32 fail_cond_list = 13;
uint32 dungeon_id = 14;
uint32 result = 14; // sus
uint32 close_time = 13; // OK
uint32 use_time = 9; // OK
map<uint32, StrengthenPointData> strengthen_point_data_map = 1; // OK
bool is_success = 4; // OK
uint32 create_player_uid = 7; // OK
map<uint32, ParamList> settle_show = 10; // OK
repeated uint32 fail_cond_list = 11; // OK
uint32 dungeon_id = 6; // OK
oneof detail {
TowerLevelEndNotify tower_level_end_notify = 517;
TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1297;
//ChannelerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 803;
//EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 974;
TowerLevelEndNotify tower_level_end_notify = 1190;
TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 1546;
}
}

View File

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "GachaUpInfo.proto";
// 4.7.0
// PKGNKDGHLOF
message GachaInfo {
@ -13,28 +10,36 @@ message GachaInfo {
uint32 begin_time = 12; // OK
bool is_new_wish = 778; // OK
repeated GachaUpInfo gacha_up_info_list = 802; // OK
repeated uint32 displayUp4ItemList = 1046; // SUS
repeated uint32 displayUp5ItemList = 1152; // SUS
repeated uint32 displayUp4ItemList = 1152; // OK
repeated uint32 displayUp5ItemList = 1046; // OK
// string sus
string gachaPreviewPrefabPath = 1;
string titleTextmap = 3;
string gachaPrefabPath = 7;
string gachaRecordUrlOversea = 14;
string gachaRecordUrl = 784;
string gachaProbUrlOversea = 1355;
string gachaProbUrl = 1926;
string gachaPreviewPrefabPath = 7; // OK
string titleTextmap = 3; // OK?
string gachaPrefabPath = 1; // OK
string gachaRecordUrlOversea = 1355; // LOCK
// string gachaRecordUrl = 1355; // XCN, 14x
string gachaProbUrlOversea = 784; // LOCK
// string gachaProbUrl = 1926; // XCN
// int32 sus
uint32 costItemId = 2;
uint32 wishMaxProgress = 4;
uint32 curScheduleDailyGachaTimes = 6;
uint32 leftGachaTimes = 8;
uint32 tenCostItemNum = 9;
uint32 wishProgress = 13;
uint32 tenCostItemId = 15;
uint32 gachaSortId = 1106;
uint32 wishItemId = 1274;
uint32 gachaTimesLimit = 1869;
uint32 costItemNum = 1954;
uint32 tenCostItemNum = 4; // OK LOCK
uint32 tenCostItemId = 8; // OK LOCK
uint32 costItemNum = 9; // OK LOCK
uint32 costItemId = 15; // OK LOCK
// LOCK
uint32 wishMaxProgress = 1274; // ONMDPPDFMEL T1
uint32 wishProgress = 1954; // NJMNJNNPFPL T2
uint32 wishItemId = 1106; // EMFBCNGMLJJ T3
// 1 STUFF
uint32 curScheduleDailyGachaTimes = 6; // OK
// 2 STUFF
uint32 gachaSortId = 1869;
uint32 leftGachaTimes = 2; // LOCK
uint32 gachaTimesLimit = 13; // LOCK
}

View File

@ -1,16 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto";
import "GachaTransferItem.proto";
// Version: 4.6.0
// Obfs: EDJOEJJIOMG
// Version: 4.7.0
// Obfs: ?
message GachaItem {
ItemParam gacha_item = 4;
repeated ItemParam token_item_list = 9;
bool is_gacha_item_new = 11; // CKAPCKPPAIG
repeated GachaTransferItem transfer_items = 12;
bool is_flash_card = 14; // AAECBIKHMFM
ItemParam gacha_item = 9;
repeated ItemParam token_item_list = 14;
bool is_gacha_item_new = 11;
repeated GachaTransferItem transfer_items = 1;
bool is_flash_card = 12;
}

View File

@ -1,12 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto";
// Version: 4.6.0
// Obfs: AFCOODFGGDL
// Version: 4.7.0
// Obfs: ?
message GachaTransferItem {
ItemParam item = 2;
bool is_transfer_item_new = 3;
ItemParam item = 9;
bool is_transfer_item_new = 14;
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.7.0
// Obfs: JEJNMHJKEPK
message GachaUpInfo {

View File

@ -1,8 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 5636
message GachaWishReq {
uint32 gacha_type = 4;
uint32 gacha_schedule_id = 10;

View File

@ -1,13 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 26208
message GachaWishRsp {
uint32 gacha_schedule_id = 1;
uint32 gacha_type = 11;
int32 retcode = 9;
uint32 wishItemId = 4;
uint32 wishMaxProgress = 5;
uint32 wishProgress = 7;
uint32 wishItemId = 7; // T3
uint32 wishMaxProgress = 4; // T1
uint32 wishProgress = 5; // T2
}

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: 25586
// Obf: OOBNLCBIPJK
// 4.7.0
// CmdId: 25360
// Obf: ?
message GetActivityInfoReq {
repeated uint32 activity_id_list = 9;
}

View File

@ -1,10 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 20204
message GetAuthkeyReq {
string auth_appid = 1;
uint32 authkey_ver = 6; // OEMFLAILONG
uint32 sign_type = 7; // GOABEJGJJJP
uint32 authkey_ver = 6;
uint32 sign_type = 7;
}

View File

@ -1,8 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 383
message GetAuthkeyRsp {
int32 retcode = 1;
string auth_appid = 2;

View File

@ -2,9 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 25932
// Version: 4.6.0
// Obfs: KOEFMCGDFGA
// CmdId: 23493 ?
// Version: 4.7.0
// Obfs: KOOFBAPIMEJ
message GetDailyDungeonEntryInfoReq {
uint32 scene_id = 7;
uint32 scene_id = 4;
}

View File

@ -1,13 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "DailyDungeonEntryInfo.proto";
// CmdId: 7795
// Version: 4.6.0
// Obfs: EDDHDLPMJCE
// CmdId: 6323
// Version: 4.7.0
// Obfs: ?
message GetDailyDungeonEntryInfoRsp {
repeated DailyDungeonEntryInfo daily_dungeon_info_list = 3;
int32 retcode = 12;
repeated DailyDungeonEntryInfo daily_dungeon_info_list = 5;
int32 retcode = 2;
}

View File

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "GachaInfo.proto";
// 4.7.0
// cmdid: 26742
// AKCGBLHGPED

View File

@ -1,7 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 5877
// ?
message GetShopReq {
uint32 shop_type = 14;
}

View File

@ -1,8 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Shop.proto";
// 4.7.0
// CmdId: 27397
message GetShopRsp {

View File

@ -4,6 +4,6 @@ option java_package = "emu.grasscutter.net.proto";
// CmdId: 20724 ?
// Version: 4.7.0
// Obfs: KFGIJGBNIGG (in menu, but not work???)
// Obfs: KFGIJGBNIGG
message GetShopmallDataReq {
}

View File

@ -1,11 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 25915 ?
// CmdId: 6919(1lock),28359(2),27873(4),25495(1),24983(4),27354(1),505(1),27308(2),24348(5),1343(7),23548(1),23633(3),28511(3),29372(5),25915(1),8699(7),6693(1),3442(2),1130(3),467(3),24437(1)
// Version: 4.7.0
// Obfs: ABELEBMOGFM
// Obfs: CABMIAPOIPE
message GetShopmallDataRsp {
repeated uint32 shop_type_list = 13;
int32 retcode = 11;
repeated uint32 shop_type_list = 3;
int32 retcode = 4;
}

View File

@ -1,8 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0
// Version: 4.7.0
message ParamList {
repeated uint32 param_list = 1;
}

View File

@ -1,10 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 24672
// Version: 4.6.0
// Obfs: LFBKNJCPKIJ
// CmdId: 23233
// Version: 4.7.0
// Obfs: ?
message SceneEntityDrownReq {
uint32 entity_id = 13;
uint32 entity_id = 2;
}

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: 23727
// Obf: BFJPILGBDJK
// 4.7.0
// CmdId: 29817
// Obf: ?
message SceneEntityDrownRsp {
uint32 entity_id = 15;
int32 retcode = 6;
uint32 entity_id = 10;
int32 retcode = 12;
}

View File

@ -1,27 +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";
option java_package = "emu.grasscutter.net.proto";
import "MotionInfo.proto";
// CmdId: 25367
// 4.7.0
// CmdId: 6446
// Obf: CNFNMBHLHEK
message SceneEntityMoveNotify {
MotionInfo motion_info = 7;
uint32 entity_id = 11;
uint32 reliable_seq = 10;
uint32 scene_time = 14;
MotionInfo motion_info = 3;
uint32 entity_id = 15;
uint32 reliable_seq = 12;
uint32 scene_time = 8;
}

View File

@ -1,12 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ShopConcertProduct.proto";
import "ShopCardProduct.proto";
import "ShopGoods.proto";
import "ShopMcoinProduct.proto";
// 4.7.0
// ?
message Shop {
repeated ShopConcertProduct concert_product_list = 2;
uint32 next_refresh_time = 3;

View File

@ -1,28 +1,34 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto";
// 4.7.0
message ShopGoods {
ItemParam goods_item = 6;
uint32 end_time = 3;
uint32 begin_time = 12;
repeated ItemParam cost_item_list = 10;
uint32 goods_id = 11;
repeated uint32 pre_goods_id_list = 15;
uint32 next_refresh_time = 14;
uint32 bought_num = 2;
uint32 hcoin = 13;
uint32 buy_limit = 1;
uint32 max_level = 5;
uint32 min_level = 4;
uint32 scoin = 9;
uint32 mcoin = 144;
uint32 secondary_sheet_id = 663;
uint32 single_limit = 133;
uint32 discount_id = 150;
uint32 discount_end_time = 821;
uint32 discount_begin_time = 410;
ItemParam goods_item = 6; // OK
uint32 end_time = 3; // OK
uint32 begin_time = 12; // OK
repeated ItemParam cost_item_list = 10; // OK
repeated uint32 pre_goods_id_list = 15; // OK
uint32 goods_id = 11; // OK
uint32 next_refresh_time = 14; // OK
uint32 bought_num = 2; // OK (1x maybe ok too but this limit other, 7=mora)
uint32 buy_limit = 9; // ?
uint32 max_level = 5; // OK
uint32 min_level = 4; // OK
uint32 hcoin = 13; // LOCK
uint32 scoin = 7; // LOCK
uint32 mcoin = 8; // LOCK
//Hcoin: Primogem
//Scoin: Mora
//Mcoin: Genesis crystal
//uint32 secondary_sheet_id = 663;
//uint32 single_limit = 133;
//uint32 discount_id = 150;
//uint32 discount_end_time = 821;
//uint32 discount_begin_time = 410;
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// ?
message StrengthenPointData {

View File

@ -1,29 +1,22 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerCurLevelRecord.proto";
import "TowerFloorRecord.proto";
import "TowerMonthlyBrief.proto";
// 4.7.0
// CmdId: 2253
message TowerAllDataRsp {
uint32 tower_schedule_id = 3;
uint32 tower_schedule_id = 4;
bool is_finished_entrance_floor = 10;
uint32 valid_floor_record_list = 4; // sus
uint32 valid_floor_record_list = 6; // 1 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 = 15; // sus
//uint32 ANOHIMHLMID = 10;
//uint32 MICBOPDAEFN = 11;
uint32 next_schedule_change_time = 12; // sus
uint32 next_schedule_change_time = 3; // OK
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

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerTeam.proto";
// 4.7.0
message TowerCurLevelRecord {
uint32 cur_floor_id = 1; // sus

View File

@ -1,11 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerCurLevelRecord.proto";
// 4.6.0
// CmdId: 24979
// 4.7.0
// CmdId: 8595
message TowerCurLevelRecordChangeNotify {
TowerCurLevelRecord cur_level_record = 9;
TowerCurLevelRecord cur_level_record = 7;
}

View File

@ -1,9 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 5485
// 4.7.0
// CmdId: 20408
message TowerEnterLevelReq {
uint32 enter_point_id = 13;
uint32 enter_point_id = 14;
}

View File

@ -1,12 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 21658
// 4.7.0
// CmdId: 5746
// ADFHGDCDAOA
message TowerEnterLevelRsp {
repeated uint32 tower_buff_id_list = 7;
uint32 floor_id = 9;
uint32 level_index = 11;
int32 retcode = 15;
repeated uint32 tower_buff_id_list = 4;
uint32 floor_id = 11;
uint32 level_index = 2;
int32 retcode = 8;
}

View File

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerLevelRecord.proto";
// 4.7.0
message TowerFloorRecord {
map<uint32, uint32> passed_level_map = 2;

View File

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerFloorRecord.proto";
// 4.7.0
// CmdId: 1981
// AIIOPKKFPFF

View File

@ -1,17 +1,15 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto";
// 4.6.0
// CmdId: 25369
// 4.7.0
// CmdId: 4173
// ?
message TowerLevelEndNotify {
repeated uint32 finished_star_cond_list = 3;
repeated ItemParam reward_item_list = 7;
uint32 next_floor_id = 9; // FJLBPFJCOEB sus (9, 15)
bool is_success = 13;
uint32 continue_state = 15; // MMIKGNOABLJ sus (9, 15)
repeated uint32 finished_star_cond_list = 1;
repeated ItemParam reward_item_list = 13;
uint32 next_floor_id = 4; // sus
bool is_success = 10;
uint32 continue_state = 8; // sus
enum ContinueStateType {
CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE = 0;

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message TowerLevelRecord {
uint32 level_id = 13;

View File

@ -1,11 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// DNCIPFNDOEC
message TowerLevelStarCondData {
bool is_fail = 4; // sus
uint32 cond_value = 5; // sus
bool is_pause = 9; // sus
uint32 star_cond_index = 12; // sus
bool is_fail = 6; // sus
bool is_pause = 10; // sus
uint32 cond_value = 3; // sus
uint32 star_cond_index = 14; // sus
}

View File

@ -1,13 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerLevelStarCondData.proto";
// 4.6.0
// CmdId: 9959
// 4.7.0
// CmdId: 29627
// IJCOJMJFIDB
message TowerLevelStarCondNotify {
repeated TowerLevelStarCondData cond_data_list = 9;
uint32 floor_id = 10;
uint32 level_index = 13;
repeated TowerLevelStarCondData cond_data_list = 11;
uint32 floor_id = 9;
uint32 level_index = 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";
// CmdId: 2027
// Obf: NMHAKMEJMMM
// 4.7.0
// CmdId: 22701x or 379x or 24532x or 20682
// Obf: ?
message TowerMiddleLevelChangeTeamNotify {
}

View File

@ -1,11 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// 4.7.0
// ?
message TowerMonthlyBrief {
uint32 tower_schedule_id = 3;
uint32 best_level_index = 11;
uint32 best_floor_index = 12;
uint32 total_star_count = 14;
uint32 tower_schedule_id = 14; // OK
// SUS
uint32 best_level_index = 2;
uint32 best_floor_index = 8;
uint32 total_star_count = 15;
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message TowerTeam {
uint32 tower_team_id = 5;

View File

@ -1,9 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "TowerTeam.proto";
// 4.7.0
// CmdId: 28157
// OACGHLELOPK

View File

@ -1,8 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 7953
// 4.7.0
// CmdId: 26939
// ?
message TrialAvatarFirstPassDungeonNotify {
uint32 trial_avatar_index_id = 10;
uint32 trial_avatar_index_id = 13;
}