Files
2026-10-28 18:54:43 +07:00

389 lines
11 KiB
Protocol Buffer

// Additional game protocol schemas missing from the repository base file.
// Extracted from the user-supplied Ungrouped.proto; that file has no revision marker.
// CmdID routing is intentionally not inferred from this schema-only source.
syntax = "proto3";
option go_package = "gac-hkrpg-go/protocol/proto";
import "protocol/proto/StarRail.proto";
// This shared key/value structure was imported as Common.proto in the supplied bundle.
// It is included here because that dependency was not included.
message KVP {
uint32 value = 3; // offset: 28
uint32 key = 9; // offset: 24
}
enum GGLMGBPOCOP {
GGLMGBPOCOP_BMKFIMEJPOM = 0;
GGLMGBPOCOP_MLOGJAKGHHD = 1;
GGLMGBPOCOP_ILMKHLENPNI = 2;
}
message B51RacingAgendaInfo {
uint32 day = 2; // offset: 40
B51RacingMatchInfo match = 6; // offset: 32
B51RacingDevelopmentInfo development = 11; // offset: 24
}
message B51RacingCarDisplay {
repeated uint32 equipped_part_id_list = 3; // offset: 16
uint32 car_id = 4; // offset: 32
uint32 car_num = 6; // offset: 36
uint32 paint_id = 12; // offset: 40
}
message B51RacingCarLivery {
uint32 car_num = 1; // offset: 28
uint32 paint_id = 3; // offset: 24
}
message B51RacingCarLiveryCsReq {
B51RacingCarLivery livery = 9; // offset: 16
}
message B51RacingCarLiveryScRsp {
B51RacingCarLivery livery = 5; // offset: 16
uint32 retcode = 10; // offset: 32
}
message B51RacingChallengeCarData {
uint32 cycle_id = 10; // offset: 40
repeated uint32 equipped_part_id_list = 13; // offset: 24
B51RacingCarLivery livery = 15; // offset: 16
}
message B51RacingChallengeData {
uint32 driver_id = 1; // offset: 40
repeated KVP team_point_list = 13; // offset: 24
B51RacingChallengeCarData car = 14; // offset: 16
}
message B51RacingChallengeEndMatchCsReq {
uint32 match_id = 1; // offset: 44
B51RacingMatchStats stats = 2; // offset: 16
uint32 rank = 7; // offset: 36
uint32 random_seed = 9; // offset: 32
HPICFNLLMCO result_type = 11; // offset: 52
uint32 finish_time_ms = 13; // offset: 48
uint32 track_id = 14; // offset: 40
}
message B51RacingChallengeEndMatchScRsp {
uint32 match_id = 7; // offset: 32
uint32 track_id = 10; // offset: 24
uint32 retcode = 11; // offset: 36
uint32 score = 13; // offset: 28
}
message B51RacingChallengeStartMatchCsReq {
uint32 track_id = 4; // offset: 32
uint32 match_id = 9; // offset: 24
uint32 driver_id = 12; // offset: 28
}
message B51RacingChallengeStartMatchScRsp {
uint32 random_seed = 3; // offset: 28
uint32 driver_id = 11; // offset: 24
uint32 retcode = 12; // offset: 32
}
message B51RacingChallengeUpdateCarCsReq {
repeated uint32 equipped_part_id_list = 3; // offset: 32
uint32 cycle_id = 11; // offset: 40
B51RacingCarLivery livery = 12; // offset: 24
}
message B51RacingChallengeUpdateCarScRsp {
uint32 retcode = 5; // offset: 32
B51RacingChallengeCarData car = 15; // offset: 24
}
message B51RacingCycleData {
uint32 car_id = 2; // offset: 76
uint32 finished_match_num = 3; // offset: 64
B51RacingPartInfo part_info = 4; // offset: 16
B51RacingStatInfo stat_info = 6; // offset: 32
B51RacingAgendaInfo agenda = 7; // offset: 48
B51RacingCarLivery livery = 10; // offset: 56
uint32 driver_id = 11; // offset: 68
uint32 cycle_id = 12; // offset: 72
repeated B51RacingPreMatchTrackInfo pre_match_track_info_list = 13; // offset: 40
}
message B51RacingDevelopmentInfo {
repeated uint32 active_part_id_list = 4; // offset: 24
repeated uint32 active_action_id_list = 6; // offset: 32
uint32 finished_action_num = 10; // offset: 40
}
message B51RacingDriverUnlockScNotify {
repeated uint32 driver_id_list = 10; // offset: 24
}
message B51RacingEndMatchCsReq {
B51RacingMatchStats stats = 2; // offset: 24
uint32 random_seed = 7; // offset: 48
HPICFNLLMCO result_type = 8; // offset: 32
uint32 track_id = 10; // offset: 40
uint32 finish_time_ms = 11; // offset: 36
uint32 rank = 15; // offset: 44
}
message B51RacingEndMatchScRsp {
uint32 finished_match_num = 3; // offset: 36
B51RacingAgendaInfo agenda = 5; // offset: 24
uint32 retcode = 8; // offset: 32
uint32 added_team_point = 10; // offset: 40
bool is_cycle_finished = 12; // offset: 44
}
message B51RacingMatchInfo {
uint32 match_id = 2; // offset: 32
uint32 random_seed = 4; // offset: 28
uint32 track_id = 6; // offset: 24
uint64 start_time_ms = 14; // offset: 40
}
message B51RacingMatchStats {
uint32 charge_count = 2; // offset: 44
uint32 lap_time_ms = 6; // offset: 36
uint32 overtake_count = 7; // offset: 24
uint32 collision_count = 9; // offset: 32
uint32 drift_time_ms = 10; // offset: 48
uint32 max_speed = 11; // offset: 52
bool is_perfect = 12; // offset: 40
uint32 boost_count = 14; // offset: 28
}
message B51RacingMissionChangeAgendaScNotify {
B51RacingAgendaInfo agenda = 2; // offset: 16
repeated uint32 unlocked_driver_id_list = 6; // offset: 32
}
message B51RacingPartInfo {
repeated uint32 equipped_part_id_list = 7; // offset: 24
uint32 equipped_decal_id = 9; // offset: 40
repeated uint32 developed_part_id_list = 15; // offset: 32
}
message B51RacingPreMatchTrackInfo {
uint32 match_id = 3; // offset: 28
uint32 track_id = 4; // offset: 24
uint32 day = 10; // offset: 32
}
message B51RacingReplacePartScRsp {
B51RacingPartInfo part_info = 11; // offset: 16
uint32 retcode = 12; // offset: 32
}
message B51RacingSelectDevelopActionCsReq {
uint32 action_id = 3; // offset: 24
}
message B51RacingSelectDevelopActionScRsp {
uint32 remaining_action_count = 1; // offset: 48
bool is_development_finished = 2; // offset: 56
B51RacingStatInfo stat_info = 4; // offset: 24
uint32 retcode = 6; // offset: 52
B51RacingAgendaInfo agenda = 10; // offset: 32
B51RacingPartInfo part_info = 15; // offset: 40
}
message B51RacingSelectDevelopPartCsReq {
uint32 part_id = 14; // offset: 24
}
message B51RacingSelectDevelopPartScRsp {
uint32 remaining_select_count = 4; // offset: 52
B51RacingPartInfo part_info = 5; // offset: 24
B51RacingAgendaInfo agenda = 7; // offset: 32
uint32 retcode = 11; // offset: 48
B51RacingStatInfo stat_info = 15; // offset: 40
}
message B51RacingSetDriverCsReq {
uint32 driver_id = 9; // offset: 24
}
message B51RacingSetDriverScRsp {
uint32 retcode = 3; // offset: 24
uint32 driver_id = 14; // offset: 28
}
message B51RacingStartCycleCsReq {
uint32 car_id = 9; // offset: 36
uint32 cycle_id = 11; // offset: 32
B51RacingCarLivery livery = 15; // offset: 24
}
message B51RacingStartCycleScRsp {
B51RacingCycleData cycle = 2; // offset: 16
uint32 retcode = 9; // offset: 32
}
message B51RacingStartMatchCsReq {
uint32 match_id = 13; // offset: 24
uint32 track_id = 15; // offset: 28
}
message B51RacingStartMatchScRsp {
B51RacingMatchInfo match = 9; // offset: 16
uint32 retcode = 11; // offset: 32
}
message B51RacingStatInfo {
repeated KVP stat_value_list = 6; // offset: 24
repeated KVP target_stat_tier_list = 13; // offset: 32
}
message BlindBoxResetPoolPositionCsReq {
uint32 pool_id = 12; // offset: 24
}
message BlindBoxResetPoolPositionScRsp {
uint32 retcode = 1; // offset: 24
uint32 pool_id = 7; // offset: 28
}
message CHNMJPLALEC {
uint32 retcode = 3; // offset: 24
uint64 MJNENEAAOAE = 5; // offset: 32
}
message ExpeditionBattleAvatarDamage {
uint32 avatar_id = 11; // offset: 24
uint64 damage = 14; // offset: 32
}
message ExpeditionBattleAvatarInfo {
AvatarType avatar_type = 9; // offset: 28
uint32 avatar_id = 12; // offset: 24
}
message ExpeditionBattleEndScNotify {
ExpeditionBattleMapData map_data = 7; // offset: 16
bool is_new_record = 12; // offset: 32
}
message ExpeditionBattleFunRecord {
uint32 fun_id = 2; // offset: 24
uint32 avatar_id = 7; // offset: 28
uint64 fun_count = 9; // offset: 32
}
message ExpeditionBattleLevelRecord {
uint32 level_id = 2; // offset: 40
repeated ExpeditionBattleAvatarDamage avatar_damage_list = 7; // offset: 16
repeated uint32 dead_avatar_id_list = 8; // offset: 24
}
message ExpeditionBattleLineup {
repeated ExpeditionBattleAvatarInfo avatar_list = 1; // offset: 24
uint32 route_id = 9; // offset: 32
}
message ExpeditionBattleMapData {
uint32 remaining_challenge_count = 3; // offset: 36
uint32 map_id = 11; // offset: 32
repeated ExpeditionBattleRouteRecord route_record_list = 15; // offset: 16
}
message ExpeditionBattleRouteRecord {
uint32 passed_level = 1; // offset: 72
uint32 battle_round_count = 3; // offset: 60
bool is_new_record = 4; // offset: 56
repeated ExpeditionBattleAvatarInfo avatar_list = 6; // offset: 16
uint32 route_id = 7; // offset: 68
uint64 buff_value = 8; // offset: 48
uint32 last_level_percent = 9; // offset: 64
repeated ExpeditionBattleFunRecord fun_list = 10; // offset: 32
repeated ExpeditionBattleLevelRecord level_record_list = 13; // offset: 40
}
message ExpeditionBattleRouteSettleInfo {
repeated uint32 dead_avatar_id_list = 4; // offset: 16
uint64 buff_value = 6; // offset: 56
uint32 route_id = 8; // offset: 48
bool is_passed = 10; // offset: 52
repeated ExpeditionBattleAvatarDamage avatar_damage_list = 11; // offset: 24
uint32 battle_round_count = 13; // offset: 44
uint32 last_level_percent = 14; // offset: 40
}
message ExpeditionBattleSetLineupCsReq {
repeated ExpeditionBattleLineup lineup_list = 11; // offset: 24
uint32 map_id = 15; // offset: 32
}
message ExpeditionBattleSetLineupScRsp {
uint32 retcode = 1; // offset: 32
uint32 map_id = 5; // offset: 36
repeated ExpeditionBattleLineup lineup_list = 12; // offset: 24
}
message ExpeditionBattleSettleScNotify {
uint32 map_id = 1; // offset: 44
repeated ExpeditionBattleRouteSettleInfo route_settle_list = 3; // offset: 32
repeated ExpeditionBattleFunRecord fun_list = 4; // offset: 16
uint32 level_turn = 6; // offset: 40
}
message ExpeditionBattleStartCsReq {
uint32 map_id = 6; // offset: 24
}
message ExpeditionBattleStartScRsp {
uint32 retcode = 3; // offset: 24
}
message GetExpeditionBattleDataCsReq {
}
message GetExpeditionBattleDataScRsp {
repeated ExpeditionBattleMapData map_data_list = 7; // offset: 16
uint32 retcode = 15; // offset: 32
}
message HLJINHODOPP {
repeated NMEGIPHFFDA order_list = 3; // offset: 24
uint32 retcode = 6; // offset: 32
}
message ILBLJAFMBBK {
uint64 FIEOPKNBHKJ = 6; // offset: 24
}
message IOPNJIOPAFI {
MMBIBKFEFNG filter = 13; // offset: 16
GGLMGBPOCOP ADPEKIOPFKG = 15; // offset: 32
}
message MMBIBKFEFNG {
bool FMHBALCGMFF = 3; // offset: 32
repeated uint32 PODLFMBEKEG = 9; // offset: 16
}
message ODHFCEALPFN {
repeated ODLEEMAALIP IIIAGPNGPJM = 1; // offset: 24
uint32 JJPLIMAENEB = 3; // offset: 48
uint32 JNBIALMKFCL = 5; // offset: 52
repeated ODLEEMAALIP FMCCHBBIJKF = 7; // offset: 40
repeated ODLEEMAALIP OFNINJLHHDE = 9; // offset: 16
bool LLMLOGNFFCD = 10; // offset: 60
uint32 mode = 13; // offset: 56
}
message PEMMJHDFOLM {
}
message SocialPlayPreCheckEnterRoomCsReq {
uint32 teleport_id = 7; // offset: 32
MFPDAKOIOED GJNMHILINHC = 8; // offset: 24
uint32 entry_id = 15; // offset: 28
}
message VoracityInvasionGetDataCsReq {
}