You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperstone/dota/dota_gcmessages_common_matc...

301 lines
10 KiB
Protocol Buffer

package dota;
import "steammessages.proto";
import "gcsdk_gcmessages.proto";
import "dota_shared_enums.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum LobbyDotaTVDelay {
LobbyDotaTV_10 = 0;
LobbyDotaTV_120 = 1;
LobbyDotaTV_300 = 2;
}
enum LobbyDotaPauseSetting {
LobbyDotaPauseSetting_Unlimited = 0;
LobbyDotaPauseSetting_Limited = 1;
LobbyDotaPauseSetting_Disabled = 2;
}
message CSODOTAPartyMember {
optional PartnerAccountType partner_type = 1 [default = PARTNER_NONE];
optional bool is_coach = 2;
repeated uint32 region_ping_codes = 4 [packed = true];
repeated uint32 region_ping_times = 5 [packed = true];
optional uint32 region_ping_failed_bitmask = 6;
optional uint32 tourney_skill_level = 7;
optional uint32 tourney_buyin = 8;
}
message CSODOTAParty {
enum State {
UI = 0;
FINDING_MATCH = 1;
IN_MATCH = 2;
}
optional uint64 party_id = 1 [(key_field) = true];
optional fixed64 leader_id = 2;
repeated fixed64 member_ids = 3;
optional uint32 game_modes = 4;
optional CSODOTAParty.State state = 6 [default = UI];
optional uint32 effective_started_matchmaking_time = 7;
optional uint32 raw_started_matchmaking_time = 32;
optional uint32 attempt_start_time = 33;
optional uint32 attempt_num = 34;
optional uint32 matchgroups = 11;
optional uint32 low_priority_account_id = 19;
optional MatchType match_type = 21 [default = MATCH_TYPE_CASUAL];
optional DOTABotDifficulty bot_difficulty = 22 [default = BOT_DIFFICULTY_PASSIVE];
optional uint32 team_id = 23;
optional string team_name = 51;
optional uint64 team_ui_logo = 52;
optional uint64 team_base_logo = 53;
optional uint32 match_disabled_until_date = 24;
optional uint32 match_disabled_account_id = 25;
optional uint32 matchmaking_max_range_minutes = 26;
optional uint32 matchlanguages = 27;
optional uint32 map_preference = 38;
repeated CSODOTAPartyMember members = 29;
optional uint32 open_guild_id = 30;
repeated uint32 common_guilds = 31;
optional uint32 low_priority_games_remaining = 35;
repeated EEvent active_ingame_events = 39;
optional bool open_for_join_requests = 40;
repeated CSODOTAPartyInvite sent_invites = 41;
repeated CSODOTAPartyInvite recv_invites = 42;
optional uint32 account_flags = 43;
optional uint32 region_select_flags = 44;
optional uint32 exclusive_tournament_id = 45;
optional uint32 tourney_division_id = 47;
optional uint32 tourney_schedule_time = 48;
optional uint32 tourney_skill_level = 49;
optional uint32 tourney_bracket_round = 50;
optional uint32 tourney_queue_deadline_time = 54;
optional ETourneyQueueDeadlineState tourney_queue_deadline_state = 55 [default = k_ETourneyQueueDeadlineState_Normal];
}
message CSODOTAPartyInvite {
message PartyMember {
optional string name = 1;
optional fixed64 steam_id = 2;
optional bool is_coach = 4;
}
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
repeated CSODOTAPartyInvite.PartyMember members = 4;
optional uint32 team_id = 5;
optional bool low_priority_status = 6;
optional bool as_coach = 7;
optional fixed64 invite_gid = 8;
}
message CSODOTALobbyInvite {
message LobbyMember {
optional string name = 1;
optional fixed64 steam_id = 2;
}
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
repeated CSODOTALobbyInvite.LobbyMember members = 4;
optional uint64 custom_game_id = 5;
optional fixed64 invite_gid = 6;
optional fixed64 custom_game_crc = 7;
optional fixed32 custom_game_timestamp = 8;
}
message CMsgLeaverState {
optional uint32 lobby_state = 1;
optional DOTA_GameState game_state = 2 [default = DOTA_GAMERULES_STATE_INIT];
optional bool leaver_detected = 3;
optional bool first_blood_happened = 4;
optional bool discard_match_results = 5;
optional bool mass_disconnect = 6;
}
message CDOTALobbyMember {
message CDOTALobbyMemberXPBonus {
optional uint32 type = 1;
optional float xp_bonus = 2;
optional uint64 source_key = 3;
}
optional fixed64 id = 1 [(key_field) = true];
optional uint32 hero_id = 2;
optional DOTA_GC_TEAM team = 3 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional string name = 6;
optional uint32 slot = 7;
optional uint64 party_id = 12;
optional uint32 meta_level = 13;
optional uint32 meta_xp = 14;
optional uint32 meta_xp_awarded = 15;
optional DOTALeaverStatus_t leaver_status = 16 [default = DOTA_LEAVER_NONE];
optional uint32 leaver_actions = 28;
optional uint32 channel = 17;
optional uint32 prize_def_index = 18;
repeated uint32 disabled_hero_id = 20;
optional PartnerAccountType partner_account_type = 21 [default = PARTNER_NONE];
repeated uint32 enabled_hero_id = 22;
optional DOTA_GC_TEAM coach_team = 23 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional uint32 nexon_pc_bang_no = 24;
optional string nexon_pc_bang_name = 25;
repeated CDOTALobbyMember.CDOTALobbyMemberXPBonus xp_bonuses = 27;
optional sint32 rank_change = 29;
optional bool cameraman = 30;
repeated uint32 custom_game_product_ids = 31;
optional uint32 lobby_mvp_vote_account_id = 32;
optional MatchType search_match_type = 33 [default = MATCH_TYPE_CASUAL];
}
message CLobbyTeamDetails {
optional string team_name = 1;
optional string team_tag = 3;
optional uint32 team_id = 4;
optional uint64 team_logo = 5;
optional uint64 team_base_logo = 6;
optional uint64 team_banner_logo = 7;
optional bool team_complete = 8;
optional string guild_name = 9;
optional string guild_tag = 10;
optional uint32 guild_id = 11;
optional uint64 guild_logo = 12;
optional uint64 guild_base_logo = 13;
optional uint64 guild_banner_logo = 14;
optional uint32 rank = 15;
optional sint32 rank_change = 16;
optional bool is_home_team = 17;
}
message CLobbyTimedRewardDetails {
optional uint32 item_def_index = 2;
optional bool is_supply_crate = 3;
optional bool is_timed_drop = 4;
optional uint32 account_id = 5;
optional uint32 origin = 6;
}
message CLobbyBroadcastChannelInfo {
optional uint32 channel_id = 1;
optional string country_code = 2;
optional string description = 3;
optional string language_code = 4;
}
message CSODOTALobby {
message CExtraMsg {
optional uint32 id = 1;
optional bytes contents = 2;
}
enum State {
UI = 0;
READYUP = 4;
SERVERSETUP = 1;
RUN = 2;
POSTGAME = 3;
NOTREADY = 5;
SERVERASSIGN = 6;
}
enum LobbyType {
INVALID = -1;
CASUAL_MATCH = 0;
PRACTICE = 1;
TOURNAMENT = 2;
COOP_BOT_MATCH = 4;
LEGACY_TEAM_MATCH = 5;
LEGACY_SOLO_QUEUE_MATCH = 6;
COMPETITIVE_MATCH = 7;
CASUAL_1V1_MATCH = 8;
WEEKEND_TOURNEY = 9;
LOCAL_BOT_MATCH = 10;
SPECTATOR = 11;
}
optional uint64 lobby_id = 1 [(key_field) = true];
repeated CDOTALobbyMember members = 2;
repeated CDOTALobbyMember left_members = 7;
optional fixed64 leader_id = 11;
optional fixed64 server_id = 6 [default = 0];
optional uint32 game_mode = 3;
repeated fixed64 pending_invites = 10;
optional CSODOTALobby.State state = 4 [default = UI];
optional string connect = 5;
optional CSODOTALobby.LobbyType lobby_type = 12 [default = INVALID];
optional bool allow_cheats = 13;
optional bool fill_with_bots = 14;
optional bool intro_mode = 15;
optional string game_name = 16;
repeated CLobbyTeamDetails team_details = 17;
optional uint32 tutorial_lesson = 18;
optional uint32 tournament_id = 19;
optional uint32 tournament_game_id = 20;
optional uint32 server_region = 21 [default = 0];
optional DOTA_GameState game_state = 22 [default = DOTA_GAMERULES_STATE_INIT];
optional uint32 num_spectators = 23;
optional uint32 matchgroup = 25;
optional DOTA_CM_PICK cm_pick = 28 [default = DOTA_CM_RANDOM];
optional uint64 match_id = 30;
optional bool allow_spectating = 31 [default = true];
optional DOTABotDifficulty bot_difficulty = 36 [default = BOT_DIFFICULTY_HARD];
optional DOTAGameVersion game_version = 37 [default = GAME_VERSION_CURRENT];
repeated CLobbyTimedRewardDetails timed_reward_details = 38;
optional string pass_key = 39;
repeated DOTABotDifficulty bot_slot_difficulty = 41;
optional uint32 leagueid = 42;
optional uint32 penalty_level_radiant = 43 [default = 0];
optional uint32 penalty_level_dire = 44 [default = 0];
optional uint32 load_game_id = 45;
optional uint32 series_type = 46;
optional uint32 radiant_series_wins = 47;
optional uint32 dire_series_wins = 48;
optional uint32 loot_generated = 49;
optional uint32 loot_awarded = 50;
optional bool allchat = 51 [default = false];
optional LobbyDotaTVDelay dota_tv_delay = 53 [default = LobbyDotaTV_10];
optional string custom_game_mode = 54;
optional string custom_map_name = 55;
optional uint32 custom_difficulty = 56;
optional bool lan = 57;
repeated CLobbyBroadcastChannelInfo broadcast_channel_info = 58;
optional uint32 first_leaver_accountid = 59;
optional uint32 series_id = 60;
optional bool low_priority = 61;
repeated CSODOTALobby.CExtraMsg extra_messages = 62;
optional CDOTASaveGame save_game = 63;
optional bool first_blood_happened = 65;
optional EMatchOutcome match_outcome = 70 [default = k_EMatchOutcome_Unknown];
optional bool mass_disconnect = 67;
optional uint64 custom_game_id = 68;
repeated EEvent active_ingame_events = 69;
optional uint32 custom_min_players = 71;
optional uint32 custom_max_players = 72;
optional PartnerAccountType partner_type = 73 [default = PARTNER_NONE];
optional uint32 lan_host_ping_to_server_region = 74;
optional DOTALobbyVisibility visibility = 75 [default = DOTALobbyVisibility_Public];
optional fixed64 custom_game_crc = 76;
optional bool custom_game_auto_created_lobby = 77;
optional uint32 league_series_id = 78;
optional uint32 league_game_id = 79;
optional fixed32 custom_game_timestamp = 80;
repeated uint64 previous_series_matches = 81;
optional uint64 previous_match_override = 82;
optional bool custom_game_uses_account_records = 83;
optional uint32 league_selection_priority_team = 84;
optional SelectionPriorityType league_selection_priority_choice = 85 [default = UNDEFINED];
optional SelectionPriorityType league_non_selection_priority_choice = 86 [default = UNDEFINED];
optional uint32 game_start_time = 87;
optional LobbyDotaPauseSetting pause_setting = 88 [default = LobbyDotaPauseSetting_Unlimited];
optional uint32 lobby_mvp_account_id = 89;
optional uint32 weekend_tourney_division_id = 90;
optional uint32 weekend_tourney_skill_level = 91;
optional uint32 weekend_tourney_bracket_round = 92;
}