1815 lines
53 KiB
Protocol Buffer
1815 lines
53 KiB
Protocol Buffer
import "steammessages.proto";
|
|
import "gcsdk_gcmessages.proto";
|
|
import "dota_shared_enums.proto";
|
|
|
|
enum ESpecialPingValue {
|
|
k_ESpecialPingValue_NoData = 16382;
|
|
k_ESpecialPingValue_Failed = 16383;
|
|
}
|
|
|
|
enum EDOTAGCSessionNeed {
|
|
k_EDOTAGCSessionNeed_Unknown = 0;
|
|
k_EDOTAGCSessionNeed_UserNoSessionNeeded = 100;
|
|
k_EDOTAGCSessionNeed_UserInOnlineGame = 101;
|
|
k_EDOTAGCSessionNeed_UserInLocalGame = 102;
|
|
k_EDOTAGCSessionNeed_UserInUIWasConnected = 103;
|
|
k_EDOTAGCSessionNeed_UserInUINeverConnected = 104;
|
|
k_EDOTAGCSessionNeed_UserTutorials = 105;
|
|
k_EDOTAGCSessionNeed_UserInUIWasConnectedIdle = 106;
|
|
k_EDOTAGCSessionNeed_UserInUINeverConnectedIdle = 107;
|
|
k_EDOTAGCSessionNeed_GameServerOnline = 200;
|
|
k_EDOTAGCSessionNeed_GameServerLocal = 201;
|
|
k_EDOTAGCSessionNeed_GameServerIdle = 202;
|
|
k_EDOTAGCSessionNeed_GameServerRelay = 203;
|
|
k_EDOTAGCSessionNeed_GameServerLocalUpload = 204;
|
|
}
|
|
|
|
enum EDOTAMatchPlayerTimeCustomStat {
|
|
k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers = 1;
|
|
k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_Absolute = 2;
|
|
k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_PercentOfTotalHP = 3;
|
|
}
|
|
|
|
enum DOTA_TournamentEvents {
|
|
TE_FIRST_BLOOD = 0;
|
|
TE_GAME_END = 1;
|
|
TE_MULTI_KILL = 2;
|
|
TE_HERO_DENY = 3;
|
|
TE_AEGIS_DENY = 4;
|
|
TE_AEGIS_STOLEN = 5;
|
|
TE_GODLIKE = 6;
|
|
TE_COURIER_KILL = 7;
|
|
TE_ECHOSLAM = 8;
|
|
TE_RAPIER = 9;
|
|
TE_EARLY_ROSHAN = 10;
|
|
TE_BLACK_HOLE = 11;
|
|
}
|
|
|
|
enum EBroadcastTimelineEvent {
|
|
EBroadcastTimelineEvent_MatchStarted = 1;
|
|
EBroadcastTimelineEvent_GameStateChanged = 2;
|
|
EBroadcastTimelineEvent_TowerDeath = 3;
|
|
EBroadcastTimelineEvent_BarracksDeath = 4;
|
|
EBroadcastTimelineEvent_AncientDeath = 5;
|
|
EBroadcastTimelineEvent_RoshanDeath = 6;
|
|
EBroadcastTimelineEvent_HeroDeath = 7;
|
|
EBroadcastTimelineEvent_TeamFight = 8;
|
|
EBroadcastTimelineEvent_FirstBlood = 9;
|
|
}
|
|
|
|
enum ECustomGameWhitelistState {
|
|
CUSTOM_GAME_WHITELIST_STATE_UNKNOWN = 0;
|
|
CUSTOM_GAME_WHITELIST_STATE_APPROVED = 1;
|
|
CUSTOM_GAME_WHITELIST_STATE_REJECTED = 2;
|
|
}
|
|
|
|
enum EDOTATriviaQuestionCategory {
|
|
k_EDOTATriviaQuestionCategory_AbilityIcon = 0;
|
|
k_EDOTATriviaQuestionCategory_AbilityCooldown = 1;
|
|
k_EDOTATriviaQuestionCategory_HeroAttributes = 2;
|
|
k_EDOTATriviaQuestionCategory_HeroMovementSpeed = 3;
|
|
k_EDOTATriviaQuestionCategory_TalentTree = 4;
|
|
k_EDOTATriviaQuestionCategory_HeroStats = 5;
|
|
k_EDOTATriviaQuestionCategory_ItemPrice = 6;
|
|
k_EDOTATriviaQuestionCategory_AbilitySound = 7;
|
|
k_EDOTATriviaQuestionCategory_InvokerSpells = 8;
|
|
k_EDOTATriviaQuestionCategory_AbilityManaCost = 9;
|
|
k_EDOTATriviaQuestionCategory_HeroAttackSound = 10;
|
|
k_EDOTATriviaQuestionCategory_AbilityName = 11;
|
|
k_EDOTATriviaQuestionCategory_ItemComponents = 12;
|
|
k_EDOTATriviaQuestionCategory_ItemLore = 13;
|
|
k_EDOTATriviaQuestionCategory_ItemPassives = 14;
|
|
k_EDOTATriviaQuestionCategory_STATIC_QUESTIONS_END = 15;
|
|
k_EDOTATriviaQuestionCategory_DYNAMIC_QUESTIONS_START = 99;
|
|
k_EDOTATriviaQuestionCategory_Dynamic_ItemBuild = 100;
|
|
}
|
|
|
|
enum EOverwatchConviction {
|
|
k_EOverwatchConviction_None = 0;
|
|
k_EOverwatchConviction_NotGuilty = 1;
|
|
k_EOverwatchConviction_GuiltUnclear = 2;
|
|
k_EOverwatchConviction_Guilty = 3;
|
|
}
|
|
|
|
enum EHeroRelicRarity {
|
|
HERO_RELIC_RARITY_INVALID = -1;
|
|
HERO_RELIC_RARITY_COMMON = 0;
|
|
HERO_RELIC_RARITY_RARE = 1;
|
|
}
|
|
|
|
enum EStickerbookAuditAction {
|
|
STICKERBOOK_AUDIT_CREATE_PAGE = 0;
|
|
STICKERBOOK_AUDIT_DELETE_PAGE = 1;
|
|
STICKERBOOK_AUDIT_STICK_STICKERS = 2;
|
|
STICKERBOOK_AUDIT_REPLACE_STICKERS = 3;
|
|
STICKERBOOK_AUDIT_HERO_STICKER = 4;
|
|
}
|
|
|
|
enum EStickerbookPageType {
|
|
STICKER_PAGE_GENERIC = 0;
|
|
STICKER_PAGE_TEAM = 1;
|
|
STICKER_PAGE_TALENT = 2;
|
|
}
|
|
|
|
enum ENewBloomGiftingResponse {
|
|
kENewBloomGifting_Success = 0;
|
|
kENewBloomGifting_UnknownFailure = 1;
|
|
kENewBloomGifting_MalformedRequest = 2;
|
|
kENewBloomGifting_FeatureDisabled = 3;
|
|
kENewBloomGifting_ItemNotFound = 4;
|
|
kENewBloomGifting_PlayerNotAllowedToGiveGifts = 5;
|
|
kENewBloomGifting_TargetNotAllowedToReceiveGifts = 6;
|
|
kENewBloomGifting_ServerNotAuthorized = 100;
|
|
kENewBloomGifting_PlayerNotInLobby = 101;
|
|
kENewBloomGifting_TargetNotInLobby = 102;
|
|
kENewBloomGifting_LobbyNotEligible = 103;
|
|
kENewBloomGifting_TargetNotFriend = 200;
|
|
kENewBloomGifting_TargetFriendDurationTooShort = 201;
|
|
}
|
|
|
|
message CSODOTAGameAccountClient {
|
|
message RoleHandicap {
|
|
optional uint32 role = 1;
|
|
optional float handicap = 2;
|
|
}
|
|
|
|
optional uint32 account_id = 1 [(key_field) = true];
|
|
optional uint32 wins = 3;
|
|
optional uint32 losses = 4;
|
|
optional uint32 xp = 12;
|
|
optional uint32 level = 13;
|
|
optional uint32 initial_skill = 14;
|
|
optional uint32 leaver_count = 15;
|
|
optional uint32 secondary_leaver_count = 58;
|
|
optional uint32 low_priority_until_date = 18;
|
|
optional uint32 prevent_text_chat_until_date = 20;
|
|
optional uint32 prevent_voice_until_date = 21;
|
|
optional uint32 prevent_public_text_chat_until_date = 86;
|
|
optional uint32 prevent_new_player_chat_until_date = 122;
|
|
optional uint32 last_abandoned_game_date = 22;
|
|
optional uint32 last_secondary_abandoned_game_date = 59;
|
|
optional uint32 leaver_penalty_count = 23;
|
|
optional uint32 completed_game_streak = 24;
|
|
optional uint32 account_disabled_until_date = 38;
|
|
optional uint32 account_disabled_count = 39;
|
|
optional uint32 match_disabled_until_date = 41;
|
|
optional uint32 match_disabled_count = 42;
|
|
optional uint32 shutdownlawterminatetimestamp = 47;
|
|
optional uint32 low_priority_games_remaining = 48;
|
|
optional uint32 recruitment_level = 55;
|
|
optional bool has_new_notifications = 56;
|
|
optional bool is_league_admin = 57;
|
|
optional uint32 casual_games_played = 60;
|
|
optional uint32 solo_competitive_games_played = 61;
|
|
optional uint32 party_competitive_games_played = 62;
|
|
optional uint32 casual_1v1_games_played = 65;
|
|
optional int32 curr_all_hero_challenge_id = 67;
|
|
optional uint32 play_time_points = 68;
|
|
optional uint32 account_flags = 69;
|
|
optional uint32 play_time_level = 70;
|
|
optional uint32 player_behavior_seq_num_last_report = 71;
|
|
optional uint32 player_behavior_score_last_report = 72;
|
|
optional bool player_behavior_report_old_data = 73;
|
|
optional uint32 tourney_skill_level = 74;
|
|
optional uint32 tourney_recent_participation_date = 85;
|
|
optional uint64 anchored_phone_number_id = 88;
|
|
optional uint32 ranked_matchmaking_ban_until_date = 89;
|
|
optional uint32 recent_game_time_1 = 90;
|
|
optional uint32 recent_game_time_2 = 91;
|
|
optional uint32 recent_game_time_3 = 92;
|
|
optional uint64 favorite_team_packed = 103;
|
|
optional uint32 recent_report_time = 104;
|
|
optional uint32 custom_game_disabled_until_date = 105;
|
|
optional uint32 recent_win_time_1 = 106;
|
|
optional uint32 recent_win_time_2 = 107;
|
|
optional uint32 recent_win_time_3 = 108;
|
|
optional uint32 coach_rating = 109;
|
|
optional uint32 queue_points = 114;
|
|
repeated .CSODOTAGameAccountClient.RoleHandicap role_handicaps = 115;
|
|
optional uint32 event_mode_recent_time = 120;
|
|
optional uint32 mmr_recalibration_time = 121;
|
|
repeated int32 banned_hero_ids = 123;
|
|
}
|
|
|
|
message CSODOTAGameAccountPlus {
|
|
optional uint32 account_id = 1 [(key_field) = true];
|
|
optional uint32 original_start_date = 2;
|
|
optional uint32 plus_flags = 3;
|
|
optional uint32 plus_status = 4;
|
|
optional uint32 prepaid_time_start = 5;
|
|
optional uint32 prepaid_time_balance = 6;
|
|
optional fixed32 next_payment_date = 7;
|
|
optional fixed64 steam_agreement_id = 8;
|
|
}
|
|
|
|
message CSODOTAChatWheel {
|
|
optional uint32 message_id = 1 [default = 4294967295, (key_field) = true];
|
|
}
|
|
|
|
message CMsgLobbyFeaturedGamemodeProgress {
|
|
message AccountProgress {
|
|
optional uint32 account_id = 1;
|
|
optional uint32 current_value = 2;
|
|
optional uint32 max_value = 3;
|
|
}
|
|
|
|
repeated .CMsgLobbyFeaturedGamemodeProgress.AccountProgress accounts = 1;
|
|
}
|
|
|
|
message CMsgBattleCupVictory {
|
|
optional uint32 account_id = 1;
|
|
optional uint32 win_date = 2;
|
|
optional uint32 valid_until = 3;
|
|
optional uint32 skill_level = 4;
|
|
optional uint32 tournament_id = 5;
|
|
optional uint32 division_id = 6;
|
|
optional uint32 team_id = 7;
|
|
optional uint32 streak = 8;
|
|
optional uint32 trophy_id = 9;
|
|
}
|
|
|
|
message CMsgLobbyBattleCupVictoryList {
|
|
repeated .CMsgBattleCupVictory winners = 1;
|
|
}
|
|
|
|
message CMsgDOTABroadcastNotification {
|
|
optional string message = 1;
|
|
}
|
|
|
|
message CProtoItemHeroStatue {
|
|
optional int32 hero_id = 1;
|
|
optional uint32 status_effect_index = 2;
|
|
optional string sequence_name = 3;
|
|
optional float cycle = 4;
|
|
repeated uint32 wearable = 5;
|
|
optional string inscription = 6;
|
|
repeated uint32 style = 7;
|
|
optional bool tournament_drop = 8;
|
|
}
|
|
|
|
message CMatchPlayerAbilityUpgrade {
|
|
optional int32 ability = 1 [default = -1];
|
|
optional uint32 time = 2;
|
|
}
|
|
|
|
message CMatchPlayerTimedCustomStat {
|
|
optional .EDOTAMatchPlayerTimeCustomStat stat = 2 [default = k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers];
|
|
optional float value = 3;
|
|
}
|
|
|
|
message CMatchPlayerTimedStats {
|
|
optional uint32 time = 1;
|
|
optional uint32 kills = 2;
|
|
optional uint32 deaths = 3;
|
|
optional uint32 assists = 4;
|
|
optional uint32 net_worth = 5;
|
|
optional uint32 xp = 6;
|
|
optional uint32 last_hits = 7;
|
|
optional uint32 denies = 8;
|
|
optional uint32 bounty_rune_gold = 9;
|
|
optional uint32 range_creep_upgrade_gold = 10;
|
|
optional uint32 observer_wards_dewarded = 11;
|
|
optional uint32 reliable_gold_earned = 12;
|
|
optional uint32 gold_loss_prevented = 13;
|
|
optional uint32 hero_kill_gold = 14;
|
|
optional uint32 creep_kill_gold = 15;
|
|
optional uint32 building_gold = 16;
|
|
optional uint32 other_gold = 17;
|
|
optional uint32 comeback_gold = 18;
|
|
optional uint32 experimental_gold = 19;
|
|
optional uint32 experimental2_gold = 20;
|
|
optional uint32 creep_deny_gold = 21;
|
|
optional uint32 tp_scrolls_purchased_1 = 22;
|
|
optional uint32 tp_scrolls_purchased_2 = 23;
|
|
optional uint32 tp_scrolls_purchased_3 = 24;
|
|
optional uint32 tp_scrolls_purchased_4 = 25;
|
|
optional uint32 tp_scrolls_purchased_5 = 26;
|
|
optional uint32 neutral_gold = 27;
|
|
optional uint32 courier_gold = 28;
|
|
optional uint32 roshan_gold = 29;
|
|
optional uint32 income_gold = 30;
|
|
optional uint32 item_value = 36;
|
|
optional uint32 support_gold_spent = 37;
|
|
optional uint32 camps_stacked = 38;
|
|
optional uint32 wards_placed = 39;
|
|
optional uint32 triple_kills = 40;
|
|
optional uint32 rampages = 41;
|
|
repeated .CMatchPlayerTimedCustomStat custom_stats = 42;
|
|
}
|
|
|
|
message CMatchTeamTimedStats {
|
|
optional uint32 time = 1;
|
|
optional uint32 enemy_towers_killed = 2;
|
|
optional uint32 enemy_barracks_killed = 3;
|
|
optional uint32 enemy_towers_status = 4;
|
|
optional uint32 enemy_barracks_status = 5;
|
|
}
|
|
|
|
message CMatchAdditionalUnitInventory {
|
|
optional string unit_name = 1;
|
|
repeated int32 items = 2;
|
|
}
|
|
|
|
message CMatchPlayerPermanentBuff {
|
|
optional uint32 permanent_buff = 1;
|
|
optional uint32 stack_count = 2;
|
|
optional uint32 grant_time = 3;
|
|
}
|
|
|
|
message CMatchHeroSelectEvent {
|
|
optional bool is_pick = 1;
|
|
optional uint32 team = 2;
|
|
optional int32 hero_id = 3;
|
|
}
|
|
|
|
message CMatchClip {
|
|
optional uint64 match_id = 1;
|
|
optional uint32 player_account_id = 2;
|
|
optional uint32 game_time_seconds = 3;
|
|
optional uint32 duration_seconds = 4;
|
|
optional uint32 player_id = 5;
|
|
optional int32 hero_id = 6;
|
|
optional int32 ability_id = 7 [default = -1];
|
|
optional uint32 camera_mode = 8;
|
|
optional string comment = 9;
|
|
}
|
|
|
|
message CPartySearchClientParty {
|
|
optional fixed64 party_id = 1;
|
|
optional int32 beacon_type = 2;
|
|
repeated fixed32 party_members = 3;
|
|
}
|
|
|
|
message CMsgDOTAHasItemQuery {
|
|
optional uint32 account_id = 1;
|
|
optional uint64 item_id = 2;
|
|
}
|
|
|
|
message CMsgDOTAHasItemResponse {
|
|
optional bool has_item = 1;
|
|
}
|
|
|
|
message CMsgGCGetPlayerCardItemInfo {
|
|
optional uint32 account_id = 1;
|
|
repeated uint64 player_card_item_ids = 2;
|
|
optional uint32 all_for_event = 3;
|
|
}
|
|
|
|
message CMsgGCGetPlayerCardItemInfoResponse {
|
|
message PlayerCardInfo {
|
|
optional uint64 player_card_item_id = 1;
|
|
optional uint32 account_id = 2;
|
|
optional uint64 packed_bonuses = 3;
|
|
}
|
|
|
|
repeated .CMsgGCGetPlayerCardItemInfoResponse.PlayerCardInfo player_card_infos = 1;
|
|
}
|
|
|
|
message CSODOTAMapLocationState {
|
|
optional uint32 account_id = 1 [(key_field) = true];
|
|
optional int32 location_id = 2 [(key_field) = true];
|
|
optional bool completed = 3;
|
|
}
|
|
|
|
message CMsgLeagueAdminList {
|
|
repeated uint32 account_ids = 1;
|
|
}
|
|
|
|
message CMsgDOTAProfileCard {
|
|
message Slot {
|
|
message Trophy {
|
|
optional uint32 trophy_id = 1;
|
|
optional uint32 trophy_score = 2;
|
|
}
|
|
|
|
message Stat {
|
|
optional .CMsgDOTAProfileCard.EStatID stat_id = 1 [default = k_eStat_Wins];
|
|
optional uint32 stat_score = 2;
|
|
}
|
|
|
|
message Item {
|
|
optional bytes serialized_item = 1;
|
|
optional uint64 item_id = 2;
|
|
}
|
|
|
|
message Hero {
|
|
optional int32 hero_id = 1;
|
|
optional uint32 hero_wins = 2;
|
|
optional uint32 hero_losses = 3;
|
|
}
|
|
|
|
message Emoticon {
|
|
optional uint32 emoticon_id = 1;
|
|
}
|
|
|
|
message Team {
|
|
optional uint32 team_id = 1;
|
|
}
|
|
|
|
optional uint32 slot_id = 1;
|
|
optional .CMsgDOTAProfileCard.Slot.Trophy trophy = 2;
|
|
optional .CMsgDOTAProfileCard.Slot.Stat stat = 3;
|
|
optional .CMsgDOTAProfileCard.Slot.Item item = 4;
|
|
optional .CMsgDOTAProfileCard.Slot.Hero hero = 5;
|
|
optional .CMsgDOTAProfileCard.Slot.Emoticon emoticon = 6;
|
|
optional .CMsgDOTAProfileCard.Slot.Team team = 7;
|
|
}
|
|
|
|
enum EStatID {
|
|
k_eStat_Wins = 3;
|
|
k_eStat_Commends = 4;
|
|
k_eStat_GamesPlayed = 5;
|
|
k_eStat_FirstMatchDate = 6;
|
|
k_eStat_PreviousSeasonRank = 7;
|
|
k_eStat_GamesMVP = 8;
|
|
}
|
|
|
|
optional uint32 account_id = 1;
|
|
repeated .CMsgDOTAProfileCard.Slot slots = 3;
|
|
optional uint32 badge_points = 4;
|
|
optional uint32 event_id = 6;
|
|
optional .CMsgBattleCupVictory recent_battle_cup_victory = 7;
|
|
optional uint32 rank_tier = 8;
|
|
optional uint32 leaderboard_rank = 9;
|
|
optional bool is_plus_subscriber = 10;
|
|
optional uint32 plus_original_start_date = 11;
|
|
optional uint32 rank_tier_score = 12;
|
|
optional uint32 leaderboard_rank_core = 17;
|
|
optional uint32 title = 23;
|
|
optional uint64 favorite_team_packed = 24;
|
|
optional uint32 lifetime_games = 25;
|
|
optional uint32 event_level = 26;
|
|
}
|
|
|
|
message CSODOTAPlayerChallenge {
|
|
optional uint32 account_id = 1 [(key_field) = true];
|
|
optional uint32 event_id = 2 [(key_field) = true];
|
|
optional uint32 slot_id = 3 [(key_field) = true];
|
|
optional uint32 int_param_0 = 5;
|
|
optional uint32 int_param_1 = 6;
|
|
optional uint32 created_time = 7;
|
|
optional uint32 completed = 8;
|
|
optional uint32 sequence_id = 9;
|
|
optional uint32 challenge_tier = 10;
|
|
optional uint32 flags = 11;
|
|
optional uint32 attempts = 12;
|
|
optional uint32 complete_limit = 13;
|
|
optional uint32 quest_rank = 14;
|
|
optional uint32 max_quest_rank = 15;
|
|
optional uint32 instance_id = 16;
|
|
optional int32 hero_id = 17;
|
|
optional uint32 template_id = 18;
|
|
}
|
|
|
|
message CMsgClientToGCRerollPlayerChallenge {
|
|
optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
|
|
optional uint32 sequence_id = 3;
|
|
optional int32 hero_id = 4;
|
|
}
|
|
|
|
message CMsgGCRerollPlayerChallengeResponse {
|
|
enum EResult {
|
|
eResult_Success = 0;
|
|
eResult_Dropped = 1;
|
|
eResult_NotFound = 2;
|
|
eResult_CantReroll = 3;
|
|
eResult_ServerError = 4;
|
|
}
|
|
|
|
optional .CMsgGCRerollPlayerChallengeResponse.EResult result = 1 [default = eResult_Success];
|
|
}
|
|
|
|
message CMsgGCTopCustomGamesList {
|
|
repeated uint64 top_custom_games = 1;
|
|
optional uint64 game_of_the_day = 2;
|
|
}
|
|
|
|
message CMsgDOTARealtimeGameStats {
|
|
message TeamDetails {
|
|
optional uint32 team_number = 1;
|
|
optional uint32 team_id = 2;
|
|
optional string team_name = 3;
|
|
optional fixed64 team_logo = 4;
|
|
optional string team_tag = 10;
|
|
optional uint32 score = 5;
|
|
optional uint32 net_worth = 9;
|
|
repeated .CMsgDOTARealtimeGameStats.PlayerDetails players = 6;
|
|
optional bool only_team = 7;
|
|
optional uint32 cheers = 8;
|
|
optional string team_logo_url = 11;
|
|
}
|
|
|
|
message ItemDetails {
|
|
optional int32 item_ability_id = 1 [default = -1];
|
|
optional string name = 2;
|
|
optional int32 time = 3;
|
|
optional bool sold = 4;
|
|
optional uint32 stackcount = 5;
|
|
}
|
|
|
|
message AbilityDetails {
|
|
optional int32 id = 1 [default = -1];
|
|
optional string name = 2;
|
|
optional uint32 level = 3;
|
|
optional float cooldown = 4;
|
|
optional float cooldown_max = 5;
|
|
}
|
|
|
|
message HeroToHeroStats {
|
|
optional int32 victimid = 1 [default = -1];
|
|
optional uint32 kills = 2;
|
|
optional uint32 assists = 3;
|
|
}
|
|
|
|
message AbilityList {
|
|
repeated int32 id = 1;
|
|
}
|
|
|
|
message PlayerDetails {
|
|
optional uint32 accountid = 1;
|
|
optional int32 playerid = 2 [default = -1];
|
|
optional string name = 3;
|
|
optional uint32 team = 4;
|
|
optional int32 heroid = 5;
|
|
optional uint32 healthpoints = 6;
|
|
optional uint32 maxhealthpoints = 7;
|
|
optional float healthregenrate = 8;
|
|
optional uint32 manapoints = 9;
|
|
optional uint32 maxmanapoints = 10;
|
|
optional float manaregenrate = 11;
|
|
optional uint32 base_strength = 12;
|
|
optional uint32 base_agility = 13;
|
|
optional uint32 base_intelligence = 14;
|
|
optional int32 base_armor = 15;
|
|
optional uint32 base_movespeed = 16;
|
|
optional uint32 base_damage = 17;
|
|
optional uint32 strength = 18;
|
|
optional uint32 agility = 19;
|
|
optional uint32 intelligence = 20;
|
|
optional int32 armor = 21;
|
|
optional uint32 movespeed = 22;
|
|
optional uint32 damage = 23;
|
|
optional uint32 hero_damage = 24;
|
|
optional uint32 tower_damage = 25;
|
|
repeated .CMsgDOTARealtimeGameStats.AbilityDetails abilities = 26;
|
|
optional uint32 level = 27;
|
|
optional uint32 kill_count = 28;
|
|
optional uint32 death_count = 29;
|
|
optional uint32 assists_count = 30;
|
|
optional uint32 denies_count = 31;
|
|
optional uint32 lh_count = 32;
|
|
optional uint32 hero_healing = 33;
|
|
optional uint32 gold_per_min = 34;
|
|
optional uint32 xp_per_min = 35;
|
|
optional uint32 net_gold = 36;
|
|
optional uint32 gold = 37;
|
|
optional float x = 38;
|
|
optional float y = 39;
|
|
optional int32 respawn_time = 40;
|
|
optional uint32 ultimate_cooldown = 41;
|
|
optional bool has_buyback = 42;
|
|
repeated .CMsgDOTARealtimeGameStats.ItemDetails items = 43;
|
|
repeated .CMsgDOTARealtimeGameStats.ItemDetails stashitems = 44;
|
|
repeated .CMsgDOTARealtimeGameStats.ItemDetails itemshoppinglist = 45;
|
|
repeated .CMsgDOTARealtimeGameStats.AbilityList levelpoints = 46;
|
|
repeated .CMsgDOTARealtimeGameStats.HeroToHeroStats hero_to_hero_stats = 47;
|
|
optional bool has_ultimate = 48;
|
|
optional bool has_ultimate_mana = 49;
|
|
optional uint32 team_slot = 50;
|
|
}
|
|
|
|
message BuildingDetails {
|
|
optional uint32 team = 2;
|
|
optional float heading = 3;
|
|
optional uint32 lane = 4;
|
|
optional uint32 tier = 5;
|
|
optional uint32 type = 6;
|
|
optional float x = 7;
|
|
optional float y = 8;
|
|
optional bool destroyed = 9;
|
|
}
|
|
|
|
message KillDetails {
|
|
optional int32 player_id = 1 [default = -1];
|
|
optional int32 death_time = 2;
|
|
optional int32 killer_player_id = 3 [default = -1];
|
|
}
|
|
|
|
message BroadcasterDetails {
|
|
optional int32 player_id = 1 [default = -1];
|
|
}
|
|
|
|
message PickBanDetails {
|
|
optional int32 hero = 1;
|
|
optional uint32 team = 2;
|
|
}
|
|
|
|
message MatchDetails {
|
|
optional fixed64 server_steam_id = 1;
|
|
optional uint64 match_id = 2;
|
|
optional uint32 timestamp = 3;
|
|
optional float time_of_day = 4;
|
|
optional bool is_nightstalker_night = 5;
|
|
optional int32 game_time = 6;
|
|
optional uint32 game_state = 19;
|
|
optional uint32 teamid_radiant = 8;
|
|
optional uint32 teamid_dire = 9;
|
|
repeated .CMsgDOTARealtimeGameStats.PickBanDetails picks = 10;
|
|
repeated .CMsgDOTARealtimeGameStats.PickBanDetails bans = 11;
|
|
repeated .CMsgDOTARealtimeGameStats.KillDetails kills = 12;
|
|
repeated .CMsgDOTARealtimeGameStats.BroadcasterDetails broadcasters = 13;
|
|
optional uint32 game_mode = 14;
|
|
optional uint32 league_id = 15;
|
|
optional uint32 league_node_id = 18;
|
|
optional bool single_team = 16;
|
|
optional uint32 cheers_peak = 17;
|
|
optional uint32 lobby_type = 20;
|
|
optional uint32 start_timestamp = 21;
|
|
}
|
|
|
|
message GraphData {
|
|
message LocationStats {
|
|
repeated int32 stats = 1;
|
|
}
|
|
|
|
message TeamLocationStats {
|
|
repeated .CMsgDOTARealtimeGameStats.GraphData.LocationStats loc_stats = 1;
|
|
}
|
|
|
|
enum eStat {
|
|
CreepGoldEarned = 0;
|
|
KillGoldEarned = 1;
|
|
DeathAndBuybackGoldLost = 2;
|
|
XPEarned = 3;
|
|
}
|
|
|
|
enum eLocation {
|
|
BotLane = 0;
|
|
MidLane = 1;
|
|
TopLane = 2;
|
|
Jungle = 3;
|
|
Ancients = 4;
|
|
Other = 5;
|
|
}
|
|
|
|
repeated int32 graph_gold = 1;
|
|
repeated int32 graph_xp = 2;
|
|
repeated int32 graph_kill = 3;
|
|
repeated int32 graph_tower = 4;
|
|
repeated int32 graph_rax = 5;
|
|
repeated .CMsgDOTARealtimeGameStats.GraphData.TeamLocationStats team_loc_stats = 6;
|
|
}
|
|
|
|
optional .CMsgDOTARealtimeGameStats.MatchDetails match = 1;
|
|
repeated .CMsgDOTARealtimeGameStats.TeamDetails teams = 2;
|
|
repeated .CMsgDOTARealtimeGameStats.BuildingDetails buildings = 3;
|
|
optional .CMsgDOTARealtimeGameStats.GraphData graph_data = 4;
|
|
optional bool delta_frame = 5;
|
|
}
|
|
|
|
message CMsgDOTARealtimeGameStatsTerse {
|
|
message TeamDetails {
|
|
optional uint32 team_number = 1;
|
|
optional uint32 team_id = 2;
|
|
optional string team_name = 3;
|
|
optional string team_tag = 8;
|
|
optional fixed64 team_logo = 4;
|
|
optional uint32 score = 5;
|
|
optional uint32 net_worth = 7;
|
|
optional string team_logo_url = 9;
|
|
repeated .CMsgDOTARealtimeGameStatsTerse.PlayerDetails players = 6;
|
|
}
|
|
|
|
message PlayerDetails {
|
|
optional uint32 accountid = 1;
|
|
optional int32 playerid = 2 [default = -1];
|
|
optional string name = 3;
|
|
optional uint32 team = 4;
|
|
optional int32 heroid = 5;
|
|
optional uint32 level = 6;
|
|
optional uint32 kill_count = 7;
|
|
optional uint32 death_count = 8;
|
|
optional uint32 assists_count = 9;
|
|
optional uint32 denies_count = 10;
|
|
optional uint32 lh_count = 11;
|
|
optional uint32 gold = 12;
|
|
optional float x = 13;
|
|
optional float y = 14;
|
|
optional uint32 net_worth = 15;
|
|
repeated int32 abilities = 16;
|
|
repeated int32 items = 17;
|
|
optional uint32 team_slot = 18;
|
|
}
|
|
|
|
message BuildingDetails {
|
|
optional uint32 team = 1;
|
|
optional float heading = 2;
|
|
optional uint32 type = 3;
|
|
optional uint32 lane = 4;
|
|
optional uint32 tier = 5;
|
|
optional float x = 6;
|
|
optional float y = 7;
|
|
optional bool destroyed = 8;
|
|
}
|
|
|
|
message PickBanDetails {
|
|
optional int32 hero = 1;
|
|
optional uint32 team = 2;
|
|
}
|
|
|
|
message MatchDetails {
|
|
optional fixed64 server_steam_id = 1;
|
|
optional uint64 match_id = 2;
|
|
optional uint32 timestamp = 3;
|
|
optional int32 game_time = 4;
|
|
repeated uint32 steam_broadcaster_account_ids = 6;
|
|
optional uint32 game_mode = 7;
|
|
optional uint32 league_id = 8;
|
|
optional uint32 league_node_id = 9;
|
|
optional uint32 game_state = 10;
|
|
repeated .CMsgDOTARealtimeGameStatsTerse.PickBanDetails picks = 11;
|
|
repeated .CMsgDOTARealtimeGameStatsTerse.PickBanDetails bans = 12;
|
|
optional uint32 lobby_type = 13;
|
|
optional uint32 start_timestamp = 14;
|
|
}
|
|
|
|
message GraphData {
|
|
repeated int32 graph_gold = 1;
|
|
}
|
|
|
|
optional .CMsgDOTARealtimeGameStatsTerse.MatchDetails match = 1;
|
|
repeated .CMsgDOTARealtimeGameStatsTerse.TeamDetails teams = 2;
|
|
repeated .CMsgDOTARealtimeGameStatsTerse.BuildingDetails buildings = 3;
|
|
optional .CMsgDOTARealtimeGameStatsTerse.GraphData graph_data = 4;
|
|
optional bool delta_frame = 5;
|
|
}
|
|
|
|
message CMsgDOTABroadcastTimelineEvent {
|
|
optional .EBroadcastTimelineEvent event = 1 [default = EBroadcastTimelineEvent_MatchStarted];
|
|
optional fixed32 timestamp = 2;
|
|
optional uint32 data = 3;
|
|
optional string string_data = 4;
|
|
}
|
|
|
|
message CMsgGCToClientMatchGroupsVersion {
|
|
optional uint32 matchgroups_version = 1;
|
|
}
|
|
|
|
message CMsgDOTASDOHeroStatsHistory {
|
|
optional uint64 match_id = 1;
|
|
optional uint32 game_mode = 2;
|
|
optional uint32 lobby_type = 3;
|
|
optional uint32 start_time = 4;
|
|
optional bool won = 5;
|
|
optional uint32 gpm = 6;
|
|
optional uint32 xpm = 7;
|
|
optional uint32 kills = 8;
|
|
optional uint32 deaths = 9;
|
|
optional uint32 assists = 10;
|
|
}
|
|
|
|
message CMsgPredictionChoice {
|
|
optional uint32 value = 1;
|
|
optional string name = 2;
|
|
optional uint32 min_raw_value = 3;
|
|
optional uint32 max_raw_value = 4;
|
|
}
|
|
|
|
message CMsgInGamePrediction {
|
|
message QueryKeyValues {
|
|
optional string name = 1;
|
|
optional string value = 2;
|
|
}
|
|
|
|
enum ERawValueType_t {
|
|
Number = 0;
|
|
Time = 1;
|
|
}
|
|
|
|
enum EPredictionType {
|
|
Generic = 0;
|
|
Hero = 1;
|
|
Team = 2;
|
|
Player = 3;
|
|
Special = 4;
|
|
YesNo = 5;
|
|
QualifiersTeam = 6;
|
|
}
|
|
|
|
enum EResolutionType_t {
|
|
InvalidQuery = 0;
|
|
FirstToPassQuery = 1;
|
|
LastToPassQuery = 2;
|
|
LastRemainingQuery = 3;
|
|
MaxToPassQuery = 4;
|
|
MinToPassQuery = 5;
|
|
SumQuery = 6;
|
|
MaxTeamSumToPassQuery = 7;
|
|
MinTeamSumToPassQuery = 8;
|
|
}
|
|
|
|
enum ERandomSelectionGroup_t {
|
|
EarlyGame = 0;
|
|
MidGame = 1;
|
|
LateGame = 2;
|
|
Count = 3;
|
|
}
|
|
|
|
optional uint32 id = 1;
|
|
optional string name = 2;
|
|
optional .CMsgInGamePrediction.EPredictionType type = 3 [default = Generic];
|
|
optional .CMsgInGamePrediction.ERandomSelectionGroup_t group = 4 [default = EarlyGame];
|
|
optional string question = 5;
|
|
repeated .CMsgPredictionChoice choices = 6;
|
|
repeated string required_heroes = 7;
|
|
optional string query_name = 8;
|
|
repeated .CMsgInGamePrediction.QueryKeyValues query_values = 9;
|
|
optional .CMsgInGamePrediction.EResolutionType_t answer_resolution_type = 10 [default = InvalidQuery];
|
|
optional uint32 points_to_grant = 11;
|
|
optional uint32 reward_action = 12;
|
|
optional uint32 debug_force_selection = 13;
|
|
optional .CMsgInGamePrediction.ERawValueType_t raw_value_type = 14 [default = Number];
|
|
}
|
|
|
|
message CMsgDOTASeasonPredictions {
|
|
message Prediction {
|
|
message Answers {
|
|
optional uint32 answer_id = 1;
|
|
}
|
|
|
|
enum EPredictionType {
|
|
Generic = 0;
|
|
Hero = 1;
|
|
Team = 2;
|
|
Player = 3;
|
|
Special = 4;
|
|
YesNo = 5;
|
|
QualifiersTeam = 6;
|
|
LastChanceTeam = 7;
|
|
}
|
|
|
|
enum EAnswerType {
|
|
SingleInt = 0;
|
|
SingleFloat = 1;
|
|
MultipleInt = 2;
|
|
MultipleFloat = 3;
|
|
AnswerTeam = 4;
|
|
SingleTime = 5;
|
|
MultipleTime = 6;
|
|
NoAnswer = 7;
|
|
}
|
|
|
|
optional .CMsgDOTASeasonPredictions.Prediction.EPredictionType type = 1 [default = Generic];
|
|
optional string question = 2;
|
|
repeated .CMsgPredictionChoice choices = 3;
|
|
optional uint32 selection_id = 4;
|
|
optional uint32 start_date = 5;
|
|
optional uint32 lock_date = 6;
|
|
optional uint32 reward = 7;
|
|
optional .CMsgDOTASeasonPredictions.Prediction.EAnswerType answer_type = 8 [default = SingleInt];
|
|
optional uint32 answer_id = 9;
|
|
repeated .CMsgDOTASeasonPredictions.Prediction.Answers answers = 10;
|
|
optional string query_name = 11;
|
|
optional uint32 lock_on_selection_id = 13;
|
|
optional uint32 lock_on_selection_value = 14;
|
|
optional bool lock_on_selection_set = 15;
|
|
optional bool use_answer_value_ranges = 16;
|
|
optional .ELeagueRegion region = 17 [default = LEAGUE_REGION_UNSET];
|
|
repeated .ELeaguePhase phases = 18;
|
|
optional .EEvent reward_event = 19 [default = EVENT_ID_NONE];
|
|
optional uint32 league_node_id = 20;
|
|
}
|
|
|
|
repeated .CMsgDOTASeasonPredictions.Prediction predictions = 1;
|
|
repeated .CMsgInGamePrediction in_game_predictions = 2;
|
|
optional uint32 in_game_prediction_count_per_game = 3;
|
|
optional uint32 in_game_prediction_voting_period_minutes = 4;
|
|
}
|
|
|
|
message CMsgAvailablePredictions {
|
|
message MatchPrediction {
|
|
optional uint64 match_id = 1;
|
|
repeated .CMsgInGamePrediction predictions = 2;
|
|
}
|
|
|
|
repeated .CMsgAvailablePredictions.MatchPrediction match_predictions = 1;
|
|
}
|
|
|
|
message CMsgLeagueWatchedGames {
|
|
message Series {
|
|
optional uint32 node_id = 1;
|
|
repeated uint32 game = 2;
|
|
}
|
|
|
|
message League {
|
|
optional uint32 league_id = 1;
|
|
repeated .CMsgLeagueWatchedGames.Series series = 2;
|
|
}
|
|
|
|
repeated .CMsgLeagueWatchedGames.League leagues = 1;
|
|
}
|
|
|
|
message CMsgDOTAMatch {
|
|
message Player {
|
|
message CustomGameData {
|
|
optional uint32 dota_team = 1;
|
|
optional bool winner = 2;
|
|
}
|
|
|
|
message HeroDamageReceived {
|
|
optional uint32 pre_reduction = 1;
|
|
optional uint32 post_reduction = 2;
|
|
optional .CMsgDOTAMatch.Player.HeroDamageType damage_type = 3 [default = HERO_DAMAGE_PHYSICAL];
|
|
}
|
|
|
|
enum HeroDamageType {
|
|
HERO_DAMAGE_PHYSICAL = 0;
|
|
HERO_DAMAGE_MAGICAL = 1;
|
|
HERO_DAMAGE_PURE = 2;
|
|
}
|
|
|
|
optional uint32 account_id = 1;
|
|
optional uint32 player_slot = 2;
|
|
optional int32 hero_id = 3;
|
|
optional int32 item_0 = 4 [default = -1];
|
|
optional int32 item_1 = 5 [default = -1];
|
|
optional int32 item_2 = 6 [default = -1];
|
|
optional int32 item_3 = 7 [default = -1];
|
|
optional int32 item_4 = 8 [default = -1];
|
|
optional int32 item_5 = 9 [default = -1];
|
|
optional int32 item_6 = 59 [default = -1];
|
|
optional int32 item_7 = 60 [default = -1];
|
|
optional int32 item_8 = 61 [default = -1];
|
|
optional int32 item_9 = 76 [default = -1];
|
|
optional float expected_team_contribution = 10;
|
|
optional float scaled_metric = 11;
|
|
optional uint32 previous_rank = 12;
|
|
optional sint32 rank_change = 13;
|
|
optional uint32 mmr_type = 74;
|
|
optional uint32 kills = 14;
|
|
optional uint32 deaths = 15;
|
|
optional uint32 assists = 16;
|
|
optional uint32 leaver_status = 17;
|
|
optional uint32 gold = 18;
|
|
optional uint32 last_hits = 19;
|
|
optional uint32 denies = 20;
|
|
optional uint32 gold_per_min = 21;
|
|
optional uint32 xp_per_min = 22;
|
|
optional uint32 gold_spent = 23;
|
|
optional uint32 hero_damage = 24;
|
|
optional uint32 tower_damage = 25;
|
|
optional uint32 hero_healing = 26;
|
|
optional uint32 level = 27;
|
|
optional uint32 time_last_seen = 28;
|
|
optional string player_name = 29;
|
|
optional uint32 support_ability_value = 30;
|
|
optional bool feeding_detected = 32;
|
|
optional uint32 search_rank = 34;
|
|
optional uint32 search_rank_uncertainty = 35;
|
|
optional int32 rank_uncertainty_change = 36;
|
|
optional uint32 hero_play_count = 37;
|
|
optional fixed64 party_id = 38;
|
|
optional uint32 scaled_hero_damage = 54;
|
|
optional uint32 scaled_tower_damage = 55;
|
|
optional uint32 scaled_hero_healing = 56;
|
|
optional float scaled_kills = 39;
|
|
optional float scaled_deaths = 40;
|
|
optional float scaled_assists = 41;
|
|
optional uint32 claimed_farm_gold = 42;
|
|
optional uint32 support_gold = 43;
|
|
optional uint32 claimed_denies = 44;
|
|
optional uint32 claimed_misses = 45;
|
|
optional uint32 misses = 46;
|
|
repeated .CMatchPlayerAbilityUpgrade ability_upgrades = 47;
|
|
repeated .CMatchAdditionalUnitInventory additional_units_inventory = 48;
|
|
repeated .CMatchPlayerPermanentBuff permanent_buffs = 57;
|
|
optional string pro_name = 72;
|
|
optional string real_name = 73;
|
|
optional .CMsgDOTAMatch.Player.CustomGameData custom_game_data = 50;
|
|
optional bool active_plus_subscription = 51;
|
|
optional uint32 net_worth = 52;
|
|
optional uint32 bot_difficulty = 58;
|
|
optional uint32 hero_pick_order = 63;
|
|
optional bool hero_was_randomed = 64;
|
|
optional bool hero_was_dota_plus_suggestion = 69;
|
|
repeated .CMsgDOTAMatch.Player.HeroDamageReceived hero_damage_received = 67;
|
|
repeated .CMsgDOTAMatch.Player.HeroDamageReceived hero_damage_dealt = 79;
|
|
optional uint32 seconds_dead = 70;
|
|
optional uint32 gold_lost_to_death = 71;
|
|
optional uint32 lane_selection_flags = 75;
|
|
optional uint32 bounty_runes = 77;
|
|
optional uint32 outposts_captured = 78;
|
|
optional .DOTA_GC_TEAM team_number = 80 [default = DOTA_GC_TEAM_GOOD_GUYS];
|
|
optional uint32 team_slot = 81;
|
|
optional uint32 selected_facet = 82;
|
|
}
|
|
|
|
message BroadcasterInfo {
|
|
optional uint32 account_id = 1;
|
|
optional string name = 2;
|
|
}
|
|
|
|
message BroadcasterChannel {
|
|
optional string country_code = 1;
|
|
optional string description = 2;
|
|
repeated .CMsgDOTAMatch.BroadcasterInfo broadcaster_infos = 3;
|
|
optional string language_code = 4;
|
|
}
|
|
|
|
message Coach {
|
|
optional uint32 account_id = 1;
|
|
optional string coach_name = 2;
|
|
optional uint32 coach_rating = 3;
|
|
optional uint32 coach_team = 4;
|
|
optional uint64 coach_party_id = 5;
|
|
optional bool is_private_coach = 6;
|
|
}
|
|
|
|
message CustomGameData {
|
|
optional uint64 custom_game_id = 1;
|
|
optional string map_name = 2;
|
|
}
|
|
|
|
enum ReplayState {
|
|
REPLAY_AVAILABLE = 0;
|
|
REPLAY_NOT_RECORDED = 1;
|
|
REPLAY_EXPIRED = 2;
|
|
}
|
|
|
|
optional uint32 duration = 3;
|
|
optional fixed32 starttime = 4;
|
|
repeated .CMsgDOTAMatch.Player players = 5;
|
|
optional uint64 match_id = 6;
|
|
repeated uint32 tower_status = 8;
|
|
repeated uint32 barracks_status = 9;
|
|
optional uint32 cluster = 10;
|
|
optional uint32 first_blood_time = 12;
|
|
optional fixed32 replay_salt = 13;
|
|
optional fixed32 server_ip = 14;
|
|
optional uint32 server_port = 15;
|
|
optional uint32 lobby_type = 16;
|
|
optional uint32 human_players = 17;
|
|
optional uint32 average_skill = 18;
|
|
optional float game_balance = 19;
|
|
optional uint32 radiant_team_id = 20;
|
|
optional uint32 dire_team_id = 21;
|
|
optional uint32 leagueid = 22;
|
|
optional string radiant_team_name = 23;
|
|
optional string dire_team_name = 24;
|
|
optional uint64 radiant_team_logo = 25;
|
|
optional uint64 dire_team_logo = 26;
|
|
optional string radiant_team_logo_url = 54;
|
|
optional string dire_team_logo_url = 55;
|
|
optional uint32 radiant_team_complete = 27;
|
|
optional uint32 dire_team_complete = 28;
|
|
optional .DOTA_GameMode game_mode = 31 [default = DOTA_GAMEMODE_NONE];
|
|
repeated .CMatchHeroSelectEvent picks_bans = 32;
|
|
optional uint64 match_seq_num = 33;
|
|
optional .CMsgDOTAMatch.ReplayState replay_state = 34 [default = REPLAY_AVAILABLE];
|
|
optional uint32 radiant_guild_id = 35;
|
|
optional uint32 dire_guild_id = 36;
|
|
optional string radiant_team_tag = 37;
|
|
optional string dire_team_tag = 38;
|
|
optional uint32 series_id = 39;
|
|
optional uint32 series_type = 40;
|
|
repeated .CMsgDOTAMatch.BroadcasterChannel broadcaster_channels = 43;
|
|
optional uint32 engine = 44;
|
|
optional .CMsgDOTAMatch.CustomGameData custom_game_data = 45;
|
|
optional uint32 match_flags = 46;
|
|
optional fixed32 private_metadata_key = 47;
|
|
optional uint32 radiant_team_score = 48;
|
|
optional uint32 dire_team_score = 49;
|
|
optional .EMatchOutcome match_outcome = 50 [default = k_EMatchOutcome_Unknown];
|
|
optional uint32 tournament_id = 51;
|
|
optional uint32 tournament_round = 52;
|
|
optional uint32 pre_game_duration = 53;
|
|
repeated .CMsgDOTAMatch.Coach coaches = 57;
|
|
}
|
|
|
|
message CMsgPlayerCard {
|
|
message StatModifier {
|
|
optional uint32 stat = 1;
|
|
optional uint32 value = 2;
|
|
}
|
|
|
|
optional uint32 account_id = 1;
|
|
repeated .CMsgPlayerCard.StatModifier stat_modifier = 2;
|
|
}
|
|
|
|
message CMsgDOTAFantasyPlayerStats {
|
|
optional uint32 player_account_id = 1;
|
|
optional uint64 match_id = 2;
|
|
optional bool match_completed = 3;
|
|
optional uint32 team_id = 4;
|
|
optional uint32 league_id = 5;
|
|
optional uint32 delay = 6;
|
|
optional uint32 series_id = 7;
|
|
optional uint32 series_type = 8;
|
|
optional uint32 kills = 10;
|
|
optional uint32 deaths = 11;
|
|
optional uint32 cs = 12;
|
|
optional float gpm = 13;
|
|
optional uint32 tower_kills = 14;
|
|
optional uint32 roshan_kills = 15;
|
|
optional float teamfight_participation = 16;
|
|
optional uint32 wards_placed = 17;
|
|
optional uint32 camps_stacked = 18;
|
|
optional uint32 runes_grabbed = 19;
|
|
optional uint32 first_blood = 20;
|
|
optional float stuns = 21;
|
|
optional uint32 smokes = 22;
|
|
optional uint32 neutral_tokens = 23;
|
|
optional uint32 watchers = 24;
|
|
optional uint32 lotuses = 25;
|
|
optional uint32 tormentors = 26;
|
|
optional uint32 courier_kills = 27;
|
|
optional fixed64 title_stats = 28;
|
|
}
|
|
|
|
message CMsgDOTAFantasyPlayerMatchStats {
|
|
repeated .CMsgDOTAFantasyPlayerStats matches = 1;
|
|
}
|
|
|
|
message CMsgDOTABotDebugInfo {
|
|
message Bot {
|
|
message Mode {
|
|
optional uint32 mode_id = 1;
|
|
optional float desire = 2;
|
|
optional int32 target_entity = 3 [default = -1];
|
|
optional uint32 target_x = 4;
|
|
optional uint32 target_y = 5;
|
|
optional uint32 target_z = 6;
|
|
}
|
|
|
|
message Action {
|
|
optional uint32 action_id = 1;
|
|
optional string action_target = 2;
|
|
}
|
|
|
|
optional int32 player_owner_id = 1 [default = -1];
|
|
optional int32 hero_id = 2;
|
|
optional uint32 difficulty = 3;
|
|
optional uint32 power_current = 4;
|
|
optional uint32 power_max = 5;
|
|
optional uint32 move_target_x = 6;
|
|
optional uint32 move_target_y = 7;
|
|
optional uint32 move_target_z = 8;
|
|
optional uint32 active_mode_id = 9;
|
|
optional float execution_time = 10;
|
|
repeated .CMsgDOTABotDebugInfo.Bot.Mode modes = 11;
|
|
optional .CMsgDOTABotDebugInfo.Bot.Action action = 12;
|
|
}
|
|
|
|
repeated .CMsgDOTABotDebugInfo.Bot bots = 1;
|
|
optional float desire_push_lane_top = 2;
|
|
optional float desire_push_lane_mid = 3;
|
|
optional float desire_push_lane_bot = 4;
|
|
optional float desire_defend_lane_top = 5;
|
|
optional float desire_defend_lane_mid = 6;
|
|
optional float desire_defend_lane_bot = 7;
|
|
optional float desire_farm_lane_top = 8;
|
|
optional float desire_farm_lane_mid = 9;
|
|
optional float desire_farm_lane_bot = 10;
|
|
optional float desire_farm_roshan = 11;
|
|
optional float execution_time = 12;
|
|
repeated uint32 rune_status = 13;
|
|
}
|
|
|
|
message CMsgSuccessfulHero {
|
|
optional int32 hero_id = 1;
|
|
optional float win_percent = 2;
|
|
optional uint32 longest_streak = 3;
|
|
}
|
|
|
|
message CMsgRecentMatchInfo {
|
|
optional uint64 match_id = 1;
|
|
optional .DOTA_GameMode game_mode = 2 [default = DOTA_GAMEMODE_NONE];
|
|
optional uint32 kills = 3;
|
|
optional uint32 deaths = 4;
|
|
optional uint32 assists = 5;
|
|
optional uint32 duration = 6;
|
|
optional uint32 player_slot = 7;
|
|
optional .EMatchOutcome match_outcome = 8 [default = k_EMatchOutcome_Unknown];
|
|
optional uint32 timestamp = 9;
|
|
optional uint32 lobby_type = 10;
|
|
optional uint32 team_number = 11;
|
|
}
|
|
|
|
message CMsgMatchTips {
|
|
message SingleTip {
|
|
optional uint32 source_account_id = 1;
|
|
optional uint32 target_account_id = 2;
|
|
optional uint32 tip_amount = 3;
|
|
optional .EEvent event_id = 4 [default = EVENT_ID_NONE];
|
|
}
|
|
|
|
repeated .CMsgMatchTips.SingleTip tips = 2;
|
|
}
|
|
|
|
message CMsgDOTAMatchMinimal {
|
|
message Player {
|
|
optional uint32 account_id = 1;
|
|
optional int32 hero_id = 2;
|
|
optional uint32 kills = 3;
|
|
optional uint32 deaths = 4;
|
|
optional uint32 assists = 5;
|
|
repeated int32 items = 6;
|
|
optional uint32 player_slot = 7;
|
|
optional string pro_name = 8;
|
|
optional uint32 level = 9;
|
|
optional .DOTA_GC_TEAM team_number = 10 [default = DOTA_GC_TEAM_GOOD_GUYS];
|
|
}
|
|
|
|
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 string radiant_team_logo_url = 14;
|
|
optional uint32 dire_team_id = 5;
|
|
optional string dire_team_name = 6;
|
|
optional fixed64 dire_team_logo = 7;
|
|
optional string dire_team_logo_url = 15;
|
|
}
|
|
|
|
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];
|
|
optional uint32 radiant_score = 9;
|
|
optional uint32 dire_score = 10;
|
|
optional uint32 lobby_type = 11;
|
|
}
|
|
|
|
message CMsgConsumableUsage {
|
|
optional uint32 item_def = 1;
|
|
optional int32 quantity_change = 2;
|
|
}
|
|
|
|
message CMsgMatchConsumableUsage {
|
|
message PlayerUsage {
|
|
optional uint32 account_id = 1;
|
|
repeated .CMsgConsumableUsage consumables_used = 2;
|
|
}
|
|
|
|
repeated .CMsgMatchConsumableUsage.PlayerUsage player_consumables_used = 1;
|
|
}
|
|
|
|
message CMsgMatchEventActionGrants {
|
|
message PlayerGrants {
|
|
optional uint32 account_id = 1;
|
|
repeated .CMsgPendingEventAward actions_granted = 3;
|
|
}
|
|
|
|
repeated .CMsgMatchEventActionGrants.PlayerGrants player_grants = 1;
|
|
}
|
|
|
|
message CMsgCustomGameWhitelist {
|
|
optional uint32 version = 1;
|
|
repeated uint64 custom_games_whitelist = 2;
|
|
optional bool disable_whitelist = 3;
|
|
}
|
|
|
|
message CMsgCustomGameWhitelistForEdit {
|
|
message WhitelistEntry {
|
|
optional uint64 custom_game_id = 1;
|
|
optional .ECustomGameWhitelistState whitelist_state = 2 [default = CUSTOM_GAME_WHITELIST_STATE_UNKNOWN];
|
|
}
|
|
|
|
repeated .CMsgCustomGameWhitelistForEdit.WhitelistEntry whitelist_entries = 1;
|
|
}
|
|
|
|
message CMsgPlayerRecentMatchInfo {
|
|
optional uint64 match_id = 1;
|
|
optional uint32 timestamp = 2;
|
|
optional uint32 duration = 3;
|
|
optional bool win = 4;
|
|
optional int32 hero_id = 5;
|
|
optional uint32 kills = 6;
|
|
optional uint32 deaths = 7;
|
|
optional uint32 assists = 8;
|
|
}
|
|
|
|
message CMsgPlayerMatchRecord {
|
|
optional uint32 wins = 1;
|
|
optional uint32 losses = 2;
|
|
}
|
|
|
|
message CMsgPlayerRecentMatchOutcomes {
|
|
optional uint32 outcomes = 1;
|
|
optional uint32 match_count = 2;
|
|
}
|
|
|
|
message CMsgPlayerRecentCommends {
|
|
optional uint32 commends = 1;
|
|
optional uint32 match_count = 2;
|
|
}
|
|
|
|
message CMsgPlayerRecentAccomplishments {
|
|
optional .CMsgPlayerRecentMatchOutcomes recent_outcomes = 1;
|
|
optional .CMsgPlayerMatchRecord total_record = 2;
|
|
optional uint32 prediction_streak = 3;
|
|
optional uint32 plus_prediction_streak = 4;
|
|
optional .CMsgPlayerRecentCommends recent_commends = 5;
|
|
optional uint32 first_match_timestamp = 6;
|
|
optional .CMsgPlayerRecentMatchInfo last_match = 7;
|
|
optional .CMsgPlayerRecentMatchOutcomes recent_mvps = 8;
|
|
}
|
|
|
|
message CMsgPlayerHeroRecentAccomplishments {
|
|
optional .CMsgPlayerRecentMatchOutcomes recent_outcomes = 1;
|
|
optional .CMsgPlayerMatchRecord total_record = 2;
|
|
optional .CMsgPlayerRecentMatchInfo last_match = 3;
|
|
}
|
|
|
|
message CMsgRecentAccomplishments {
|
|
optional .CMsgPlayerRecentAccomplishments player_accomplishments = 1;
|
|
optional .CMsgPlayerHeroRecentAccomplishments hero_accomplishments = 2;
|
|
}
|
|
|
|
message CMsgServerToGCRequestPlayerRecentAccomplishments {
|
|
optional uint32 account_id = 1;
|
|
optional int32 hero_id = 2;
|
|
}
|
|
|
|
message CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse {
|
|
enum EResponse {
|
|
k_eInternalError = 0;
|
|
k_eSuccess = 1;
|
|
k_eTooBusy = 2;
|
|
k_eDisabled = 3;
|
|
}
|
|
|
|
optional .CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse.EResponse result = 1 [default = k_eInternalError];
|
|
optional .CMsgRecentAccomplishments player_accomplishments = 2;
|
|
}
|
|
|
|
message CMsgArcanaVoteMatchVotes {
|
|
optional uint32 match_id = 1;
|
|
optional int32 hero_id = 2;
|
|
optional uint32 vote_count = 3;
|
|
}
|
|
|
|
message CMsgGCtoGCAssociatedExploiterAccountInfo {
|
|
optional uint32 account_id = 1;
|
|
optional uint32 num_matches_to_search = 2;
|
|
optional uint32 min_shared_match_count = 3;
|
|
optional uint32 num_additional_players = 4;
|
|
}
|
|
|
|
message CMsgGCtoGCAssociatedExploiterAccountInfoResponse {
|
|
message Account {
|
|
optional uint32 account_id = 1;
|
|
optional uint32 num_common_matches = 2;
|
|
optional uint32 earliest_common_match = 3;
|
|
optional uint32 latest_common_match = 4;
|
|
optional uint32 generation = 5;
|
|
optional string persona = 6;
|
|
optional bool already_banned = 7;
|
|
}
|
|
|
|
repeated .CMsgGCtoGCAssociatedExploiterAccountInfoResponse.Account accounts = 1;
|
|
}
|
|
|
|
message CMsgPullTabsData {
|
|
message Slot {
|
|
optional uint32 event_id = 1;
|
|
optional uint32 board_id = 2;
|
|
optional int32 hero_id = 3;
|
|
optional uint32 action_id = 4;
|
|
optional bool redeemed = 5;
|
|
}
|
|
|
|
message Jackpot {
|
|
optional uint32 board_id = 1;
|
|
optional uint32 action_id = 2;
|
|
optional int32 hero_id = 3;
|
|
}
|
|
|
|
repeated .CMsgPullTabsData.Slot slots = 1;
|
|
repeated .CMsgPullTabsData.Jackpot jackpots = 2;
|
|
optional uint32 last_board = 3;
|
|
}
|
|
|
|
message CMsgUnderDraftData {
|
|
message BenchSlot {
|
|
optional uint32 slot_id = 1;
|
|
optional int32 hero_id = 2;
|
|
optional uint32 stars = 3;
|
|
}
|
|
|
|
message ShopSlot {
|
|
optional uint32 slot_id = 1;
|
|
optional int32 hero_id = 2;
|
|
optional bool is_special_reward = 3;
|
|
}
|
|
|
|
repeated .CMsgUnderDraftData.BenchSlot bench_slots = 1;
|
|
repeated .CMsgUnderDraftData.ShopSlot shop_slots = 2;
|
|
optional uint32 gold = 3;
|
|
optional uint32 total_gold = 4;
|
|
optional bool not_restorable = 5;
|
|
}
|
|
|
|
message CMsgPlayerTitleData {
|
|
repeated uint32 title = 1;
|
|
repeated uint32 event_id = 2;
|
|
optional uint32 active = 3;
|
|
}
|
|
|
|
message CMsgDOTATriviaQuestion {
|
|
optional uint32 question_id = 1;
|
|
optional .EDOTATriviaQuestionCategory category = 2 [default = k_EDOTATriviaQuestionCategory_AbilityIcon];
|
|
optional uint32 timestamp = 3;
|
|
optional string question_value = 4;
|
|
repeated string answer_values = 5;
|
|
optional uint32 correct_answer_index = 6;
|
|
}
|
|
|
|
message CMsgDOTATriviaQuestionAnswersSummary {
|
|
optional bool summary_available = 1;
|
|
repeated uint32 picked_count = 2;
|
|
}
|
|
|
|
message CMsgGameDataSpecialValueBonus {
|
|
optional string name = 1;
|
|
optional float value = 2;
|
|
optional uint32 operation = 3;
|
|
}
|
|
|
|
message CMsgGameDataSpecialValues {
|
|
optional string name = 1;
|
|
repeated float values_float = 2;
|
|
optional bool is_percentage = 4;
|
|
optional string heading_loc = 5;
|
|
repeated .CMsgGameDataSpecialValueBonus bonuses = 6;
|
|
repeated float values_shard = 7;
|
|
repeated float values_scepter = 8;
|
|
optional .CMsgGameDataFacetAbilityBonus facet_bonus = 9;
|
|
optional string required_facet = 10;
|
|
}
|
|
|
|
message CMsgGameDataFacetAbilityBonus {
|
|
optional string name = 1;
|
|
repeated float values = 2;
|
|
optional uint32 operation = 3;
|
|
}
|
|
|
|
message CMsgGameDataAbilityOrItem {
|
|
optional int32 id = 1 [default = -1];
|
|
optional string name = 2;
|
|
optional string name_loc = 5;
|
|
optional string desc_loc = 6;
|
|
optional string lore_loc = 7;
|
|
repeated string notes_loc = 8;
|
|
optional string shard_loc = 9;
|
|
optional string scepter_loc = 10;
|
|
repeated string facets_loc = 11;
|
|
optional uint32 type = 20;
|
|
optional uint64 behavior = 21;
|
|
optional uint32 target_team = 22;
|
|
optional uint32 target_type = 23;
|
|
optional uint32 flags = 24;
|
|
optional uint32 damage = 25;
|
|
optional uint32 immunity = 26;
|
|
optional uint32 dispellable = 27;
|
|
optional uint32 max_level = 28;
|
|
repeated uint32 cast_ranges = 30;
|
|
repeated float cast_points = 31;
|
|
repeated float channel_times = 32;
|
|
repeated float cooldowns = 33;
|
|
repeated float durations = 34;
|
|
repeated uint32 damages = 35;
|
|
repeated uint32 mana_costs = 36;
|
|
repeated uint32 gold_costs = 37;
|
|
repeated uint32 health_costs = 38;
|
|
repeated .CMsgGameDataSpecialValues special_values = 40;
|
|
optional bool is_item = 50;
|
|
optional bool ability_has_scepter = 60;
|
|
optional bool ability_has_shard = 61;
|
|
optional bool ability_is_granted_by_scepter = 62;
|
|
optional bool ability_is_granted_by_shard = 63;
|
|
optional bool ability_is_innate = 64;
|
|
optional uint32 item_cost = 70;
|
|
optional uint32 item_initial_charges = 71;
|
|
optional uint32 item_neutral_tier = 72;
|
|
optional uint32 item_stock_max = 73;
|
|
optional float item_stock_time = 74;
|
|
optional uint32 item_quality = 85;
|
|
}
|
|
|
|
message CMsgGameDataAbilityOrItemList {
|
|
repeated .CMsgGameDataAbilityOrItem abilities = 1;
|
|
}
|
|
|
|
message CMsgGameDataHero {
|
|
message Facet {
|
|
optional uint32 color = 1;
|
|
optional string title_loc = 2;
|
|
optional string description_loc = 3;
|
|
optional string name = 4;
|
|
optional string icon = 5;
|
|
optional int32 gradient_id = 6;
|
|
}
|
|
|
|
optional int32 id = 1;
|
|
optional string name = 2;
|
|
optional uint32 order_id = 3;
|
|
optional string name_loc = 5;
|
|
optional string bio_loc = 6;
|
|
optional string hype_loc = 7;
|
|
optional string npe_desc_loc = 8;
|
|
repeated .CMsgGameDataHero.Facet facets = 43;
|
|
optional uint32 str_base = 10;
|
|
optional float str_gain = 11;
|
|
optional uint32 agi_base = 12;
|
|
optional float agi_gain = 13;
|
|
optional uint32 int_base = 14;
|
|
optional float int_gain = 15;
|
|
optional uint32 primary_attr = 20;
|
|
optional uint32 complexity = 21;
|
|
optional uint32 attack_capability = 22;
|
|
repeated uint32 role_levels = 23;
|
|
optional int32 damage_min = 24;
|
|
optional int32 damage_max = 25;
|
|
optional float attack_rate = 26;
|
|
optional uint32 attack_range = 27;
|
|
optional uint32 projectile_speed = 28;
|
|
optional float armor = 29;
|
|
optional uint32 magic_resistance = 30;
|
|
optional uint32 movement_speed = 31;
|
|
optional float turn_rate = 32;
|
|
optional uint32 sight_range_day = 33;
|
|
optional uint32 sight_range_night = 34;
|
|
optional uint32 max_health = 35;
|
|
optional float health_regen = 36;
|
|
optional uint32 max_mana = 37;
|
|
optional float mana_regen = 38;
|
|
repeated .CMsgGameDataAbilityOrItem abilities = 40;
|
|
repeated .CMsgGameDataAbilityOrItem talents = 41;
|
|
repeated .CMsgGameDataAbilityOrItemList facet_abilities = 42;
|
|
}
|
|
|
|
message CMsgGameDataAbilities {
|
|
repeated .CMsgGameDataAbilityOrItem abilities = 1;
|
|
}
|
|
|
|
message CMsgGameDataItems {
|
|
repeated .CMsgGameDataAbilityOrItem items = 1;
|
|
}
|
|
|
|
message CMsgGameDataHeroes {
|
|
repeated .CMsgGameDataHero heroes = 1;
|
|
}
|
|
|
|
message CMsgGameDataHeroList {
|
|
message HeroInfo {
|
|
optional int32 id = 1;
|
|
optional string name = 2;
|
|
optional string name_loc = 3;
|
|
optional string name_english_loc = 4;
|
|
optional uint32 primary_attr = 5;
|
|
optional uint32 complexity = 6;
|
|
}
|
|
|
|
repeated .CMsgGameDataHeroList.HeroInfo heroes = 1;
|
|
}
|
|
|
|
message CMsgGameDataItemAbilityList {
|
|
message ItemAbilityInfo {
|
|
message Recipe {
|
|
repeated int32 items = 1;
|
|
}
|
|
|
|
optional int32 id = 1 [default = -1];
|
|
optional string name = 2;
|
|
optional string name_loc = 3;
|
|
optional string name_english_loc = 4;
|
|
optional int32 neutral_item_tier = 5;
|
|
optional bool is_pregame_suggested = 6;
|
|
optional bool is_earlygame_suggested = 7;
|
|
optional bool is_lategame_suggested = 8;
|
|
repeated .CMsgGameDataItemAbilityList.ItemAbilityInfo.Recipe recipes = 9;
|
|
}
|
|
|
|
repeated .CMsgGameDataItemAbilityList.ItemAbilityInfo itemabilities = 1;
|
|
}
|
|
|
|
message CMsgLobbyAbilityDraftData {
|
|
optional bool shuffle_draft_order = 1;
|
|
}
|
|
|
|
message CSOEconItemDropRateBonus {
|
|
optional uint32 account_id = 1 [(key_field) = true];
|
|
optional fixed32 expiration_date = 2;
|
|
optional float bonus = 3 [(key_field) = true];
|
|
optional uint32 bonus_count = 4;
|
|
optional uint64 item_id = 5;
|
|
optional uint32 def_index = 6;
|
|
optional uint32 seconds_left = 7;
|
|
optional uint32 booster_type = 8 [(key_field) = true];
|
|
}
|
|
|
|
message CSOEconItemTournamentPassport {
|
|
optional uint32 account_id = 1;
|
|
optional uint32 league_id = 2;
|
|
optional uint64 item_id = 3;
|
|
optional uint32 original_purchaser_id = 4;
|
|
optional uint32 passports_bought = 5;
|
|
optional uint32 version = 6;
|
|
optional uint32 def_index = 7;
|
|
optional uint32 reward_flags = 8;
|
|
}
|
|
|
|
message CMsgStickerbookSticker {
|
|
optional uint32 item_def_id = 1;
|
|
optional uint32 sticker_num = 2;
|
|
optional uint32 quality = 3;
|
|
optional float position_x = 4;
|
|
optional float position_y = 5;
|
|
optional float position_z = 8;
|
|
optional float rotation = 6;
|
|
optional float scale = 7;
|
|
optional uint64 source_item_id = 9;
|
|
optional uint32 depth_bias = 10;
|
|
}
|
|
|
|
message CMsgStickerbookPage {
|
|
optional uint32 page_num = 1;
|
|
optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
|
|
optional uint32 team_id = 3;
|
|
repeated .CMsgStickerbookSticker stickers = 4;
|
|
optional .EStickerbookPageType page_type = 5 [default = STICKER_PAGE_GENERIC];
|
|
}
|
|
|
|
message CMsgStickerbookTeamPageOrderSequence {
|
|
repeated uint32 page_numbers = 1;
|
|
}
|
|
|
|
message CMsgStickerbook {
|
|
repeated .CMsgStickerbookPage pages = 1;
|
|
optional .CMsgStickerbookTeamPageOrderSequence team_page_order_sequence = 2;
|
|
optional uint32 favorite_page_num = 3;
|
|
}
|
|
|
|
message CMsgStickerHero {
|
|
optional int32 hero_id = 1;
|
|
optional uint32 item_def_id = 2;
|
|
optional uint32 quality = 3;
|
|
optional uint64 source_item_id = 4;
|
|
}
|
|
|
|
message CMsgStickerHeroes {
|
|
repeated .CMsgStickerHero heroes = 1;
|
|
}
|
|
|
|
message CMsgHeroRoleStats {
|
|
optional uint32 lane_selection_flags = 1;
|
|
optional uint32 match_count = 2;
|
|
optional uint32 win_count = 3;
|
|
}
|
|
|
|
message CMsgHeroRoleHeroStats {
|
|
optional int32 hero_id = 1;
|
|
repeated .CMsgHeroRoleStats role_stats = 2;
|
|
}
|
|
|
|
message CMsgHeroRoleRankStats {
|
|
optional uint32 rank_tier = 1;
|
|
repeated .CMsgHeroRoleHeroStats hero_stats = 2;
|
|
}
|
|
|
|
message CMsgHeroRoleAllRanksStats {
|
|
optional uint32 start_timestamp = 1;
|
|
optional uint32 end_timestamp = 2;
|
|
repeated .CMsgHeroRoleRankStats rank_stats = 3;
|
|
}
|
|
|
|
message CMsgMapStatsSnapshot {
|
|
optional uint32 timestamp = 1;
|
|
optional uint64 lotuses_gained = 2;
|
|
optional uint64 wisdom_runes_gained = 3;
|
|
optional uint64 roshan_kills_day = 4;
|
|
optional uint64 roshan_kills_night = 5;
|
|
optional uint64 portals_used = 6;
|
|
optional uint64 watchers_taken = 7;
|
|
optional uint64 tormentor_kills = 8;
|
|
optional uint64 outposts_captured = 9;
|
|
optional uint64 shield_runes_gained = 10;
|
|
}
|
|
|
|
message CMsgGlobalMapStats {
|
|
optional .CMsgMapStatsSnapshot current = 1;
|
|
optional .CMsgMapStatsSnapshot window_start = 2;
|
|
optional .CMsgMapStatsSnapshot window_end = 3;
|
|
}
|
|
|
|
message CMsgTrackedStat {
|
|
optional uint32 tracked_stat_id = 1;
|
|
optional int32 tracked_stat_value = 2;
|
|
}
|
|
|
|
message CMsgDOTAClaimEventActionResponse {
|
|
message MysteryItemRewardData {
|
|
optional uint32 item_def = 1;
|
|
optional uint32 item_category = 2;
|
|
}
|
|
|
|
message LootListRewardData {
|
|
repeated uint32 item_def = 1;
|
|
}
|
|
|
|
message ActionListRewardData {
|
|
optional uint32 action_id = 1;
|
|
optional bytes result_reward_data = 2;
|
|
}
|
|
|
|
message OverworldTokenRewardData {
|
|
message TokenQuantity {
|
|
optional uint32 token_id = 1;
|
|
optional uint32 token_count = 2;
|
|
}
|
|
|
|
repeated .CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.TokenQuantity tokens = 1;
|
|
}
|
|
|
|
message GrantedRewardData {
|
|
optional uint32 grant_index = 1;
|
|
optional uint32 score_index = 2;
|
|
optional uint32 reward_index = 3;
|
|
optional bytes reward_data = 4;
|
|
optional uint32 action_id = 5;
|
|
}
|
|
|
|
enum ResultCode {
|
|
Success = 0;
|
|
InvalidEvent = 1;
|
|
EventNotActive = 2;
|
|
InvalidAction = 3;
|
|
ServerError = 4;
|
|
InsufficientPoints = 5;
|
|
InsufficentLevel = 6;
|
|
AlreadyClaimed = 7;
|
|
SDOLockFailure = 8;
|
|
SDOLoadFailure = 9;
|
|
EventNotOwned = 10;
|
|
Timeout = 11;
|
|
RequiresPlusSubscription = 12;
|
|
InvalidItem = 13;
|
|
AsyncRewards = 14;
|
|
}
|
|
|
|
optional .CMsgDOTAClaimEventActionResponse.ResultCode result = 1 [default = Success];
|
|
repeated .CMsgDOTAClaimEventActionResponse.GrantedRewardData reward_results = 2;
|
|
optional uint32 action_id = 3;
|
|
}
|
|
|
|
message CMsgClientToGCDotaLabsFeedback {
|
|
optional uint32 language = 1;
|
|
optional uint32 feedback_item = 2;
|
|
optional string feedback = 3;
|
|
}
|
|
|
|
message CMsgClientToGCDotaLabsFeedbackResponse {
|
|
enum EResponse {
|
|
k_eInternalError = 0;
|
|
k_eSuccess = 1;
|
|
k_eTooBusy = 2;
|
|
k_eDisabled = 3;
|
|
k_eTimeout = 4;
|
|
k_eNotAllowed = 5;
|
|
k_eInvalidItem = 6;
|
|
}
|
|
|
|
optional .CMsgClientToGCDotaLabsFeedbackResponse.EResponse response = 1 [default = k_eInternalError];
|
|
}
|
|
|
|
message CDotaMsg_PredictionResult {
|
|
message Prediction {
|
|
enum EResult {
|
|
k_eResult_ItemGranted = 1;
|
|
k_eResult_Destroyed = 2;
|
|
}
|
|
|
|
optional uint32 item_def = 1;
|
|
optional uint32 num_correct = 2;
|
|
optional uint32 num_fails = 3;
|
|
optional .CDotaMsg_PredictionResult.Prediction.EResult result = 4 [default = k_eResult_ItemGranted];
|
|
repeated uint32 granted_item_defs = 6;
|
|
}
|
|
|
|
optional uint32 account_id = 1;
|
|
optional uint64 match_id = 2;
|
|
optional bool correct = 3;
|
|
repeated .CDotaMsg_PredictionResult.Prediction predictions = 4;
|
|
}
|