first try sync

This commit is contained in:
Yuuki 2024-08-28 17:09:22 +08:00
parent fc5f9cde48
commit 17243dfc53
456 changed files with 4016 additions and 4049 deletions

View File

@ -1,13 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// 4.7.0
message AbilityIdentifier {
uint32 HDPFOJMGBJA = 5;
bool is_serverbuff_modifier = 6;
uint32 IPGHMJALPKC = 7;
int32 local_id = 10;
uint32 instanced_modifier_id = 14;
uint32 instanced_ability_id = 15;
}
message AbilityIdentifier {
uint32 NKIEALGKIJD = 2;
uint32 instanced_modifier_id = 5;
uint32 instanced_ability_id = 9;
uint32 AJAEPNGNILD = 13;
bool is_serverbuff_modifier = 14;
int32 local_id = 15;
}

View File

@ -1,81 +1,91 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_NONE = 0;
ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE = 1;
ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST = 2;
ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT = 3;
ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM = 4;
ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM = 5;
ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP = 6;
ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE = 7;
ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE = 8;
ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH = 9;
ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER = 10;
ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_SETATE = 11;
ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER = 12;
ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY = 13;
ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY = 14;
ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY = 15;
ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE = 16;
ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL = 17;
ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER = 18;
ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE = 19;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION = 20;
ABILITY_INVOKE_ARGUMENT_META_LOSE_HP = 21;
ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO = 22;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ARKHE_REACTION = 23;
ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY = 50;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE = 51;
ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT = 52;
ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON = 53;
ABILITY_INVOKE_ARGUMENT_ACTION_BLINK = 54;
ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET = 55;
ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER = 56;
ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL = 57;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE = 58;
ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG = 59;
ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE = 60;
ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE = 61;
ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE = 62;
ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA = 63;
ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT = 64;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET = 65;
ABILITY_INVOKE_ARGUMENT_ACTION_FIREWORK_EFFECT = 66;
ABILITY_INVOKE_ARGUMENT_ACTION_LEVEL_BANK_ADD_STUFF = 67;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND = 101;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE = 102;
ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA = 103;
ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD = 104;
ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD = 105;
ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD = 106;
ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR = 107;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER = 108;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION = 109;
ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE = 110;
ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC = 111;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT = 112;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO = 113;
ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER = 114;
ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT = 115;
ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL = 116;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT = 117;
ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN = 118;
ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
ABILITY_INVOKE_ARGUMENT_MIXIN_BREAKOUT = 122;
ABILITY_INVOKE_ARGUMENT_MIXIN_DAMAGE_LOAN = 123;
ABILITY_INVOKE_ARGUMENT_MIXIN_BROADCAST_GV = 124;
ABILITY_INVOKE_ARGUMENT_MIXIN_RECEIVE_GV = 125;
ABILITY_INVOKE_ARGUMENT_MIXIN_RAYCAST_SELECT_TARGET = 126;
ABILITY_INVOKE_ARGUMENT_MIXIN_ENERGY_CRYSTAL_TARGET = 127;
ABILITY_INVOKE_ARGUMENT_MIXIN_ROTATION_FOLLOW_CAMERA = 128;
ABILITY_INVOKE_ARGUMENT_MIXIN_BUOYANT_FORCE = 129;
ABILITY_INVOKE_ARGUMENT_MIXIN_FILMFEST_BALL_GAME = 130;
ABILITY_INVOKE_ARGUMENT_MIXIN_CHECK_SCAN_ENTITY = 131;
ABILITY_INVOKE_ARGUMENT_MIXIN_TIME_TRACK_PLAYER = 133;
}
ABILITY_INVOKE_ARGUMENT_NONE = 0;
ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE = 1;
ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST = 2;
ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT = 3;
ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM = 4;
ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM = 5;
ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP = 6;
ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE = 7;
ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE = 8;
ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH = 9;
ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER = 10;
ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_SETATE = 11;
ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER = 12;
ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY = 13;
ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY = 14;
ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY = 15;
ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE = 16;
ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL = 17;
ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER = 18;
ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE = 19;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION = 20;
ABILITY_INVOKE_ARGUMENT_META_LOSE_HP = 21;
ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO = 22;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ARKHE_REACTION = 23;
ABILITY_INVOKE_ARGUMENT_META_CHANGE_NYX_VALUE = 24;
ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY = 50;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE = 51;
ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT = 52;
ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON = 53;
ABILITY_INVOKE_ARGUMENT_ACTION_BLINK = 54;
ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET = 55;
ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER = 56;
ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL = 57;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE = 58;
ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG = 59;
ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE = 60;
ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE = 61;
ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE = 62;
ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA = 63;
ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT = 64;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET = 65;
ABILITY_INVOKE_ARGUMENT_ACTION_FIREWORK_EFFECT = 66;
ABILITY_INVOKE_ARGUMENT_ACTION_LEVEL_BANK_ADD_STUFF = 67;
ABILITY_INVOKE_ARGUMENT_ACTION_GET_MATERIAL_PARAM_FLOAT = 68;
ABILITY_INVOKE_ARGUMENT_ACTION_GET_MATERIAL_PARAM_VECTOR = 69;
ABILITY_INVOKE_ARGUMENT_ACTION_SPECTACLE_BUILD_RECREATE_GADGET = 70;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND = 101;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE = 102;
ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA = 103;
ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD = 104;
ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD = 105;
ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD = 106;
ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR = 107;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER = 108;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION = 109;
ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE = 110;
ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC = 111;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT = 112;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO = 113;
ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER = 114;
ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT = 115;
ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL = 116;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT = 117;
ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN = 118;
ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
ABILITY_INVOKE_ARGUMENT_MIXIN_BREAKOUT = 122;
ABILITY_INVOKE_ARGUMENT_MIXIN_DAMAGE_LOAN = 123;
ABILITY_INVOKE_ARGUMENT_MIXIN_BROADCAST_GV = 124;
ABILITY_INVOKE_ARGUMENT_MIXIN_RECEIVE_GV = 125;
ABILITY_INVOKE_ARGUMENT_MIXIN_RAYCAST_SELECT_TARGET = 126;
ABILITY_INVOKE_ARGUMENT_MIXIN_ENERGY_CRYSTAL_TARGET = 127;
ABILITY_INVOKE_ARGUMENT_MIXIN_ROTATION_FOLLOW_CAMERA = 128;
ABILITY_INVOKE_ARGUMENT_MIXIN_BUOYANT_FORCE = 129;
ABILITY_INVOKE_ARGUMENT_MIXIN_FILMFEST_BALL_GAME = 130;
ABILITY_INVOKE_ARGUMENT_MIXIN_CHECK_SCAN_ENTITY = 131;
ABILITY_INVOKE_ARGUMENT_MIXIN_TIME_TRACK_PLAYER = 133;
ABILITY_INVOKE_ARGUMENT_MIXIN_PART_FOLLOW = 134;
ABILITY_INVOKE_ARGUMENT_MIXIN_CHANGE_PHLOGISTON = 135;
ABILITY_INVOKE_ARGUMENT_MIXIN_HUMAN_DRAGON_COLLAB_PICK_PHLOGISTON_BALL = 136;
ABILITY_INVOKE_ARGUMENT_MIXIN_FREQUENCY_SHIELD_BAR = 137;
ABILITY_INVOKE_ARGUMENT_MIXIN_VEHICLE_STEER_BY_CAMERA = 141;
}

View File

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

View File

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

View File

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

View File

@ -1,12 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 259
import "Achievement.proto";
// 4.7.0
// CmdId: 7450
// CPJHPFLCICH
message AchievementAllDataNotify {
repeated uint32 reward_taken_goal_id_list = 12;
repeated Achievement achievement_list = 8;
}
message AchievementAllDataNotify {
repeated Achievement achievement_list = 8;
repeated uint32 reward_taken_goal_id_list = 15;
}

View File

@ -1,27 +1,42 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "ActivityWatcherInfo.proto";
import "ActivityPushTipsData.proto";
import "MusicGameActivityDetailInfo.proto";
// 4.7.0
// Obf: ?
message ActivityInfo {
uint32 schedule_id = 2; // OK
uint32 activity_id = 11; // OK
uint32 activity_type = 5; // SUS
uint32 begin_time = 12; // OK
uint32 end_time = 6; // OK
bool is_finished = 9; // OK
repeated ActivityWatcherInfo watcher_info_list = 1; // OK
map<uint32, uint32> activity_coin_map = 578; // sus or 800
repeated uint32 meet_cond_list = 4; // sus 4,13.676,2020
uint32 cur_score = 738; // OK
uint32 first_day_start_time = 1414; // sus
map<uint32, uint32> wish_gift_num_map = 800; // sus
repeated ActivityPushTipsData activity_push_tips_data_list = 1223; // OK
oneof detail {
MusicGameActivityDetailInfo music_game_info = 780; // ?
}
message ActivityInfo {
repeated uint32 meet_cond_list = 1; // 11
uint32 end_time = 4;
uint32 begin_time = 6;
bool is_finished = 7;
bool FALGLCJDKCL = 8;
repeated ActivityWatcherInfo watcher_info_list = 10;
repeated uint32 expire_cond_list = 11; // 1
uint32 schedule_id = 12;
bool ONCLIGBKLPF = 13;
uint32 activity_type = 14;
uint32 activity_id = 15;
uint32 cur_score = 63;
uint32 FFGHMFNFPNL = 253;
uint32 first_day_start_time = 373;
uint32 LKODGHFICBH = 426;
bool CDBIIEIPBFF = 509;
bool LCHFFKHPJIO = 678;
bool ILKPGDKEIEG = 739;
repeated uint32 taken_reward_list = 818;
uint64 CIDDJFNIMPJ = 892;
repeated ActivityPushTipsData activity_push_tips_data_list = 983;
uint32 MPPFCLCENAP = 1040;
repeated uint64 GONEPFEDMEL = 1246;
repeated uint32 NJCGNGLKPBJ = 1267;
bool ODMJHPBFIKO = 1408;
map<uint32, uint32> activity_coin_map = 1791;
//CFKJEDGPNAE OKBINABFBKP = 1839;
map<uint32, uint32> wish_gift_num_map = 1954;
oneof detail {
MusicGameActivityDetailInfo music_game_info = 1099;
}
}

View File

@ -1,9 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 29575
import "ActivityInfo.proto";
// 4.7.0
// CmdId: 20264
// Obf: EBMLNILFGGE
message ActivityInfoNotify {
ActivityInfo activity_info = 4;
}
message ActivityInfoNotify {
ActivityInfo activity_info = 6;
}

View File

@ -1,9 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "ActivityPushTipsState.proto";
// Obf: NGGPLOGCGMF
// 4.7.0
message ActivityPushTipsData {
uint32 activity_push_tips_id = 10;
ActivityPushTipsState state = 8;
}
message ActivityPushTipsData {
ActivityPushTipsState state = 3;
uint32 activity_push_tips_id = 7;
}

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: BJBGIBKCEEM
// 4.7.0
enum ActivityPushTipsState {
ACTIVITY_PUSH_TIPS_STATE_NONE = 0;
ACTIVITY_PUSH_TIPS_STATE_START = 1;
ACTIVITY_PUSH_TIPS_STATE_READ = 2;
}
// Version: 5.0
enum ActivityPushTipsState {
ACTIVITY_PUSH_TIPS_STATE_NONE = 0;
ACTIVITY_PUSH_TIPS_STATE_START = 1;
ACTIVITY_PUSH_TIPS_STATE_READ = 2;
}

View File

@ -1,11 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// Obf: EHFDEDADODA
message ActivityScheduleInfo {
bool is_open = 3;
uint32 begin_time = 13;
uint32 end_time = 6;
uint32 schedule_id = 5;
uint32 activity_id = 14;
}
// Version: 5.0
message ActivityScheduleInfo {
uint32 begin_time = 6;
uint32 activity_id = 7;
bool is_open = 9;
uint32 end_time = 13;
uint32 schedule_id = 14;
}

View File

@ -1,10 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 28401
import "ActivityScheduleInfo.proto";
// 4.7.0
// CmdId: 29397
// Obf: MGBFMLMPMCA
message ActivityScheduleInfoNotify {
repeated ActivityScheduleInfo activity_schedule_list = 2;
uint32 remain_fly_sea_lamp_num = 12;
}
message ActivityScheduleInfoNotify {
uint32 remain_fly_sea_lamp_num = 1;
repeated ActivityScheduleInfo activity_schedule_list = 12;
}

View File

@ -1,10 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// Obf: IGECABELLEF
message ActivityWatcherInfo {
uint32 total_progress = 9;
uint32 watcher_id = 12;
bool is_taken_reward = 6;
uint32 cur_progress = 3;
}
// Version: 5.0
message ActivityWatcherInfo {
uint32 total_progress = 7;
uint32 cur_progress = 8;
bool is_taken_reward = 9;
uint32 watcher_id = 11;
}

View File

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

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 22640
// 4.7.0
message AddQuestContentProgressRsp {
uint32 content_type = 7;
int32 retcode = 8;
}
message AddQuestContentProgressRsp {
uint32 content_type = 12;
int32 retcode = 15;
}

View File

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

View File

@ -1,16 +1,16 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// KNODJMAAMPD
message AnnounceData {
string center_system_text = 14; // we need this (2x13 wrong, 14x13 ok)
string count_down_text = 2;
string dungeon_confirm_text = 15;
uint32 end_time = 3;
uint32 count_down_frequency = 8; // ?
uint32 config_id = 7;
uint32 begin_time = 12;
bool is_center_system_last_5_every_minutes = 5;
uint32 center_system_frequency = 13; // ?
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
message AnnounceData {
uint32 end_time = 1;
uint32 count_down_frequency = 3;
string dungeon_confirm_text = 6;
string count_down_text = 7;
uint32 center_system_frequency = 8;
bool is_center_system_last5_every_minutes = 10;
string center_system_text = 12;
uint32 begin_time = 13;
uint32 config_id = 14;
}

View File

@ -1,10 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 5432
import "FriendBrief.proto";
// 4.7.0
// CmdId: 27545?,147
// Obf: GGACHDHALAE
message AskAddFriendNotify {
uint32 target_uid = 12;
FriendBrief target_friend_brief = 9;
}
message AskAddFriendNotify {
FriendBrief target_friend_brief = 5;
uint32 target_uid = 14;
}

View File

@ -1,8 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 4872
// Obf: BDGPNIDOEIB
message AskAddFriendReq {
uint32 target_uid = 11;
}
// Version: 5.0
// CmdId: 23646
message AskAddFriendReq {
uint32 target_uid = 10;
}

View File

@ -1,13 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// 4.7.0
message AttackHitEffectResult {
float ICKHFGPOHOB = 1;
float PJBNLHEDMKH = 2;
float HEMHBCPCDAP = 3;
uint32 AJFIGFGCMLO = 12;
float CEECMAJGHLC = 14;
uint32 MHOBBFJGOFL = 15;
}
message AttackHitEffectResult {
uint32 KIHHJKCGGCC = 3;
float HFHKMEOPFBI = 5;
uint32 ECBDDJLPPMK = 6;
float DADJPJBELMO = 8;
float HDJALIDKDPN = 10;
float CCLCOGCLHKO = 13;
}

View File

@ -1,30 +1,43 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "AbilityIdentifier.proto";
import "AttackHitEffectResult.proto";
import "Vector.proto";
import "AttackHitEffectResult.proto";
import "HitCollision.proto";
// 4.7.0
message AttackResult {
AbilityIdentifier ability_identifier = 12;
AttackHitEffectResult hit_eff_result = 3;
Vector resolved_dir = 10;
string anim_event_id = 1;
HitCollision hit_collision = 15;
int32 hit_retreat_angle_compat = 9;
uint32 attacker_id = 5;
uint32 defense_id = 6;
uint32 element_type = 11;
float damage = 8;
uint32 KLIGFACEFPN = 23;
float NMBBCBBEPDA = 54;
float DJAEOHKJLIM = 114;
uint32 OAPLECACBOM = 337;
uint32 FCKAKKLDCJL = 507;
uint32 HMKBBEKDPCG = 916;
float PHOMPNBJFAN = 1582;
uint32 NJAMJODILKJ = 2032;
}
message AttackResult {
uint32 attacker_id = 1;
float damage = 2;
int32 hit_retreat_angle_compat = 3;
uint32 defense_id = 5;
AbilityIdentifier ability_identifier = 6;
uint32 IICFMJEJOBO = 7;
bool is_crit = 8;
Vector resolved_dir = 9;
uint32 BAABHEHFAPH = 10;
uint32 element_type = 11;
AttackHitEffectResult hit_eff_result = 13;
string anim_event_id = 14;
HitCollision hit_collision = 15;
uint32 MPBEBAKODGF = 222;
uint32 EBLEIGGLHLG = 309;
float element_amplify_rate = 389; // 533
float element_durability_attenuation = 533; // 389
bool mute_element_hurt = 590;
uint32 MFLNDGPEJOE = 606;
float damage_shield = 779;
uint32 IFMINIBILFH = 823;
uint32 JKGEMBOBALF = 1349;
uint32 EKJHPCHCMLF = 1525;
uint32 POAFAPLMPEB = 1640;
bool use_gadget_damage_action = 1733;
uint32 ELIFILCNKFD = 1756;
float endure_delta = 1827;
uint32 FLPFBAFHGNN = 1842;
uint32 NMPEDJOPMMB = 1859;
bool is_resist_text = 1978;
uint32 GMNJEDPKNDE = 2023;
}

View File

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

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 28185
// 4.7.0
message AvatarChangeCostumeReq {
uint64 avatar_guid = 3;
uint32 costume_id = 7;
}
message AvatarChangeCostumeReq {
uint32 costume_id = 13;
uint64 avatar_guid = 10;
}

View File

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

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 23378
// CmdId: 23378
import "AvatarInfo.proto";
import "AvatarTeam.proto";

View File

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

View File

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

View File

@ -8,11 +8,11 @@ import "ServerBuff.proto";
message AvatarEnterSceneInfo {
uint32 weapon_entity_id = 3;
AbilitySyncStateInfo avatar_ability_info = 4;
AbilitySyncStateInfo weapon_ability_info = 4;
uint32 avatar_entity_id = 6;
uint64 weapon_guid = 7;
repeated ServerBuff server_buff_list = 8;
AbilitySyncStateInfo weapon_ability_info = 9;
AbilitySyncStateInfo avatar_ability_info = 9;
repeated uint32 buff_id_list = 10;
uint64 avatar_guid = 12;
}

View File

@ -1,16 +1,17 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 6767
import "SceneWeaponInfo.proto";
import "SceneReliquaryInfo.proto";
// 4.7.0
message AvatarEquipChangeNotify {
uint32 equip_type = 1;
SceneWeaponInfo weapon = 2;
uint32 item_id = 9;
uint64 avatar_guid = 13;
uint64 equip_guid = 14;
SceneReliquaryInfo reliquary = 15;
}
message AvatarEquipChangeNotify {
uint64 avatar_guid = 1;
SceneWeaponInfo weapon = 4;
uint64 equip_guid = 7;
uint32 equip_type = 10;
SceneReliquaryInfo reliquary = 11;
uint32 item_id = 12;
}

View File

@ -1,24 +1,11 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 22907
import "AvatarExpeditionInfo.proto";
// CmdId: 26803
// Obf: FCCLNDJAANA
message AvatarExpeditionDataNotify {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 4;
}
message AvatarExpeditionDataNotify {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 3;
}

View File

@ -1,27 +1,14 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "AvatarExpeditionState.proto";
// Obf: MBBNGLKDKFD
message AvatarExpeditionInfo {
AvatarExpeditionState state = 1;
uint32 exp_id = 2;
uint32 hour_time = 3;
uint32 start_time = 4;
float shorten_ratio = 5;
}
message AvatarExpeditionInfo {
AvatarExpeditionState state = 1;
uint32 exp_id = 2;
uint32 hour_time = 3;
uint32 start_time = 4;
float shorten_ratio = 5;
}

View File

@ -1,10 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 4274
import "AvatarFetterInfo.proto";
// 4.6.0
// CmdId: 28961
message AvatarFetterDataNotify {
map<uint64, AvatarFetterInfo> fetter_info_map = 10;
}
message AvatarFetterDataNotify {
map<uint64, AvatarFetterInfo> fetter_info_map = 12;
}

View File

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

View File

@ -1,9 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 25586
// KHNMMCJAOCB
message AvatarGainCostumeNotify {
uint32 costume_id = 1;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 25978
message AvatarGainCostumeNotify {
uint32 costume_id = 2;
}

View File

@ -1,9 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 2863
// DCIIMGJNLPA
message AvatarGainFlycloakNotify {
uint32 flycloak_id = 7;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 6824
message AvatarGainFlycloakNotify {
uint32 flycloak_id = 13;
}

View File

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

View File

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

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 22603
// CmdId: 22603
import "AvatarTeam.proto";

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 28759
// CmdId: 28759
import "AvatarTeam.proto";

View File

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

View File

@ -1,9 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message AvatarWearFlycloakRsp {
uint32 flycloak_id = 3;
int32 retcode = 5;
uint64 avatar_guid = 9;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 27660
message AvatarWearFlycloakRsp {
uint64 avatar_guid = 8;
uint32 flycloak_id = 9;
int32 retcode = 13;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 25964
// Obf: CLFDBEPFLAI
message BackMyWorldRsp {
int32 retcode = 9;
}
// Version: 5.0
// CmdId: 23771
message BackMyWorldRsp {
int32 retcode = 3;
}

View File

@ -1,15 +1,17 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 27624
import "BattlePassMission.proto";
import "BattlePassSchedule.proto";
import "BattlePassMission.proto";
// CmdId: 2963
// Version: 4.7.0
// Obfs: ?
message BattlePassAllDataNotify {
bool have_cur_schedule = 4;
repeated BattlePassMission mission_list = 10;
BattlePassSchedule cur_schedule = 1;
}
message BattlePassAllDataNotify {
bool have_cur_schedule = 1;
BattlePassSchedule cur_schedule = 3;
bool HNDKICJJANM = 8;
bool is_viewed = 9;
repeated BattlePassMission mission_list = 12;
uint32 default_reward_type = 13;
}

View File

@ -1,13 +1,15 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 1819
import "BattlePassSchedule.proto";
// CmdId: 23013
// Version: 4.7.0
// Obfs: ?
message BattlePassCurScheduleUpdateNotify {
bool have_cur_schedule = 3;
BattlePassSchedule cur_schedule = 12;
}
message BattlePassCurScheduleUpdateNotify {
uint32 default_reward_type = 2;
bool is_viewed = 3;
bool have_cur_schedule = 7;
bool HNDKICJJANM = 9;
BattlePassSchedule cur_schedule = 12;
}

View File

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

View File

@ -1,24 +1,20 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// Version: 4.7.0
// Obfs: ?
message BattlePassMission {
enum MissionStatus {
enum MissionStatus {
MISSION_STATUS_INVALID = 0;
MISSION_STATUS_UNFINISHED = 1;
MISSION_STATUS_FINISHED = 2;
MISSION_STATUS_POINT_TAKEN = 3;
}
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 mission_id = 14;
MissionStatus mission_status = 2; // OK
uint32 reward_battle_pass_point = 7;
MissionStatus mission_status = 9;
uint32 cur_progress = 10;
uint32 total_progress = 13;
uint32 mission_id = 14;
uint32 mission_type = 15;
}

View File

@ -1,12 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 3190
import "BattlePassMission.proto";
// CmdId: 21651
// Version: 4.7.0
// Obfs: JJFBBHHGGMD
message BattlePassMissionUpdateNotify {
repeated BattlePassMission mission_list = 5;
}
message BattlePassMissionUpdateNotify {
repeated BattlePassMission mission_list = 11;
}

View File

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

View File

@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
message BattlePassRewardPlanOption {
bool OCACCJODDDO = 4;
uint32 default_reward_type = 6;
uint32 IOIHAODNIKF = 14;
}

View File

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

View File

@ -1,26 +1,28 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "BattlePassCycle.proto";
import "BattlePassRewardTag.proto";
import "BattlePassRewardPlanOption.proto";
import "BattlePassProduct.proto";
import "BattlePassRewardTag.proto";
import "BattlePassUnlockStatus.proto";
// Version: 4.7.0
// Obfs: ?
message BattlePassSchedule {
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
}
message BattlePassSchedule {
BattlePassCycle cur_cycle = 1;
repeated BattlePassRewardPlanOption reward_plan_option_list = 2;
BattlePassProduct product_info = 3;
bool LOPPMEONNEG = 4;
repeated BattlePassRewardTag reward_taken_list = 5;
uint32 cur_cycle_points = 6;
uint32 begin_time = 7;
bool is_extra_paid_reward_taken = 8;
uint32 end_time = 9;
uint32 point = 10;
uint32 paid_platform_flags = 11;
uint32 schedule_id = 12;
bool is_viewed = 13;
BattlePassUnlockStatus unlock_status = 14;
uint32 level = 15;
}

View File

@ -1,11 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// Version: 4.6.0
// Obfs: LKNMHOGNENB
enum BattlePassUnlockStatus {
BATTLE_PASS_UNLOCK_STATUS_INVALID = 0;
BATTLE_PASS_UNLOCK_STATUS_INVALID = 0;
BATTLE_PASS_UNLOCK_STATUS_FREE = 1;
BATTLE_PASS_UNLOCK_STATUS_PAID = 2;
}

View File

@ -1,7 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: PJENMAMNPEI
message Birthday {
uint32 month = 1;
uint32 day = 2;
}
// Version: 5.0
message Birthday {
uint32 month = 1;
uint32 day = 2;
}

View File

@ -5,7 +5,7 @@ option java_package = "emu.grasscutter.net.proto";
message BlockInfo {
uint32 block_id = 1;
uint32 data_version = 2;
bytes bin_data = 3;
bool is_dirty = 4;
uint32 GFKFJJOADMH = 2;
bytes NEHMEMLKIPP = 3;
bool GLAFBCFFAEG = 4;
}

View File

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

View File

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

View File

@ -1,10 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// DILEFMOGENI
enum ChallengeFinishType {
CHALLENGE_FINISH_TYPE_NONE = 0;
CHALLENGE_FINISH_TYPE_FAIL = 1;
CHALLENGE_FINISH_TYPE_SUCC = 2;
CHALLENGE_FINISH_TYPE_PAUSE = 3;
}
// Version: 5.0
enum ChallengeFinishType {
ChallengeFinishType_NONE = 0;
ChallengeFinishType_FAIL = 1;
ChallengeFinishType_SUCC = 2;
ChallengeFinishType_PAUSE = 3;
}

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 3470
// CmdId: 3470
import "Vector.proto";

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 2046
// CmdId: 2046
message ChangeAvatarRsp {
int32 retcode = 3;

View File

@ -1,13 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum ChangeEnergyReason {
CHANGE_ENERGY_REASON_NONE = 0;
CHANGE_ENERGY_REASON_NONE = 0;
CHANGE_ENERGY_REASON_SKILL_START = 1;
CHANGE_ENERGY_REASON_BALL = 2;
CHANGE_ENERGY_REASON_QUEST = 3;
CHANGE_ENERGY_REASON_ABILITY = 4;
CHANGE_ENERGY_REASON_DIE = 5;
CHANGE_ENERGY_REASON_SKILL_DEPOT = 6;
}
}

View File

@ -1,11 +0,0 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
enum ChangeHpDebts {
CHANGE_HP_DEBTS_NONE = 0;
CHANGE_HP_DEBTS_PAY = 1;
CHANGE_HP_DEBTS_PAY_FINISH = 2;
CHANGE_HP_DEBTS_CLEAR = 21;
CHANGE_HP_DEBTS_REDUCE_ABILITY = 41;
CHANGE_HP_DEBTS_ADD_ABILITY = 51;
}

View File

@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum ChangeHpDebtsReason {
CHANGE_HP_DEBTS_NONE = 0;
CHANGE_HP_DEBTS_PAY = 1;
CHANGE_HP_DEBTS_PAY_FINISH = 2;
CHANGE_HP_DEBTS_CLEAR = 21;
CHANGE_HP_DEBTS_REDUCE_ABILITY = 41;
CHANGE_HP_DEBTS_ADD_ABILITY = 51;
}

View File

@ -1,41 +1,43 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
enum ChangeHpReason {
CHANGE_HP_REASON_NONE = 0;
CHANGE_HP_REASON_SUB_AVATAR = 1;
CHANGE_HP_REASON_SUB_MONSTER = 2;
CHANGE_HP_REASON_SUB_GEAR = 3;
CHANGE_HP_REASON_SUB_ENVIR = 4;
CHANGE_HP_REASON_SUB_FALL = 5;
CHANGE_HP_REASON_SUB_DRAWN = 6;
CHANGE_HP_REASON_SUB_ABYSS = 7;
CHANGE_HP_REASON_SUB_ABILITY = 8;
CHANGE_HP_REASON_SUB_SUMMON = 9;
CHANGE_HP_REASON_SUB_SCRIPT = 10;
CHANGE_HP_REASON_SUB_GM = 11;
CHANGE_HP_REASON_SUB_KILL_SELF = 12;
CHANGE_HP_REASON_SUB_CLIMATE_COLD = 13;
CHANGE_HP_REASON_SUB_STORM_LIGHTNING = 14;
CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET = 15;
CHANGE_HP_REASON_SUB_REPLACE = 16;
CHANGE_HP_REASON_SUB_PLAYER_LEAVE = 17;
CHANGE_HP_REASON_ATTACK_BY_ENERGY = 18;
CHANGE_HP_REASON_ATTACK_BY_RECYCLE = 19;
CHANGE_HP_REASON_SUB_PLAYER_BACK = 20;
CHANGE_HP_REASON_SUB_UGC = 21;
CHANGE_HP_REASON_SUB_DIRTY_WATER_EROSION = 22;
CHANGE_HP_REASON_SUB_DESTROY_SELF = 23;
CHANGE_HP_REASON_BY_LUA = 51;
CHANGE_HP_REASON_ADD_ABILITY = 101;
CHANGE_HP_REASON_ADD_ITEM = 102;
CHANGE_HP_REASON_ADD_REVIVE = 103;
CHANGE_HP_REASON_ADD_UPGRADE = 104;
CHANGE_HP_REASON_ADD_STATUE = 105;
CHANGE_HP_REASON_ADD_BACKGROUND = 106;
CHANGE_HP_REASON_ADD_GM = 107;
CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY = 108;
CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING = 109;
CHANGE_HP_REASON_ADD_EFFIGY_CHALLENGE_V5 = 110;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum ChangeHpReason {
CHANGE_HP_REASON_NONE = 0;
CHANGE_HP_REASON_SUB_AVATAR = 1;
CHANGE_HP_REASON_SUB_MONSTER = 2;
CHANGE_HP_REASON_SUB_GEAR = 3;
CHANGE_HP_REASON_SUB_ENVIR = 4;
CHANGE_HP_REASON_SUB_FALL = 5;
CHANGE_HP_REASON_SUB_DRAWN = 6;
CHANGE_HP_REASON_SUB_ABYSS = 7;
CHANGE_HP_REASON_SUB_ABILITY = 8;
CHANGE_HP_REASON_SUB_SUMMON = 9;
CHANGE_HP_REASON_SUB_SCRIPT = 10;
CHANGE_HP_REASON_SUB_GM = 11;
CHANGE_HP_REASON_SUB_KILL_SELF = 12;
CHANGE_HP_REASON_SUB_CLIMATE_COLD = 13;
CHANGE_HP_REASON_SUB_STORM_LIGHTNING = 14;
CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET = 15;
CHANGE_HP_REASON_SUB_REPLACE = 16;
CHANGE_HP_REASON_SUB_PLAYER_LEAVE = 17;
CHANGE_HP_REASON_ATTACK_BY_ENERGY = 18;
CHANGE_HP_REASON_ATTACK_BY_RECYCLE = 19;
CHANGE_HP_REASON_SUB_PLAYER_BACK = 20;
CHANGE_HP_REASON_SUB_UGC = 21;
CHANGE_HP_REASON_SUB_DIRTY_WATER_EROSION = 22;
CHANGE_HP_REASON_SUB_DESTROY_SELF = 23;
CHANGE_HP_REASON_SUB_LIQUID_PHLOGISTON = 24;
CHANGE_HP_REASON_BY_LUA = 51;
CHANGE_HP_REASON_ADD_ABILITY = 101;
CHANGE_HP_REASON_ADD_ITEM = 102;
CHANGE_HP_REASON_ADD_REVIVE = 103;
CHANGE_HP_REASON_ADD_UPGRADE = 104;
CHANGE_HP_REASON_ADD_STATUE = 105;
CHANGE_HP_REASON_ADD_BACKGROUND = 106;
CHANGE_HP_REASON_ADD_GM = 107;
CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY = 108;
CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING = 109;
CHANGE_HP_REASON_ADD_EFFIGY_CHALLENGE_V5 = 110;
}

View File

@ -1,11 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 29855
// CmdId: 22223
// Version: 4.7.0
// Obfs: ?
message ChangeMailStarNotify {
bool is_star = 11;
repeated uint32 mail_id_list = 4;
}
message ChangeMailStarNotify {
repeated uint32 mail_id_list = 14;
bool is_star = 9;
}

View File

@ -1,25 +1,11 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: IGBMFOLFJLJ
enum ChapterState {
CHAPTER_STATE_INVALID = 0;
CHAPTER_STATE_UNABLE_TO_BEGIN = 1;
CHAPTER_STATE_BEGIN = 2;
CHAPTER_STATE_END = 3;
}
// Version: 5.0
enum ChapterState {
CHAPTER_STATE_INVALID = 0;
CHAPTER_STATE_UNABLE_TO_BEGIN = 1;
CHAPTER_STATE_BEGIN = 2;
CHAPTER_STATE_END = 3;
}

View File

@ -1,39 +1,16 @@
// 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";
// Version: 5.0
// CmdId: 25075
import "ChapterState.proto";
// CmdId: 21508
// Obf: MCCCGABFHBK
message ChapterStateNotify {
// Obf: MOEEEKPMIAO
message NeedPlayerLevel {
bool is_limit = 1;
uint32 configNeedPlayerLevel = 11;
}
// Obf: GEFDHMJCBLD
message NeedBeginTime {
uint32 configNeedBeginTime = 5;
bool is_limit = 1;
}
NeedBeginTime need_begin_time = 10;
NeedPlayerLevel need_player_level = 3;
ChapterState chapter_state = 7;
uint32 chapter_id = 4;
}
import "NeedPlayerLevel.proto";
import "NeedBeginTime.proto";
message ChapterStateNotify {
uint32 chapter_id = 1;
ChapterState chapter_state = 2;
NeedPlayerLevel need_player_level = 8;
NeedBeginTime need_begin_time = 11;
}

View File

@ -1,24 +1,26 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
message ChatInfo {
message SystemHint {
uint32 type = 7;
}
enum SystemHintType {
enum SystemHintType {
SYSTEM_HINT_TYPE_CHAT_NONE = 0;
SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD = 1;
SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD = 2;
}
uint32 time = 9;
uint32 to_uid = 8;
bool is_read = 12;
uint32 uid = 5;
uint32 sequence = 4;
oneof content {
string text = 1751;
uint32 icon = 1792;
SystemHint system_hint = 370;
}
}
message SystemHint {
uint32 type = 7;
}
bool is_read = 4;
uint32 time = 8;
uint32 to_uid = 5;
uint32 sequence = 7;
uint32 uid = 10;
oneof content {
uint32 icon = 21;
string text = 357;
SystemHint system_hint = 922;
}
}

View File

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

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
message CityInfo {
uint32 level = 2;
uint32 city_id = 3;
uint32 crystal_num = 15;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
message CityInfo {
uint32 crystal_num = 2;
uint32 city_id = 12;
uint32 level = 15;
}

View File

@ -1,11 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 27339
import "AbilityInvokeEntry.proto";
// 4.7.0 ??
message ClientAbilityChangeNotify {
bool is_init_hash = 5;
repeated AbilityInvokeEntry invokes = 6;
uint32 entity_id = 12;
}
message ClientAbilityChangeNotify {
uint32 entity_id = 1;
repeated AbilityInvokeEntry invokes = 3;
bool is_init_hash = 4;
}

View File

@ -1,10 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 28413
import "AbilityInvokeEntry.proto";
// 4.7.0
// CmdId: 4679
// ?
message ClientAbilityInitFinishNotify {
repeated AbilityInvokeEntry invokes = 11;
uint32 entity_id = 14;
}
message ClientAbilityInitFinishNotify {
uint32 entity_id = 4;
repeated AbilityInvokeEntry invokes = 6;
}

View File

@ -1,14 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 27330
import "CodexType.proto";
// CmdId: 26679
// Version: 4.7.0
// Obfs: BPLMKLJIGAL
message CodexDataUpdateNotify {
uint32 weapon_max_promote_level = 14;
uint32 id = 9;
CodexType type = 4;
}
message CodexDataUpdateNotify {
uint32 id = 1;
CodexType type = 2;
uint32 weapon_max_promote_level = 14;
}

View File

@ -1,15 +1,16 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
enum CodexType {
CODEX_NONE = 0;
CODEX_QUEST = 1;
CODEX_WEAPON = 2;
CODEX_ANIMAL = 3;
CODEX_MATERIAL = 4;
CODEX_BOOKS = 5;
CODEX_PUSHTIPS = 6;
CODEX_VIEW = 7;
CODEX_RELIQUARY = 8;
}
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum CodexType {
CODEX_NONE = 0;
CODEX_QUEST = 1;
CODEX_WEAPON = 2;
CODEX_ANIMAL = 3;
CODEX_MATERIAL = 4;
CODEX_BOOKS = 5;
CODEX_PUSHTIPS = 6;
CODEX_VIEW = 7;
CODEX_RELIQUARY = 8;
}

View File

@ -1,9 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 5253
import "CombatInvokeEntry.proto";
// 4.7.0
message CombatInvocationsNotify {
repeated CombatInvokeEntry invoke_list = 14;
}
message CombatInvocationsNotify {
repeated CombatInvokeEntry invoke_list = 1;
}

View File

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

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
enum CombatTypeArgument {
COMBAT_TYPE_ARGUMENT_NONE = 0;
COMBAT_TYPE_ARGUMENT_NONE = 0;
COMBAT_TYPE_ARGUMENT_EVT_BEING_HIT = 1;
COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED = 2;
COMBAT_TYPE_ARGUMENT_FACE_TO_DIR = 3;
@ -26,4 +27,4 @@ enum CombatTypeArgument {
COMBAT_TYPE_ARGUMENT_FIXED_AVATAR_FLASH_MOVE = 20;
COMBAT_TYPE_ARGUMENT_MULTI_OVERRIDE_ANIM = 21;
COMBAT_TYPE_ARGUMENT_DEBUG_SYNC_MOTION = 22;
}
}

View File

@ -1,12 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 9915
import "Vector.proto";
// 4.7.0
// CmdId: 26744
// Obf: LMCAJLPNBAC
message CreateVehicleReq {
uint32 scene_point_id = 8;
Vector pos = 3;
uint32 vehicle_id = 1;
Vector rot = 11;
}
message CreateVehicleReq {
Vector rot = 11;
Vector pos = 15;
uint32 vehicle_id = 7;
uint32 scene_point_id = 13;
}

View File

@ -1,10 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// CmdId: 4740
// Obf: NKPJDHIBIEA
message CreateVehicleRsp {
uint32 vehicle_id = 5;
uint32 entity_id = 2;
int32 retcode = 3;
}
// Version: 5.0
// CmdId: 22592
message CreateVehicleRsp {
uint32 entity_id = 1;
int32 retcode = 8;
uint32 vehicle_id = 13;
}

View File

@ -9,7 +9,7 @@ message CurVehicleInfo {
uint32 entity_id = 1;
uint32 pos = 2;
uint32 gadget_id = 3;
Vector BNDOCLLEBEA = 4;
Vector vehicle_pos = 4;
uint32 GIICKAOFKDB = 5;
Vector BELIOKMDLGB = 6;
Vector vehicle_rot = 6;
}

View File

@ -1,11 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// Version: 4.6.0
enum CustomDungeonFinishType {
CUSTOM_DUNGEON_FINISH_PLAY_NORMAL = 0;
CUSTOM_DUNGEON_FINISH_PLAY_TRY = 1;
CUSTOM_DUNGEON_FINISH_EDIT_TRY = 2;
CUSTOM_DUNGEON_FINISH_SELF_PLAY_NORMAL = 3;
}
enum CustomDungeonFinishType {
CUSTOM_DUNGEON_FINISH_PLAY_NORMAL = 0;
CUSTOM_DUNGEON_FINISH_PLAY_TRY = 1;
CUSTOM_DUNGEON_FINISH_EDIT_TRY = 2;
CUSTOM_DUNGEON_FINISH_SELF_PLAY_NORMAL = 3;
}

View File

@ -1,18 +1,18 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "CustomDungeonFinishType.proto";
import "ChallengeBrief.proto";
import "CustomDungeonFinishType.proto";
// Version: 4.6.0
message CustomDungeonResultInfo {
CustomDungeonFinishType finish_type = 1;
bool AOFLEOKAPPE = 4;
uint32 get_coin_num = 5;
repeated ChallengeBrief child_challenge_list = 6;
uint32 time_cost = 8;
uint64 dungeon_guid = 11;
bool JLPAPANBLCE = 12;
bool PGEHHNIADBK = 14;
}
message CustomDungeonResultInfo {
repeated ChallengeBrief child_challenge_list = 2;
uint32 got_coin_num = 3;
bool FOLIKAAIKIE = 5;
bool GBLHFAEONKM = 6;
CustomDungeonFinishType finish_type = 10;
uint32 time_cost = 11;
bool LHNFIIEJBEM = 14;
uint64 dungeon_guid = 15;
}

View File

@ -1,10 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 455
import "CutSceneExtraParam.proto";
// 4.7.0
// CmdId: 305
message CutSceneBeginNotify {
uint32 cutscene_id = 5;
bool is_wait_others = 3;
repeated CutSceneExtraParam extra_param_list = 15;
}
message CutSceneBeginNotify {
uint32 cutscene_id = 2;
bool is_wait_others = 7;
repeated CutSceneExtraParam extra_param_list = 14;
}

View File

@ -1,7 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.7.0
// ?
message CutSceneExtraParam {
repeated double detail_param_list = 1;
}
// Version: 5.0
message CutSceneExtraParam {
repeated double detail_param_list = 10;
}

View File

@ -1,13 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "DungeonEntryInfo.proto";
// Version: 4.7.0
// Obfs: ?
message DailyDungeonEntryInfo {
DungeonEntryInfo recommend_dungeon_entry_info = 7;
uint32 recommend_dungeon_id = 13;
uint32 dungeon_entry_id = 9;
uint32 dungeon_entry_config_id = 5;
bool is_point_unlocked = 14;
bool is_quick_open = 1;
}
// Version: 5.0
message DailyDungeonEntryInfo {
uint32 dungeon_entry_config_id = 9;
uint32 dungeon_entry_id = 11;
uint32 recommend_dungeon_id = 14;
fixed32 next_refresh_time = 15;
}

View File

@ -1,9 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 21886
import "DealAddFriendResultType.proto";
// CmdId: 1458
// Obf: MDIDNIHDCCK
message DealAddFriendReq {
DealAddFriendResultType deal_add_friend_result = 1;
uint32 target_uid = 7;
}
message DealAddFriendReq {
DealAddFriendResultType deal_add_friend_result = 10;
uint32 target_uid = 5;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: AIMELHBOBLC
// Version: 5.0
enum DealAddFriendResultType {
DEAL_ADD_FRIEND_RESULT_TYPE_REJECT = 0;
DEAL_ADD_FRIEND_RESULT_TYPE_REJECT = 0;
DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT = 1;
}

View File

@ -1,10 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 29289
import "DealAddFriendResultType.proto";
// CmdId: 29333
// Obf: BPBCKIEJHOO
message DealAddFriendRsp {
int32 retcode = 3;
uint32 target_uid = 8;
DealAddFriendResultType deal_add_friend_result = 4;
}
message DealAddFriendRsp {
int32 retcode = 2;
uint32 target_uid = 10;
DealAddFriendResultType deal_add_friend_result = 12;
}

View File

@ -1,11 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 8496
// CmdId: 3779
// Version: 4.6.0
// Obfs: MLNPMOILLJI
message DelMailReq {
repeated uint32 mail_id_list = 13;
}
message DelMailReq {
repeated uint32 mail_id_list = 5;
}

View File

@ -1,11 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 26121
// CmdId: 29251
// Version: 4.6.0
// Obfs: KEFLFPLHJOB
message DelMailRsp {
int32 retcode = 1;
repeated uint32 mail_id_list = 14;
}
message DelMailRsp {
repeated uint32 mail_id_list = 14;
int32 retcode = 15;
}

View File

@ -1,14 +1,15 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "AbilityString.proto";
// 4.7.0
message DetailAbilityInfo {
AbilityString parent_ability_name = 1;
uint32 instanced_ability_id = 2;
uint32 instanced_modifier_id = 4;
int32 modifier_local_id = 5;
int32 local_id = 10;
uint32 caster_id = 14;
}
message DetailAbilityInfo {
uint32 instanced_ability_id = 1;
uint32 caster_id = 3;
int32 modifier_local_id = 6;
int32 local_id = 8;
AbilityString parent_ability_name = 10;
uint32 instanced_modifier_id = 12;
}

View File

@ -1,9 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "DetailAbilityInfo.proto";
// 4.7.0
message DetailInfo {
optional DetailAbilityInfo detail_ability_info = 15;
oneof CLBBKMNHFIO {
DetailAbilityInfo detail_ability_info = 1;
}
}

View File

@ -1,11 +1,13 @@
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;
uint32 gacha_random = 8;
uint32 gacha_type = 13;
uint32 gacha_times = 15;
}
// Version: 5.0
// CmdId: 22082
message DoGachaReq {
string gacha_tag = 13;
uint32 gacha_schedule_id = 1;
uint32 gacha_type = 6;
uint32 gacha_random = 14;
uint32 gacha_times = 10;
}

View File

@ -1,26 +1,31 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 20937
import "GachaItem.proto";
// 4.7.0
// CmdId: 27578
message DoGachaRsp {
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;
}
message DoGachaRsp {
uint32 wish_item_id = 1;
int32 retcode = 2;
uint32 gacha_schedule_id = 3;
uint32 ten_cost_item_num = 4;
uint32 cost_item_id = 5;
uint32 left_gacha_times = 6;
uint32 gacha_times_limit = 7;
uint32 ten_cost_item_id = 8;
uint32 gacha_sort_id = 9;
repeated GachaItem gacha_item_list = 10;
uint32 gacha_times = 11;
uint32 cost_item_num = 12;
uint32 wish_progress = 13;
uint32 gacha_type = 14;
uint32 wish_max_progress = 15;
uint32 new_gacha_random = 16; // custom field
uint32 cur_schedule_daily_gacha_times = 378;
bool DBNKDMFDCNG = 380;
bool is_under_minors_restrict = 1019;
uint32 daily_gacha_times = 1528;
bool is_under_general_restrict = 1604;
}

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdID: 5351
// CmdId: 5351
message DoSetPlayerBornDataNotify {
}

View File

@ -1,15 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 28604
// Version: 4.7.0
// CmdId: 4649
// FKHMPDHCAIK
message DungeonChallengeBeginNotify {
uint32 challenge_id = 2;
repeated uint32 param_list = 8;
uint32 group_id = 11;
uint32 father_index = 6;
uint32 challenge_index = 13;
repeated uint32 uid_list = 9;
}
message DungeonChallengeBeginNotify {
repeated uint32 param_list = 3;
uint32 challenge_index = 5;
uint32 father_index = 7;
repeated uint32 uid_list = 8;
uint32 challenge_id = 9;
uint32 group_id = 10;
}

View File

@ -1,25 +1,29 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 753
import "StrengthenPointData.proto";
import "ChallengeFinishType.proto";
//import "ChannellerSlabLoopDungeonResultInfo.proto";
import "CustomDungeonResultInfo.proto";
import "PotionDungeonResultInfo.proto";
import "StrengthenPointData.proto";
// Version: 4.7.0
// CmdId: 25587
// CEPEBFLLCLB
//import "EffigyChallengeDungeonResultInfo.proto";
message DungeonChallengeFinishNotify {
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 {
PotionDungeonResultInfo potion_dungeon_result_info = 1784;
CustomDungeonResultInfo custom_dungeon_result_info = 1317;
}
uint32 challenge_index = 2;
map<uint32, StrengthenPointData> strengthen_point_data_map = 4;
bool is_success = 5;
uint32 current_value = 6;
uint32 time_cost = 8;
uint32 challenge_record_type = 10;
bool is_new_record = 13;
ChallengeFinishType finish_type = 14;
oneof detail {
//ChannellerSlabLoopDungeonResultInfo channeller_slab_loop_dungeon_result_info = 179;
CustomDungeonResultInfo custom_dungeon_result_info = 207;
PotionDungeonResultInfo potion_dungeon_result_info = 354; // proto
//EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1137;
}
}

View File

@ -1,10 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 4398
import "PlayerDieOption.proto";
// 4.7.0
//cmdid: 22244
// BJIEMNHCLPK
message DungeonDieOptionReq {
PlayerDieOption die_option = 2;
bool is_quit_immediately = 3;
}
message DungeonDieOptionReq {
bool is_quit_immediately = 5;
PlayerDieOption die_option = 2;
}

View File

@ -1,10 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// Version: 4.7.0
// Obfs: ?
message DungeonEnterPosInfo {
uint32 point_id = 8;
uint32 quest_id = 9;
}
message DungeonEnterPosInfo {
uint32 quest_id = 8;
uint32 point_id = 12;
}

View File

@ -1,15 +1,15 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
import "WeeklyBossResinDiscountInfo.proto";
// 4.7.0 ?
message DungeonEntryInfo {
bool is_passed = 2;
uint32 dungeon_id = 4;
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 7;
uint32 next_refresh_time = 10;
uint32 max_boss_chest_num = 12;
uint32 left_times = 14;
}
message DungeonEntryInfo {
bool is_passed = 1;
uint32 dungeon_id = 3;
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 6;
uint32 boss_chest_num = 9;
uint32 next_refresh_time = 14;
uint32 max_boss_chest_num = 15;
}

View File

@ -1,12 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Version: 5.0
// CmdId: 6446
import "Uint32Pair.proto";
// 4.7.0
message DungeonEntryInfoReq {
uint32 point_id = 3;
repeated Uint32Pair scene_point_id_list = 12;
uint32 scene_id = 14;
}
message DungeonEntryInfoReq {
repeated Uint32Pair scene_point_id_list = 5;
uint32 scene_id = 10;
uint32 point_id = 4;
}

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