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_client_watc...

216 lines
5.8 KiB
Protocol Buffer

package dota;
import "dota_shared_enums.proto";
import "dota_gcmessages_common.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CSourceTVGameSmall {
message Player {
optional uint32 account_id = 1;
optional uint32 hero_id = 2;
}
optional uint32 activate_time = 1;
optional uint32 deactivate_time = 2;
optional uint64 server_steam_id = 3;
optional uint64 lobby_id = 4;
optional uint32 league_id = 5;
optional uint32 lobby_type = 6;
optional int32 game_time = 7;
optional uint32 delay = 8;
optional uint32 spectators = 9;
optional uint32 game_mode = 10;
optional uint32 average_mmr = 11;
optional string team_name_radiant = 15;
optional string team_name_dire = 16;
optional fixed64 team_logo_radiant = 24;
optional fixed64 team_logo_dire = 25;
optional uint32 sort_score = 17;
optional float last_update_time = 18;
optional int32 radiant_lead = 19;
optional uint32 radiant_score = 20;
optional uint32 dire_score = 21;
repeated CSourceTVGameSmall.Player players = 22;
optional fixed32 building_state = 23;
optional uint32 weekend_tourney_tournament_id = 26;
optional uint32 weekend_tourney_division = 27;
optional uint32 weekend_tourney_skill_level = 28;
optional uint32 weekend_tourney_bracket_round = 29;
}
message CMsgClientToGCFindTopSourceTVGames {
optional string search_key = 1;
optional uint32 league_id = 2;
optional uint32 hero_id = 3;
optional uint32 start_game = 4;
optional uint32 game_list_index = 5;
repeated uint64 lobby_ids = 6;
}
message CMsgGCToClientFindTopSourceTVGamesResponse {
optional string search_key = 1;
optional uint32 league_id = 2;
optional uint32 hero_id = 3;
optional uint32 start_game = 4;
optional uint32 num_games = 5;
optional uint32 game_list_index = 6;
repeated CSourceTVGameSmall game_list = 7;
optional bool specific_games = 8;
}
message CMsgClientToGCTopMatchesRequest {
optional uint32 hero_id = 1;
optional uint32 player_account_id = 2;
optional uint32 team_id = 3;
}
message CMsgClientToGCTopLeagueMatchesRequest {
}
message CMsgClientToGCTopFriendMatchesRequest {
}
message CMsgClientToGCMatchesMinimalRequest {
repeated uint64 match_ids = 1;
}
message CMsgClientToGCMatchesMinimalResponse {
repeated CMsgDOTAMatchMinimal matches = 1;
optional bool last_match = 2;
}
message CMsgGCToClientTopLeagueMatchesResponse {
repeated CMsgDOTAMatchMinimal matches = 2;
}
message CMsgGCToClientTopFriendMatchesResponse {
repeated CMsgDOTAMatchMinimal matches = 1;
}
message CMsgClientToGCFindTopMatches {
optional uint32 start_game = 1;
optional uint32 league_id = 2;
optional uint32 hero_id = 3;
optional uint32 friend_id = 4;
optional bool friend_list = 5;
optional bool league_list = 6;
}
message CMsgGCToClientFindTopLeagueMatchesResponse {
optional uint32 start_game = 1;
optional uint32 league_id = 2;
optional uint32 hero_id = 3;
repeated uint32 match_ids = 4;
repeated CMsgDOTAMatch matches = 5;
}
message CMsgSpectateFriendGame {
optional fixed64 steam_id = 1;
}
message CMsgSpectateFriendGameResponse {
optional fixed64 server_steamid = 4;
}
message CMsgDOTAMatchMinimal {
message Player {
optional uint32 account_id = 1;
optional uint32 hero_id = 2;
optional uint32 kills = 3;
optional uint32 deaths = 4;
optional uint32 assists = 5;
repeated uint32 items = 6;
optional uint32 player_slot = 7;
}
message Tourney {
optional uint32 league_id = 1;
optional uint32 series_type = 8;
optional uint32 series_game = 9;
optional uint32 weekend_tourney_tournament_id = 10;
optional uint32 weekend_tourney_season_trophy_id = 11;
optional uint32 weekend_tourney_division = 12;
optional uint32 weekend_tourney_skill_level = 13;
optional uint32 radiant_team_id = 2;
optional string radiant_team_name = 3;
optional fixed64 radiant_team_logo = 4;
optional uint32 dire_team_id = 5;
optional string dire_team_name = 6;
optional fixed64 dire_team_logo = 7;
}
optional uint64 match_id = 1;
optional fixed32 start_time = 2;
optional uint32 duration = 3;
optional DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE];
repeated CMsgDOTAMatchMinimal.Player players = 6;
optional CMsgDOTAMatchMinimal.Tourney tourney = 7;
optional EMatchOutcome match_outcome = 8 [default = k_EMatchOutcome_Unknown];
}
message CDOTAReplayDownloadInfo {
message Highlight {
optional uint32 timestamp = 1;
optional string description = 2;
}
optional CMsgDOTAMatchMinimal match = 1;
optional string title = 2;
optional string description = 3;
optional uint32 size = 4;
repeated string tags = 5;
optional bool exists_on_disk = 6;
}
message CMsgWatchGame {
optional fixed64 server_steamid = 1;
optional uint32 client_version = 2;
optional fixed64 watch_server_steamid = 3;
optional uint64 lobby_id = 4;
repeated uint32 regions = 5;
}
message CMsgCancelWatchGame {
}
message CMsgWatchGameResponse {
enum WatchGameResult {
PENDING = 0;
READY = 1;
GAMESERVERNOTFOUND = 2;
UNAVAILABLE = 3;
CANCELLED = 4;
INCOMPATIBLEVERSION = 5;
MISSINGLEAGUESUBSCRIPTION = 6;
LOBBYNOTFOUND = 7;
}
optional CMsgWatchGameResponse.WatchGameResult watch_game_result = 1 [default = PENDING];
optional uint32 source_tv_public_addr = 2;
optional uint32 source_tv_private_addr = 3;
optional uint32 source_tv_port = 4;
optional fixed64 game_server_steamid = 5;
optional fixed64 watch_server_steamid = 6;
optional fixed64 watch_tv_unique_secret_code = 7;
}
message CMsgPartyLeaderWatchGamePrompt {
optional fixed64 game_server_steamid = 5;
}
message CDOTABroadcasterInfo {
optional uint32 account_id = 1;
optional fixed64 server_steam_id = 2;
optional bool live = 3;
optional string team_name_radiant = 4;
optional string team_name_dire = 5;
optional string stage_name = 6;
optional uint32 series_game = 7;
optional uint32 series_type = 8;
optional uint32 upcoming_broadcast_timestamp = 9;
optional bool allow_live_video = 10;
}