This commit is contained in:
Yuuki 2024-06-23 23:33:14 +08:00
parent 58542ed979
commit 75df595ce7
188 changed files with 31948 additions and 31348 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,13 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
//obf: PEMAEGMEAAE // 4.7.0
message AbilityIdentifier { message AbilityIdentifier {
uint32 instanced_ability_id = 6; uint32 HDPFOJMGBJA = 5;
uint32 instanced_modifier_id = 7; bool is_serverbuff_modifier = 6;
bool is_serverbuff_modifier = 8; uint32 IPGHMJALPKC = 7;
uint32 EGFPJDNPCAJ = 9; int32 local_id = 10;
uint32 OOEBIGKJEBA = 10; uint32 instanced_modifier_id = 14;
int32 local_id = 13; uint32 instanced_ability_id = 15;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntry.proto"; import "AbilityInvokeEntry.proto";
//obf: KGJLCBEKCFD // 4.7
// CmdId: 21569
message AbilityInvocationsNotify { message AbilityInvocationsNotify {
repeated AbilityInvokeEntry invokes = 5; repeated AbilityInvokeEntry invokes = 9;
} }

View File

@ -1,19 +1,20 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ForwardType.proto";
import "AbilityInvokeEntryHead.proto"; import "AbilityInvokeEntryHead.proto";
import "AbilityInvokeArgument.proto"; import "AbilityInvokeArgument.proto";
import "ForwardType.proto";
// 4.6.0 // 4.7
message AbilityInvokeEntry { message AbilityInvokeEntry {
double total_tick_time = 3; uint32 entity_id = 11;
uint32 forward_peer = 4; AbilityInvokeEntryHead head = 10;
ForwardType forward_type = 6; bytes ability_data = 12;
AbilityInvokeEntryHead head = 7; AbilityInvokeArgument argument_type = 15;
bool is_ignore_auth = 9; ForwardType forward_type = 13;
uint32 event_id = 10; uint32 forward_peer = 2;
AbilityInvokeArgument argument_type = 12; uint32 event_id = 1;
bytes ability_data = 13; bool is_ignore_auth = 4;
uint32 entity_id = 14; double total_tick_time = 7;
} }

View File

@ -1,13 +1,14 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
message AbilityInvokeEntryHead { message AbilityInvokeEntryHead {
uint32 target_id = 3; uint32 instanced_ability_id = 8;
uint32 instanced_modifier_id = 4; uint32 instanced_modifier_id = 7;
int32 modifier_config_local_id = 5; uint32 server_buff_uid = 14;
bool is_serverbuff_modifier = 6; int32 modifier_config_local_id = 13;
int32 local_id = 7; int32 local_id = 15;
uint32 server_buff_uid = 8; uint32 target_id = 3;
uint32 instanced_ability_id = 13; bool is_serverbuff_modifier = 9;
} }

View File

@ -2,9 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 8699 // 4.7.0
message AddQuestContentProgressReq { message AddQuestContentProgressReq {
uint32 content_type = 6; uint32 add_progress = 2;
uint32 param = 10; uint32 param = 4;
uint32 add_progress = 11; uint32 content_type = 9;
} }

View File

@ -2,8 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 23613 // 4.7.0
message AddQuestContentProgressRsp { message AddQuestContentProgressRsp {
int32 retcode = 5; uint32 content_type = 7;
uint32 content_type = 14; int32 retcode = 8;
} }

View File

@ -1,12 +1,13 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
//obf: EHHIGNCAHDN // 4.7.0
message AttackHitEffectResult { message AttackHitEffectResult {
uint32 CODNNLGEFAB = 2; float ICKHFGPOHOB = 1;
float BGGGOCDMEIJ = 7; float PJBNLHEDMKH = 2;
float PFHMCODCDOG = 9; float HEMHBCPCDAP = 3;
uint32 INHHAFPAGMM = 11; uint32 AJFIGFGCMLO = 12;
float ILBDIPJINIH = 14; float CEECMAJGHLC = 14;
float DPOCKHHOAPH = 15; uint32 MHOBBFJGOFL = 15;
} }

View File

@ -1,42 +1,22 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
import "AbilityIdentifier.proto"; import "AbilityIdentifier.proto";
import "HitCollision.proto";
import "AttackHitEffectResult.proto"; import "AttackHitEffectResult.proto";
import "Vector.proto";
import "HitCollision.proto";
//obf: PBNJFKKLHNG // 4.7.0
message AttackResult { message AttackResult {
int32 hit_retreat_angle_compat = 2; AbilityIdentifier ability_identifier = 12;
HitCollision hit_collision = 3; AttackHitEffectResult hit_eff_result = 3;
float damage = 4; Vector resolved_dir = 10;
Vector resolved_dir = 5; string anim_event_id = 1;
uint32 element_type = 6; HitCollision hit_collision = 15;
AttackHitEffectResult hit_eff_result = 7; int32 hit_retreat_angle_compat = 9;
uint32 defense_id = 8; uint32 attacker_id = 5;
uint32 HLDPABLDFMA = 9; uint32 defense_id = 6;
AbilityIdentifier ability_identifier = 11; uint32 element_type = 11;
uint32 attacker_id = 12; float damage = 8;
uint32 PBAOKLLNEKH = 13;
string anim_event_id = 14;
bool DOOAHLOJHFI = 15;
bool MMGHNAGCMKI = 101;
uint32 ANCLENEDEFP = 368;
float KIBCOOHDGGC = 395;
float KOHHKJHBPGC = 434;
bool OLBMHKAKCAO = 686;
uint32 GKEECIACCJL = 792;
float JAMLOHCLJGO = 844;
uint32 IKBJOJCMIDD = 966;
uint32 JHGMKBBHGKK = 1152;
float IBDIPOKNGND = 1178;
uint32 ADAPJNAPCFM = 1195;
uint32 HEGHHBKOGPM = 1400;
uint32 GONCKDKHCCD = 1579;
uint32 IPHOJADNMPG = 1582;
bool ECOJPMMOFGO = 1638;
uint32 LINKMJIJDAI = 1649;
uint32 GBFOLNPHPFC = 1744;
uint32 PMCGHDEGGGO = 2023;
} }

View File

@ -1,9 +1,11 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AvatarInfo.proto"; import "AvatarInfo.proto";
// 4.7.0
message AvatarAddNotify { message AvatarAddNotify {
bool is_in_team = 2; bool is_in_team = 3;
AvatarInfo avatar = 12; AvatarInfo avatar = 12;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "SceneEntityInfo.proto"; import "SceneEntityInfo.proto";
// 4.6.0 // 4.7.0
// CmdId: 5930
message AvatarChangeCostumeNotify { message AvatarChangeCostumeNotify {
SceneEntityInfo entity_info = 1; SceneEntityInfo entity_info = 2;
} }

View File

@ -1,9 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 27094
message AvatarChangeCostumeReq { message AvatarChangeCostumeReq {
uint64 avatar_guid = 2; uint64 avatar_guid = 3;
uint32 costume_id = 6; uint32 costume_id = 7;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 657
message AvatarChangeCostumeRsp { message AvatarChangeCostumeRsp {
uint32 costume_id = 1; uint64 avatar_guid = 2;
int32 retcode = 13; int32 retcode = 11;
uint64 avatar_guid = 15; uint32 costume_id = 13;
} }

View File

@ -1,12 +1,12 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
// 4.6.0 // 4.7.0
// CmdId: 44
message AvatarDieAnimationEndReq { message AvatarDieAnimationEndReq {
uint32 skill_id = 6; uint64 die_guid = 1;
Vector reborn_pos = 7; uint32 skill_id = 2;
uint64 die_guid= 13; Vector reborn_pos = 6;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 1020
message AvatarDieAnimationEndRsp { message AvatarDieAnimationEndRsp {
int32 retcode = 6; uint32 skill_id = 3;
uint64 die_guid= 11; int32 retcode = 12;
uint32 skill_id = 13; uint64 die_guid = 13;
} }

View File

@ -1,17 +1,18 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ServerBuff.proto";
import "AbilitySyncStateInfo.proto"; import "AbilitySyncStateInfo.proto";
import "ServerBuff.proto";
// 4.6.0 // 4.7.0
message AvatarEnterSceneInfo { message AvatarEnterSceneInfo {
uint32 avatar_entity_id = 4; AbilitySyncStateInfo avatar_ability_info = 10;
repeated ServerBuff server_buff_list = 5; AbilitySyncStateInfo weapon_ability_info = 14;
repeated uint32 buff_id_list = 8; uint32 avatar_entity_id = 3;
AbilitySyncStateInfo avatar_ability_info = 10;//sus 10 or14 uint32 weapon_entity_id = 5;
uint64 weapon_guid = 11; uint64 avatar_guid = 7;
uint32 weapon_entity_id = 12; uint64 weapon_guid = 4;
AbilitySyncStateInfo weapon_ability_info = 14;//sus 10 or14 repeated uint32 buff_id_list = 12;
uint64 avatar_guid = 15; repeated ServerBuff server_buff_list = 13;
} }

View File

@ -1,16 +1,16 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "SceneWeaponInfo.proto"; import "SceneWeaponInfo.proto";
import "SceneReliquaryInfo.proto"; import "SceneReliquaryInfo.proto";
// 4.6.0 // 4.7.0
// CmdId: 24844
message AvatarEquipChangeNotify { message AvatarEquipChangeNotify {
uint32 equip_type = 1; uint32 equip_type = 1;
SceneWeaponInfo weapon = 2; SceneWeaponInfo weapon = 2;
uint64 avatar_guid = 5; uint32 item_id = 9;
uint32 item_id = 7; uint64 avatar_guid = 13;
uint64 equip_guid = 9; uint64 equip_guid = 14;
SceneReliquaryInfo reliquary = 15; SceneReliquaryInfo reliquary = 15;
} }

View File

@ -1,9 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
//obf: MPDFJECBFKM // 4.7.0
// CmdId: 9531
message AvatarFightPropNotify { message AvatarFightPropNotify {
uint64 avatar_guid = 5; uint64 avatar_guid = 9;
map<uint32, float> fight_prop_map = 10; map<uint32, float> fight_prop_map = 10;
} }

View File

@ -1,9 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
//obf: JHPCPJAFGMI // 4.7.0
// CmdId: 21817
message AvatarFightPropUpdateNotify { message AvatarFightPropUpdateNotify {
uint64 avatar_guid = 3; map<uint32, float> fight_prop_map = 4;
map<uint32, float> fight_prop_map = 5; uint64 avatar_guid = 5;
} }

View File

@ -1,9 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 2952
message AvatarFlycloakChangeNotify { message AvatarFlycloakChangeNotify {
uint32 flycloak_id = 3; uint32 flycloak_id = 7;
uint64 avatar_guid = 10; uint64 avatar_guid = 11;
} }

View File

@ -1,17 +1,17 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "PlayerDieType.proto";
import "ServerBuff.proto"; import "ServerBuff.proto";
import "PlayerDieType.proto";
// 4.6.0 // 4.7.0
// CmdId: 28742
message AvatarLifeStateChangeNotify { message AvatarLifeStateChangeNotify {
uint32 life_state = 1; repeated ServerBuff server_buff_list = 2;
uint64 avatar_guid = 2; PlayerDieType die_type = 3;
PlayerDieType die_type = 3; uint32 source_entity_id = 6;
string attack_tag = 5; string attack_tag = 7;
uint32 move_reliable_seq = 9; uint64 avatar_guid = 9;
uint32 source_entity_id = 11; uint32 move_reliable_seq = 10;
repeated ServerBuff server_buff_list = 13; uint32 life_state = 15;
} }

View File

@ -1,14 +1,14 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "PropChangeReason.proto"; import "PropChangeReason.proto";
// 4.6.0 // 4.7.0
// CmdId: 5955
message AvatarPropChangeReasonNotify { message AvatarPropChangeReasonNotify {
uint32 prop_type = 2; float cur_value = 3;
uint64 avatar_guid = 3; uint64 avatar_guid = 5;
float cur_value = 11; PropChangeReason reason = 6;
float old_value = 13; uint32 prop_type = 14;
PropChangeReason reason = 15; float old_value = 15;
} }

View File

@ -1,9 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 24899
message AvatarPropNotify { message AvatarPropNotify {
uint64 avatar_guid = 8; map<uint32, int64> prop_map = 9;
map<uint32, int64> prop_map = 14; uint64 avatar_guid = 12;
} }

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";
// Obf: PNGEFKDMGGI
// 4.7.0
message AvatarSatiationData { message AvatarSatiationData {
float penalty_finish_time = 1; float penalty_finish_time = 3;
uint64 avatar_guid = 4; uint64 avatar_guid = 5;
float finish_time = 9; float finish_time = 14;
} }

View File

@ -1,24 +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";
import "AvatarSatiationData.proto"; import "AvatarSatiationData.proto";
// CmdId: 704
// Obf: EBKOHKKPGDN // 4.7.0
message AvatarSatiationDataNotify { message AvatarSatiationDataNotify {
repeated AvatarSatiationData satiation_data_list = 15; repeated AvatarSatiationData satiation_data_list = 13;
} }

View File

@ -3,10 +3,9 @@ option java_package = "emu.grasscutter.net.proto";
import "AvatarTeam.proto"; import "AvatarTeam.proto";
// 4.6.0 // 4.7.0
// CmdId: 3135
message AvatarTeamAllDataNotify { message AvatarTeamAllDataNotify {
map<uint32, AvatarTeam> avatar_team_map = 5; map<uint32, AvatarTeam> avatar_team_map = 4;
repeated uint64 temp_avatar_guid_list = 12; repeated uint32 backup_avatar_team_order_list = 8;
repeated uint32 backup_avatar_team_order_list = 13; repeated uint64 temp_avatar_guid_list = 1;
} }

View File

@ -3,9 +3,8 @@ option java_package = "emu.grasscutter.net.proto";
import "AvatarTeam.proto"; import "AvatarTeam.proto";
// 4.6.0 // 4.7.0
// CmdId: 26704
message AvatarTeamUpdateNotify { message AvatarTeamUpdateNotify {
repeated uint64 temp_avatar_guid_list = 7; map<uint32, AvatarTeam> avatar_team_map = 6;
map<uint32, AvatarTeam> avatar_team_map = 10; repeated uint64 temp_avatar_guid_list = 5;
} }

View File

@ -1,9 +1,8 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 21936
message AvatarWearFlycloakReq { message AvatarWearFlycloakReq {
uint64 avatar_guid = 7; uint64 avatar_guid = 10;
uint32 flycloak_id = 8; uint32 flycloak_id = 12;
} }

View File

@ -1,10 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 924
message AvatarWearFlycloakRsp { message AvatarWearFlycloakRsp {
uint64 avatar_guid = 3; uint32 flycloak_id = 3;
int32 retcode = 4; int32 retcode = 5;
uint32 flycloak_id = 11; uint64 avatar_guid = 9;
} }

View File

@ -1,8 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message CardProductRewardNotify { message CardProductRewardNotify {
string product_id = 4; string product_id = 4;
uint32 remain_days = 14; uint32 remain_days = 10;
uint32 hcoin = 10; uint32 hcoin = 13;
} }

View File

@ -3,12 +3,10 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
// 4.6.0 // 4.7.0
// CmdId: 27362
message ChangeAvatarReq { message ChangeAvatarReq {
Vector move_pos = 8; Vector move_pos = 15;
/* protected @ 0x28 */// uint32 skill_id = 65535; uint64 guid = 2;
/* protected @ 0x2C */// bool BKFBCEPLOLN = 65535; bool is_move = 1;
bool is_move = 2; uint32 skill_id = 9;
uint64 guid = 7;
} }

View File

@ -1,10 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 26267
message ChangeAvatarRsp { message ChangeAvatarRsp {
uint64 cur_guid = 2; uint64 cur_guid = 8;
int32 retcode = 15; // OK int32 retcode = 4;
/* protected @ 0x2C */// uint32 skill_id = 65535; uint32 skill_id = 9;
} }

View File

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

View File

@ -1,24 +1,24 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
message ChatInfo { message ChatInfo {
message SystemHint { message SystemHint {
uint32 type = 11; uint32 type = 7;
} }
enum SystemHintType { enum SystemHintType {
SYSTEM_HINT_TYPE_CHAT_NONE = 0; SYSTEM_HINT_TYPE_CHAT_NONE = 0;
SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD = 1; SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD = 1;
SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD = 2; SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD = 2;
} }
uint32 time = 1; uint32 time = 9;
uint32 uid = 3; uint32 to_uid = 8;
uint32 to_uid = 6; bool is_read = 12;
bool is_read = 11; uint32 uid = 5;
uint32 sequence = 14; uint32 sequence = 4;
oneof content { oneof content {
string text = 1643; string text = 1751;
uint32 icon = 1290; uint32 icon = 1792;
SystemHint system_hint = 279; SystemHint system_hint = 370;
} }
} }

View File

@ -2,10 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0 // 4.7.0
// Obfs: CCOMDFHOPAL
message ChildQuest { message ChildQuest {
uint32 state = 1; uint32 quest_config_id = 12;
uint32 quest_config_id = 2; uint32 quest_id = 11;
uint32 quest_id = 11; uint32 state = 4;
} }

View File

@ -3,8 +3,7 @@ option java_package = "emu.grasscutter.net.proto";
import "CombatInvokeEntry.proto"; import "CombatInvokeEntry.proto";
// 4.6.0 // 4.7.0
// CmdId: 7549
message CombatInvocationsNotify { message CombatInvocationsNotify {
repeated CombatInvokeEntry invoke_list = 12; repeated CombatInvokeEntry invoke_list = 14;
} }

View File

@ -1,12 +1,12 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "CombatTypeArgument.proto";
import "ForwardType.proto"; import "ForwardType.proto";
import "CombatTypeArgument.proto";
// 4.6.0 // 4.7.0
message CombatInvokeEntry { message CombatInvokeEntry {
CombatTypeArgument argument_type = 3; bytes combat_data = 11;
bytes combat_data = 13; ForwardType forward_type = 13;
ForwardType forward_type = 14; CombatTypeArgument argument_type = 15;
} }

View File

@ -2,6 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "MaterialInfo.proto"; import "MaterialInfo.proto";
// 4.7.0
message DestroyMaterialReq { message DestroyMaterialReq {
repeated MaterialInfo material_list = 6; repeated MaterialInfo material_list = 8;
} }

View File

@ -1,8 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message DestroyMaterialRsp { message DestroyMaterialRsp {
repeated uint32 item_count_list = 15; repeated uint32 item_count_list = 2;
repeated uint32 item_id_list = 11; int32 retcode = 12;
int32 retcode = 13; repeated uint32 item_id_list = 15;
} }

View File

@ -2,13 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 7748 // 4.7.0
// Version: 4.6.0
// Obfs: ???
message DoGachaReq { message DoGachaReq {
string gachaTag = 1; uint32 gacha_schedule_id = 4;
uint32 gachaScheduleId = 7; string gacha_tag = 6;
uint32 gachaTimes = 8; uint32 gacha_random = 8;
uint32 gachaRandom = 10; uint32 gacha_type = 13;
uint32 gachaType = 13; uint32 gacha_times = 15;
} }

View File

@ -4,27 +4,25 @@ option java_package = "emu.grasscutter.net.proto";
import "GachaItem.proto"; import "GachaItem.proto";
// CmdId: 3838 // 4.7.0
// Version: 4.6.0
// Obfs: IMDOCDDMJDD
message DoGachaRsp { message DoGachaRsp {
uint32 ten_cost_item_id = 1; uint32 gacha_type = 6;
uint32 wish_item_id = 2; repeated GachaItem gacha_item_list = 4;
uint32 wish_max_progress = 3; uint32 gacha_schedule_id = 13;
uint32 new_gacha_random = 4; // sus bool is_under_general_restrict = 713;
int32 retcode = 5; uint32 daily_gacha_times = 1479;
uint32 wish_progress = 6; bool is_under_minors_restrict = 1626;
uint32 ten_cost_item_num = 7; uint32 gacha_times = 8;
uint32 left_gacha_times = 8; int32 retcode = 7;
uint32 cost_item_id = 9; uint32 tenCostItemNum = 14;
uint32 cost_item_num = 10; uint32 wishMaxProgress = 9;
uint32 gacha_times_limit = 11; uint32 leftGachaTimes = 11;
uint32 gachaType = 12; uint32 costItemNum = 10;
repeated GachaItem gacha_item_list = 13; uint32 curScheduleDailyGachaTimes = 706;
uint32 gachaScheduleId = 14; uint32 wishProgress = 5;
uint32 gachaTimes = 15; uint32 newGachaRandom = 16;
uint32 daily_gacha_times = 156; uint32 costItemId = 12;
bool is_under_general_restrict = 205; // BLIOHILHJOP (205, 1563) uint32 tenCostItemId = 3;
uint32 cur_schedule_daily_gacha_times = 1513; // sus uint32 gachaTimesLimit = 15;
bool is_under_minors_restrict = 1563; // AGPAJPJENKG (205, 1563) uint32 wishItemId = 1;
} }

View File

@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
// 4.7.0
message DropHintNotify { message DropHintNotify {
repeated uint32 item_id_list = 15; Vector position = 1;
Vector position = 5; repeated uint32 item_id_list = 12;
} }

View File

@ -4,13 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "WeeklyBossResinDiscountInfo.proto"; import "WeeklyBossResinDiscountInfo.proto";
// Version: 4.6.0 // 4.7.0 ?
// Obfs: IPAMCDBKCOB
message DungeonEntryInfo { message DungeonEntryInfo {
uint32 next_refresh_time = 4; bool is_passed = 2;
uint32 dungeon_id = 5; uint32 dungeon_id = 4;
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 7; WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 7;
uint32 left_times = 8; uint32 next_refresh_time = 10;
bool is_passed = 14; uint32 max_boss_chest_num = 12;
uint32 max_boss_chest_num = 15; uint32 left_times = 14;
} }

View File

@ -4,11 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "Uint32Pair.proto"; import "Uint32Pair.proto";
// CmdId: 8949 // 4.7.0
// Version: 4.6.0
// Obfs: ABMPEDCFHIF
message DungeonEntryInfoReq { message DungeonEntryInfoReq {
repeated Uint32Pair scene_point_id_list = 8; uint32 point_id = 3;
uint32 point_id = 9; repeated Uint32Pair scene_point_id_list = 12;
uint32 scene_id = 14; uint32 scene_id = 14;
} }

View File

@ -2,16 +2,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "DungeonEntryInfo.proto";
import "DungeonEntryPointInfo.proto"; import "DungeonEntryPointInfo.proto";
import "DungeonEntryInfo.proto";
// CmdId: 21310 // 4.7.0
// Version: 4.6.0
// Obfs: OABAOIFOJML
message DungeonEntryInfoRsp { message DungeonEntryInfoRsp {
uint32 recommend_dungeon_id = 2; int32 retcode = 2;
repeated DungeonEntryInfo dungeon_entry_list = 6; uint32 recommend_dungeon_id = 10;
int32 retcode = 8; repeated DungeonEntryPointInfo dungeon_entry_point_list = 11;
uint32 point_id = 9; repeated DungeonEntryInfo dungeon_entry_list = 14;
repeated DungeonEntryPointInfo dungeon_entry_point_list = 11; uint32 point_id = 15;
} }

View File

@ -4,11 +4,10 @@ option java_package = "emu.grasscutter.net.proto";
import "DungeonEntryInfo.proto"; import "DungeonEntryInfo.proto";
// Version: 4.6.0 // 4.7.0
// Obfs: NHGDJAAICLF
message DungeonEntryPointInfo { message DungeonEntryPointInfo {
uint32 scene_id = 7; uint32 scene_id = 1;
repeated DungeonEntryInfo dungeon_entry_list = 8; uint32 point_id = 7;
uint32 recommend_dungeon_id = 9; uint32 recommend_dungeon_id = 13;
uint32 point_id = 13; repeated DungeonEntryInfo dungeon_entry_list = 14;
} }

View File

@ -1,8 +1,7 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 21776
message EnterSceneDoneReq { message EnterSceneDoneReq {
uint32 enter_scene_token = 8; uint32 enter_scene_token = 13;
} }

View File

@ -1,9 +1,8 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 9331
message EnterSceneDoneRsp { message EnterSceneDoneRsp {
//int32 retcode = ?; uint32 enter_scene_token = 11;
uint32 enter_scene_token = 3; int32 retcode = 15;
} }

View File

@ -1,23 +1,19 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ChangeHpDebts.proto";
import "ChangeHpReason.proto"; import "ChangeHpReason.proto";
import "ChangeEnergyReason.proto"; import "ChangeEnergyReason.proto";
import "PropChangeReason.proto"; import "PropChangeReason.proto";
import "ChangeHpDebts.proto";
import "MGHDLMIEMLI.proto";
//obf: KNIDFELLKBI // 4.7.0
// CmdId: 9207
message EntityFightPropChangeReasonNotify { message EntityFightPropChangeReasonNotify {
uint32 entity_id = 1; uint32 entity_id = 3;
ChangeHpReason changeHpReason = 2; ChangeHpDebts change_hp_debts = 6;
repeated uint32 param_list = 6; uint32 prop_type = 7;
ChangeHpDebts change_hp_debts = 7; ChangeHpReason change_hp_reason = 8;
MGHDLMIEMLI detail_info = 8; ChangeEnergyReason change_energy_reason = 11;
uint32 prop_type = 9; float prop_delta = 12;
PropChangeReason reason = 10; repeated uint32 param_list = 13;
float prop_delta = 13; PropChangeReason reason = 14;
ChangeEnergyReason changeEnergyReason = 14;
float IFDGFBBCMBB = 15;
} }

View File

@ -1,9 +1,8 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
//obf: PDMMIGKPKBI // 4.7.0
// CmdId: 8257
message EntityFightPropUpdateNotify { message EntityFightPropUpdateNotify {
map<uint32, float> fight_prop_map = 7; uint32 entity_id = 2;
uint32 entity_id = 8; map<uint32, float> fight_prop_map = 12;
} }

View File

@ -2,11 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 26996 // 4.7.0
// Version: 4.6.0
// Obfs: DJPKAAHDPMG
message EntityTagChangeNotify { message EntityTagChangeNotify {
uint32 entity_id = 8; uint32 entity_id = 7;
bool is_add = 10; string tag = 14;
string tag = 12; bool is_add = 15;
} }

View File

@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
// 4.7.0
message EvtAvatarLockChairReq { message EvtAvatarLockChairReq {
Vector position = 11; Vector position = 3;
uint64 chair_id = 9; uint64 chair_id = 5;
int32 direction = 6; int32 direction = 13;
} }

View File

@ -2,10 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
// 4.7.0
message EvtAvatarLockChairRsp { message EvtAvatarLockChairRsp {
uint64 chair_id = 15; uint64 chair_id = 2;
Vector position = 14; int32 retcode = 4;
int32 retcode = 13; int32 direction = 9;
uint32 entity_id = 10; uint32 entity_id = 11;
int32 direction = 7; Vector position = 15;
} }

View File

@ -1,9 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message EvtAvatarStandUpNotify { message EvtAvatarStandUpNotify {
int32 direction = 12; uint32 entity_id = 1;
uint64 chair_id = 5; uint64 chair_id = 2;
int32 performId = 9; int32 perform_id = 11;
uint32 entity_id = 15; int32 direction = 12;
} }

View File

@ -3,9 +3,9 @@ option java_package = "emu.grasscutter.net.proto";
import "AttackResult.proto"; import "AttackResult.proto";
//obf: PJOFJKPOAOF // 4.7.0
message EvtBeingHitInfo { message EvtBeingHitInfo {
uint32 peer_id = 9; uint32 frame_num = 8;
uint32 frame_num = 12; AttackResult attack_result = 11;
AttackResult attack_result = 13; uint32 peer_id = 13;
} }

View File

@ -1,14 +1,14 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ForwardType.proto";
import "Vector.proto"; import "Vector.proto";
import "ForwardType.proto";
//obf: BLPANCPNDIN // 4.7.0
// CmdId: 6290
message EvtDoSkillSuccNotify { message EvtDoSkillSuccNotify {
uint32 skill_id = 2; Vector forward = 1;
uint32 caster_id = 3; uint32 skill_id = 8;
ForwardType forward_type = 8; ForwardType forward_type = 9;
Vector forward = 13; uint32 caster_id = 10;
} }

View File

@ -4,7 +4,7 @@ option java_package = "emu.grasscutter.net.proto";
import "ParentQuest.proto"; import "ParentQuest.proto";
// CmdId: 22868 // 4.7.0
message FinishedParentQuestNotify { message FinishedParentQuestNotify {
repeated ParentQuest parent_quest_list = 10; repeated ParentQuest parent_quest_list = 8;
} }

View File

@ -4,7 +4,7 @@ option java_package = "emu.grasscutter.net.proto";
import "ParentQuest.proto"; import "ParentQuest.proto";
// CmdId: 3745 // 4.7.0
message FinishedParentQuestUpdateNotify { message FinishedParentQuestUpdateNotify {
repeated ParentQuest parent_quest_list = 4; repeated ParentQuest parent_quest_list = 7;
} }

View File

@ -4,36 +4,32 @@ option java_package = "emu.grasscutter.net.proto";
import "GachaUpInfo.proto"; import "GachaUpInfo.proto";
// Version: 4.6.0 // 4.7.0 ??
// Obfs: ???
// RN fill order frm 3.2.0
// 3 is wish_item_id wish_max_progress wish_progress
message GachaInfo { message GachaInfo {
uint32 left_gacha_times = 1; // found 2 HNFPBJIEGHD (uint32 limit) uint32 end_time = 5;
uint32 ten_cost_item_id = 2; // found 2 BCDOOPICEMD (2, 11) uint32 schedule_id = 10;
uint32 end_time = 3; // OK uint32 gacha_type = 11;
string gacha_preview_prefab_path = 4;// single LCNMHLJCLIK OK uint32 begin_time = 12;
string gacha_record_url = 5; // single HIOKPEGNPLK (5, 1354) repeated GachaUpInfo gacha_up_info_list = 802;
uint32 ten_cost_item_num = 6;// found 2 EMKBGHENNEL OK uint32 costItemId = 13;
uint32 gachaType = 7; // OK string gachaPrefabPath = 100;
uint32 gacha_times_limit = 8;// found 2 NABJFPLLGGM (uint32 limit) uint32 wishMaxProgress = 960;
uint32 schedule_id = 9; // OK uint32 curScheduleDailyGachaTimes = 1456;
string gacha_prob_url = 10; // single FCPIKKHIDDO (10, 448) uint32 leftGachaTimes = 15;
uint32 cost_item_id = 11; // found 2 KINBJAPMIJD (2, 11) bool is_new_wish = 1537;
uint32 gacha_sort_id = 12; // single EKKEPHGDAKB OK uint32 tenCostItemNum = 8;
uint32 cost_item_num = 13; // found 2 POEJPPCFPNG OK uint32 wishProgress = 1511;
string gacha_prefab_path = 14; // single ICOEPLJMDCK OK uint32 tenCostItemId = 6;
uint32 begin_time = 15; // OK uint32 gachaSortId = 110;
bool is_new_wish = 298; // JLNOHJBDNJN OK repeated uint32 displayUp4ItemList = 1285;
string gacha_prob_url_oversea = 448; // single ELOGPDHLPAI (10, 448) string gachaRecordUrlOversea = 1221;
repeated GachaUpInfo gacha_up_info_list = 535; // OK string gachaRecordUrl = 4;
string title_textmap = 667; // single JPBNAMGLKEC OK string gachaProbUrlOversea = 1181;
repeated uint32 display_up4_item_list = 707; // single KIEKPNDHGGJ OK string gachaProbUrl = 9;
uint32 wish_item_id = 794; // found 3 NFGOJJOMFCA OK uint32 wishItemId = 870;
uint32 cur_schedule_daily_gacha_times = 1233;// found 2 MJCGMHMPKOE sus string gachaPreviewPrefabPath = 120;
string gacha_record_url_oversea = 1354; // single GGCMMKLOJMN (5, 1354) string titleTextmap = 847;
repeated uint32 display_up5_item_list = 1621;// single OAJAMCHOPFJ (1621, 1921) repeated uint32 displayUp5ItemList = 1831;
uint32 wish_max_progress = 1757; // found 3 BHBCHFFGHHE OK uint32 gachaTimesLimit = 14;
uint32 wish_progress = 1799; // found 3 EOFACNPOJBN OK uint32 costItemNum = 2;
repeated uint32 display_chronicle5_item_list = 1921; // single DHONBCHNPJD (1621, 1921)
} }

View File

@ -2,11 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 22716 // 4.7.0
// Version: 4.6.0
// Obfs: ???
message GachaWishReq { message GachaWishReq {
uint32 gachaType = 10; uint32 gacha_type = 4;
uint32 item_id = 11; uint32 gacha_schedule_id = 10;
uint32 gachaScheduleId = 14; uint32 item_id = 15;
} }

View File

@ -2,14 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 384 // 4.7.0
// Version: 4.6.0
// Obfs: ???
message GachaWishRsp { message GachaWishRsp {
uint32 wish_item_id = 4; uint32 gacha_schedule_id = 1;
uint32 gachaScheduleId = 5; uint32 gacha_type = 11;
uint32 wish_max_progress = 7; int32 retcode = 9;
uint32 wish_progress = 8; uint32 wishItemId = 4;
uint32 gachaType = 13; uint32 wishMaxProgress = 5;
int32 retcode = 14; uint32 wishProgress = 7;
} }

View File

@ -4,13 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "InterOpType.proto"; import "InterOpType.proto";
import "ResinCostType.proto"; import "ResinCostType.proto";
// 4.6.0 // 4.7.0
// CmdId: 9529
message GadgetInteractReq { message GadgetInteractReq {
InterOpType op_type = 3; InterOpType op_type = 1;
uint32 gadget_id = 4; uint32 ui_interact_id = 3;
uint32 gadget_entity_id = 5; bool is_use_condense_resin = 7;
bool is_use_condense_resin = 6; uint32 gadget_id = 8;
ResinCostType resin_cost_type = 12; ResinCostType resin_cost_type = 13;
uint32 LPLOBCLLOMD = 15; uint32 gadget_entity_id = 15;
} }

View File

@ -4,12 +4,11 @@ option java_package = "emu.grasscutter.net.proto";
import "InteractType.proto"; import "InteractType.proto";
import "InterOpType.proto"; import "InterOpType.proto";
// 4.6.0 // 4.7.0
// CmdId: 20933
message GadgetInteractRsp { message GadgetInteractRsp {
int32 retcode = 1; InteractType interact_type = 3;
uint32 gadget_id = 4; InterOpType op_type = 4;
InteractType interact_type = 11; int32 retcode = 6;
uint32 gadget_entity_id = 12; uint32 gadget_id = 8;
InterOpType op_type = 13; uint32 gadget_entity_id = 10;
} }

View File

@ -3,9 +3,10 @@ option java_package = "emu.grasscutter.net.proto";
import "ActivityInfo.proto"; import "ActivityInfo.proto";
import "Uint32Pair.proto"; import "Uint32Pair.proto";
// 4.7.0
message GetActivityInfoRsp { message GetActivityInfoRsp {
repeated uint32 activated_sale_id_list = 14; int32 retcode = 2;
repeated ActivityInfo activity_info_list = 1; repeated ActivityInfo activity_info_list = 7;
repeated Uint32Pair disable_transfer_point_interaction_list = 15; repeated uint32 activated_sale_id_list = 8;
int32 retcode = 7; repeated Uint32Pair disable_transfer_point_interaction_list = 11;
} }

View File

@ -1,9 +1,8 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 7078
message GetAllUnlockNameCardRsp { message GetAllUnlockNameCardRsp {
repeated uint32 name_card_list = 1; repeated uint32 name_card_list = 15;
int32 retcode = 13; int32 retcode = 12;
} }

View File

@ -2,11 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 20926 // 4.7.0
// Version: 4.6.0
// Obfs: HJKMHGJBGON
message GetAuthkeyReq { message GetAuthkeyReq {
string auth_appid = 4; string auth_appid = 1;
uint32 sign_type = 5; uint32 authkey_ver = 6; // OEMFLAILONG
uint32 authkey_ver = 14; uint32 sign_type = 7; // GOABEJGJJJP
} }

View File

@ -2,14 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 24258 // 4.7.0
// Version: 4.6.0
// Obfs: PBKMLPJKLEM
message GetAuthkeyRsp { message GetAuthkeyRsp {
string game_biz = 1; int32 retcode = 1;
string authkey = 2; string auth_appid = 2;
int32 retcode = 6; string game_biz = 3;
uint32 sign_type = 11; uint32 sign_type = 4;
uint32 authkey_ver = 12; uint32 authkey_ver = 7;
string auth_appid = 14; string authkey = 13;
} }

View File

@ -4,14 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "GachaInfo.proto"; import "GachaInfo.proto";
// CmdId: 1610 // 4.7.0
// Version: 4.6.0
// Obfs:
message GetGachaInfoRsp { message GetGachaInfoRsp {
uint32 daily_gacha_times = 2; //IMPJPKBKFLB uint32 gacha_random = 6;
int32 retcode = 3; bool is_under_minors_restrict = 10;
repeated GachaInfo gacha_info_list = 5; int32 retcode = 11;
bool is_under_general_restrict = 9; // BLIOHILHJOP 5050 uint32 daily_gacha_times = 12;
uint32 gachaRandom = 11; repeated GachaInfo gacha_info_list = 13;
bool is_under_minors_restrict = 13; // AGPAJPJENKG 5050 bool is_under_general_restrict = 14;
} }

View File

@ -0,0 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message GetHeadIconDataRsp {
repeated uint32 special_head_icon_list = 7;
int32 retcode = 13;
}

View File

@ -2,9 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 29959 // 4.7.0
message GetParentQuestVideoKeyRsp { message GetParentQuestVideoKeyRsp {
uint64 video_key = 1; uint32 parent_quest_id = 1;
int32 retcode = 3; int32 retcode = 8;
uint32 parent_quest_id = 10; uint64 video_key = 15;
} }

View File

@ -0,0 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message GetPlayerHeadIconDataReq {
}

View File

@ -0,0 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "PlayerHeadIcon.proto";
// 4.7.0
message GetPlayerHeadIconDataRsp {
repeated PlayerHeadIcon head_icon_list = 4;
}

View File

@ -3,9 +3,8 @@ option java_package = "emu.grasscutter.net.proto";
import "SocialDetail.proto"; import "SocialDetail.proto";
// 4.6.0 // 4.7.0 ?
// CmdId: 323
message GetPlayerSocialDetailRsp { message GetPlayerSocialDetailRsp {
int32 retcode = 9; SocialDetail detail_data = 13;
SocialDetail detail_data = 13; int32 retcode = 6;
} }

View File

@ -0,0 +1,6 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message GetProfilePictureDataReq {
}

View File

@ -0,0 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message GetProfilePictureDataRsp {
repeated uint32 special_profile_picture_list = 7;
int32 retcode = 13;
}

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"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// CmdId: 24145
// Obf: NNLDEBNHEEF // 4.7.0
message GetQuestLackingResourceReq { message GetQuestLackingResourceReq {
uint32 quest_id = 5; uint32 quest_id = 3;
} }

View File

@ -4,9 +4,9 @@ option java_package = "emu.grasscutter.net.proto";
import "LackingResourceInfo.proto"; import "LackingResourceInfo.proto";
// CmdId: 3935 // 4.7.0
message GetQuestLackingResourceRsp { message GetQuestLackingResourceRsp {
uint32 quest_id = 4; LackingResourceInfo BCOAJLAHNNM = 4;
int32 retcode = 7; int32 retcode = 5;
LackingResourceInfo DMDCNMGJPAN = 8; uint32 quest_id = 15;
} }

View File

@ -3,11 +3,10 @@ option java_package = "emu.grasscutter.net.proto";
import "CityInfo.proto"; import "CityInfo.proto";
// 4.6.0 // 4.7.0
// CmdId: 24538
message GetSceneAreaRsp { message GetSceneAreaRsp {
repeated uint32 area_id_list = 1; repeated CityInfo city_info_list = 15;
repeated CityInfo city_info_list = 13; repeated uint32 area_id_list = 3;
uint32 scene_id = 14; uint32 scene_id = 5;
int32 retcode = 15; int32 retcode = 6;
} }

View File

@ -1,10 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 1207
message GetScenePointReq { message GetScenePointReq {
uint32 scene_id = 11; uint32 belong_uid = 10;
uint32 belong_uid = 5; uint32 scene_id = 1;
bool is_relogin = 10; bool is_relogin = 3;
} }

View File

@ -1,20 +1,19 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 831
message GetScenePointRsp { message GetScenePointRsp {
bool CPNKHEDGHHL = 1; repeated uint32 unhide_point_list = 10;
uint32 scene_id = 2; repeated uint32 unlocked_point_list = 14;
uint32 belong_uid = 3; repeated uint32 unlock_area_list = 6;
int32 retcode = 14; uint32 scene_id = 1;
repeated uint32 unhide_point_list = 4;//2 int32 retcode = 2;
repeated uint32 AKHAPPFGOGM = 5;//1 uint32 belong_uid = 9;
repeated uint32 HNFMMECDIGB = 6;//1 bool LEPDAGALLND = 7;
repeated uint32 HJIEJPPDLKO = 7;//1 repeated uint32 MLNFAFFPPOP = 3;
repeated uint32 DKKKDOJPNOK = 9;//1 repeated uint32 GLPBJFLCKCL = 4;
repeated uint32 unlocked_point_list = 10;//1 may be repeated uint32 FJNNNLIJJBL = 8;
repeated uint32 MDCKMMJDEHG = 12;//2 repeated uint32 NEAHFHGMEKK = 11;
repeated uint32 KIBAPLIMEHA = 13;//2 repeated uint32 DGFPDBCEBHH = 12;
repeated uint32 unlock_area_list = 15;//1 repeated uint32 CKNEJGMGCKL = 13;
} }

View File

@ -3,9 +3,8 @@ option java_package = "emu.grasscutter.net.proto";
import "Shop.proto"; import "Shop.proto";
// 4.6.0 // 4.7.0
// CmdId: 1428
message GetShopRsp { message GetShopRsp {
Shop shop = 10; Shop shop = 11;
int32 retcode = 15; int32 retcode = 14;
} }

View File

@ -0,0 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message HeadIconUpdateNotify {
repeated uint32 special_head_icon_list = 1;
}

View File

@ -4,12 +4,12 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
import "HitColliderType.proto"; import "HitColliderType.proto";
//obf: ILBCLHPLHKO // 4.7.0
message HitCollision { message HitCollision {
float IGBDAFGNEAH = 1; int32 hit_box_index = 1;
HitColliderType hit_collider_type = 3; float NAKEAILPMBJ = 5;
int32 hit_box_index = 4; Vector JBCEFHPEKFB = 7;
Vector hit_point = 8; Vector CGKAKMHHOOD = 9;
Vector hit_dir = 9; HitColliderType hit_collider_type = 13;
float PGLJPGHIPGO = 15; float COCGHGIACNL = 14;
} }

View File

@ -1,24 +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";
// CmdId: 22316
// Obf: APHEBEHHMEL // 4.7.0
message HomeAvatarTalkReq { message HomeAvatarTalkReq {
uint32 avatar_id = 7; uint32 talk_id = 4;
uint32 talk_id = 6; uint32 avatar_id = 15;
} }

View File

@ -1,9 +1,8 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 29741
message HostPlayerNotify { message HostPlayerNotify {
uint32 host_peer_id = 3; uint32 host_uid = 3;
uint32 host_uid = 5; uint32 host_peer_id = 10;
} }

View File

@ -4,9 +4,8 @@ option java_package = "emu.grasscutter.net.proto";
import "InferenceWordInfo.proto"; import "InferenceWordInfo.proto";
// Version: 4.6.0 // 4.7.0
// Obfs: CAOBNKCODIB
message InferencePageInfo { message InferencePageInfo {
repeated InferenceWordInfo unlock_word_list = 10; repeated InferenceWordInfo unlock_word_list = 11;
uint32 page_id = 12; uint32 page_id = 6;
} }

View File

@ -2,12 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0 // 4.7.0
// Obfs: IMHNIMEAFKE
message InferenceWordInfo { message InferenceWordInfo {
bool LHPCEHJMDNF = 3; uint32 word_id = 3;
uint32 unlock_by_word_id = 5; bool AAOCFCGKKHC = 7;
bool PFHIFFLGPKK = 10; bool DMBPILCCFNK = 10;
bool NLJGIIJPNJP = 11; uint32 unlock_by_word_id = 13;
uint32 word_id = 13; bool HJLIADLKJOP = 14;
} }

View File

@ -4,15 +4,14 @@ option java_package = "emu.grasscutter.net.proto";
import "ItemHint.proto"; import "ItemHint.proto";
import "Vector.proto"; import "Vector.proto";
// 4.6.0 // 4.7.0
// CmdId: 7983
message ItemAddHintNotify { message ItemAddHintNotify {
uint32 quest_id = 2; bool FMLDPGOOCPG = 1;
bool LANOGHMNMGK = 6; repeated ItemHint overflow_transformed_item_list = 2;
bool NGMABKAOMOA = 7; uint32 reason = 3;
repeated ItemHint overflow_transformed_item_list = 8; Vector position = 4;
Vector position = 9; uint32 quest_id = 8;
uint32 reason = 12; repeated ItemHint item_list = 10;
repeated ItemHint item_list = 14; bool BJFIEHFPADD = 12;
bool FBGIFDMHBNO = 15; bool DAKGABMHAHP = 14;
} }

View File

@ -3,15 +3,9 @@ option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto"; import "ItemParam.proto";
// 4.6.0 // 4.7.0
// CmdId: 204
message ItemGivingReq { message ItemGivingReq {
enum ItemGivingType { repeated ItemParam item_param_list = 5;
QUEST = 0; uint32 giving_id = 8;
GADGET = 1; map<uint64, uint32> item_guid_count_map = 14;
}
map<uint64, uint32> item_guid_count_map = 2;
uint32 giving_id = 6;
repeated ItemParam item_param_list = 14;
ItemGivingType item_giving_type = 1; // TODO 4.6.0
} }

View File

@ -1,10 +1,9 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 5880
message ItemGivingRsp { message ItemGivingRsp {
int32 retcode = 7; uint32 giving_group_id = 5;
uint32 giving_id = 9; uint32 giving_id = 14;
uint32 giving_group_id = 10; int32 retcode = 15;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
message ItemHint { message ItemHint {
uint32 count = 3; uint32 count = 1;
uint32 item_id = 4; uint64 guid = 3;
uint64 guid = 6; uint32 item_id = 7;
bool is_new = 14; bool is_new = 15;
} }

View File

@ -2,16 +2,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Version: 4.6.0 // 4.7.0
// Obfs: NNLDPKHOPAL
message LackingResourceInfo { message LackingResourceInfo {
repeated uint32 OMGCMCLLEAJ = 1; repeated uint32 PDFBJCPKGAD = 1;
map<uint32, uint32> FCDLFNOEGHM = 2; map<uint32, uint32> JHOJDJGELLK = 2;
repeated uint32 EELMHKHPHAE = 3; repeated uint32 GEPBOPLIEMB = 3;
map<uint32, uint32> AIPBIKFKCOJ = 4; map<uint32, uint32> KBEAGMAGFPD = 4;
repeated uint32 MCJIAMFJJHO = 5; repeated uint32 NGBJMLNHLBB = 5;
map<uint32, uint32> EKIOGCFMENA = 6; map<uint32, uint32> GJBFBFOCLJL = 6;
repeated uint32 EAPIHMKHAPD = 7; repeated uint32 IFLMBHBHLMC = 7;
repeated uint32 PPHMKELDLKI = 8; repeated uint32 PLGICBELJNB = 8;
repeated uint32 OBOABOBKDOE = 9; repeated uint32 FOIHNLFBPFI = 9;
} }

View File

@ -4,14 +4,13 @@ option java_package = "emu.grasscutter.net.proto";
import "ServerBuff.proto"; import "ServerBuff.proto";
import "PlayerDieType.proto"; import "PlayerDieType.proto";
// 4.6.0 // 4.7.0
// CmdId: 2096
message LifeStateChangeNotify { message LifeStateChangeNotify {
repeated ServerBuff server_buff_list = 1; uint32 life_state = 2;
uint32 move_reliable_seq = 2; uint32 source_entity_id = 4;
string attack_tag = 3; string attack_tag = 6;
uint32 entity_id = 5; repeated ServerBuff server_buff_list = 7;
uint32 life_state = 12; PlayerDieType die_type = 11;
uint32 source_entity_id = 13; uint32 entity_id = 14;
PlayerDieType die_type = 14; uint32 move_reliable_seq = 15;
} }

View File

@ -1,18 +1,18 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "MapMarkFromType.proto";
import "MapMarkPointType.proto";
import "Vector.proto"; import "Vector.proto";
import "MapMarkPointType.proto";
import "MapMarkFromType.proto";
// 4.6.0 // 4.7.0
message MapMarkPoint { message MapMarkPoint {
uint32 scene_id = 1; uint32 scene_id = 1;
string name = 2; string name = 2;
Vector pos = 3; Vector pos = 3;
MapMarkPointType point_type = 4; MapMarkPointType point_type = 4;
uint32 monster_id = 5; uint32 monster_id = 5;
MapMarkFromType from_type = 6; MapMarkFromType from_type = 6;
uint32 quest_id = 7; uint32 quest_id = 7;
uint32 PCINBMGKKDJ = 8; uint32 AAOGCHADHPL = 8;
} }

View File

@ -3,17 +3,15 @@ option java_package = "emu.grasscutter.net.proto";
import "MapMarkPoint.proto"; import "MapMarkPoint.proto";
// 4.6.0 //4.7.0
// CmdId: 1319
message MarkMapReq { message MarkMapReq {
enum Operation { enum Operation {
OPERATION_ADD = 0; OPERATION_ADD = 0;
OPERATION_MOD = 1; OPERATION_MOD = 1;
OPERATION_DEL = 2; OPERATION_DEL = 2;
OPERATION_GET = 3; OPERATION_GET = 3;
} }
MapMarkPoint mark = 8;
MapMarkPoint old = 1; MapMarkPoint old = 6;
MapMarkPoint mark = 11; Operation op = 14;
Operation op = 12;
} }

View File

@ -4,10 +4,8 @@ option java_package = "emu.grasscutter.net.proto";
import "MapMarkPoint.proto"; import "MapMarkPoint.proto";
// CmdId: 7548 // 4.7.0
// Version: 4.6.0
// Obfs: INDPOIIFOCC
message MarkMapRsp { message MarkMapRsp {
int32 retcode = 5; int32 retcode = 14;
repeated MapMarkPoint mark_list = 11; repeated MapMarkPoint mark_list = 13;
} }

View File

@ -1,24 +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";
// CmdId: 29611
// Obf: OJDOCOAMKPC // 4.7.0
message McoinExchangeHcoinReq { message McoinExchangeHcoinReq {
uint32 mcoin_cost = 13; uint32 hcoin = 2;
uint32 hcoin = 8; uint32 mcoin_cost = 12;
} }

View File

@ -1,25 +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: 21323
// Obf: OEBFOFIJHGC // 4.7.0
message McoinExchangeHcoinRsp { message McoinExchangeHcoinRsp {
uint32 hcoin = 11; uint32 hcoin = 11;
int32 retcode = 5; int32 retcode = 12;
uint32 mcoin_cost = 1; uint32 mcoin_cost = 15;
} }

View File

@ -1,25 +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: 20036
// Obf: BMANLPLANOJ // 4.7.0
message MonsterAlertChangeNotify { message MonsterAlertChangeNotify {
uint32 avatar_entity_id = 14; uint32 avatar_entity_id = 3;
uint32 is_alert = 1; uint32 is_alert = 15;
repeated uint32 monster_entity_list = 12; repeated uint32 monster_entity_list = 11;
} }

View File

@ -1,10 +1,10 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// 4.6.0 // 4.7.0
// CmdId: 24463
message NpcTalkReq { message NpcTalkReq {
uint32 entity_id = 2; uint32 talk_id = 1;
uint32 npc_entity_id = 12; uint32 npc_entity_id = 5;
uint32 talk_id = 15; uint32 entity_id = 8;
} }

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