Update protos and re-add Dota-specific ones

This commit is contained in:
Nicholas Hastings 2025-02-15 12:46:41 -05:00
parent 637e2f8bdf
commit 29424222e8
24 changed files with 10911 additions and 575 deletions

View File

@ -427,7 +427,7 @@ message CSVCMsg_PacketEntities {
optional uint32 server_tick = 12;
optional bytes serialized_entities = 13;
repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15;
optional uint32 has_pvs_vis_bits = 16;
optional uint32 has_pvs_vis_bits_deprecated = 16;
repeated sint32 cmd_recv_status = 22 [packed = true];
optional .CSVCMsg_PacketEntities.non_transmitted_entities_t non_transmitted_entities = 19;
optional uint32 cq_starved_command_ticks = 20;

View File

@ -8,6 +8,7 @@ extend .google.protobuf.FieldOptions {
optional uint32 steamml_max_entries = 61004 [default = 0];
optional bool steamml_is_timestamp = 61005 [default = false];
optional uint32 steamlearn_count = 61006 [default = 0];
optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always];
}
extend .google.protobuf.EnumValueOptions {
@ -15,3 +16,11 @@ extend .google.protobuf.EnumValueOptions {
optional string schema_description = 1001;
optional bool schema_suppress_enumerator = 1002;
}
enum EProtoDebugVisiblity {
k_EProtoDebugVisibility_Always = 0;
k_EProtoDebugVisibility_Server = 70;
k_EProtoDebugVisibility_ValveServer = 80;
k_EProtoDebugVisibility_GC = 90;
k_EProtoDebugVisibility_Never = 100;
}

View File

@ -1,574 +1,412 @@
import "steammessages.proto";
enum EGCBaseMsg {
k_EMsgGCSystemMessage = 4001;
k_EMsgGCReplicateConVars = 4002;
k_EMsgGCConVarUpdated = 4003;
k_EMsgGCInQueue = 4008;
k_EMsgGCInviteToParty = 4501;
k_EMsgGCInvitationCreated = 4502;
k_EMsgGCPartyInviteResponse = 4503;
k_EMsgGCKickFromParty = 4504;
k_EMsgGCLeaveParty = 4505;
k_EMsgGCServerAvailable = 4506;
k_EMsgGCClientConnectToServer = 4507;
k_EMsgGCGameServerInfo = 4508;
k_EMsgGCError = 4509;
k_EMsgGCReplay_UploadedToYouTube = 4510;
k_EMsgGCLANServerAvailable = 4511;
}
enum EGCBaseProtoObjectTypes {
k_EProtoObjectPartyInvite = 1001;
k_EProtoObjectLobbyInvite = 1002;
}
enum GC_BannedWordType {
GC_BANNED_WORD_DISABLE_WORD = 0;
GC_BANNED_WORD_ENABLE_WORD = 1;
}
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
optional uint64 supplemental_data = 5;
}
message CMsgGCStorePurchaseInit {
optional string country = 1;
optional int32 language = 2;
optional int32 currency = 3;
repeated .CGCStorePurchaseInit_LineItem line_items = 4;
}
message CMsgGCStorePurchaseInitResponse {
optional int32 result = 1;
optional uint64 txn_id = 2;
optional string url = 3;
repeated uint64 item_ids = 4;
}
message CSOPartyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CSOLobbyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CMsgSystemBroadcast {
optional string message = 1;
}
message CMsgInviteToParty {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
optional uint32 team_invite = 3;
}
message CMsgInvitationCreated {
optional uint64 group_id = 1;
optional fixed64 steam_id = 2;
}
message CMsgPartyInviteResponse {
optional uint64 party_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional uint32 team_invite = 4;
}
message CMsgKickFromParty {
optional fixed64 steam_id = 1;
}
message CMsgLeaveParty {
}
message CMsgServerAvailable {
}
message CMsgLANServerAvailable {
optional fixed64 lobby_id = 1;
}
message CSOEconGameAccountClient {
optional uint32 additional_backpack_slots = 1 [default = 0];
optional fixed32 trade_ban_expiration = 6;
optional fixed32 bonus_xp_timestamp_refresh = 12;
optional uint32 bonus_xp_usedflags = 13;
optional uint32 elevated_state = 14;
optional uint32 elevated_timestamp = 15;
}
message CSOItemCriteriaCondition {
optional int32 op = 1;
optional string field = 2;
optional bool required = 3;
optional float float_value = 4;
optional string string_value = 5;
}
message CSOItemCriteria {
optional uint32 item_level = 1;
optional int32 item_quality = 2;
optional bool item_level_set = 3;
optional bool item_quality_set = 4;
optional uint32 initial_inventory = 5;
optional uint32 initial_quantity = 6;
optional bool ignore_enabled_flag = 8;
repeated .CSOItemCriteriaCondition conditions = 9;
optional int32 item_rarity = 10;
optional bool item_rarity_set = 11;
optional bool recent_only = 12;
}
message CSOItemRecipe {
optional uint32 def_index = 1;
optional string name = 2;
optional string n_a = 3;
optional string desc_inputs = 4;
optional string desc_outputs = 5;
optional string di_a = 6;
optional string di_b = 7;
optional string di_c = 8;
optional string do_a = 9;
optional string do_b = 10;
optional string do_c = 11;
optional bool requires_all_same_class = 12;
optional bool requires_all_same_slot = 13;
optional int32 class_usage_for_output = 14;
optional int32 slot_usage_for_output = 15;
optional int32 set_for_output = 16;
repeated .CSOItemCriteria input_items_criteria = 20;
repeated .CSOItemCriteria output_items_criteria = 21;
repeated uint32 input_item_dupe_counts = 22;
}
message CMsgDevNewItemRequest {
optional fixed64 receiver = 1;
optional .CSOItemCriteria criteria = 2;
}
message CMsgIncrementKillCountAttribute {
optional fixed32 killer_account_id = 1;
optional fixed32 victim_account_id = 2;
optional uint64 item_id = 3;
optional uint32 event_type = 4;
optional uint32 amount = 5;
}
message CMsgApplySticker {
optional uint64 sticker_item_id = 1;
optional uint64 item_item_id = 2;
optional uint32 sticker_slot = 3;
optional uint32 baseitem_defidx = 4;
optional float sticker_wear = 5;
optional float sticker_rotation = 6;
optional float sticker_scale = 7;
optional float sticker_offset_x = 8;
optional float sticker_offset_y = 9;
optional float sticker_offset_z = 10;
optional float sticker_wear_target = 11;
}
message CMsgModifyItemAttribute {
optional uint64 item_id = 1;
optional uint32 attr_defidx = 2;
optional uint32 attr_value = 3;
}
message CMsgApplyStatTrakSwap {
optional uint64 tool_item_id = 1;
optional uint64 item_1_item_id = 2;
optional uint64 item_2_item_id = 3;
}
message CMsgApplyStrangePart {
optional uint64 strange_part_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgApplyPennantUpgrade {
optional uint64 upgrade_item_id = 1;
optional uint64 pennant_item_id = 2;
}
message CMsgApplyEggEssence {
optional uint64 essence_item_id = 1;
optional uint64 egg_item_id = 2;
}
message CSOEconItemAttribute {
optional uint32 def_index = 1;
optional uint32 value = 2;
optional bytes value_bytes = 3;
}
message CSOEconItemEquipped {
optional uint32 new_class = 1;
optional uint32 new_slot = 2;
}
message CSOEconItem {
optional uint64 id = 1;
optional uint32 account_id = 2;
optional uint32 inventory = 3;
optional uint32 def_index = 4;
optional uint32 quantity = 5;
optional uint32 level = 6;
optional uint32 quality = 7;
optional uint32 flags = 8 [default = 0];
optional uint32 origin = 9;
optional string custom_name = 10;
optional string custom_desc = 11;
repeated .CSOEconItemAttribute attribute = 12;
optional .CSOEconItem interior_item = 13;
optional bool in_use = 14 [default = false];
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16 [default = 0];
repeated .CSOEconItemEquipped equipped_state = 18;
optional uint32 rarity = 19;
}
message CMsgAdjustItemEquippedState {
optional uint64 item_id = 1;
optional uint32 new_class = 2;
optional uint32 new_slot = 3;
optional bool swap = 4;
}
message CMsgAdjustItemEquippedStateMulti {
repeated uint64 t_equips = 1;
repeated uint64 ct_equips = 2;
repeated uint64 noteam_equips = 3;
}
message CMsgSortItems {
optional uint32 sort_type = 1;
}
message CSOEconClaimCode {
optional uint32 account_id = 1;
optional uint32 code_type = 2;
optional uint32 time_acquired = 3;
optional string code = 4;
}
message CMsgStoreGetUserData {
optional fixed32 price_sheet_version = 1;
optional int32 currency = 2;
}
message CMsgStoreGetUserDataResponse {
optional int32 result = 1;
optional int32 currency_deprecated = 2;
optional string country_deprecated = 3;
optional fixed32 price_sheet_version = 4;
optional bytes price_sheet = 8;
}
message CMsgUpdateItemSchema {
optional bytes items_game = 1;
optional fixed32 item_schema_version = 2;
optional string items_game_url = 4;
}
message CMsgGCError {
optional string error_text = 1;
}
message CMsgRequestInventoryRefresh {
}
message CMsgConVarValue {
optional string name = 1;
optional string value = 2;
}
message CMsgReplicateConVars {
repeated .CMsgConVarValue convars = 1;
}
message CMsgUseItem {
optional uint64 item_id = 1;
optional fixed64 target_steam_id = 2;
repeated uint32 gift__potential_targets = 3;
optional uint32 duel__class_lock = 4;
optional fixed64 initiator_steam_id = 5;
}
message CMsgReplayUploadedToYouTube {
optional string youtube_url = 1;
optional string youtube_account_name = 2;
optional uint64 session_id = 3;
}
message CMsgConsumableExhausted {
optional int32 item_def_id = 1;
}
message CMsgItemAcknowledged__DEPRECATED {
optional uint32 account_id = 1;
optional uint32 inventory = 2;
optional uint32 def_index = 3;
optional uint32 quality = 4;
optional uint32 rarity = 5;
optional uint32 origin = 6;
optional uint64 item_id = 7;
}
message CMsgSetItemPositions {
message ItemPosition {
optional uint32 legacy_item_id = 1;
optional uint32 position = 2;
optional uint64 item_id = 3;
}
repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
}
message CMsgGCReportAbuse {
optional fixed64 target_steam_id = 1;
optional string description = 4;
optional uint64 gid = 5;
optional uint32 abuse_type = 2;
optional uint32 content_type = 3;
optional fixed32 target_game_server_ip = 6;
optional uint32 target_game_server_port = 7;
}
message CMsgGCReportAbuseResponse {
optional fixed64 target_steam_id = 1;
optional uint32 result = 2;
optional string error_message = 3;
}
message CMsgGCNameItemNotification {
optional fixed64 player_steamid = 1;
optional uint32 item_def_index = 2;
optional string item_name_custom = 3;
}
message CMsgGCClientDisplayNotification {
optional string notification_title_localization_key = 1;
optional string notification_body_localization_key = 2;
repeated string body_substring_keys = 3;
repeated string body_substring_values = 4;
}
message CMsgGCShowItemsPickedUp {
optional fixed64 player_steamid = 1;
}
message CMsgGCIncrementKillCountResponse {
optional uint32 killer_account_id = 1 [(key_field) = true];
optional uint32 num_kills = 2;
optional uint32 item_def = 3;
optional uint32 level_type = 4;
}
message CSOEconItemDropRateBonus {
optional uint32 account_id = 1;
optional fixed32 expiration_date = 2;
optional float bonus = 3;
optional uint32 bonus_count = 4;
optional uint64 item_id = 5;
optional uint32 def_index = 6;
}
message CSOEconItemLeagueViewPass {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 league_id = 2 [(key_field) = true];
optional uint32 admin = 3;
optional uint32 itemindex = 4;
}
message CSOEconItemEventTicket {
optional uint32 account_id = 1;
optional uint32 event_id = 2;
optional uint64 item_id = 3;
}
message CMsgGCItemPreviewItemBoughtNotification {
optional uint32 item_def_index = 1;
}
message CMsgGCStorePurchaseCancel {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseCancelResponse {
optional uint32 result = 1;
}
message CMsgGCStorePurchaseFinalize {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseFinalizeResponse {
optional uint32 result = 1;
repeated uint64 item_ids = 2;
}
message CMsgGCBannedWordListRequest {
optional uint32 ban_list_group_id = 1;
optional uint32 word_id = 2;
}
message CMsgGCRequestAnnouncements {
}
message CMsgGCRequestAnnouncementsResponse {
optional string announcement_title = 1;
optional string announcement = 2;
optional string nextmatch_title = 3;
optional string nextmatch = 4;
}
message CMsgGCBannedWord {
optional uint32 word_id = 1;
optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD];
optional string word = 3;
}
message CMsgGCBannedWordListResponse {
optional uint32 ban_list_group_id = 1;
repeated .CMsgGCBannedWord word_list = 2;
}
message CMsgGCToGCBannedWordListBroadcast {
optional .CMsgGCBannedWordListResponse broadcast = 1;
}
message CMsgGCToGCBannedWordListUpdated {
optional uint32 group_id = 1;
}
message CSOEconDefaultEquippedDefinitionInstanceClient {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 item_definition = 2;
optional uint32 class_id = 3 [(key_field) = true];
optional uint32 slot_id = 4 [(key_field) = true];
}
message CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgGCToGCDirtyMultipleSDOCache {
optional uint32 sdo_type = 1;
repeated uint64 key_uint64 = 2;
}
message CMsgGCCollectItem {
optional uint64 collection_item_id = 1;
optional uint64 subject_item_id = 2;
}
message CMsgSDONoMemcached {
}
message CMsgGCToGCUpdateSQLKeyValue {
optional string key_name = 1;
}
message CMsgGCToGCIsTrustedServer {
optional fixed64 steam_id = 1;
}
message CMsgGCToGCIsTrustedServerResponse {
optional bool is_trusted = 1;
}
message CMsgGCToGCBroadcastConsoleCommand {
optional string con_command = 1;
}
message CMsgGCServerVersionUpdated {
optional uint32 server_version = 1;
}
message CMsgGCClientVersionUpdated {
optional uint32 client_version = 1;
}
message CMsgGCToGCWebAPIAccountChanged {
}
message CMsgGCToGCRequestPassportItemGrant {
optional fixed64 steam_id = 1;
optional uint32 league_id = 2;
optional int32 reward_flag = 3;
}
message CMsgGameServerInfo {
enum ServerType {
UNSPECIFIED = 0;
GAME = 1;
PROXY = 2;
}
optional fixed32 server_public_ip_addr = 1;
optional fixed32 server_private_ip_addr = 2;
optional uint32 server_port = 3;
optional uint32 server_tv_port = 4;
optional string server_key = 5;
optional bool server_hibernation = 6;
optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED];
optional uint32 server_region = 8;
optional float server_loadavg = 9;
optional float server_tv_broadcast_time = 10;
optional float server_game_time = 11;
optional fixed64 server_relay_connected_steam_id = 12;
optional uint32 relay_slots_max = 13;
optional int32 relays_connected = 14;
optional int32 relay_clients_connected = 15;
optional fixed64 relayed_game_server_steam_id = 16;
optional uint32 parent_relay_count = 17;
optional fixed64 tv_secret_code = 18;
}
message CSOEconEquipSlot {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 class_id = 2 [(key_field) = true];
optional uint32 slot_id = 3 [(key_field) = true];
optional uint64 item_id = 4;
optional uint32 item_definition = 5;
}
message CMsgAdjustEquipSlot {
optional uint32 class_id = 1;
optional uint32 slot_id = 2;
optional uint64 item_id = 3;
}
message CMsgAdjustEquipSlots {
repeated .CMsgAdjustEquipSlot slots = 1;
optional uint32 change_num = 2;
}
message CMsgOpenCrate {
optional uint64 tool_item_id = 1;
optional uint64 subject_item_id = 2;
optional bool for_rental = 3;
}
message CSOEconRentalHistory {
optional uint32 account_id = 1 [(key_field) = true];
optional uint64 crate_item_id = 2 [(key_field) = true];
optional uint32 crate_def_index = 3;
optional uint32 issue_date = 4;
optional uint32 expiration_date = 5;
}
message CMsgAcknowledgeRentalExpiration {
optional uint64 crate_item_id = 1;
}
import "steammessages.proto";
import "gcsdk_gcmessages.proto";
import "steammessages_steamlearn.steamworkssdk.proto";
enum EGCBaseMsg {
k_EMsgGCInviteToParty = 4501;
k_EMsgGCInvitationCreated = 4502;
k_EMsgGCPartyInviteResponse = 4503;
k_EMsgGCKickFromParty = 4504;
k_EMsgGCLeaveParty = 4505;
k_EMsgGCServerAvailable = 4506;
k_EMsgGCClientConnectToServer = 4507;
k_EMsgGCGameServerInfo = 4508;
k_EMsgGCLANServerAvailable = 4511;
k_EMsgGCInviteToLobby = 4512;
k_EMsgGCLobbyInviteResponse = 4513;
k_EMsgGCToClientPollFileRequest = 4514;
k_EMsgGCToClientPollFileResponse = 4515;
k_EMsgGCToGCPerformManualOp = 4516;
k_EMsgGCToGCPerformManualOpCompleted = 4517;
k_EMsgGCToGCReloadServerRegionSettings = 4518;
k_EMsgGCAdditionalWelcomeMsgList = 4519;
k_EMsgGCToClientApplyRemoteConVars = 4520;
k_EMsgGCToServerApplyRemoteConVars = 4521;
k_EMsgClientToGCIntegrityStatus = 4522;
k_EMsgClientToGCAggregateMetrics = 4523;
k_EMsgGCToClientAggregateMetricsBackoff = 4524;
k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525;
k_EMsgGCToServerSteamLearnUseHTTP = 4526;
}
enum ECustomGameInstallStatus {
k_ECustomGameInstallStatus_Unknown = 0;
k_ECustomGameInstallStatus_Ready = 1;
k_ECustomGameInstallStatus_Busy = 2;
k_ECustomGameInstallStatus_FailedGeneric = 101;
k_ECustomGameInstallStatus_FailedInternalError = 102;
k_ECustomGameInstallStatus_RequestedTimestampTooOld = 103;
k_ECustomGameInstallStatus_RequestedTimestampTooNew = 104;
k_ECustomGameInstallStatus_CRCMismatch = 105;
k_ECustomGameInstallStatus_FailedSteam = 106;
k_ECustomGameInstallStatus_FailedCanceled = 107;
}
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
optional uint64 source_reference_id = 5;
optional int32 price_index = 6;
}
message CMsgGCStorePurchaseInit {
optional string country = 1;
optional int32 language = 2;
optional int32 currency = 3;
repeated .CGCStorePurchaseInit_LineItem line_items = 4;
}
message CMsgGCStorePurchaseInitResponse {
optional int32 result = 1;
optional uint64 txn_id = 2;
}
message CMsgClientPingData {
repeated fixed32 relay_codes = 4 [packed = true];
repeated uint32 relay_pings = 5 [packed = true];
repeated uint32 region_codes = 8 [packed = true];
repeated uint32 region_pings = 9 [packed = true];
optional uint32 region_ping_failed_bitmask = 10;
}
message CMsgInviteToParty {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
optional uint32 team_id = 3;
optional bool as_coach = 4;
optional .CMsgClientPingData ping_data = 5;
}
message CMsgInviteToLobby {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
}
message CMsgInvitationCreated {
optional uint64 group_id = 1;
optional fixed64 steam_id = 2;
optional bool user_offline = 3;
}
message CMsgPartyInviteResponse {
optional uint64 party_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional .CMsgClientPingData ping_data = 8;
}
message CMsgLobbyInviteResponse {
optional fixed64 lobby_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional fixed64 custom_game_crc = 6;
optional fixed32 custom_game_timestamp = 7;
}
message CMsgKickFromParty {
optional fixed64 steam_id = 1;
}
message CMsgLeaveParty {
}
message CMsgCustomGameInstallStatus {
optional .ECustomGameInstallStatus status = 1 [default = k_ECustomGameInstallStatus_Unknown];
optional string message = 2;
optional fixed32 latest_timestamp_from_steam = 3;
}
message CMsgServerAvailable {
optional .CMsgCustomGameInstallStatus custom_game_install_status = 1;
}
message CMsgLANServerAvailable {
optional fixed64 lobby_id = 1;
}
message CSOEconGameAccountClient {
optional uint32 additional_backpack_slots = 1 [default = 0];
optional bool trial_account = 2 [default = false];
optional bool eligible_for_online_play = 3 [default = true];
optional bool need_to_choose_most_helpful_friend = 4;
optional bool in_coaches_list = 5;
optional fixed32 trade_ban_expiration = 6;
optional fixed32 duel_ban_expiration = 7;
optional bool made_first_purchase = 9 [default = false];
}
message CMsgApplyStrangePart {
optional uint64 strange_part_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgApplyPennantUpgrade {
optional uint64 upgrade_item_id = 1;
optional uint64 pennant_item_id = 2;
}
message CMsgApplyEggEssence {
optional uint64 essence_item_id = 1;
optional uint64 egg_item_id = 2;
}
message CSOEconItemAttribute {
optional uint32 def_index = 1 [default = 65535];
optional uint32 value = 2;
optional bytes value_bytes = 3;
}
message CSOEconItemEquipped {
optional uint32 new_class = 1;
optional uint32 new_slot = 2;
}
message CSOEconItem {
optional uint64 id = 1;
optional uint32 account_id = 2;
optional uint32 inventory = 3;
optional uint32 def_index = 4;
optional uint32 quantity = 5 [default = 1];
optional uint32 level = 6 [default = 1];
optional uint32 quality = 7 [default = 4];
optional uint32 flags = 8 [default = 0];
optional uint32 origin = 9 [default = 0];
repeated .CSOEconItemAttribute attribute = 12;
optional .CSOEconItem interior_item = 13;
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16;
repeated .CSOEconItemEquipped equipped_state = 18;
}
message CMsgSortItems {
optional uint32 sort_type = 1;
}
message CMsgItemAcknowledged {
optional uint32 account_id = 1;
optional uint32 inventory = 2;
optional uint32 def_index = 3;
optional uint32 quality = 4;
optional uint32 rarity = 5;
optional uint32 origin = 6;
}
message CMsgSetItemPositions {
message ItemPosition {
optional uint64 item_id = 1;
optional uint32 position = 2;
}
repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
}
message CMsgGCStorePurchaseCancel {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseCancelResponse {
optional uint32 result = 1;
}
message CMsgGCStorePurchaseFinalize {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseFinalizeResponse {
optional uint32 result = 1;
repeated uint64 item_ids = 2;
}
message CMsgGCToGCBannedWordListUpdated {
optional uint32 group_id = 1;
}
message CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgSDONoMemcached {
}
message CMsgGCToGCUpdateSQLKeyValue {
optional string key_name = 1;
}
message CMsgGCServerVersionUpdated {
optional uint32 server_version = 1;
}
message CMsgGCClientVersionUpdated {
optional uint32 client_version = 1;
}
message CMsgGCToGCWebAPIAccountChanged {
}
message CMsgExtractGems {
optional uint64 tool_item_id = 1;
optional uint64 item_item_id = 2;
optional uint32 item_socket_id = 3 [default = 65535];
}
message CMsgExtractGemsResponse {
enum EExtractGems {
k_ExtractGems_Succeeded = 0;
k_ExtractGems_Failed_ToolIsInvalid = 1;
k_ExtractGems_Failed_ItemIsInvalid = 2;
k_ExtractGems_Failed_ToolCannotRemoveGem = 3;
k_ExtractGems_Failed_FailedToRemoveGem = 4;
}
optional uint64 item_id = 1;
optional .CMsgExtractGemsResponse.EExtractGems response = 2 [default = k_ExtractGems_Succeeded];
}
message CMsgAddSocket {
optional uint64 tool_item_id = 1;
optional uint64 item_item_id = 2;
optional bool unusual = 3;
}
message CMsgAddSocketResponse {
enum EAddSocket {
k_AddSocket_Succeeded = 0;
k_AddSocket_Failed_ToolIsInvalid = 1;
k_AddSocket_Failed_ItemCannotBeSocketed = 2;
k_AddSocket_Failed_FailedToAddSocket = 3;
}
optional uint64 item_id = 1;
repeated uint32 updated_socket_index = 2;
optional .CMsgAddSocketResponse.EAddSocket response = 3 [default = k_AddSocket_Succeeded];
}
message CMsgAddItemToSocketData {
optional uint64 gem_item_id = 1;
optional uint32 socket_index = 2 [default = 65535];
}
message CMsgAddItemToSocket {
optional uint64 item_item_id = 1;
repeated .CMsgAddItemToSocketData gems_to_socket = 2;
}
message CMsgAddItemToSocketResponse {
enum EAddGem {
k_AddGem_Succeeded = 0;
k_AddGem_Failed_GemIsInvalid = 1;
k_AddGem_Failed_ItemIsInvalid = 2;
k_AddGem_Failed_FailedToAddGem = 3;
k_AddGem_Failed_InvalidGemTypeForSocket = 4;
k_AddGem_Failed_InvalidGemTypeForHero = 5;
k_AddGem_Failed_InvalidGemTypeForSlot = 6;
k_AddGem_Failed_SocketContainsUnremovableGem = 7;
}
optional uint64 item_item_id = 1;
repeated uint32 updated_socket_index = 2;
optional .CMsgAddItemToSocketResponse.EAddGem response = 3 [default = k_AddGem_Succeeded];
}
message CMsgResetStrangeGemCount {
optional uint64 item_item_id = 1;
optional uint32 socket_index = 2 [default = 65535];
}
message CMsgResetStrangeGemCountResponse {
enum EResetGem {
k_ResetGem_Succeeded = 0;
k_ResetGem_Failed_FailedToResetGem = 1;
k_ResetGem_Failed_ItemIsInvalid = 2;
k_ResetGem_Failed_InvalidSocketId = 3;
k_ResetGem_Failed_SocketCannotBeReset = 4;
}
optional .CMsgResetStrangeGemCountResponse.EResetGem response = 1 [default = k_ResetGem_Succeeded];
}
message CMsgGCToClientPollFileRequest {
optional string file_name = 1;
optional uint32 client_version = 2;
optional uint32 poll_id = 3;
}
message CMsgGCToClientPollFileResponse {
optional uint32 poll_id = 1;
optional uint32 file_size = 2;
optional uint32 file_crc = 3;
}
message CMsgGCToGCPerformManualOp {
optional uint64 op_id = 1;
optional uint32 group_code = 2;
}
message CMsgGCToGCPerformManualOpCompleted {
optional bool success = 1;
optional int32 source_gc = 2 [default = -1];
}
message CMsgGCToGCReloadServerRegionSettings {
}
message CMsgGCAdditionalWelcomeMsgList {
repeated .CExtraMsgBlock welcome_messages = 1;
}
message CMsgApplyRemoteConVars {
message ConVar {
optional string name = 1;
optional string value = 2;
optional uint32 version_min = 3;
optional uint32 version_max = 4;
optional .EGCPlatform platform = 5 [default = k_eGCPlatform_None];
}
repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1;
}
message CMsgGCToClientApplyRemoteConVars {
optional .CMsgApplyRemoteConVars msg = 1;
}
message CMsgGCToServerApplyRemoteConVars {
optional .CMsgApplyRemoteConVars msg = 1;
}
message CMsgClientToGCIntegrityStatus {
message keyvalue {
optional uint32 id = 1;
optional uint32 extended = 2;
optional uint64 value = 3;
optional string string_value = 4;
}
optional string report = 1;
optional bool secure_allowed = 2;
repeated .CMsgClientToGCIntegrityStatus.keyvalue diagnostics = 3;
}
message CMsgClientToGCAggregateMetrics {
message SingleMetric {
optional string metric_name = 1;
optional uint32 metric_count = 2;
}
repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1;
}
message CMsgGCToClientAggregateMetricsBackoff {
optional float upload_rate_modifier = 1;
}
message CMsgGCToServerSteamLearnAccessTokensChanged {
optional .CMsgSteamLearnAccessTokens access_tokens = 1;
}
message CMsgGCToServerSteamLearnUseHTTP {
optional bool use_http = 1;
}

View File

@ -0,0 +1,29 @@
enum EDotaBroadcastMessages {
DOTA_BM_LANLobbyRequest = 1;
DOTA_BM_LANLobbyReply = 2;
}
message CDOTABroadcastMsg {
required .EDotaBroadcastMessages type = 1 [default = DOTA_BM_LANLobbyRequest];
optional bytes msg = 2;
}
message CDOTABroadcastMsg_LANLobbyRequest {
}
message CDOTABroadcastMsg_LANLobbyReply {
message CLobbyMember {
optional uint32 account_id = 1;
optional string player_name = 2;
}
optional uint64 id = 1;
optional uint32 tournament_id = 2;
optional uint32 tournament_game_id = 3;
repeated .CDOTABroadcastMsg_LANLobbyReply.CLobbyMember members = 4;
optional bool requires_pass_key = 5;
optional uint32 leader_account_id = 6;
optional uint32 game_mode = 7;
optional string name = 8;
optional uint32 players = 9;
}

View File

@ -0,0 +1,638 @@
import "dota_commonmessages.proto";
import "dota_shared_enums.proto";
import "base_gcmessages.proto";
enum EDotaClientMessages {
DOTA_CM_MapLine = 301;
DOTA_CM_AspectRatio = 302;
DOTA_CM_MapPing = 303;
DOTA_CM_UnitsAutoAttack = 304;
DOTA_CM_SearchString = 307;
DOTA_CM_Pause = 308;
DOTA_CM_ShopViewMode = 309;
DOTA_CM_SetUnitShareFlag = 310;
DOTA_CM_SwapRequest = 311;
DOTA_CM_SwapAccept = 312;
DOTA_CM_WorldLine = 313;
DOTA_CM_RequestGraphUpdate = 314;
DOTA_CM_ItemAlert = 315;
DOTA_CM_ChatWheel = 316;
DOTA_CM_SendStatPopup = 317;
DOTA_CM_BeginLastHitChallenge = 318;
DOTA_CM_UpdateQuickBuy = 319;
DOTA_CM_UpdateCoachListen = 320;
DOTA_CM_CoachHUDPing = 321;
DOTA_CM_RecordVote = 322;
DOTA_CM_UnitsAutoAttackAfterSpell = 323;
DOTA_CM_WillPurchaseAlert = 324;
DOTA_CM_PlayerShowCase = 325;
DOTA_CM_TeleportRequiresHalt = 326;
DOTA_CM_CameraZoomAmount = 327;
DOTA_CM_BroadcasterUsingCamerman = 328;
DOTA_CM_BroadcasterUsingAssistedCameraOperator = 329;
DOTA_CM_EnemyItemAlert = 330;
DOTA_CM_FreeInventory = 331;
DOTA_CM_BuyBackStateAlert = 332;
DOTA_CM_QuickBuyAlert = 333;
DOTA_CM_HeroStatueLike = 334;
DOTA_CM_ModifierAlert = 335;
DOTA_CM_TeamShowcaseEditor = 336;
DOTA_CM_HPManaAlert = 337;
DOTA_CM_GlyphAlert = 338;
DOTA_CM_TeamShowcaseClientData = 339;
DOTA_CM_PlayTeamShowcase = 340;
DOTA_CM_EventCNY2015Cmd = 341;
DOTA_CM_FillEmptySlotsWithBots = 342;
DOTA_CM_DemoHero = 343;
DOTA_CM_AbilityLearnModeToggled = 344;
DOTA_CM_AbilityStartUse = 345;
DOTA_CM_ChallengeSelect = 346;
DOTA_CM_ChallengeReroll = 347;
DOTA_CM_ClickedBuff = 348;
DOTA_CM_CoinWager = 349;
DOTA_CM_ExecuteOrders = 350;
DOTA_CM_XPAlert = 351;
DOTA_CM_EventPointsTip = 353;
DOTA_CM_KillMyHero = 355;
DOTA_CM_QuestStatus = 356;
DOTA_CM_ToggleAutoattack = 357;
DOTA_CM_SpecialAbility = 358;
DOTA_CM_KillcamDamageTaken = 359;
DOTA_CM_SetEnemyStartingPosition = 360;
DOTA_CM_SetDesiredWardPlacement = 361;
DOTA_CM_RollDice = 362;
DOTA_CM_FlipCoin = 363;
DOTA_CM_RequestItemSuggestions = 364;
DOTA_CM_MakeTeamCaptain = 365;
DOTA_CM_CoinWagerToken = 366;
DOTA_CM_RankWager = 367;
DOTA_CM_DismissAllStatPopups = 368;
DOTA_CM_HelpTipSystemStateChanged = 369;
DOTA_CM_ChannelRequiresHalt = 370;
DOTA_CM_RequestBulkCombatLog = 371;
DOTA_CM_AbilityDraftRequestAbility = 372;
DOTA_CM_GuideSelectOption = 373;
DOTA_CM_GuideSelected = 374;
DOTA_CM_DamageReport = 375;
DOTA_CM_SalutePlayer = 376;
DOTA_CM_SprayWheel = 377;
DOTA_CM_TipAlert = 378;
DOTA_CM_EmptyTeleportAlert = 379;
DOTA_CM_RadarAlert = 380;
DOTA_CM_TalentTreeAlert = 381;
DOTA_CM_SetCavernMapVariant = 382;
DOTA_CM_PauseGameOrder = 383;
DOTA_CM_VersusScene_PlayerBehavior = 384;
DOTA_CM_PlayerBounty = 385;
DOTA_CM_PlayerBountyCancel = 386;
DOTA_CM_EmptyItemSlotAlert = 388;
DOTA_CM_AddOverwatchReportMarker = 389;
DOTA_CM_AghsStatusAlert = 390;
DOTA_CM_PerfReport = 391;
DOTA_CM_ContextualTips_Subscribe = 393;
DOTA_CM_ChatMessage = 394;
DOTA_CM_AddCommunicationsReportMarker = 395;
DOTA_CM_AddCommunicationsBlockMarker = 396;
DOTA_CM_NeutralCampAlert = 397;
DOTA_CM_DuelAccepted = 398;
DOTA_CM_ChooseNeutralItem = 399;
DOTA_CM_PlayerDraftPick = 800;
DOTA_CM_PlayerDraftSuggest = 801;
DOTA_CM_PlayerDraftPreferRole = 802;
DOTA_CM_PlayerDraftPreferTeam = 803;
DOTA_CM_ChatWheelAlert = 804;
DOTA_CM_AbilityAlert = 805;
DOTA_CM_AllyAbilityAlert = 806;
DOTA_CM_GiftPlayer = 807;
DOTA_CM_GiftEveryone = 808;
DOTA_CM_SelectOverworldTokenRewards = 809;
DOTA_CM_FacetAlert = 810;
DOTA_CM_InnateAlert = 811;
DOTA_CM_SelectOverworldID = 812;
DOTA_CM_RerollNeutralItem = 813;
DOTA_CM_RoshanTimer = 814;
DOTA_CM_SuggestItemPreference = 815;
}
message CDOTAClientMsg_MapPing {
optional .CDOTAMsg_LocationPing location_ping = 1;
}
message CDOTAClientMsg_ItemAlert {
optional .CDOTAMsg_ItemAlert item_alert = 1;
}
message CDOTAClientMsg_EnemyItemAlert {
optional int32 item_entindex = 1 [default = -1];
optional int32 rune_type = 2 [default = -1];
optional int32 item_level = 3 [default = -1];
optional int32 primary_charges = 4 [default = -1];
optional int32 secondary_charges = 5 [default = -1];
optional int32 ability_id = 6 [default = -1];
optional int32 owner_entindex = 7 [default = -1];
}
message CDOTAClientMsg_ModifierAlert {
optional int32 buff_internal_index = 1;
optional int32 target_entindex = 2 [default = -1];
}
message CDOTAClientMsg_ClickedBuff {
optional int32 buff_internal_index = 1;
optional int32 target_entindex = 2 [default = -1];
}
message CDOTAClientMsg_HPManaAlert {
optional int32 target_entindex = 1 [default = -1];
optional bool show_raw_values = 2;
}
message CDOTAClientMsg_NeutralCampAlert {
optional int32 spawner_entindex = 1 [default = -1];
optional int32 unit_entindex = 2 [default = -1];
optional bool stack_request = 3;
}
message CDOTAClientMsg_GlyphAlert {
optional bool negative = 1;
}
message CDOTAClientMsg_RadarAlert {
optional bool negative = 1;
}
message CDOTAClientMsg_MapLine {
optional .CDOTAMsg_MapLine mapline = 1;
}
message CDOTAClientMsg_AspectRatio {
optional float ratio = 1;
}
message CDOTAClientMsg_UnitsAutoAttackMode {
enum EMode {
INVALID = -1;
NEVER = 0;
AFTER_SPELLCAST = 1;
ALWAYS = 2;
}
enum EUnitType {
NORMAL = 0;
SUMMONED = 1;
}
optional .CDOTAClientMsg_UnitsAutoAttackMode.EMode mode = 1 [default = INVALID];
optional .CDOTAClientMsg_UnitsAutoAttackMode.EUnitType unit_type = 2 [default = NORMAL];
}
message CDOTAClientMsg_UnitsAutoAttackAfterSpell {
optional bool enabled = 1;
}
message CDOTAClientMsg_TeleportRequiresHalt {
optional bool enabled = 1;
}
message CDOTAClientMsg_ChannelRequiresHalt {
optional bool enabled = 1;
}
message CDOTAClientMsg_SearchString {
optional string search = 1;
}
message CDOTAClientMsg_Pause {
}
message CDOTAClientMsg_ShopViewMode {
optional uint32 mode = 1;
}
message CDOTAClientMsg_SetUnitShareFlag {
optional int32 player_id = 1 [default = -1];
optional uint32 flag = 2;
optional bool state = 3;
}
message CDOTAClientMsg_SwapRequest {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_SwapAccept {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_WorldLine {
optional .CDOTAMsg_WorldLine worldline = 1;
}
message CDOTAClientMsg_RequestGraphUpdate {
}
message CDOTAClientMsg_ChatWheel {
optional uint32 chat_message_id = 1 [default = 4294967295];
optional int32 param_hero_id = 2;
optional uint32 emoticon_id = 3;
}
message CDOTAClientMsg_SendStatPopup {
optional .CDOTAMsg_SendStatPopup statpopup = 1;
}
message CDOTAClientMsg_DismissAllStatPopups {
optional .CDOTAMsg_DismissAllStatPopups dismissallmsg = 1;
}
message CDOTAClientMsg_BeginLastHitChallenge {
optional uint32 chosen_lane = 1;
optional bool helper_enabled = 2;
}
message CDOTAClientMsg_UpdateQuickBuyItem {
optional int32 item_ability_id = 1 [default = -1];
optional bool purchasable = 2 [default = false];
}
message CDOTAClientMsg_UpdateQuickBuy {
repeated .CDOTAClientMsg_UpdateQuickBuyItem items = 1;
}
message CDOTAClientMsg_RecordVote {
optional int32 choice_index = 1;
}
message CDOTAClientMsg_WillPurchaseAlert {
optional int32 item_ability_id = 1 [default = -1];
optional uint32 gold_remaining = 2;
optional int32 suggestion_player_id = 3 [default = -1];
}
message CDOTAClientMsg_BuyBackStateAlert {
}
message CDOTAClientMsg_QuickBuyAlert {
optional int32 item_ability_id = 1 [default = -1];
optional int32 gold_cost = 2;
optional int32 item_cooldown_seconds = 3;
optional bool show_buyback = 4;
}
message CDOTAClientMsg_PlayerShowCase {
optional bool showcase = 1;
}
message CDOTAClientMsg_CameraZoomAmount {
optional float zoom_amount = 1;
}
message CDOTAClientMsg_BroadcasterUsingCameraman {
optional bool cameraman = 1;
}
message CDOTAClientMsg_BroadcasterUsingAssistedCameraOperator {
optional bool enabled = 1;
}
message CDOTAClientMsg_FillEmptySlotsWithBots {
optional bool fillwithbots = 1;
}
message CDOTAClientMsg_HeroStatueLike {
optional int32 owner_player_id = 1 [default = -1];
}
message CDOTAClientMsg_EventCNY2015Cmd {
optional bytes data = 1;
}
message CDOTAClientMsg_DemoHero {
optional int32 hero_id = 1;
optional int32 hero_id_to_spawn = 2;
repeated uint32 item_defs = 3;
repeated uint64 item_ids = 4;
optional uint32 style_index = 5 [default = 255];
optional bool keep_existing_demohero = 6;
repeated .CSOEconItem item_data = 7;
optional int32 hero_variant = 8;
}
message CDOTAClientMsg_ChallengeSelect {
optional uint32 event_id = 1;
optional uint32 slot_id = 2;
optional uint32 sequence_id = 3;
}
message CDOTAClientMsg_ChallengeReroll {
optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
optional uint32 slot_id = 2;
optional uint32 sequence_id = 3;
optional int32 hero_id = 4;
}
message CDOTAClientMsg_CoinWager {
optional uint32 wager_amount = 1;
}
message CDOTAClientMsg_CoinWagerToken {
optional uint64 wager_token_item_id = 1;
}
message CDOTAClientMsg_RankWager {
optional bool announce_wager = 1;
}
message CDOTAClientMsg_PlayerBounty {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_EventPointsTip {
optional int32 recipient_player_id = 1 [default = -1];
}
message CDOTAClientMsg_ExecuteOrders {
repeated .CDOTAMsg_UnitOrder orders = 1;
}
message CDOTAClientMsg_XPAlert {
optional int32 target_entindex = 1 [default = -1];
optional uint32 damage_taken = 2;
}
message CDOTAClientMsg_TalentTreeAlert {
optional int32 target_entindex = 1 [default = -1];
optional int32 ability_id = 2 [default = -1];
optional int32 slot = 3;
optional bool learned = 4;
}
message CDOTAClientMsg_KillcamDamageTaken {
optional int32 target_entindex = 1 [default = -1];
optional uint32 damage_taken = 2;
optional uint32 item_type = 3;
optional int32 item_ability_id = 4 [default = -1];
optional string hero_name = 5;
optional string damage_color = 6;
}
message CDOTAClientMsg_KillMyHero {
}
message CDOTAClientMsg_QuestStatus {
optional uint32 quest_id = 1;
optional uint32 challenge_id = 2;
optional uint32 progress = 3;
optional uint32 goal = 4;
optional uint32 query = 5;
optional float fail_gametime = 6;
optional int32 item_ability_id = 7 [default = -1];
}
message CDOTAClientMsg_ToggleAutoattack {
optional int32 mode = 1;
optional bool show_message = 2;
}
message CDOTAClientMsg_SpecialAbility {
optional uint32 ability_index = 1;
optional int32 target_entindex = 2 [default = -1];
}
message CDOTAClientMsg_SetEnemyStartingPosition {
optional int32 enemy_player_id = 1 [default = -1];
optional uint32 enemy_starting_position = 2;
}
message CDOTAClientMsg_SetDesiredWardPlacement {
optional uint32 ward_index = 1;
optional float ward_x = 2;
optional float ward_y = 3;
}
message CDOTAClientMsg_RollDice {
optional uint32 channel_type = 1;
optional uint32 roll_min = 2;
optional uint32 roll_max = 3;
}
message CDOTAClientMsg_FlipCoin {
optional uint32 channel_type = 1;
}
message CDOTAClientMsg_RequestItemSuggestions {
}
message CDOTAClientMsg_SuggestItemPreference {
message ItemPreference {
optional int32 item_id = 1 [default = -1];
optional .EItemSuggestPreference preference = 2 [default = k_EItemSuggestPreference_None];
}
repeated .CDOTAClientMsg_SuggestItemPreference.ItemPreference item_preferences = 1;
}
message CDOTAClientMsg_MakeTeamCaptain {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_HelpTipSystemStateChanged {
optional bool tip_displayed = 1;
}
message CDOTAClientMsg_RequestBulkCombatLog {
optional float game_time = 1;
optional float duration = 2;
optional bool recent_player_death = 3;
optional int32 player_id = 4 [default = -1];
}
message CDOTAClientMsg_AbilityDraftRequestAbility {
optional int32 requested_ability_id = 1 [default = -1];
optional bool ctrl_is_down = 2;
}
message CDOTAClientMsg_GuideSelectOption {
optional uint32 option = 1;
optional bool force_recalculate = 2;
}
message CDOTAClientMsg_GuideSelected {
optional uint64 guide_workshop_id = 1;
optional bool is_plus_guide = 2;
}
message CDOTAClientMsg_DamageReport {
optional int32 target_hero_id = 1;
optional int32 source_hero_id = 2;
optional int32 damage_amount = 3;
optional bool broadcast = 4;
}
message CDOTAClientMsg_SalutePlayer {
optional int32 target_player_id = 1 [default = -1];
optional int32 event_id = 2;
}
message CDOTAClientMsg_GiftPlayer {
optional int32 target_player_id = 1 [default = -1];
optional uint32 item_def_index = 2;
}
message CDOTAClientMsg_GiftEveryone {
optional uint32 item_def_index = 1;
}
message CDOTAClientMsg_TipAlert {
optional string tip_text = 1;
}
message CDOTAClientMsg_EmptyTeleportAlert {
optional int32 target_entindex = 1 [default = -1];
}
message CDOTAClientMsg_SetCavernMapVariant {
optional uint32 map_variant = 1 [default = 255];
}
message CDOTAClientMsg_PauseGameOrder {
optional int32 order_id = 1;
optional int32 data = 2;
}
message CDOTAClientMsg_VersusScene_PlayerBehavior {
optional .EDOTAVersusScenePlayerBehavior behavior = 1 [default = VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY];
optional .VersusScene_PlayActivity play_activity = 2;
optional .VersusScene_ChatWheel chat_wheel = 3;
optional .VersusScene_PlaybackRate playback_rate = 4;
}
message CDOTAClientMsg_EmptyItemSlotAlert {
optional int32 target_entindex = 1 [default = -1];
optional int32 slot_index = 2;
}
message CDOTAClientMsg_AddOverwatchReportMarker {
optional int32 target_player_id = 1 [default = -1];
optional .EOverwatchReportReason reason = 2 [default = k_EOverwatchReportReason_Unknown];
optional uint32 seconds_ago = 4;
}
message CDOTAClientMsg_AddCommunicationsReportMarker {
optional int32 target_player_id = 1 [default = -1];
}
message CDOTAClientMsg_AddCommunicationsBlockMarker {
optional int32 target_player_id = 1 [default = -1];
}
message CDOTAClientMsg_AghsStatusAlert {
optional int32 source_player_id = 1 [default = -1];
optional int32 target_player_id = 2 [default = -1];
optional int32 target_entindex = 3 [default = -1];
optional uint32 alert_type = 4;
}
message CDOTAClientMsg_PerfReport {
optional float average_frame_time = 1;
optional float max_frame_time = 2;
optional float average_compute_time = 3;
optional float max_compute_time = 4;
optional float average_client_tick_time = 5;
optional float max_client_tick_time = 6;
optional float average_client_simulate_time = 7;
optional float max_client_simulate_time = 8;
optional float average_output_time = 9;
optional float max_output_time = 10;
optional float average_wait_for_rendering_to_complete_time = 11;
optional float max_wait_for_rendering_to_complete_time = 12;
optional float average_swap_time = 13;
optional float max_swap_time = 14;
optional float average_frame_update_time = 15;
optional float max_frame_update_time = 16;
optional float average_idle_time = 17;
optional float max_idle_time = 18;
optional float average_input_processing_time = 19;
optional float max_input_processing_time = 20;
}
message CDOTAClientMsg_ContextualTips_Subscribe_Entry {
optional bool unsubscribe = 1;
optional int32 tip_id = 2;
optional int32 prior_display_count = 3;
repeated int32 variants_seen = 4;
}
message CDOTAClientMsg_ContextualTips_Subscribe {
repeated .CDOTAClientMsg_ContextualTips_Subscribe_Entry tips = 1;
}
message CDOTAClientMsg_ChatMessage {
optional uint32 channel_type = 1;
optional string message_text = 2;
}
message CDOTAClientMsg_DuelAccepted {
optional int32 challenger_player_id = 1 [default = -1];
optional int32 accepter_player_id = 2 [default = -1];
}
message CDOTAClientMsg_ChooseNeutralItem {
optional int32 neutral_item_index = 1;
optional int32 target_entindex = 2 [default = -1];
optional int32 slot_index = 3;
}
message CDOTAClientMsg_RerollNeutralItem {
optional int32 target_entindex = 1 [default = -1];
optional int32 slot_index = 2;
}
message CDOTAClientMsg_PlayerDraftPick {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_PlayerDraftSuggest {
optional int32 player_id = 1 [default = -1];
}
message CDOTAClientMsg_PlayerDraftPreferRole {
optional int32 role_idx = 1;
optional bool desired = 2;
}
message CDOTAClientMsg_PlayerDraftPreferTeam {
optional int32 team = 1;
}
message CDOTAClientMsg_AbilityAlert {
optional uint32 ability_entindex = 1 [default = 16777215];
optional bool ctrl_held = 2;
optional int32 owner_entindex = 3 [default = -1];
optional int32 ability_id = 4 [default = -1];
optional uint32 primary_charges = 5;
optional uint32 secondary_charges = 6;
optional float reclaim_time = 7;
}
message CDOTAClientMsg_SelectOverworldTokenRewards {
repeated uint32 token_ids = 1;
}
message CDOTAClientMsg_FacetAlert {
optional uint32 facet_strhash = 1;
optional uint32 hero_entindex = 2 [default = 16777215];
optional bool ctrl_held = 3;
}
message CDOTAClientMsg_InnateAlert {
optional uint32 ability_entindex = 1 [default = 16777215];
optional bool ctrl_held = 2;
}
message CDOTAClientMsg_SelectOverworldID {
optional uint32 overworld_id = 1;
}
message CDOTAClientMsg_RoshanTimer {
optional bool negative = 1;
}

View File

@ -0,0 +1,147 @@
import "networkbasetypes.proto";
enum EPingSource {
k_ePingSource_Default = 0;
k_ePingSource_Warning = 1;
k_ePingSource_Wheel = 2;
k_ePingSource_System = 3;
}
enum EDOTAStatPopupTypes {
k_EDOTA_SPT_Textline = 0;
k_EDOTA_SPT_Basic = 1;
k_EDOTA_SPT_Poll = 2;
k_EDOTA_SPT_Grid = 3;
k_EDOTA_SPT_DualImage = 4;
k_EDOTA_SPT_Movie = 5;
}
enum dotaunitorder_t {
DOTA_UNIT_ORDER_NONE = 0;
DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1;
DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2;
DOTA_UNIT_ORDER_ATTACK_MOVE = 3;
DOTA_UNIT_ORDER_ATTACK_TARGET = 4;
DOTA_UNIT_ORDER_CAST_POSITION = 5;
DOTA_UNIT_ORDER_CAST_TARGET = 6;
DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7;
DOTA_UNIT_ORDER_CAST_NO_TARGET = 8;
DOTA_UNIT_ORDER_CAST_TOGGLE = 9;
DOTA_UNIT_ORDER_HOLD_POSITION = 10;
DOTA_UNIT_ORDER_TRAIN_ABILITY = 11;
DOTA_UNIT_ORDER_DROP_ITEM = 12;
DOTA_UNIT_ORDER_GIVE_ITEM = 13;
DOTA_UNIT_ORDER_PICKUP_ITEM = 14;
DOTA_UNIT_ORDER_PICKUP_RUNE = 15;
DOTA_UNIT_ORDER_PURCHASE_ITEM = 16;
DOTA_UNIT_ORDER_SELL_ITEM = 17;
DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18;
DOTA_UNIT_ORDER_MOVE_ITEM = 19;
DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20;
DOTA_UNIT_ORDER_STOP = 21;
DOTA_UNIT_ORDER_TAUNT = 22;
DOTA_UNIT_ORDER_BUYBACK = 23;
DOTA_UNIT_ORDER_GLYPH = 24;
DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25;
DOTA_UNIT_ORDER_CAST_RUNE = 26;
DOTA_UNIT_ORDER_PING_ABILITY = 27;
DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28;
DOTA_UNIT_ORDER_PATROL = 29;
DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 30;
DOTA_UNIT_ORDER_RADAR = 31;
DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 32;
DOTA_UNIT_ORDER_CONTINUE = 33;
DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED = 34;
DOTA_UNIT_ORDER_CAST_RIVER_PAINT = 35;
DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT = 36;
DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 37;
DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 38;
DOTA_UNIT_ORDER_MOVE_RELATIVE = 39;
DOTA_UNIT_ORDER_CAST_TOGGLE_ALT = 40;
DOTA_UNIT_ORDER_CONSUME_ITEM = 41;
}
enum EDOTAVersusScenePlayerBehavior {
VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY = 1;
VS_PLAYER_BEHAVIOR_CHAT_WHEEL = 2;
VS_PLAYER_BEHAVIOR_PLAYBACK_RATE = 3;
}
message CDOTAMsg_LocationPing {
optional int32 x = 1;
optional int32 y = 2;
optional int32 target = 3 [default = -1];
optional bool direct_ping = 4;
optional uint32 type = 5 [default = 4294967295];
optional .EPingSource ping_source = 6 [default = k_ePingSource_Default];
}
message CDOTAMsg_ItemAlert {
optional int32 x = 1;
optional int32 y = 2;
optional int32 item_ability_id = 3 [default = -1];
}
message CDOTAMsg_MapLine {
optional int32 x = 1;
optional int32 y = 2;
optional bool initial = 3;
}
message CDOTAMsg_WorldLine {
optional int32 x = 1;
optional int32 y = 2;
optional int32 z = 3;
optional bool initial = 4;
optional bool end = 5;
}
message CDOTAMsg_SendStatPopup {
optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];
repeated string stat_strings = 2;
repeated int32 stat_images = 3;
repeated int32 stat_image_types = 4;
optional float duration = 5;
optional bool use_html = 6;
optional string movie_name = 7;
}
message CDOTAMsg_DismissAllStatPopups {
optional float time_delay = 1;
}
message CDOTAMsg_CoachHUDPing {
optional uint32 x = 1;
optional uint32 y = 2;
optional string tgtpath = 3;
}
message CDOTAMsg_UnitOrder {
optional .dotaunitorder_t order_type = 2 [default = DOTA_UNIT_ORDER_NONE];
repeated int32 units = 3;
optional int32 target_index = 4 [default = 0];
optional int32 ability_index = 5 [default = -1];
optional .CMsgVector position = 6;
optional int32 sequence_number = 8;
optional uint32 flags = 9;
}
message VersusScene_PlayActivity {
message ActivityInfo {
optional string activity = 1;
optional bool disable_auto_kill = 2;
optional bool force_looping = 3;
}
repeated .VersusScene_PlayActivity.ActivityInfo activities = 1;
optional float playback_rate = 2;
}
message VersusScene_ChatWheel {
optional uint32 chat_message_id = 1 [default = 4294967295];
optional uint32 emoticon_id = 2;
}
message VersusScene_PlaybackRate {
optional float rate = 1;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,294 @@
import "valveextensions.proto";
message CMsgBotWorldState {
message Vector {
optional float x = 1;
optional float y = 2;
optional float z = 3;
}
message Player {
optional int32 player_id = 1 [(valve_map_key) = true];
optional int32 hero_id = 2;
optional bool is_alive = 3;
optional float respawn_time = 4;
optional uint32 kills = 5;
optional uint32 deaths = 6;
optional uint32 assists = 7;
optional uint32 team_id = 8;
optional uint32 primary_unit_handle = 9 [default = 4294967295];
optional int32 mmr = 10;
optional .CMsgBotWorldState.Vector location = 11;
}
message Ability {
optional uint32 handle = 1 [(valve_map_key) = true];
optional int32 ability_id = 2 [default = -1];
optional uint32 slot = 3;
optional uint32 caster_handle = 5 [default = 4294967295];
optional uint32 level = 6;
optional uint32 cast_range = 10;
optional float channel_time = 11;
optional float cooldown_remaining = 12 [default = 0];
optional bool is_activated = 20;
optional bool is_toggled = 21;
optional bool is_in_ability_phase = 22;
optional bool is_channeling = 23;
optional bool is_stolen = 24;
optional bool is_fully_castable = 25;
optional uint32 charges = 30;
optional uint32 secondary_charges = 31;
optional bool is_combined_locked = 40;
optional int32 power_treads_stat = 50 [default = -1];
}
message DroppedItem {
optional int32 item_id = 1 [default = -1];
optional .CMsgBotWorldState.Vector location = 2;
}
message RuneInfo {
optional int32 type = 1;
optional .CMsgBotWorldState.Vector location = 2;
optional uint32 status = 3;
optional float time_since_seen = 4;
}
message TeleportInfo {
optional int32 player_id = 1;
optional .CMsgBotWorldState.Vector location = 2;
optional float time_remaining = 3;
}
message Modifier {
optional uint32 handle = 7 [(valve_map_key) = true];
optional string name = 1;
optional uint32 stack_count = 2;
optional uint32 ability_handle = 3 [default = 4294967295];
optional int32 ability_id = 4 [default = -1];
optional float remaining_duration = 5;
repeated uint32 auxiliary_units_handles = 6;
}
message LinearProjectile {
optional uint32 handle = 1 [(valve_map_key) = true];
optional uint32 caster_handle = 2 [default = 4294967295];
optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];
optional int32 caster_player_id = 3;
optional uint32 ability_handle = 4 [default = 4294967295];
optional int32 ability_id = 5 [default = -1];
optional .CMsgBotWorldState.Vector location = 6;
optional .CMsgBotWorldState.Vector velocity = 7;
optional uint32 radius = 8;
}
message TrackingProjectile {
optional uint32 handle = 10 [(valve_map_key) = true];
optional uint32 caster_handle = 1 [default = 4294967295];
optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];
optional int32 caster_player_id = 2;
optional uint32 ability_handle = 3 [default = 4294967295];
optional int32 ability_id = 4 [default = -1];
optional .CMsgBotWorldState.Vector location = 5;
optional uint32 velocity = 6;
optional bool is_dodgeable = 7;
optional bool is_attack = 8;
}
message AvoidanceZone {
optional .CMsgBotWorldState.Vector location = 1;
optional uint32 caster_handle = 2 [default = 4294967295];
optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];
optional int32 caster_player_id = 3;
optional uint32 ability_handle = 4 [default = 4294967295];
optional int32 ability_id = 5 [default = -1];
optional uint32 radius = 6;
}
message Courier {
optional uint32 handle = 1 [(valve_map_key) = true];
optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];
optional int32 player_id = 3;
}
message EventAbility {
optional int32 ability_id = 1 [default = -1];
optional int32 player_id = 2;
optional uint32 unit_handle = 3 [default = 4294967295];
optional .CMsgBotWorldState.Vector location = 4;
optional bool is_channel_start = 5;
}
message EventDamage {
optional uint32 damage = 1;
optional int32 victim_player_id = 2;
optional uint32 victim_unit_handle = 3 [default = 4294967295];
optional int32 attacker_player_id = 4;
optional uint32 attacker_unit_handle = 5 [default = 4294967295];
optional int32 ability_id = 6 [default = -1];
}
message EventCourierKilled {
optional uint32 team_id = 1;
optional uint32 courier_unit_handle = 2 [default = 4294967295];
optional int32 killer_player_id = 3;
optional uint32 killer_unit_handle = 4 [default = 4294967295];
}
message EventRoshanKilled {
optional int32 killer_player_id = 1;
optional uint32 killer_unit_handle = 2 [default = 4294967295];
}
message EventTree {
optional uint32 tree_id = 1;
optional bool destroyed = 2;
optional bool respawned = 3;
optional .CMsgBotWorldState.Vector location = 4;
optional bool delayed = 5;
}
message Unit {
optional uint32 handle = 1 [(valve_map_key) = true];
optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];
optional string name = 3;
optional uint32 team_id = 4;
optional uint32 level = 5;
optional .CMsgBotWorldState.Vector location = 6;
optional bool is_alive = 7;
optional int32 player_id = 8;
optional int32 bounding_radius = 10;
optional int32 facing = 11;
optional uint32 ground_height = 12;
optional uint32 vision_range_daytime = 15;
optional uint32 vision_range_nighttime = 16;
optional int32 health = 20;
optional int32 health_max = 21;
optional float health_regen = 22;
optional int32 mana = 25;
optional int32 mana_max = 26;
optional float mana_regen = 27;
optional int32 base_movement_speed = 30;
optional int32 current_movement_speed = 31;
optional int32 anim_activity = 35;
optional float anim_cycle = 36;
optional int32 base_damage = 40;
optional int32 base_damage_variance = 41;
optional int32 bonus_damage = 42;
optional int32 attack_damage = 43;
optional int32 attack_range = 44;
optional float attack_speed = 45;
optional float attack_anim_point = 46;
optional int32 attack_acquisition_range = 47;
optional int32 attack_projectile_speed = 48;
optional uint32 attack_target_handle = 49 [default = 4294967295];
optional string attack_target_name = 52;
optional int32 attacks_per_second = 50 [default = -1];
optional float last_attack_time = 51 [default = -1];
optional uint32 bounty_xp = 60;
optional uint32 bounty_gold_min = 61;
optional uint32 bounty_gold_max = 62;
optional bool is_channeling = 65;
optional uint32 active_ability_handle = 66 [default = 4294967295];
optional bool is_attack_immune = 70;
optional bool is_blind = 71;
optional bool is_block_disabled = 72;
optional bool is_disarmed = 73;
optional bool is_dominated = 74;
optional bool is_evade_disabled = 75;
optional bool is_hexed = 76;
optional bool is_invisible = 77;
optional bool is_invulnerable = 78;
optional bool is_magic_immune = 79;
optional bool is_muted = 80;
optional bool is_nightmared = 82;
optional bool is_rooted = 83;
optional bool is_silenced = 84;
optional bool is_specially_deniable = 85;
optional bool is_stunned = 86;
optional bool is_unable_to_miss = 87;
optional bool has_scepter = 88;
optional bool is_specially_undeniable = 94;
repeated .CMsgBotWorldState.Ability abilities = 90 [(valve_map_field) = true];
repeated .CMsgBotWorldState.Ability items = 91 [(valve_map_field) = true];
repeated .CMsgBotWorldState.Modifier modifiers = 92 [(valve_map_field) = true];
repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93 [(valve_map_field) = true];
optional uint32 action_type = 100;
optional uint32 ability_target_handle = 101 [default = 4294967295];
optional string ability_target_name = 103;
optional bool is_using_ability = 102;
optional uint32 primary_attribute = 110;
optional bool is_illusion = 111;
optional float respawn_time = 112;
optional uint32 buyback_cost = 113;
optional float buyback_cooldown = 114;
optional float spell_amplification = 115;
optional float armor = 116;
optional float magic_resist = 117;
optional float evasion = 118;
optional uint32 xp_needed_to_level = 120;
optional uint32 ability_points = 121;
optional int32 reliable_gold = 122 [default = -1];
optional int32 unreliable_gold = 123 [default = -1];
optional uint32 last_hits = 124;
optional uint32 denies = 125;
optional uint32 net_worth = 126;
optional uint32 strength = 127;
optional uint32 agility = 128;
optional uint32 intelligence = 129;
optional float remaining_lifespan = 130;
optional bool flying_courier = 140;
optional float shrine_cooldown = 150;
optional bool is_shrine_healing = 151;
}
enum UnitType {
INVALID = 0;
HERO = 1;
CREEP_HERO = 2;
LANE_CREEP = 3;
JUNGLE_CREEP = 4;
ROSHAN = 5;
TOWER = 6;
BARRACKS = 7;
SHRINE = 8;
FORT = 9;
BUILDING = 10;
COURIER = 11;
WARD = 12;
}
enum CourierState {
COURIER_STATE_INIT = -1;
COURIER_STATE_IDLE = 0;
COURIER_STATE_AT_BASE = 1;
COURIER_STATE_MOVING = 2;
COURIER_STATE_DELIVERING_ITEMS = 3;
COURIER_STATE_RETURNING_TO_BASE = 4;
COURIER_STATE_DEAD = 5;
}
optional uint32 team_id = 1;
optional float game_time = 2;
optional float dota_time = 3;
optional uint32 game_state = 4;
optional uint32 hero_pick_state = 5;
optional float time_of_day = 6;
optional float glyph_cooldown = 7;
optional float glyph_cooldown_enemy = 8;
repeated .CMsgBotWorldState.Player players = 10 [(valve_map_field) = true];
repeated .CMsgBotWorldState.Unit units = 11 [(valve_map_field) = true];
repeated .CMsgBotWorldState.DroppedItem dropped_items = 12 [(diff_encode_field) = 112];
repeated int32 dropped_items_deltas = 112;
repeated .CMsgBotWorldState.RuneInfo rune_infos = 13 [(diff_encode_field) = 113];
repeated int32 rune_infos_deltas = 113;
repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;
repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15 [(valve_map_field) = true];
repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;
repeated .CMsgBotWorldState.Courier couriers = 17 [(valve_map_field) = true];
repeated .CMsgBotWorldState.EventAbility ability_events = 20;
repeated .CMsgBotWorldState.EventDamage damage_events = 21;
repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;
repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;
repeated .CMsgBotWorldState.EventTree tree_events = 24;
}

View File

@ -0,0 +1,25 @@
import "steammessages.proto";
import "dota_shared_enums.proto";
import "gcsdk_gcmessages.proto";
enum ECraftworksAuditAction {
k_eInvalid = 0;
k_eRecipeCrafted = 1;
k_eMatchRewards = 2;
k_eMatchRewardsTurbo = 3;
}
message CMsgCraftworksComponents {
message ComponentQuantitiesEntry {
optional uint32 key = 1;
optional uint32 value = 2;
}
repeated .CMsgCraftworksComponents.ComponentQuantitiesEntry component_quantities = 1;
}
message CMsgCraftworksQuestReward {
optional uint32 quest_id = 1;
optional .CMsgCraftworksComponents reward_components = 2;
optional uint32 stat_value = 3;
}

View File

@ -0,0 +1,58 @@
import "steammessages.proto";
import "dota_shared_enums.proto";
import "dota_gcmessages_common.proto";
import "gcsdk_gcmessages.proto";
message CMsgClientToGCFightingGameChallengeFriend {
optional uint32 friend_account_id = 1;
}
message CMsgClientToGCFightingGameChallengeFriendResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidAccountID = 5;
k_eStillWaitingOnAnotherChallenge = 6;
}
optional .CMsgClientToGCFightingGameChallengeFriendResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCFightingGameCancelChallengeFriend {
optional uint32 friend_account_id = 1;
}
message CMsgClientToGCFightingGameAnswerChallenge {
optional uint32 challenger_account_id = 1;
optional bool accept = 2;
}
message CMsgClientToGCFightingGameAnswerChallengeResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidChallenge = 5;
}
optional .CMsgClientToGCFightingGameAnswerChallengeResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgGCToClientFightingGameChallenge {
optional uint32 challenger_account_id = 1;
}
message CMsgGCToClientFightingGameChallengeCanceled {
optional uint32 challenger_account_id = 1;
optional uint32 responder_account_id = 2;
}
message CMsgGCToClientFightingGameStartMatch {
optional uint32 challenger_account_id = 1;
optional uint32 responder_account_id = 2;
}

View File

@ -0,0 +1,351 @@
import "dota_shared_enums.proto";
enum ELeagueNodeGroupType {
INVALID_GROUP_TYPE = 0;
ORGANIZATIONAL = 1;
ROUND_ROBIN = 2;
SWISS = 3;
BRACKET_SINGLE = 4;
BRACKET_DOUBLE_SEED_LOSER = 5;
BRACKET_DOUBLE_ALL_WINNER = 6;
SHOWMATCH = 7;
GSL = 8;
PLACEMENT = 9;
}
enum ELeagueNodeType {
INVALID_NODE_TYPE = 0;
BEST_OF_ONE = 1;
BEST_OF_THREE = 2;
BEST_OF_FIVE = 3;
BEST_OF_TWO = 4;
}
message CMsgDOTALeagueNode {
message MatchDetails {
optional uint64 match_id = 1;
optional uint32 winning_team_id = 2;
}
message VOD {
optional uint32 series_game = 1;
optional uint32 stream_id = 2;
optional string url = 3;
}
optional string name = 1;
optional uint32 node_id = 2;
optional uint32 node_group_id = 3;
optional uint32 winning_node_id = 4;
optional uint32 losing_node_id = 5;
optional uint32 incoming_node_id_1 = 6;
optional uint32 incoming_node_id_2 = 7;
optional .ELeagueNodeType node_type = 8 [default = INVALID_NODE_TYPE];
optional uint32 scheduled_time = 9;
optional uint32 actual_time = 19;
optional uint32 series_id = 10;
optional uint32 team_id_1 = 11;
optional uint32 team_id_2 = 12;
repeated .CMsgDOTALeagueNode.MatchDetails matches = 13;
optional uint32 team_1_wins = 14;
optional uint32 team_2_wins = 15;
optional bool has_started = 16;
optional bool is_completed = 17;
repeated uint32 stream_ids = 18;
repeated .CMsgDOTALeagueNode.VOD vods = 20;
}
message CMsgDOTALeagueNodeGroup {
message TeamStanding {
optional uint32 standing = 1;
optional uint32 team_id = 2;
optional string team_name = 3;
optional string team_tag = 4;
optional uint64 team_logo = 5;
optional string team_logo_url = 6;
optional uint32 wins = 7;
optional uint32 losses = 8;
optional int64 score = 9;
optional string team_abbreviation = 10;
optional int64 score_tiebreak_group = 11;
optional int64 score_tiebreak_below = 12;
optional int64 score_tiebreak_random = 13;
optional bool is_pro = 14;
}
optional string name = 1;
optional uint32 node_group_id = 2;
optional uint32 parent_node_group_id = 3;
repeated uint32 incoming_node_group_ids = 4;
optional uint32 advancing_node_group_id = 5;
optional uint32 advancing_team_count = 6;
optional uint32 team_count = 7;
optional .ELeagueNodeGroupType node_group_type = 8 [default = INVALID_GROUP_TYPE];
optional .ELeagueNodeType default_node_type = 9 [default = INVALID_NODE_TYPE];
optional uint32 round = 10;
optional uint32 max_rounds = 11;
optional bool is_tiebreaker = 12;
optional bool is_final_group = 13;
optional bool is_completed = 14;
optional .ELeaguePhase phase = 18 [default = LEAGUE_PHASE_UNSET];
optional .ELeagueRegion region = 19 [default = LEAGUE_REGION_UNSET];
optional uint32 start_time = 20;
optional uint32 end_time = 21;
optional uint32 secondary_advancing_node_group_id = 22;
optional uint32 secondary_advancing_team_count = 23;
optional uint32 tertiary_advancing_node_group_id = 24;
optional uint32 tertiary_advancing_team_count = 25;
optional uint32 elimination_dpc_points = 26;
repeated .CMsgDOTALeagueNodeGroup.TeamStanding team_standings = 15;
repeated .CMsgDOTALeagueNode nodes = 16;
repeated .CMsgDOTALeagueNodeGroup node_groups = 17;
}
message CMsgDOTALeague {
message Info {
optional uint32 league_id = 1;
optional string name = 2;
optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET];
optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET];
optional string url = 5;
optional string description = 6;
optional string notes = 7;
optional uint32 start_timestamp = 8;
optional uint32 end_timestamp = 9;
optional uint32 pro_circuit_points = 10;
optional uint32 image_bits = 11;
optional .ELeagueStatus status = 12 [default = LEAGUE_STATUS_UNSET];
optional uint32 most_recent_activity = 13;
optional uint32 registration_period = 14;
}
message Admin {
optional uint32 account_id = 1;
optional bool is_primary = 2;
optional string email_address = 3;
}
message PrizePoolItem {
optional uint32 item_def = 1;
optional uint32 sales_stop_timestamp = 2;
optional uint32 revenue_pct = 3;
optional uint32 revenue_cents_per_sale = 4;
}
message PrizePool {
optional uint32 base_prize_pool = 1;
optional uint32 total_prize_pool = 2;
repeated uint32 prize_split_pct_x100 = 3;
repeated .CMsgDOTALeague.PrizePoolItem prize_pool_items = 4;
}
message Stream {
optional uint32 stream_id = 1;
optional uint32 language = 2;
optional string name = 3;
optional .ELeagueBroadcastProvider broadcast_provider = 4 [default = LEAGUE_BROADCAST_UNKNOWN];
optional string stream_url = 5;
optional string vod_url = 6;
}
message SeriesInfo {
optional uint32 series_id = 1;
optional uint32 series_type = 2;
optional uint32 start_time = 3;
repeated uint64 match_ids = 4;
optional uint32 team_id_1 = 5;
optional uint32 team_id_2 = 6;
}
message Player {
optional uint32 account_id = 1;
optional string name = 2;
optional uint32 team_id = 3;
}
optional .CMsgDOTALeague.Info info = 1;
optional .CMsgDOTALeague.PrizePool prize_pool = 2;
repeated .CMsgDOTALeague.Admin admins = 3;
repeated .CMsgDOTALeague.Stream streams = 4;
repeated .CMsgDOTALeagueNodeGroup node_groups = 5;
repeated .CMsgDOTALeague.SeriesInfo series_infos = 6;
repeated .CMsgDOTALeague.Player registered_players = 7;
}
message CMsgDOTALeagueList {
repeated .CMsgDOTALeague leagues = 1;
}
message CMsgDOTALeagueInfo {
optional uint32 league_id = 1;
optional string name = 2;
optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET];
optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET];
optional uint32 most_recent_activity = 5;
optional uint32 total_prize_pool = 6;
optional uint32 start_timestamp = 7;
optional uint32 end_timestamp = 8;
optional uint32 status = 9;
}
message CMsgDOTALeagueInfoList {
repeated .CMsgDOTALeagueInfo infos = 1;
}
message CMsgDOTALeagueLiveGames {
message LiveGame {
optional uint32 league_id = 1;
optional uint64 server_steam_id = 2;
optional string radiant_name = 3;
optional uint64 radiant_logo = 4;
optional uint32 radiant_team_id = 9;
optional string dire_name = 5;
optional uint64 dire_logo = 6;
optional uint32 dire_team_id = 10;
optional uint32 time = 7;
optional uint32 spectators = 8;
optional uint32 league_node_id = 11;
optional uint32 series_id = 12;
optional uint64 match_id = 13;
}
repeated .CMsgDOTALeagueLiveGames.LiveGame games = 1;
}
message CMsgDOTALeagueMessages {
message Message {
optional uint32 author_account_id = 1;
optional uint32 timestamp = 2;
optional string message = 3;
}
repeated .CMsgDOTALeagueMessages.Message messages = 1;
}
message CMsgDOTALeaguePrizePool {
optional uint32 prize_pool = 1;
optional float increment_per_second = 2;
}
message CMsgDOTALeagueInfoListAdminsRequest {
}
message CMsgDOTALeagueAvailableLobbyNodesRequest {
optional uint32 league_id = 1;
}
message CMsgDOTALeagueAvailableLobbyNodes {
message NodeInfo {
optional uint32 node_id = 1;
optional string node_name = 2;
optional string node_group_name = 3;
optional uint32 team_id_1 = 4;
optional uint32 team_id_2 = 5;
}
repeated .CMsgDOTALeagueAvailableLobbyNodes.NodeInfo node_infos = 1;
}
message CMsgDOTALeagueNodeResults {
message Result {
optional uint32 node_id = 1;
optional uint32 winning_node_id = 2;
optional uint32 losing_node_id = 3;
optional uint32 incoming_node_id_1 = 4;
optional uint32 incoming_node_id_2 = 5;
optional uint32 team_id_1 = 6;
optional uint32 team_id_2 = 7;
optional string team_1_name = 8;
optional string team_2_name = 9;
optional uint32 team_1_wins = 10;
optional uint32 team_2_wins = 11;
optional uint32 winning_team_id = 12;
optional uint32 losing_team_id = 13;
optional bool has_started = 14;
optional bool is_completed = 15;
optional uint32 scheduled_time = 16;
repeated uint64 match_ids = 17;
}
repeated .CMsgDOTALeagueNodeResults.Result node_results = 1;
}
message CMsgDOTADPCLeagueResults {
message Result {
optional uint32 standing = 1;
optional uint32 team_id = 2;
optional string team_name = 3;
optional uint64 team_logo = 4;
optional string team_logo_url = 5;
optional uint32 points = 6;
optional uint32 earnings = 7;
optional uint32 timestamp = 8;
optional .ELeaguePhase phase = 9 [default = LEAGUE_PHASE_UNSET];
optional string team_abbreviation = 10;
}
repeated .CMsgDOTADPCLeagueResults.Result results = 1;
repeated uint32 points = 2;
repeated uint32 dollars = 3;
}
message CMsgDOTADPCTeamResults {
message Result {
optional uint32 league_id = 1;
optional uint32 standing = 2;
optional uint32 points = 3;
optional uint32 earnings = 4;
optional uint32 timestamp = 5;
}
repeated .CMsgDOTADPCTeamResults.Result results = 1;
}
message CMsgDOTADPCSeasonResults {
message TeamLeagueResult {
optional uint32 timestamp = 1;
optional uint32 league_id = 2;
optional uint32 standing = 3;
optional uint32 points = 4;
optional uint32 earnings = 5;
optional uint32 audit_action = 6;
optional uint32 audit_data = 7;
}
message TeamResult {
optional uint32 team_id = 1;
optional string team_name = 2;
optional string team_abbreviation = 8;
optional uint64 team_logo = 3;
optional string team_logo_url = 4;
optional uint32 total_points = 5;
optional uint32 total_earnings = 6;
repeated .CMsgDOTADPCSeasonResults.TeamLeagueResult league_results = 7;
}
message StandingEntry {
optional uint32 team_id = 1;
optional uint32 wins = 2;
optional uint32 losses = 3;
optional string team_url = 4;
optional string team_name = 5;
optional string team_abbreviation = 6;
}
message Standing {
optional .ELeagueRegion region = 1 [default = LEAGUE_REGION_UNSET];
optional .ELeagueDivision division = 2 [default = LEAGUE_DIVISION_UNSET];
repeated .CMsgDOTADPCSeasonResults.StandingEntry entries = 3;
}
repeated .CMsgDOTADPCSeasonResults.TeamResult results = 1;
repeated .CMsgDOTADPCSeasonResults.Standing standings = 2;
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_wildcard_standings = 3;
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_group_standings = 4;
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_playoff_standings = 5;
}
message CMsgDOTADPCSeasonSpoilerResults {
optional uint32 time_last_updated = 1;
optional .CMsgDOTADPCSeasonResults saved_results = 2;
}

View File

@ -0,0 +1,389 @@
import "steammessages.proto";
import "dota_shared_enums.proto";
import "gcsdk_gcmessages.proto";
enum ELobbyMemberCoachRequestState {
k_eLobbyMemberCoachRequestState_None = 0;
k_eLobbyMemberCoachRequestState_Accepted = 1;
k_eLobbyMemberCoachRequestState_Rejected = 2;
}
enum LobbyDotaTVDelay {
LobbyDotaTV_10 = 0;
LobbyDotaTV_120 = 1;
LobbyDotaTV_300 = 2;
LobbyDotaTV_900 = 3;
}
enum LobbyDotaPauseSetting {
LobbyDotaPauseSetting_Unlimited = 0;
LobbyDotaPauseSetting_Limited = 1;
LobbyDotaPauseSetting_Disabled = 2;
}
message CMsgLobbyCoachFriendRequest {
optional uint32 coach_account_id = 1;
optional uint32 player_account_id = 2;
optional .ELobbyMemberCoachRequestState request_state = 3 [default = k_eLobbyMemberCoachRequestState_None];
}
message CMsgLobbyPlayerPlusSubscriptionData {
message HeroBadge {
optional int32 hero_id = 1;
optional uint32 hero_badge_xp = 2;
}
repeated .CMsgLobbyPlayerPlusSubscriptionData.HeroBadge hero_badges = 1;
}
message CMsgEventActionData {
optional uint32 action_id = 1;
optional uint32 action_score = 2;
}
message CMsgPeriodicResourceData {
optional uint32 periodic_resource_id = 1;
optional uint32 remaining = 2;
optional uint32 max = 3;
}
message CMsgLobbyEventPoints {
message AccountPoints {
optional uint32 account_id = 1;
optional uint32 normal_points = 2;
optional uint32 premium_points = 3;
optional bool owned = 4;
optional uint32 event_level = 7;
optional uint64 active_effects_mask = 12;
optional uint32 wager_streak = 23;
repeated .CMsgEventActionData event_game_custom_actions = 25;
optional uint32 tip_amount_index = 26;
optional uint32 active_event_season_id = 27;
optional uint32 teleport_fx_level = 28;
repeated .CMsgEventActionData networked_event_actions = 30;
repeated .CMsgPeriodicResourceData periodic_resources = 31;
repeated .CExtraMsgBlock extra_event_messages = 32;
}
optional uint32 event_id = 1;
repeated .CMsgLobbyEventPoints.AccountPoints account_points = 2;
}
message CMsgLobbyEventGameData {
optional uint32 game_seed = 1;
optional uint32 event_window_start_time = 2;
}
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 CSODOTALobbyMember {
optional fixed64 id = 1 [(key_field) = true];
optional int32 hero_id = 2;
optional .DOTA_GC_TEAM team = 3 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional uint32 slot = 7;
optional .DOTALeaverStatus_t leaver_status = 16 [default = DOTA_LEAVER_NONE];
optional uint32 leaver_actions = 28;
optional .DOTA_GC_TEAM coach_team = 23 [default = DOTA_GC_TEAM_NOTEAM];
repeated uint32 custom_game_product_ids = 31;
optional .DOTA_GC_TEAM live_spectator_team = 40 [default = DOTA_GC_TEAM_NOTEAM];
repeated .CMsgPendingEventAward pending_awards = 44;
repeated .CMsgPendingEventAward pending_awards_on_victory = 45;
optional uint32 reports_available = 52;
optional uint32 live_spectator_account_id = 55;
optional uint32 comms_reports_available = 56;
}
message CSODOTAServerLobbyMember {
}
message CSODOTAStaticLobbyMember {
optional string name = 1;
optional uint64 party_id = 2;
optional uint32 channel = 3 [default = 6];
optional bool cameraman = 4;
}
message CSODOTAServerStaticLobbyMember {
optional fixed64 steam_id = 1;
optional int32 rank_tier = 3;
optional int32 leaderboard_rank = 4 [default = -1];
optional int32 lane_selection_flags = 5;
optional .EDOTAMMRBoostType rank_mmr_boost_type = 6 [default = k_EDOTAMMRBoostType_None];
optional int32 coach_rating = 7;
repeated uint32 coached_account_ids = 8;
optional bool was_mvp_last_game = 9;
optional bool can_earn_rewards = 10;
optional bool is_plus_subscriber = 11;
optional uint64 favorite_team_packed = 12;
optional bool is_steam_china = 13;
optional uint32 title = 14;
optional uint32 guild_id = 15;
repeated fixed32 disabled_random_hero_bits = 16;
repeated int32 disabled_hero_id = 17;
repeated int32 enabled_hero_id = 18;
repeated int32 banned_hero_ids = 19;
}
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 uint32 rank = 15;
optional sint32 rank_change = 16;
optional bool is_home_team = 17;
optional bool is_challenge_match = 18;
optional uint64 challenge_match_token_account = 19;
optional string team_logo_url = 20;
optional string team_abbreviation = 21;
}
message CLobbyGuildDetails {
optional uint32 guild_id = 1;
optional uint32 guild_primary_color = 2;
optional uint32 guild_secondary_color = 3;
optional uint32 guild_pattern = 4;
optional uint64 guild_logo = 5;
optional uint32 guild_points = 6;
optional uint32 guild_event = 7;
optional uint32 guild_flags = 8;
optional .DOTA_GC_TEAM team_for_guild = 9 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional string guild_tag = 10;
optional uint32 guild_weekly_percentile = 11;
}
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 CLobbyGuildChallenge {
optional uint32 guild_id = 1;
optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
optional uint32 challenge_instance_id = 3;
optional uint32 challenge_parameter = 4;
optional uint32 challenge_timestamp = 5;
optional uint32 challenge_period_serial = 6;
optional uint32 challenge_progress_at_start = 7;
repeated uint32 eligible_account_ids = 8;
}
message CDOTALobbyMatchQualityData {
optional uint32 overall_quality = 1;
optional uint32 team_balance = 2;
optional uint32 match_skill_range = 3;
optional uint32 match_behavior = 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;
COOP_BOT_MATCH = 4;
COMPETITIVE_MATCH = 7;
WEEKEND_TOURNEY = 9;
LOCAL_BOT_MATCH = 10;
SPECTATOR = 11;
EVENT_MATCH = 12;
NEW_PLAYER_POOL = 14;
FEATURED_GAMEMODE = 15;
}
optional uint64 lobby_id = 1 [(key_field) = true];
repeated .CSODOTALobbyMember all_members = 120;
repeated uint32 member_indices = 121;
repeated uint32 left_member_indices = 122;
repeated uint32 free_member_indices = 123;
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 string game_name = 16;
repeated .CLobbyTeamDetails team_details = 17;
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_radiant = 36 [default = BOT_DIFFICULTY_HARD];
optional string pass_key = 39;
optional uint32 leagueid = 42;
optional uint32 penalty_level_radiant = 43 [default = 0];
optional uint32 penalty_level_dire = 44 [default = 0];
optional uint32 series_type = 46;
optional uint32 radiant_series_wins = 47;
optional uint32 dire_series_wins = 48;
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 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;
optional uint32 custom_min_players = 71;
optional uint32 custom_max_players = 72;
optional .DOTALobbyVisibility visibility = 75 [default = DOTALobbyVisibility_Public];
optional fixed64 custom_game_crc = 76;
optional bool custom_game_auto_created_lobby = 77;
optional fixed32 custom_game_timestamp = 80;
repeated uint64 previous_series_matches = 81;
optional uint64 previous_match_override = 82;
optional uint32 game_start_time = 87;
optional .LobbyDotaPauseSetting pause_setting = 88 [default = LobbyDotaPauseSetting_Unlimited];
optional uint32 weekend_tourney_division_id = 90;
optional uint32 weekend_tourney_skill_level = 91;
optional uint32 weekend_tourney_bracket_round = 92;
optional .DOTABotDifficulty bot_difficulty_dire = 93 [default = BOT_DIFFICULTY_HARD];
optional uint64 bot_radiant = 94;
optional uint64 bot_dire = 95;
repeated .EEvent event_progression_enabled = 96;
optional .DOTASelectionPriorityRules selection_priority_rules = 97 [default = k_DOTASelectionPriorityRules_Manual];
optional uint32 series_previous_selection_priority_team_id = 98;
optional uint32 series_current_selection_priority_team_id = 99;
optional .DOTASelectionPriorityChoice series_current_priority_team_choice = 100 [default = k_DOTASelectionPriorityChoice_Invalid];
optional .DOTASelectionPriorityChoice series_current_non_priority_team_choice = 101 [default = k_DOTASelectionPriorityChoice_Invalid];
optional bool series_current_selection_priority_used_coin_toss = 102;
optional .EEvent current_primary_event = 103 [default = EVENT_ID_NONE];
repeated int32 emergency_disabled_hero_ids = 105;
optional fixed64 custom_game_private_key = 106;
optional bool custom_game_penalties = 107;
optional string lan_host_ping_location = 109;
optional uint32 league_node_id = 110;
optional uint32 match_duration = 111;
optional uint32 league_phase = 113;
optional bool experimental_gameplay_enabled = 116;
repeated .CLobbyGuildChallenge guild_challenges = 117;
repeated .CLobbyGuildDetails guild_details = 118;
repeated int32 requested_hero_ids = 124;
repeated .CMsgLobbyCoachFriendRequest coach_friend_requests = 125;
optional bool is_in_steam_china = 126;
optional bool with_scenario_save = 127;
optional uint32 lobby_creation_time = 128;
optional string event_game_definition = 129;
optional .CDOTALobbyMatchQualityData match_quality_data = 131;
}
message CSODOTAServerLobby {
repeated .CSODOTAServerLobbyMember all_members = 1;
repeated .CSODOTALobby.CExtraMsg extra_startup_messages = 2;
}
message CSODOTAStaticLobby {
repeated .CSODOTAStaticLobbyMember all_members = 1;
optional bool is_player_draft = 2;
optional bool is_last_match_in_series = 3;
}
message CSODOTAServerStaticLobby {
repeated .CSODOTAServerStaticLobbyMember all_members = 1;
optional float post_patch_strategy_time_buffer = 2;
repeated .CMsgLobbyEventPoints lobby_event_points = 3;
}
message CMsgAdditionalLobbyStartupAccountData {
message ChatWheelMessageRange {
optional uint32 message_id_start = 1 [default = 4294967295];
optional uint32 message_id_end = 2 [default = 4294967295];
}
message PingWheelMessageRange {
optional uint32 message_id_start = 1 [default = 4294967295];
optional uint32 message_id_end = 2 [default = 4294967295];
}
optional uint32 account_id = 1;
optional .CMsgLobbyPlayerPlusSubscriptionData plus_data = 2;
repeated .CMsgAdditionalLobbyStartupAccountData.ChatWheelMessageRange unlocked_chat_wheel_message_ranges = 3;
repeated .CMsgAdditionalLobbyStartupAccountData.PingWheelMessageRange unlocked_ping_wheel_message_ranges = 4;
}
message CMsgLobbyInitializationComplete {
}
message CMsgLobbyPlaytestDetails {
optional string json = 1;
}
message CMsgLocalServerGuildData {
optional uint32 guild_id = 1;
optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
optional uint32 guild_points = 3;
optional uint64 guild_logo = 4;
optional uint32 guild_primary_color = 5;
optional uint32 guild_secondary_color = 6;
optional uint32 guild_pattern = 7;
optional uint32 guild_flags = 8;
optional uint32 guild_weekly_percentile = 9;
}
message CMsgLocalServerFakeLobbyData {
optional uint32 account_id = 1;
repeated .CMsgLobbyEventPoints event_points = 2;
optional bool is_plus_subscriber = 3;
optional uint32 primary_event_id = 4;
optional uint32 favorite_team = 5;
optional uint32 favorite_team_quality = 6;
optional .CMsgLocalServerGuildData guild_info = 7;
optional uint32 teleport_fx_level = 8;
optional .CMsgAdditionalLobbyStartupAccountData additional_data = 9;
}

View File

@ -0,0 +1,501 @@
import "steammessages.proto";
import "gcsdk_gcmessages.proto";
import "dota_shared_enums.proto";
enum ELaneSelection {
k_ELaneSelection_SAFELANE = 0;
k_ELaneSelection_OFFLANE = 1;
k_ELaneSelection_MIDLANE = 2;
k_ELaneSelection_SUPPORT = 3;
k_ELaneSelection_HARDSUPPORT = 4;
}
enum ELaneSelectionFlags {
k_ELaneSelectionFlags_SAFELANE = 1;
k_ELaneSelectionFlags_OFFLANE = 2;
k_ELaneSelectionFlags_MIDLANE = 4;
k_ELaneSelectionFlags_SUPPORT = 8;
k_ELaneSelectionFlags_HARDSUPPORT = 16;
k_ELaneSelectionFlagGroup_None = 0;
k_ELaneSelectionFlagGroup_CORE = 7;
k_ELaneSelectionFlagGroup_SUPPORT = 24;
k_ELaneSelectionFlagGroup_ALL = 31;
}
enum EPartyMatchmakingFlags {
k_EPartyMatchmakingFlags_None = 0;
k_EPartyMatchmakingFlags_LargeRankSpread = 1;
}
enum EHighPriorityMMState {
k_EHighPriorityMM_Unknown = 0;
k_EHighPriorityMM_MissingMMData = 1;
k_EHighPriorityMM_ResourceMissing = 2;
k_EHighPriorityMM_ManuallyDisabled = 3;
k_EHighPriorityMM_Min_Enabled = 64;
k_EHighPriorityMM_AllRolesSelected = 65;
k_EHighPriorityMM_UsingResource = 66;
k_EHighPriorityMM_FiveStack = 67;
k_EHighPriorityMM_HighDemand = 68;
}
enum EReadyCheckStatus {
k_EReadyCheckStatus_Unknown = 0;
k_EReadyCheckStatus_NotReady = 1;
k_EReadyCheckStatus_Ready = 2;
}
enum EReadyCheckRequestResult {
k_EReadyCheckRequestResult_Success = 0;
k_EReadyCheckRequestResult_AlreadyInProgress = 1;
k_EReadyCheckRequestResult_NotInParty = 2;
k_EReadyCheckRequestResult_SendError = 3;
k_EReadyCheckRequestResult_UnknownError = 4;
}
enum EMatchBehaviorScoreVariance {
k_EMatchBehaviorScoreVariance_Invalid = 0;
k_EMatchBehaviorScoreVariance_Low = 1;
k_EMatchBehaviorScoreVariance_Medium = 2;
k_EMatchBehaviorScoreVariance_High = 3;
}
message CSODOTAPartyMember {
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 bool is_plus_subscriber = 10;
optional uint32 tourney_skill_level = 7;
optional uint32 tourney_buyin = 8;
optional uint32 tourney_prevent_until = 9;
optional bool mm_data_valid = 13;
optional uint32 lane_selection_flags = 11;
optional bool high_priority_disabled = 14;
optional bool has_hp_resource = 15;
optional bool joined_from_partyfinder = 12;
optional bool is_steam_china = 16;
repeated int32 banned_hero_ids = 17;
}
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 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;
repeated .CSODOTAPartyMember members = 29;
optional uint32 low_priority_games_remaining = 35;
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];
optional uint32 party_builder_slots_to_fill = 56;
optional uint32 party_builder_match_groups = 57;
optional uint32 party_builder_start_time = 58;
optional bool solo_queue = 59;
optional uint32 steam_clan_account_id = 61;
optional .CMsgReadyCheckStatus ready_check = 62;
optional uint32 custom_game_disabled_until_date = 63;
optional uint32 custom_game_disabled_account_id = 64;
optional bool is_challenge_match = 65;
optional bool party_search_beacon_active = 66;
optional uint32 matchmaking_flags = 67;
optional .EHighPriorityMMState high_priority_state = 68 [default = k_EHighPriorityMM_Unknown];
optional bool lane_selections_enabled = 69;
optional uint32 custom_game_difficulty_mask = 70;
optional bool is_steam_china = 71;
optional uint32 bot_difficulty_mask = 72;
optional uint32 bot_script_index_mask = 73;
optional bool restricted_from_ranked = 74;
optional uint32 restricted_from_ranked_account_id = 75;
optional uint32 rank_spread_likert_scale = 76;
optional uint32 behavior_score_likert_scale = 77;
}
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 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 CMsgReadyCheckStatus {
message ReadyMember {
optional uint32 account_id = 1;
optional .EReadyCheckStatus ready_status = 2 [default = k_EReadyCheckStatus_Unknown];
}
optional uint32 start_timestamp = 1;
optional uint32 finish_timestamp = 2;
optional uint32 initiator_account_id = 3;
repeated .CMsgReadyCheckStatus.ReadyMember ready_members = 4;
}
message CMsgPartyReadyCheckRequest {
}
message CMsgPartyReadyCheckResponse {
optional .EReadyCheckRequestResult result = 1 [default = k_EReadyCheckRequestResult_Success];
}
message CMsgPartyReadyCheckAcknowledge {
optional .EReadyCheckStatus ready_status = 1 [default = k_EReadyCheckStatus_Unknown];
}
message CMsgLobbyEventGameDetails {
optional bytes kv_data = 1;
}
message CMsgMatchMatchmakingStats {
optional uint32 average_queue_time = 1;
optional uint32 maximum_queue_time = 2;
optional .EMatchBehaviorScoreVariance behavior_score_variance = 3 [default = k_EMatchBehaviorScoreVariance_Invalid];
}
message CMvpData {
message MvpDatum {
message MvpAccolade {
enum MvpAccoladeType {
kills = 1;
deaths = 2;
assists = 3;
net_worth = 5;
item_value = 6;
support_gold_spent = 7;
wards_placed = 8;
dewards = 9;
camps_stacked = 10;
last_hits = 11;
denies = 12;
kKillEaterEvent_Killing_Sprees = 13;
kKillEaterEvent_Godlike = 14;
kKillEaterEvent_Towers_Destroyed = 15;
kKillEaterEventType_Invoker_SunstrikeKills = 16;
kKillEaterEventType_Axe_Culls = 17;
kKillEaterEventType_Axe_BattleHungerKills = 18;
kKillEaterEventType_LowHealthKills = 19;
kKillEaterEventType_Invoker_TornadoKills = 20;
kKillEaterEventType_Sven_DoubleStuns = 21;
kKillEaterEventType_Sven_WarcryAssists = 22;
kKillEaterEventType_Sven_CleaveDoubleKills = 23;
kKillEaterEventType_Sven_TeleportInterrupts = 24;
kKillEaterEventType_Faceless_MultiChrono = 25;
kKillEaterEventType_Faceless_ChronoKills = 26;
kKillEaterEventType_Ursa_MultiShocks = 27;
kKillEaterEventType_RoshanKills = 28;
kKillEaterEventType_Lion_FingerKills = 29;
kKillEaterEventType_Riki_SmokedHeroKills = 32;
kKillEaterEventType_HeroesRevealedWithDust = 33;
kKillEaterEventType_SkeletonKing_ReincarnationKills = 34;
kKillEaterEventType_Skywrath_FlareKills = 35;
kKillEaterEventType_Leshrac_SplitEarthStuns = 36;
kKillEaterEventType_Mirana_MaxStunArrows = 37;
kKillEaterEventType_PhantomAssassin_CoupdeGraceCrits = 38;
kKillEaterEventType_PhantomAssassin_DaggerCrits = 39;
kKillEaterEventType_Meepo_Earthbinds = 40;
kKillEaterEventType_Bloodseeker_RuptureKills = 41;
kKillEaterEventType_Slark_LeashedEnemies = 42;
kKillEaterEventType_Disruptor_FountainGlimpses = 43;
kKillEaterEventType_Rubick_SpellsStolen = 44;
kKillEaterEventType_Rubick_UltimatesStolen = 45;
kKillEaterEventType_Doom_EnemiesDoomed = 46;
kKillEaterEventType_Omniknight_Purifications = 47;
kKillEaterEventType_Omniknight_AlliesRepelled = 48;
kKillEaterEventType_Omniknight_EnemiesRepelled = 49;
kKillEaterEventType_Warlock_FiveHeroFatalBonds = 50;
kKillEaterEventType_CrystalMaiden_FrostbittenEnemies = 51;
kKillEaterEventType_CrystalMaiden_CrystalNovas = 52;
kKillEaterEventType_Kunkka_DoubleHeroTorrents = 53;
kKillEaterEventType_Kunkka_TripleHeroGhostShips = 54;
kKillEaterEventType_NagaSiren_EnemiesEnsnared = 55;
kKillEaterEventType_NagaSiren_TripleHeroRipTides = 56;
kKillEaterEventType_Lycan_KillsDuringShapeshift = 57;
kKillEaterEventType_Pudge_DismemberKills = 58;
kKillEaterEventType_Pudge_EnemyHeroesHooked = 59;
kKillEaterEventType_Pudge_HookKills = 60;
kKillEaterEventType_Pudge_UnseenEnemyHeroesHooked = 61;
kKillEaterEventType_DrowRanger_EnemiesSilenced = 62;
kKillEaterEventType_DrowRanger_MultiHeroSilences = 63;
kKillEaterEventType_DrowRanger_SilencedKills = 64;
kKillEaterEventType_DrowRanger_FrostArrowKills = 65;
kKillEaterEventType_DragonKnight_KillsInDragonForm = 66;
kKillEaterEventType_DragonKnight_BreatheFireKills = 67;
kKillEaterEventType_DragonKnight_SplashKills = 68;
kKillEaterEventType_WitchDoctor_CaskStuns = 69;
kKillEaterEventType_WitchDoctor_MaledictKills = 70;
kKillEaterEventType_WitchDoctor_MultiHeroMaledicts = 71;
kKillEaterEventType_WitchDoctor_DeathWardKills = 72;
kKillEaterEventType_Disruptor_ThunderStrikeKills = 73;
kKillEaterEventType_Disruptor_HeroesGlimpsed = 74;
kKillEaterEventType_CrystalMaiden_FreezingFieldKills = 75;
kKillEaterEventType_Medusa_EnemiesPetrified = 77;
kKillEaterEventType_Warlock_FatalBondsKills = 78;
kKillEaterEventType_Warlock_GolemKills = 79;
kKillEaterEventType_Tusk_WalrusPunches = 80;
kKillEaterEventType_Tusk_SnowballStuns = 81;
kKillEaterEventType_Earthshaker_FissureStuns = 82;
kKillEaterEventType_Earthshaker_3HeroEchoslams = 83;
kKillEaterEventType_SandKing_BurrowstrikeStuns = 84;
kKillEaterEventType_SandKing_EpicenterKills = 85;
kKillEaterEventType_SkywrathMage_AncientSealKills = 86;
kKillEaterEventType_SkywrathMage_ConcussiveShotKills = 87;
kKillEaterEventType_Luna_LucentBeamKills = 88;
kKillEaterEventType_Luna_EclipseKills = 89;
kKillEaterEventType_KeeperOfTheLight_IlluminateKills = 90;
kKillEaterEventType_KeeperOfTheLight_ManaLeakStuns = 91;
kKillEaterEventType_KeeperOfTheLight_TeammatesRecalled = 92;
kKillEaterEventType_LegionCommander_DuelsWon = 93;
kKillEaterEventType_Beastmaster_RoarKills = 94;
kKillEaterEventType_Beastmaster_RoarMultiKills = 95;
kKillEaterEventType_Windrunner_FocusFireBuildings = 96;
kKillEaterEventType_Windrunner_PowershotKills = 97;
kKillEaterEventType_PhantomAssassin_DaggerLastHits = 98;
kKillEaterEventType_PhantomAssassin_PhantomStrikeKills = 99;
kKillEaterEventType_DeathProphet_CryptSwarmKills = 100;
kKillEaterEventType_DeathProphet_ExorcismBuildingKills = 101;
kKillEaterEventType_DeathProphet_ExorcismSpiritsSummoned = 102;
kKillEaterEventType_DeathProphet_MultiHeroSilences = 103;
kKillEaterEventType_Abaddon_MistCoilKills = 104;
kKillEaterEventType_Abaddon_MistCoilHealed = 105;
kKillEaterEventType_Abaddon_AphoticShieldKills = 106;
kKillEaterEventType_Lich_ChainFrostTripleKills = 107;
kKillEaterEventType_Lich_ChainFrostMultiKills = 108;
kKillEaterEventType_Lich_ChainFrostBounces = 109;
kKillEaterEventType_Ursa_EnragedKills = 110;
kKillEaterEventType_Ursa_EarthshockKills = 111;
kKillEaterEventType_Lina_LagunaBladeKills = 112;
kKillEaterEventType_Lina_DragonSlaveKills = 113;
kKillEaterEventType_Lina_LightStrikeArrayStuns = 114;
kKillEaterEvent_Barracks_Destroyed = 115;
kKillEaterEvent_TemplarAssassin_MeldKills = 116;
kKillEaterEvent_TemplarAssassin_HeroesSlowed = 117;
kKillEaterEvent_Sniper_AssassinationKills = 118;
kKillEaterEvent_Sniper_HeadshotStuns = 119;
kKillEaterEvent_EarthSpirit_SmashStuns = 120;
kKillEaterEvent_EarthSpirit_GripSilences = 121;
kKillEaterEvent_ShadowShaman_ShackleKills = 122;
kKillEaterEvent_ShadowShaman_HexKills = 123;
kKillEaterEvent_Centaur_EnemiesStomped = 124;
kKillEaterEvent_Centaur_DoubleEdgeKills = 125;
kKillEaterEvent_Centaur_ReturnKills = 126;
kKillEaterEvent_EmberSpirit_EnemiesChained = 127;
kKillEaterEvent_EmberSpirit_SleightOfFistMultiKills = 128;
kKillEaterEvent_Puck_OrbKills = 129;
kKillEaterEvent_VengefulSpirit_EnemiesStunned = 130;
kKillEaterEvent_Lifestealer_RageKills = 131;
kKillEaterEvent_Lifestealer_OpenWoundsKills = 132;
kKillEaterEvent_Lifestealer_InfestKills = 133;
kKillEaterEvent_ElderTitan_SpiritKills = 134;
kKillEaterEvent_ElderTitan_GoodStomps = 135;
kKillEaterEvent_Clockwerk_RocketKills = 136;
kKillEaterEvent_Clockwerk_BlindRocketKills = 137;
kKillEaterEvent_StormSpirit_BallKills = 138;
kKillEaterEvent_StormSpirit_DoubleRemnantKills = 139;
kKillEaterEvent_StormSpirit_VortexKills = 140;
kKillEaterEvent_Tinker_DoubleMissileKills = 141;
kKillEaterEvent_Tinker_LaserKills = 142;
kKillEaterEvent_Techies_SuicideKills = 143;
kKillEaterEvent_Techies_LandMineKills = 144;
kKillEaterEvent_Techies_StatisTrapStuns = 145;
kKillEaterEvent_Techies_RemoteMineKills = 146;
kKillEaterEvent_ShadowFiend_TripleRazeKills = 147;
kKillEaterEvent_ShadowFiend_RequiemMultiKills = 148;
kKillEaterEvent_ShadowFiend_QRazeKills = 149;
kKillEaterEvent_ShadowFiend_WRazeKills = 150;
kKillEaterEvent_ShadowFiend_ERazeKills = 151;
kKillEaterEvent_Oracle_FatesEdictKills = 152;
kKillEaterEvent_Oracle_FalsePromiseSaves = 153;
kKillEaterEvent_Juggernaut_OmnislashKills = 154;
kKillEaterEventType_SkeletonKing_SkeletonHeroKills = 157;
kKillEaterEventType_DarkWillow_CursedCrownTripleStuns = 158;
kKillEaterEventType_Dazzle_ShallowGraveSaves = 159;
kKillEaterEventType_Dazzle_PoisonTouchKills = 160;
kKillEaterEventType_ThreeManMeks = 161;
kKillEaterEventType_Viper_PoisonAttackKills = 162;
kKillEaterEventType_Viper_CorrosiveSkinKills = 163;
kKillEaterEventType_ThreeHeroVeils = 164;
kKillEaterEventType_Viper_KillsDuringViperStrike = 165;
kKillEaterEventType_SolarCrestKills = 166;
kKillEaterEventType_Tiny_TreeThrowKills = 167;
kKillEaterEventType_Riki_BackstabKills = 168;
kKillEaterEventType_Phoenix_ThreeHeroSupernovaStuns = 169;
kKillEaterEventType_Terrorblade_MetamorphosisKills = 170;
kKillEaterEventType_Lion_GreatFingerKills = 171;
kKillEaterEventType_Antimage_SpellsBlockedWithAghanims = 172;
kKillEaterEventType_Antimage_ThreeManManaVoids = 173;
kKillEaterEventType_ArcWarden_TempestDoubleKills = 174;
kKillEaterEventType_ArcWarden_SparkWraithKills = 175;
kKillEaterEventType_Bane_BrainSapKills = 176;
kKillEaterEventType_Bane_FiendsGripKills = 177;
kKillEaterEventType_Batrider_TripleHeroFlamebreaks = 178;
kKillEaterEventType_Batrider_DoubleHeroLassoes = 179;
kKillEaterEventType_Brewmaster_KillsDuringPrimalSplit = 180;
kKillEaterEventType_Bristleback_KillsUnderFourQuillStacks = 181;
kKillEaterEventType_Bristleback_TripleHeroNasalGoo = 182;
kKillEaterEventType_Broodmother_SpiderlingHeroKills = 183;
kKillEaterEventType_Broodmother_KillsInsideWeb = 184;
kKillEaterEventType_Centaur_ThreeHeroStampede = 185;
kKillEaterEventType_ChaosKnight_RealityRiftKills = 186;
kKillEaterEventType_Chen_KillsWithPenitence = 187;
kKillEaterEventType_CrystalMaiden_TwoHeroCrystalNovas = 188;
kKillEaterEventType_CrystalMaiden_ThreeHeroFreezingFields = 189;
kKillEaterEventType_Dazzle_ShadowWaveKills = 190;
kKillEaterEventType_DeathProphet_SiphonKills = 191;
kKillEaterEventType_DeathProphet_ExorcismKillsDuringEuls = 192;
kKillEaterEventType_Disruptor_ThreeHeroKineticFieldStaticStorm = 193;
kKillEaterEventType_Doom_InfernalBladeBurnKills = 194;
kKillEaterEventType_DrowRanger_PrecisionAuraCreepTowerKills = 195;
kKillEaterEventType_EmberSpirit_RemnantKills = 196;
kKillEaterEventType_EmberSpirit_SleightOfFistKills = 197;
kKillEaterEventType_Enigma_MidnightPulseBlackHoleCombos = 198;
kKillEaterEventType_Enigma_ThreeManBlackHoles = 199;
kKillEaterEventType_FacelessVoid_MultiHeroTimeDilation = 200;
kKillEaterEventType_Gyrocopter_ThreeHeroFlakCannon = 201;
kKillEaterEventType_Gyrocopter_HomingMissileKills = 202;
kKillEaterEventType_Gyrocopter_RocketBarrageKills = 203;
kKillEaterEventType_Huskar_KillsDuringLifeBreak = 204;
kKillEaterEventType_Huskar_BurningSpearKills = 205;
kKillEaterEventType_Invoker_MultiHeroIceWall = 206;
kKillEaterEventType_Invoker_ThreeHeroEMP = 207;
kKillEaterEventType_Invoker_ThreeHeroDeafeningBlast = 208;
kKillEaterEventType_Invoker_MultiHeroChaosMeteor = 209;
kKillEaterEventType_Jakiro_MultiHeroDualBreath = 210;
kKillEaterEventType_Jakiro_IcePathMacropyreCombos = 211;
kKillEaterEventType_Leshrac_PulseNovaKills = 212;
kKillEaterEventType_Leshrac_ThreeHeroLightningStorm = 213;
kKillEaterEventType_Lion_ThreeHeroFingerOfDeath = 214;
kKillEaterEventType_Meepo_PoofKills = 215;
kKillEaterEventType_Meepo_MultiHeroEarthbinds = 216;
kKillEaterEventType_NightStalker_NighttimeKills = 217;
kKillEaterEventType_Morphling_KillsDuringReplicate = 218;
kKillEaterEventType_OgreMagi_FireblastKills = 219;
kKillEaterEventType_OgreMagi_IgniteKills = 220;
kKillEaterEventType_DominatingKillStreaks = 221;
kKillEaterEventType_MegaKillStreaks = 222;
kKillEaterEventType_Alchemist_AghanimsGiven = 223;
kKillEaterEventType_VeilsLeadingToKills = 224;
kKillEaterEventType_DustLeadingToKills = 225;
kKillEaterEventType_WitchDoctor_MultiHeroCaskStuns = 226;
kKillEaterEventType_Weaver_ShukuchiKills = 227;
kKillEaterEventType_Windrunner_ShackleFocusFireKills = 228;
kKillEaterEventType_VengefulSpirit_VengeanceAuraIllusionKills = 229;
kKillEaterEventType_Tusk_WalrusPunchKills = 230;
kKillEaterEventType_Tinker_MultiHeroLasers = 231;
kKillEaterEventType_TemplarAssassin_MultiHeroPsiBlades = 232;
kKillEaterEventType_Sven_KillsDuringGodsStrength = 233;
kKillEaterEventType_Sniper_ThreeHeroShrapnels = 234;
kKillEaterEventType_Slark_KillsDuringShadowDance = 235;
kKillEaterEventType_ShadowShaman_MultiHeroEtherShocks = 236;
kKillEaterEventType_ShadowShaman_SerpentWardShackleKills = 237;
kKillEaterEventType_Riki_ThreeHeroTricksOfTheTrade = 238;
kKillEaterEventType_Razor_EyeOfTheStormKills = 239;
kKillEaterEventType_Pugna_LifeDrainKills = 240;
kKillEaterEventType_ObsidianDestroyer_SanitysEclipseKills = 241;
kKillEaterEventType_Oracle_MultiHeroFortunesEnd = 242;
kKillEaterEventType_Omniknight_PurificationKills = 243;
kKillEaterEventType_NightStalker_EnemyMissesUnderCripplingFear = 244;
kKillEaterEventType_Warlock_ThreeHeroFatalBonds = 245;
kKillEaterEventType_Riki_TricksOfTheTradeKills = 246;
kKillEaterEventType_Earthshaker_AftershockHits10 = 247;
kKillEaterEventType_Earthshaker_5HeroEchoslams = 248;
kKillEaterEventType_Lina_LagunaBladeHeroKills = 249;
kKillEaterEventType_Lina_LightStrikeHeroStuns = 250;
kKillEaterEventType_Earthshaker_FissureMultiStuns = 251;
kKillEaterEventType_Earthshaker_TotemKills = 252;
kKillEaterEventType_Pangolier_SwashbuckleKills = 253;
kKillEaterEventType_Furion_EnemyHeroesTrapped = 254;
kKillEaterEventType_Pangolier_HeartpiercerKills = 255;
kKillEaterEventType_Medusa_MultiHeroStoneGaze = 256;
kKillEaterEventType_Medusa_SplitShotKills = 257;
kKillEaterEventType_Mirana_MultiHeroStarstorm = 258;
kKillEaterEventType_Mirana_KillsFromMoonlightShadow = 259;
kKillEaterEventType_Magnus_MultiHeroSkewers = 260;
kKillEaterEventType_Magnus_MultiHeroReversePolarity = 261;
kKillEaterEventType_Magnus_HeroesSlowedWithShockwave = 262;
kKillEaterEventType_NagaSiren_MultiHeroSong = 263;
kKillEaterEventType_NagaSiren_AlliesHealedBySong = 264;
kKillEaterEventType_LoneDruid_MultiHeroRoar = 265;
kKillEaterEventType_LoneDruid_BattleCryKills = 266;
kKillEaterEventType_WinterWyvern_ThreeHeroCurses = 267;
kKillEaterEventType_Antimage_SpellsBlockedWithCounterspell = 268;
kKillEaterEventType_Mars_EnemiesKilledInArena = 269;
kKillEaterEventType_Mars_MultiHeroGodsRebuke = 270;
kKillEaterEventType_Mars_GodsRebukeKills = 271;
kKillEaterEventType_Snapfire_LizardBlobsKills = 272;
kKillEaterEventType_Snapfire_TwoHeroCookieStuns = 273;
Custom_KillStreak = 274;
kKillEaterEventType_Muerta_DeadShotKills = 275;
kKillEaterEventType_Muerta_PierceTheVeilKills = 276;
kKillEaterEventType_Muerta_MultiHeroDeadShot = 277;
kKillEaterEventType_Muerta_DeadShotsIntoTheCalling = 278;
kKillEaterEventType_Ringmaster_LongRangeDaggerHits = 279;
kKillEaterEventType_Ringmaster_MultiHeroWhips = 280;
kKillEaterEventType_Ringmaster_MultiHeroMesmerizes = 281;
kKillEaterEventType_Kez_ParryCounterAttacks = 282;
kKillEaterEventType_Kez_RavensVeilKills = 283;
kKillEaterEventType_Kez_RaptorDanceHealing = 284;
kKillEaterEventType_Kez_KillsDuringFalconRush = 285;
kKillEaterEventType_Seasonal_PartyHatsStolen = 286;
kKillEaterEventType_Seasonal_TallestHat = 287;
}
optional .CMvpData.MvpDatum.MvpAccolade.MvpAccoladeType type = 1 [default = kills];
optional float detail_value = 2;
}
optional uint32 player_slot = 1;
repeated .CMvpData.MvpDatum.MvpAccolade accolades = 2;
}
repeated .CMvpData.MvpDatum mvps = 1;
repeated .CMvpData.MvpDatum event_mvps = 2;
}

View File

@ -0,0 +1,497 @@
import "steammessages.proto";
import "dota_shared_enums.proto";
import "dota_gcmessages_common.proto";
import "dota_gcmessages_common_survivors.proto";
import "gcsdk_gcmessages.proto";
enum EOverworldNodeState {
k_eOverworldNodeState_Invalid = 0;
k_eOverworldNodeState_Locked = 1;
k_eOverworldNodeState_Unlocked = 2;
}
enum EOverworldPathState {
k_eOverworldPathState_Invalid = 0;
k_eOverworldPathState_Incomplete = 1;
k_eOverworldPathState_Complete = 2;
}
enum EOverworldAuditAction {
k_eOverworldAuditAction_Invalid = 0;
k_eOverworldAuditAction_DevModifyTokens = 1;
k_eOverworldAuditAction_DevClearInventory = 2;
k_eOverworldAuditAction_DevGrantTokens = 3;
k_eOverworldAuditAction_CompletePath = 4;
k_eOverworldAuditAction_ClaimEncounterReward = 5;
k_eOverworldAuditAction_DevResetNode = 6;
k_eOverworldAuditAction_DevResetPath = 7;
k_eOverworldAuditAction_MatchRewardsFull = 8;
k_eOverworldAuditAction_MatchRewardsHalf = 9;
k_eOverworldAuditAction_EventActionTokenGrant = 10;
k_eOverworldAuditAction_TokenTraderLost = 11;
k_eOverworldAuditAction_TokenTraderGained = 12;
k_eOverworldAuditAction_EncounterRewardTokenCost = 13;
k_eOverworldAuditAction_EncounterRewardTokenReward = 14;
k_eOverworldAuditAction_SupportGrantTokens = 16;
k_eOverworldAuditAction_TokenGiftSent = 17;
}
enum EOverworldMinigameAction {
k_eOverworldMinigameAction_Invalid = 0;
k_eOverworldMinigameAction_DevReset = 1;
k_eOverworldMinigameAction_DevGiveCurrency = 2;
k_eOverworldMinigameAction_Purchase = 3;
k_eOverworldMinigameAction_SetOption = 4;
k_eOverworldMinigameAction_ReportCurrencyGained = 5;
k_eOverworldMinigameAction_UnlockDifficulty = 6;
}
message CMsgOverworldTokenCount {
optional uint32 token_id = 1;
optional uint32 token_count = 2;
}
message CMsgOverworldTokenQuantity {
repeated .CMsgOverworldTokenCount token_counts = 1;
}
message CMsgOverworldEncounterTokenTreasureData {
message RewardOption {
optional uint32 reward_data = 1;
optional .CMsgOverworldTokenQuantity token_cost = 2;
optional .CMsgOverworldTokenQuantity token_reward = 3;
}
repeated .CMsgOverworldEncounterTokenTreasureData.RewardOption reward_options = 1;
}
message CMsgOverworldEncounterTokenQuestData {
message Quest {
optional uint32 reward_data = 1;
optional .CMsgOverworldTokenQuantity token_cost = 2;
optional .CMsgOverworldTokenQuantity token_reward = 3;
}
repeated .CMsgOverworldEncounterTokenQuestData.Quest quests = 1;
}
message CMsgOverworldHeroList {
repeated int32 hero_ids = 1;
}
message CMsgOverworldEncounterChooseHeroData {
optional .CMsgOverworldHeroList hero_list = 1;
optional bool additive = 2;
}
message CMsgOverworldEncounterProgressData {
optional int32 choice = 1;
optional int32 progress = 2;
optional int32 max_progress = 3;
optional bool visited = 4;
}
message CMsgOverworldEncounterData {
repeated .CExtraMsgBlock extra_encounter_data = 1;
}
message CMsgOverworldNode {
optional uint32 node_id = 1;
optional .EOverworldNodeState node_state = 2 [default = k_eOverworldNodeState_Invalid];
optional .CMsgOverworldEncounterData node_encounter_data = 3;
}
message CMsgOverworldPath {
optional uint32 path_id = 1;
optional .CMsgOverworldTokenQuantity path_cost = 2;
optional .EOverworldPathState path_state = 3 [default = k_eOverworldPathState_Invalid];
}
message CMsgOverworldMinigameCustomData {
oneof minigame_type {
.CMsgSurvivorsUserData survivors_data = 1;
}
}
message CMsgOverworldMinigameUserData {
optional uint32 node_id = 1;
optional uint32 currency_amount = 2;
optional .CMsgOverworldMinigameCustomData custom_data = 3;
}
message CMsgOverworldUserData {
message MinigameDataEntry {
optional uint32 key = 1;
optional .CMsgOverworldMinigameUserData value = 2;
}
optional .CMsgOverworldTokenQuantity token_inventory = 1;
repeated .CMsgOverworldNode overworld_nodes = 2;
repeated .CMsgOverworldPath overworld_paths = 3;
optional uint32 current_node_id = 4;
repeated .CMsgOverworldUserData.MinigameDataEntry minigame_data = 5;
}
message CMsgOverworldMatchRewards {
message Player {
optional uint32 player_slot = 1;
optional .CMsgOverworldTokenQuantity tokens = 2;
optional uint32 overworld_id = 3;
}
repeated .CMsgOverworldMatchRewards.Player players = 1;
}
message CMsgClientToGCOverworldGetUserData {
optional uint32 overworld_id = 1;
}
message CMsgClientToGCOverworldGetUserDataResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
}
optional .CMsgClientToGCOverworldGetUserDataResponse.EResponse response = 1 [default = k_eInternalError];
optional .CMsgOverworldUserData user_data = 2;
}
message CMsgGCToClientOverworldUserDataUpdated {
optional uint32 overworld_id = 1;
optional .CMsgOverworldUserData user_data = 2;
}
message CMsgClientToGCOverworldCompletePath {
optional uint32 overworld_id = 1;
optional uint32 path_id = 2;
}
message CMsgClientToGCOverworldCompletePathResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
k_eInvalidPath = 6;
k_eNotEnoughTokens = 7;
k_ePathIsLocked = 8;
k_ePathAlreadyUnlocked = 9;
}
optional .CMsgClientToGCOverworldCompletePathResponse.EResponse response = 1 [default = k_eInternalError];
optional .CMsgDOTAClaimEventActionResponse claim_response = 2;
}
message CMsgOverworldEncounterPitFighterRewardData {
optional uint32 token_id = 1;
optional uint32 choice = 2;
}
message CMsgClientToGCOverworldClaimEncounterReward {
optional uint32 overworld_id = 1;
optional uint32 node_id = 2;
optional uint32 reward_data = 3;
optional uint32 periodic_resource_id = 4;
optional .CMsgOverworldEncounterData extra_reward_data = 5;
optional uint32 leaderboard_data = 6;
optional uint32 leaderboard_index = 7;
optional bool should_claim_reward = 8;
}
message CMsgClientToGCOverworldClaimEncounterRewardResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
k_eInvalidNode = 6;
k_eNodeLocked = 7;
k_eRewardAlreadyClaimed = 8;
k_eNodeNotEncounter = 9;
k_eEncounterMissingRewards = 10;
k_eInvalidEncounterRewardStyle = 11;
k_eInvalidEncounterData = 12;
k_eNotEnoughTokensForReward = 13;
k_eNotEnoughResourceForReward = 14;
k_eInvalidRewardData = 15;
}
optional .CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse response = 1 [default = k_eInternalError];
optional .CMsgDOTAClaimEventActionResponse claim_response = 2;
optional .CMsgOverworldTokenQuantity tokens_received = 3;
}
message CMsgClientToGCOverworldVisitEncounter {
optional uint32 overworld_id = 1;
optional uint32 node_id = 2;
}
message CMsgClientToGCOverworldVisitEncounterResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
k_eInvalidNode = 6;
k_eNodeLocked = 7;
k_eNodeNotEncounter = 8;
k_eAlreadyVisited = 9;
}
optional .CMsgClientToGCOverworldVisitEncounterResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldMoveToNode {
optional uint32 overworld_id = 1;
optional uint32 node_id = 2;
}
message CMsgClientToGCOverworldMoveToNodeResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
k_eInvalidNode = 6;
k_eNodeLocked = 7;
}
optional .CMsgClientToGCOverworldMoveToNodeResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldTradeTokens {
optional uint32 overworld_id = 1;
optional .CMsgOverworldTokenQuantity token_offer = 2;
optional .CMsgOverworldTokenQuantity token_request = 3;
optional uint32 recipe = 4;
optional uint32 encounter_id = 5;
}
message CMsgClientToGCOverworldTradeTokensResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eNodeLocked = 6;
k_eInvalidOverworld = 7;
k_eInvalidOffer = 8;
k_eNotEnoughTokens = 9;
k_eInvalidNode = 10;
k_eInvalidEncounter = 11;
k_eRewardDoesNotMatchRecipe = 12;
}
optional .CMsgClientToGCOverworldTradeTokensResponse.EResponse response = 1 [default = k_eInternalError];
optional .CMsgOverworldTokenQuantity tokens_received = 2;
}
message CMsgClientToGCOverworldGiftTokens {
optional uint32 overworld_id = 1;
optional .CMsgOverworldTokenCount token_gift = 2;
optional uint32 recipient_account_id = 3;
optional uint32 periodic_resource_id = 4;
}
message CMsgClientToGCOverworldGiftTokensResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eNodeLocked = 6;
k_eInvalidOverworld = 7;
k_eInvalidGift = 8;
k_eNotEnoughTokens = 9;
k_eInvalidRecipient = 10;
k_eNotEnoughPeriodicResource = 11;
}
optional .CMsgClientToGCOverworldGiftTokensResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldRequestTokensNeededByFriend {
optional uint32 friend_account_id = 1;
optional uint32 overworld_id = 2;
}
message CMsgClientToGCOverworldRequestTokensNeededByFriendResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eNodeLocked = 6;
k_eInvalidOverworld = 7;
k_eInvalidFriend = 8;
k_eTooManyRequests = 9;
}
optional .CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.EResponse response = 1 [default = k_eInternalError];
optional .CMsgOverworldTokenQuantity token_quantity = 2;
}
message CMsgClientToGCOverworldDevResetAll {
optional uint32 overworld_id = 1;
}
message CMsgClientToGCOverworldDevResetAllResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidOverworld = 6;
}
optional .CMsgClientToGCOverworldDevResetAllResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldDevResetNode {
optional uint32 overworld_id = 1;
optional uint32 node_id = 2;
}
message CMsgClientToGCOverworldDevResetNodeResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidOverworld = 6;
k_eInvalidNode = 7;
}
optional .CMsgClientToGCOverworldDevResetNodeResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldDevGrantTokens {
optional uint32 overworld_id = 1;
optional .CMsgOverworldTokenQuantity token_quantity = 2;
}
message CMsgClientToGCOverworldDevGrantTokensResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidOverworld = 6;
}
optional .CMsgClientToGCOverworldDevGrantTokensResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldDevClearInventory {
optional uint32 overworld_id = 1;
}
message CMsgClientToGCOverworldDevClearInventoryResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidOverworld = 6;
}
optional .CMsgClientToGCOverworldDevClearInventoryResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldFeedback {
optional uint32 language = 1;
optional uint32 overworld_id = 2;
optional string feedback = 3;
}
message CMsgClientToGCOverworldFeedbackResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidOverworld = 6;
}
optional .CMsgClientToGCOverworldFeedbackResponse.EResponse response = 1 [default = k_eInternalError];
}
message CMsgClientToGCOverworldGetDynamicImage {
optional uint32 magic = 1;
optional uint32 image_id = 2;
optional uint32 language = 3;
}
message CMsgClientToGCOverworldGetDynamicImageResponse {
message Image {
optional uint32 width = 1;
optional uint32 height = 2;
optional .CMsgClientToGCOverworldGetDynamicImageResponse.EDynamicImageFormat format = 3 [default = k_eUnknown];
optional bytes image_bytes = 4;
}
enum EDynamicImageFormat {
k_eUnknown = 0;
k_ePNG = 1;
k_eData = 2;
}
optional uint32 image_id = 1;
repeated .CMsgClientToGCOverworldGetDynamicImageResponse.Image images = 2;
}
message CMsgClientToGCOverworldMinigameAction {
optional uint32 overworld_id = 1;
optional uint32 node_id = 2;
optional .EOverworldMinigameAction action = 3 [default = k_eOverworldMinigameAction_Invalid];
optional uint32 selection = 4;
optional uint32 option_value = 5;
optional uint32 currency_amount = 6;
}
message CMsgClientToGCOverworldMinigameActionResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eInvalidOverworld = 5;
k_eInvalidNode = 6;
k_eNodeLocked = 7;
k_eInvalidSelection = 8;
k_eNotEnoughTokens = 9;
k_eNotEnoughMinigameCurrency = 10;
k_eNotAllowed = 11;
}
optional .CMsgClientToGCOverworldMinigameActionResponse.EResponse response = 1 [default = k_eInternalError];
}

View File

@ -0,0 +1,48 @@
import "steammessages.proto";
import "dota_shared_enums.proto";
import "dota_gcmessages_common.proto";
import "gcsdk_gcmessages.proto";
message CMsgSurvivorsUserData {
message AttributeLevelsEntry {
optional int32 key = 1;
optional uint32 value = 2;
}
repeated .CMsgSurvivorsUserData.AttributeLevelsEntry attribute_levels = 1;
optional uint32 unlocked_difficulty = 2;
}
message CMsgClientToGCSurvivorsPowerUpTelemetryData {
optional uint32 powerup_id = 1;
optional uint32 level = 2;
optional uint32 time_received = 3;
optional uint32 time_held = 4;
optional uint64 total_damage = 5;
optional uint32 dps = 6;
optional uint32 has_scepter = 7;
}
message CMsgClientToGCSurvivorsGameTelemetryData {
optional uint32 time_survived = 1;
optional uint32 player_level = 2;
optional uint32 game_result = 3;
optional uint32 gold_earned = 4;
repeated .CMsgClientToGCSurvivorsPowerUpTelemetryData powerups = 5;
optional uint32 difficulty = 6;
optional uint32 metaprogression_level = 7;
}
message CMsgClientToGCSurvivorsGameTelemetryDataResponse {
enum EResponse {
k_eInternalError = 0;
k_eSuccess = 1;
k_eTooBusy = 2;
k_eDisabled = 3;
k_eTimeout = 4;
k_eNotAllowed = 5;
k_eInvalidItem = 6;
}
optional .CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse response = 1 [default = k_eInternalError];
}

View File

@ -0,0 +1,959 @@
enum EDOTAGCMsg {
k_EMsgGCDOTABase = 7000;
k_EMsgGCGameMatchSignOut = 7004;
k_EMsgGCGameMatchSignOutResponse = 7005;
k_EMsgGCJoinChatChannel = 7009;
k_EMsgGCJoinChatChannelResponse = 7010;
k_EMsgGCOtherJoinedChannel = 7013;
k_EMsgGCOtherLeftChannel = 7014;
k_EMsgServerToGCRequestStatus = 7026;
k_EMsgGCStartFindingMatch = 7033;
k_EMsgGCConnectedPlayers = 7034;
k_EMsgGCAbandonCurrentGame = 7035;
k_EMsgGCStopFindingMatch = 7036;
k_EMsgGCPracticeLobbyCreate = 7038;
k_EMsgGCPracticeLobbyLeave = 7040;
k_EMsgGCPracticeLobbyLaunch = 7041;
k_EMsgGCPracticeLobbyList = 7042;
k_EMsgGCPracticeLobbyListResponse = 7043;
k_EMsgGCPracticeLobbyJoin = 7044;
k_EMsgGCPracticeLobbySetDetails = 7046;
k_EMsgGCPracticeLobbySetTeamSlot = 7047;
k_EMsgGCInitialQuestionnaireResponse = 7049;
k_EMsgGCPracticeLobbyResponse = 7055;
k_EMsgGCBroadcastNotification = 7056;
k_EMsgGCLiveScoreboardUpdate = 7057;
k_EMsgGCRequestChatChannelList = 7060;
k_EMsgGCRequestChatChannelListResponse = 7061;
k_EMsgGCReadyUp = 7070;
k_EMsgGCKickedFromMatchmakingQueue = 7071;
k_EMsgGCLeaverDetected = 7072;
k_EMsgGCSpectateFriendGame = 7073;
k_EMsgGCSpectateFriendGameResponse = 7074;
k_EMsgGCReportsRemainingRequest = 7076;
k_EMsgGCReportsRemainingResponse = 7077;
k_EMsgGCSubmitPlayerReport = 7078;
k_EMsgGCSubmitPlayerReportResponse = 7079;
k_EMsgGCPracticeLobbyKick = 7081;
k_EMsgGCSubmitPlayerReportV2 = 7082;
k_EMsgGCSubmitPlayerReportResponseV2 = 7083;
k_EMsgGCRequestSaveGames = 7084;
k_EMsgGCRequestSaveGamesServer = 7085;
k_EMsgGCRequestSaveGamesResponse = 7086;
k_EMsgGCLeaverDetectedResponse = 7087;
k_EMsgGCPlayerFailedToConnect = 7088;
k_EMsgGCGCToRelayConnect = 7089;
k_EMsgGCGCToRelayConnectresponse = 7090;
k_EMsgGCWatchGame = 7091;
k_EMsgGCWatchGameResponse = 7092;
k_EMsgGCBanStatusRequest = 7093;
k_EMsgGCBanStatusResponse = 7094;
k_EMsgGCMatchDetailsRequest = 7095;
k_EMsgGCMatchDetailsResponse = 7096;
k_EMsgGCCancelWatchGame = 7097;
k_EMsgGCPopup = 7102;
k_EMsgGCFriendPracticeLobbyListRequest = 7111;
k_EMsgGCFriendPracticeLobbyListResponse = 7112;
k_EMsgGCPracticeLobbyJoinResponse = 7113;
k_EMsgGCCreateTeam = 7115;
k_EMsgGCCreateTeamResponse = 7116;
k_EMsgGCTeamInvite_InviterToGC = 7122;
k_EMsgGCTeamInvite_GCImmediateResponseToInviter = 7123;
k_EMsgGCTeamInvite_GCRequestToInvitee = 7124;
k_EMsgGCTeamInvite_InviteeResponseToGC = 7125;
k_EMsgGCTeamInvite_GCResponseToInviter = 7126;
k_EMsgGCTeamInvite_GCResponseToInvitee = 7127;
k_EMsgGCKickTeamMember = 7128;
k_EMsgGCKickTeamMemberResponse = 7129;
k_EMsgGCLeaveTeam = 7130;
k_EMsgGCLeaveTeamResponse = 7131;
k_EMsgGCApplyTeamToPracticeLobby = 7142;
k_EMsgGCTransferTeamAdmin = 7144;
k_EMsgGCPracticeLobbyJoinBroadcastChannel = 7149;
k_EMsgGC_TournamentItemEvent = 7150;
k_EMsgGC_TournamentItemEventResponse = 7151;
k_EMsgTeamFanfare = 7156;
k_EMsgResponseTeamFanfare = 7157;
k_EMsgGCEditTeamDetails = 7166;
k_EMsgGCEditTeamDetailsResponse = 7167;
k_EMsgGCReadyUpStatus = 7170;
k_EMsgGCToGCMatchCompleted = 7186;
k_EMsgGCBalancedShuffleLobby = 7188;
k_EMsgGCMatchmakingStatsRequest = 7197;
k_EMsgGCMatchmakingStatsResponse = 7198;
k_EMsgGCBotGameCreate = 7199;
k_EMsgGCSetMatchHistoryAccess = 7200;
k_EMsgGCSetMatchHistoryAccessResponse = 7201;
k_EMsgUpgradeLeagueItem = 7203;
k_EMsgUpgradeLeagueItemResponse = 7204;
k_EMsgGCWatchDownloadedReplay = 7206;
k_EMsgClientsRejoinChatChannels = 7217;
k_EMsgGCToGCGetUserChatInfo = 7218;
k_EMsgGCToGCGetUserChatInfoResponse = 7219;
k_EMsgGCToGCLeaveAllChatChannels = 7220;
k_EMsgGCToGCUpdateAccountChatBan = 7221;
k_EMsgGCToGCCanInviteUserToTeam = 7234;
k_EMsgGCToGCCanInviteUserToTeamResponse = 7235;
k_EMsgGCToGCGetUserRank = 7236;
k_EMsgGCToGCGetUserRankResponse = 7237;
k_EMsgGCToGCAdjustUserRank = 7238;
k_EMsgGCToGCAdjustUserRankResponse = 7239;
k_EMsgGCToGCUpdateTeamStats = 7240;
k_EMsgGCToGCValidateTeam = 7241;
k_EMsgGCToGCValidateTeamResponse = 7242;
k_EMsgGCToGCGetLeagueAdmin = 7255;
k_EMsgGCToGCGetLeagueAdminResponse = 7256;
k_EMsgGCLeaveChatChannel = 7272;
k_EMsgGCChatMessage = 7273;
k_EMsgGCGetHeroStandings = 7274;
k_EMsgGCGetHeroStandingsResponse = 7275;
k_EMsgGCItemEditorReservationsRequest = 7283;
k_EMsgGCItemEditorReservationsResponse = 7284;
k_EMsgGCItemEditorReserveItemDef = 7285;
k_EMsgGCItemEditorReserveItemDefResponse = 7286;
k_EMsgGCItemEditorReleaseReservation = 7287;
k_EMsgGCItemEditorReleaseReservationResponse = 7288;
k_EMsgGCFantasyLivePlayerStats = 7308;
k_EMsgGCFantasyFinalPlayerStats = 7309;
k_EMsgGCFlipLobbyTeams = 7320;
k_EMsgGCToGCEvaluateReportedPlayer = 7322;
k_EMsgGCToGCEvaluateReportedPlayerResponse = 7323;
k_EMsgGCToGCProcessPlayerReportForTarget = 7324;
k_EMsgGCToGCProcessReportSuccess = 7325;
k_EMsgGCNotifyAccountFlagsChange = 7326;
k_EMsgGCSetProfilePrivacy = 7327;
k_EMsgGCSetProfilePrivacyResponse = 7328;
k_EMsgGCClientSuspended = 7342;
k_EMsgGCPartyMemberSetCoach = 7343;
k_EMsgGCPracticeLobbySetCoach = 7346;
k_EMsgGCChatModeratorBan = 7359;
k_EMsgGCLobbyUpdateBroadcastChannelInfo = 7367;
k_EMsgGCToGCGrantTournamentItem = 7372;
k_EMsgGCToGCUpgradeTwitchViewerItems = 7375;
k_EMsgGCToGCGetLiveMatchAffiliates = 7376;
k_EMsgGCToGCGetLiveMatchAffiliatesResponse = 7377;
k_EMsgGCToGCUpdatePlayerPennantCounts = 7378;
k_EMsgGCToGCGetPlayerPennantCounts = 7379;
k_EMsgGCToGCGetPlayerPennantCountsResponse = 7380;
k_EMsgGCGameMatchSignOutPermissionRequest = 7381;
k_EMsgGCGameMatchSignOutPermissionResponse = 7382;
k_EMsgDOTAAwardEventPoints = 7384;
k_EMsgDOTAGetEventPoints = 7387;
k_EMsgDOTAGetEventPointsResponse = 7388;
k_EMsgGCPartyLeaderWatchGamePrompt = 7397;
k_EMsgGCCompendiumSetSelection = 7405;
k_EMsgGCCompendiumDataRequest = 7406;
k_EMsgGCCompendiumDataResponse = 7407;
k_EMsgDOTAGetPlayerMatchHistory = 7408;
k_EMsgDOTAGetPlayerMatchHistoryResponse = 7409;
k_EMsgGCToGCMatchmakingAddParty = 7410;
k_EMsgGCToGCMatchmakingRemoveParty = 7411;
k_EMsgGCToGCMatchmakingRemoveAllParties = 7412;
k_EMsgGCToGCMatchmakingMatchFound = 7413;
k_EMsgGCToGCUpdateMatchManagementStats = 7414;
k_EMsgGCToGCUpdateMatchmakingStats = 7415;
k_EMsgGCToServerPingRequest = 7416;
k_EMsgGCToServerPingResponse = 7417;
k_EMsgGCToServerEvaluateToxicChat = 7418;
k_EMsgServerToGCEvaluateToxicChat = 7419;
k_EMsgServerToGCEvaluateToxicChatResponse = 7420;
k_EMsgGCToGCProcessMatchLeaver = 7426;
k_EMsgGCNotificationsRequest = 7427;
k_EMsgGCNotificationsResponse = 7428;
k_EMsgGCToGCModifyNotification = 7429;
k_EMsgGCLeagueAdminList = 7434;
k_EMsgGCNotificationsMarkReadRequest = 7435;
k_EMsgServerToGCRequestBatchPlayerResources = 7450;
k_EMsgServerToGCRequestBatchPlayerResourcesResponse = 7451;
k_EMsgGCCompendiumSetSelectionResponse = 7453;
k_EMsgGCPlayerInfoSubmit = 7456;
k_EMsgGCPlayerInfoSubmitResponse = 7457;
k_EMsgGCToGCGetAccountLevel = 7458;
k_EMsgGCToGCGetAccountLevelResponse = 7459;
k_EMsgDOTAGetWeekendTourneySchedule = 7464;
k_EMsgDOTAWeekendTourneySchedule = 7465;
k_EMsgGCJoinableCustomGameModesRequest = 7466;
k_EMsgGCJoinableCustomGameModesResponse = 7467;
k_EMsgGCJoinableCustomLobbiesRequest = 7468;
k_EMsgGCJoinableCustomLobbiesResponse = 7469;
k_EMsgGCQuickJoinCustomLobby = 7470;
k_EMsgGCQuickJoinCustomLobbyResponse = 7471;
k_EMsgGCToGCGrantEventPointAction = 7472;
k_EMsgGCToGCSetCompendiumSelection = 7478;
k_EMsgGCHasItemQuery = 7484;
k_EMsgGCHasItemResponse = 7485;
k_EMsgGCToGCGrantEventPointActionMsg = 7488;
k_EMsgGCToGCGetCompendiumSelections = 7492;
k_EMsgGCToGCGetCompendiumSelectionsResponse = 7493;
k_EMsgServerToGCMatchConnectionStats = 7494;
k_EMsgGCToClientTournamentItemDrop = 7495;
k_EMsgSQLDelayedGrantLeagueDrop = 7496;
k_EMsgServerGCUpdateSpectatorCount = 7497;
k_EMsgGCToGCEmoticonUnlock = 7501;
k_EMsgSignOutDraftInfo = 7502;
k_EMsgClientToGCEmoticonDataRequest = 7503;
k_EMsgGCToClientEmoticonData = 7504;
k_EMsgGCPracticeLobbyToggleBroadcastChannelCameramanStatus = 7505;
k_EMsgDOTARedeemItem = 7518;
k_EMsgDOTARedeemItemResponse = 7519;
k_EMsgClientToGCGetAllHeroProgress = 7521;
k_EMsgClientToGCGetAllHeroProgressResponse = 7522;
k_EMsgGCToGCGetServerForClient = 7523;
k_EMsgGCToGCGetServerForClientResponse = 7524;
k_EMsgSQLProcessTournamentGameOutcome = 7525;
k_EMsgSQLGrantTrophyToAccount = 7526;
k_EMsgClientToGCGetTrophyList = 7527;
k_EMsgClientToGCGetTrophyListResponse = 7528;
k_EMsgGCToClientTrophyAwarded = 7529;
k_EMsgGCGameBotMatchSignOut = 7530;
k_EMsgGCGameBotMatchSignOutPermissionRequest = 7531;
k_EMsgSignOutBotInfo = 7532;
k_EMsgGCToGCUpdateProfileCards = 7533;
k_EMsgClientToGCGetProfileCard = 7534;
k_EMsgClientToGCGetProfileCardResponse = 7535;
k_EMsgClientToGCGetBattleReport = 7536;
k_EMsgClientToGCGetBattleReportResponse = 7537;
k_EMsgClientToGCSetProfileCardSlots = 7538;
k_EMsgGCToClientProfileCardUpdated = 7539;
k_EMsgServerToGCVictoryPredictions = 7540;
k_EMsgClientToGCGetBattleReportAggregateStats = 7541;
k_EMsgClientToGCGetBattleReportAggregateStatsResponse = 7542;
k_EMsgClientToGCGetBattleReportInfo = 7543;
k_EMsgClientToGCGetBattleReportInfoResponse = 7544;
k_EMsgSignOutCommunicationSummary = 7545;
k_EMsgServerToGCRequestStatus_Response = 7546;
k_EMsgClientToGCCreateHeroStatue = 7547;
k_EMsgGCToClientHeroStatueCreateResult = 7548;
k_EMsgGCGCToLANServerRelayConnect = 7549;
k_EMsgClientToGCAcknowledgeBattleReport = 7550;
k_EMsgClientToGCAcknowledgeBattleReportResponse = 7551;
k_EMsgClientToGCGetBattleReportMatchHistory = 7552;
k_EMsgClientToGCGetBattleReportMatchHistoryResponse = 7553;
k_EMsgServerToGCReportKillSummaries = 7554;
k_EMsgGCToGCUpdatePlayerPredictions = 7561;
k_EMsgGCToServerPredictionResult = 7562;
k_EMsgGCToGCReplayMonitorValidateReplay = 7569;
k_EMsgLobbyEventPoints = 7572;
k_EMsgGCToGCGetCustomGameTickets = 7573;
k_EMsgGCToGCGetCustomGameTicketsResponse = 7574;
k_EMsgGCToGCCustomGamePlayed = 7576;
k_EMsgGCToGCGrantEventPointsToUser = 7577;
k_EMsgGameserverCrashReport = 7579;
k_EMsgGameserverCrashReportResponse = 7580;
k_EMsgGCToClientSteamDatagramTicket = 7581;
k_EMsgGCToGCSendAccountsEventPoints = 7583;
k_EMsgClientToGCRerollPlayerChallenge = 7584;
k_EMsgServerToGCRerollPlayerChallenge = 7585;
k_EMsgGCRerollPlayerChallengeResponse = 7586;
k_EMsgSignOutUpdatePlayerChallenge = 7587;
k_EMsgClientToGCSetPartyLeader = 7588;
k_EMsgClientToGCCancelPartyInvites = 7589;
k_EMsgSQLGrantLeagueMatchToTicketHolders = 7592;
k_EMsgGCToGCEmoticonUnlockNoRollback = 7594;
k_EMsgClientToGCApplyGemCombiner = 7603;
k_EMsgClientToGCGetAllHeroOrder = 7606;
k_EMsgClientToGCGetAllHeroOrderResponse = 7607;
k_EMsgSQLGCToGCGrantBadgePoints = 7608;
k_EMsgGCToGCCheckOwnsEntireEmoticonRange = 7611;
k_EMsgGCToGCCheckOwnsEntireEmoticonRangeResponse = 7612;
k_EMsgGCToClientRequestLaneSelection = 7623;
k_EMsgGCToClientRequestLaneSelectionResponse = 7624;
k_EMsgServerToGCCavernCrawlIsHeroActive = 7625;
k_EMsgServerToGCCavernCrawlIsHeroActiveResponse = 7626;
k_EMsgClientToGCPlayerCardSpecificPurchaseRequest = 7627;
k_EMsgClientToGCPlayerCardSpecificPurchaseResponse = 7628;
k_EMsgSQLSetIsLeagueAdmin = 7630;
k_EMsgGCToGCGetLiveLeagueMatches = 7631;
k_EMsgGCToGCGetLiveLeagueMatchesResponse = 7632;
k_EMsgDOTALeagueInfoListAdminsRequest = 7633;
k_EMsgDOTALeagueInfoListAdminsReponse = 7634;
k_EMsgGCToGCLeagueMatchStarted = 7645;
k_EMsgGCToGCLeagueMatchCompleted = 7646;
k_EMsgGCToGCLeagueMatchStartedResponse = 7647;
k_EMsgDOTALeagueAvailableLobbyNodesRequest = 7650;
k_EMsgDOTALeagueAvailableLobbyNodes = 7651;
k_EMsgGCToGCLeagueRequest = 7652;
k_EMsgGCToGCLeagueResponse = 7653;
k_EMsgGCToGCLeagueNodeGroupRequest = 7654;
k_EMsgGCToGCLeagueNodeGroupResponse = 7655;
k_EMsgGCToGCLeagueNodeRequest = 7656;
k_EMsgGCToGCLeagueNodeResponse = 7657;
k_EMsgGCToGCRealtimeStatsTerseRequest = 7658;
k_EMsgGCToGCRealtimeStatsTerseResponse = 7659;
k_EMsgGCToGCGetTopMatchesRequest = 7660;
k_EMsgGCToGCGetTopMatchesResponse = 7661;
k_EMsgClientToGCGetFilteredPlayers = 7662;
k_EMsgGCToClientGetFilteredPlayersResponse = 7663;
k_EMsgClientToGCRemoveFilteredPlayer = 7664;
k_EMsgGCToClientRemoveFilteredPlayerResponse = 7665;
k_EMsgGCToClientPlayerBeaconState = 7666;
k_EMsgGCToClientPartyBeaconUpdate = 7667;
k_EMsgGCToClientPartySearchInvite = 7668;
k_EMsgClientToGCUpdatePartyBeacon = 7669;
k_EMsgClientToGCRequestActiveBeaconParties = 7670;
k_EMsgGCToClientRequestActiveBeaconPartiesResponse = 7671;
k_EMsgClientToGCManageFavorites = 7672;
k_EMsgGCToClientManageFavoritesResponse = 7673;
k_EMsgClientToGCJoinPartyFromBeacon = 7674;
k_EMsgGCToClientJoinPartyFromBeaconResponse = 7675;
k_EMsgClientToGCGetFavoritePlayers = 7676;
k_EMsgGCToClientGetFavoritePlayersResponse = 7677;
k_EMsgClientToGCVerifyFavoritePlayers = 7678;
k_EMsgGCToClientVerifyFavoritePlayersResponse = 7679;
k_EMsgGCToClientPartySearchInvites = 7680;
k_EMsgGCToClientRequestMMInfo = 7681;
k_EMsgClientToGCMMInfo = 7682;
k_EMsgSignOutTextMuteInfo = 7683;
k_EMsgClientToGCPurchaseLabyrinthBlessings = 7684;
k_EMsgClientToGCPurchaseLabyrinthBlessingsResponse = 7685;
k_EMsgClientToGCPurchaseFilteredPlayerSlot = 7686;
k_EMsgGCToClientPurchaseFilteredPlayerSlotResponse = 7687;
k_EMsgClientToGCUpdateFilteredPlayerNote = 7688;
k_EMsgGCToClientUpdateFilteredPlayerNoteResponse = 7689;
k_EMsgClientToGCClaimSwag = 7690;
k_EMsgGCToClientClaimSwagResponse = 7691;
k_EMsgServerToGCLockCharmTrading = 8004;
k_EMsgClientToGCPlayerStatsRequest = 8006;
k_EMsgGCToClientPlayerStatsResponse = 8007;
k_EMsgGCClearPracticeLobbyTeam = 8008;
k_EMsgClientToGCFindTopSourceTVGames = 8009;
k_EMsgGCToClientFindTopSourceTVGamesResponse = 8010;
k_EMsgGCLobbyList = 8011;
k_EMsgGCLobbyListResponse = 8012;
k_EMsgGCPlayerStatsMatchSignOut = 8013;
k_EMsgClientToGCSocialFeedPostCommentRequest = 8016;
k_EMsgGCToClientSocialFeedPostCommentResponse = 8017;
k_EMsgClientToGCCustomGamesFriendsPlayedRequest = 8018;
k_EMsgGCToClientCustomGamesFriendsPlayedResponse = 8019;
k_EMsgClientToGCFriendsPlayedCustomGameRequest = 8020;
k_EMsgGCToClientFriendsPlayedCustomGameResponse = 8021;
k_EMsgGCTopCustomGamesList = 8024;
k_EMsgClientToGCSetPartyOpen = 8029;
k_EMsgClientToGCMergePartyInvite = 8030;
k_EMsgGCToClientMergeGroupInviteReply = 8031;
k_EMsgClientToGCMergePartyResponse = 8032;
k_EMsgGCToClientMergePartyResponseReply = 8033;
k_EMsgClientToGCGetProfileCardStats = 8034;
k_EMsgClientToGCGetProfileCardStatsResponse = 8035;
k_EMsgClientToGCTopLeagueMatchesRequest = 8036;
k_EMsgClientToGCTopFriendMatchesRequest = 8037;
k_EMsgGCToClientProfileCardStatsUpdated = 8040;
k_EMsgServerToGCRealtimeStats = 8041;
k_EMsgGCToServerRealtimeStatsStartStop = 8042;
k_EMsgGCToGCGetServersForClients = 8045;
k_EMsgGCToGCGetServersForClientsResponse = 8046;
k_EMsgGCPracticeLobbyKickFromTeam = 8047;
k_EMsgDOTAChatGetMemberCount = 8048;
k_EMsgDOTAChatGetMemberCountResponse = 8049;
k_EMsgClientToGCSocialFeedPostMessageRequest = 8050;
k_EMsgGCToClientSocialFeedPostMessageResponse = 8051;
k_EMsgCustomGameListenServerStartedLoading = 8052;
k_EMsgCustomGameClientFinishedLoading = 8053;
k_EMsgGCPracticeLobbyCloseBroadcastChannel = 8054;
k_EMsgGCStartFindingMatchResponse = 8055;
k_EMsgSQLGCToGCGrantAccountFlag = 8057;
k_EMsgGCToClientTopLeagueMatchesResponse = 8061;
k_EMsgGCToClientTopFriendMatchesResponse = 8062;
k_EMsgClientToGCMatchesMinimalRequest = 8063;
k_EMsgClientToGCMatchesMinimalResponse = 8064;
k_EMsgGCToClientChatRegionsEnabled = 8067;
k_EMsgClientToGCPingData = 8068;
k_EMsgGCToGCEnsureAccountInParty = 8071;
k_EMsgGCToGCEnsureAccountInPartyResponse = 8072;
k_EMsgClientToGCGetProfileTickets = 8073;
k_EMsgClientToGCGetProfileTicketsResponse = 8074;
k_EMsgGCToClientMatchGroupsVersion = 8075;
k_EMsgClientToGCH264Unsupported = 8076;
k_EMsgClientToGCGetQuestProgress = 8078;
k_EMsgClientToGCGetQuestProgressResponse = 8079;
k_EMsgSignOutXPCoins = 8080;
k_EMsgGCToClientMatchSignedOut = 8081;
k_EMsgGCGetHeroStatsHistory = 8082;
k_EMsgGCGetHeroStatsHistoryResponse = 8083;
k_EMsgClientToGCPrivateChatInvite = 8084;
k_EMsgClientToGCPrivateChatKick = 8088;
k_EMsgClientToGCPrivateChatPromote = 8089;
k_EMsgClientToGCPrivateChatDemote = 8090;
k_EMsgGCToClientPrivateChatResponse = 8091;
k_EMsgClientToGCLatestConductScorecardRequest = 8095;
k_EMsgClientToGCLatestConductScorecard = 8096;
k_EMsgClientToGCWageringRequest = 8099;
k_EMsgGCToClientWageringResponse = 8100;
k_EMsgClientToGCEventGoalsRequest = 8103;
k_EMsgClientToGCEventGoalsResponse = 8104;
k_EMsgGCToGCLeaguePredictionsUpdate = 8108;
k_EMsgGCToGCAddUserToPostGameChat = 8110;
k_EMsgClientToGCHasPlayerVotedForMVP = 8111;
k_EMsgClientToGCHasPlayerVotedForMVPResponse = 8112;
k_EMsgClientToGCVoteForMVP = 8113;
k_EMsgClientToGCVoteForMVPResponse = 8114;
k_EMsgGCToGCGetEventParticipation = 8115;
k_EMsgGCToGCGetEventParticipationResponse = 8116;
k_EMsgGCToClientAutomatedTournamentStateChange = 8117;
k_EMsgClientToGCWeekendTourneyOpts = 8118;
k_EMsgClientToGCWeekendTourneyOptsResponse = 8119;
k_EMsgClientToGCWeekendTourneyLeave = 8120;
k_EMsgClientToGCWeekendTourneyLeaveResponse = 8121;
k_EMsgClientToGCTeammateStatsRequest = 8124;
k_EMsgClientToGCTeammateStatsResponse = 8125;
k_EMsgClientToGCGetGiftPermissions = 8126;
k_EMsgClientToGCGetGiftPermissionsResponse = 8127;
k_EMsgClientToGCVoteForArcana = 8128;
k_EMsgClientToGCVoteForArcanaResponse = 8129;
k_EMsgClientToGCRequestArcanaVotesRemaining = 8130;
k_EMsgClientToGCRequestArcanaVotesRemainingResponse = 8131;
k_EMsgGCTransferTeamAdminResponse = 8132;
k_EMsgGCToClientTeamInfo = 8135;
k_EMsgGCToClientTeamsInfo = 8136;
k_EMsgClientToGCMyTeamInfoRequest = 8137;
k_EMsgClientToGCPublishUserStat = 8140;
k_EMsgGCToGCSignoutSpendWager = 8141;
k_EMsgGCSubmitLobbyMVPVote = 8144;
k_EMsgGCSubmitLobbyMVPVoteResponse = 8145;
k_EMsgSignOutCommunityGoalProgress = 8150;
k_EMsgGCToClientLobbyMVPAwarded = 8152;
k_EMsgGCToClientQuestProgressUpdated = 8153;
k_EMsgGCToClientWageringUpdate = 8154;
k_EMsgGCToClientArcanaVotesUpdate = 8155;
k_EMsgClientToGCSetSpectatorLobbyDetails = 8157;
k_EMsgClientToGCSetSpectatorLobbyDetailsResponse = 8158;
k_EMsgClientToGCCreateSpectatorLobby = 8159;
k_EMsgClientToGCCreateSpectatorLobbyResponse = 8160;
k_EMsgClientToGCSpectatorLobbyList = 8161;
k_EMsgClientToGCSpectatorLobbyListResponse = 8162;
k_EMsgSpectatorLobbyGameDetails = 8163;
k_EMsgServerToGCCompendiumInGamePredictionResults = 8166;
k_EMsgServerToGCCloseCompendiumInGamePredictionVoting = 8167;
k_EMsgClientToGCOpenPlayerCardPack = 8168;
k_EMsgClientToGCOpenPlayerCardPackResponse = 8169;
k_EMsgClientToGCSelectCompendiumInGamePrediction = 8170;
k_EMsgClientToGCSelectCompendiumInGamePredictionResponse = 8171;
k_EMsgClientToGCWeekendTourneyGetPlayerStats = 8172;
k_EMsgClientToGCWeekendTourneyGetPlayerStatsResponse = 8173;
k_EMsgClientToGCRecyclePlayerCard = 8174;
k_EMsgClientToGCRecyclePlayerCardResponse = 8175;
k_EMsgClientToGCCreatePlayerCardPack = 8176;
k_EMsgClientToGCCreatePlayerCardPackResponse = 8177;
k_EMsgClientToGCGetPlayerCardRosterRequest = 8178;
k_EMsgClientToGCGetPlayerCardRosterResponse = 8179;
k_EMsgClientToGCSetPlayerCardRosterRequest = 8180;
k_EMsgClientToGCSetPlayerCardRosterResponse = 8181;
k_EMsgServerToGCCloseCompendiumInGamePredictionVotingResponse = 8183;
k_EMsgLobbyBattleCupVictory = 8186;
k_EMsgGCGetPlayerCardItemInfo = 8187;
k_EMsgGCGetPlayerCardItemInfoResponse = 8188;
k_EMsgClientToGCRequestSteamDatagramTicket = 8189;
k_EMsgClientToGCRequestSteamDatagramTicketResponse = 8190;
k_EMsgGCToClientBattlePassRollupRequest = 8191;
k_EMsgGCToClientBattlePassRollupResponse = 8192;
k_EMsgClientToGCTransferSeasonalMMRRequest = 8193;
k_EMsgClientToGCTransferSeasonalMMRResponse = 8194;
k_EMsgGCToGCPublicChatCommunicationBan = 8195;
k_EMsgGCToGCUpdateAccountInfo = 8196;
k_EMsgGCChatReportPublicSpam = 8197;
k_EMsgClientToGCSetPartyBuilderOptions = 8198;
k_EMsgClientToGCSetPartyBuilderOptionsResponse = 8199;
k_EMsgGCToClientPlaytestStatus = 8200;
k_EMsgClientToGCJoinPlaytest = 8201;
k_EMsgClientToGCJoinPlaytestResponse = 8202;
k_EMsgLobbyPlaytestDetails = 8203;
k_EMsgDOTASetFavoriteTeam = 8204;
k_EMsgGCToClientBattlePassRollupListRequest = 8205;
k_EMsgGCToClientBattlePassRollupListResponse = 8206;
k_EMsgDOTAClaimEventAction = 8209;
k_EMsgDOTAClaimEventActionResponse = 8210;
k_EMsgDOTAGetPeriodicResource = 8211;
k_EMsgDOTAGetPeriodicResourceResponse = 8212;
k_EMsgDOTAPeriodicResourceUpdated = 8213;
k_EMsgServerToGCSpendWager = 8214;
k_EMsgGCToGCSignoutSpendWagerToken = 8215;
k_EMsgSubmitTriviaQuestionAnswer = 8216;
k_EMsgSubmitTriviaQuestionAnswerResponse = 8217;
k_EMsgClientToGCGiveTip = 8218;
k_EMsgClientToGCGiveTipResponse = 8219;
k_EMsgStartTriviaSession = 8220;
k_EMsgStartTriviaSessionResponse = 8221;
k_EMsgAnchorPhoneNumberRequest = 8222;
k_EMsgAnchorPhoneNumberResponse = 8223;
k_EMsgUnanchorPhoneNumberRequest = 8224;
k_EMsgUnanchorPhoneNumberResponse = 8225;
k_EMsgGCToGCSignoutSpendRankWager = 8229;
k_EMsgGCToGCGetFavoriteTeam = 8230;
k_EMsgGCToGCGetFavoriteTeamResponse = 8231;
k_EMsgSignOutEventGameData = 8232;
k_EMsgClientToGCQuickStatsRequest = 8238;
k_EMsgClientToGCQuickStatsResponse = 8239;
k_EMsgGCToGCSubtractEventPointsFromUser = 8240;
k_EMsgSelectionPriorityChoiceRequest = 8241;
k_EMsgSelectionPriorityChoiceResponse = 8242;
k_EMsgGCToGCCompendiumInGamePredictionResults = 8243;
k_EMsgGameAutographReward = 8244;
k_EMsgGameAutographRewardResponse = 8245;
k_EMsgDestroyLobbyRequest = 8246;
k_EMsgDestroyLobbyResponse = 8247;
k_EMsgPurchaseItemWithEventPoints = 8248;
k_EMsgPurchaseItemWithEventPointsResponse = 8249;
k_EMsgServerToGCMatchPlayerItemPurchaseHistory = 8250;
k_EMsgGCToGCGrantPlusHeroMatchResults = 8251;
k_EMsgServerToGCMatchStateHistory = 8255;
k_EMsgPurchaseHeroRandomRelic = 8258;
k_EMsgPurchaseHeroRandomRelicResponse = 8259;
k_EMsgClientToGCClaimEventActionUsingItem = 8260;
k_EMsgClientToGCClaimEventActionUsingItemResponse = 8261;
k_EMsgPartyReadyCheckRequest = 8262;
k_EMsgPartyReadyCheckResponse = 8263;
k_EMsgPartyReadyCheckAcknowledge = 8264;
k_EMsgGetRecentPlayTimeFriendsRequest = 8265;
k_EMsgGetRecentPlayTimeFriendsResponse = 8266;
k_EMsgGCToClientCommendNotification = 8267;
k_EMsgProfileRequest = 8268;
k_EMsgProfileResponse = 8269;
k_EMsgProfileUpdate = 8270;
k_EMsgProfileUpdateResponse = 8271;
k_EMsgHeroGlobalDataRequest = 8274;
k_EMsgHeroGlobalDataResponse = 8275;
k_EMsgClientToGCRequestPlusWeeklyChallengeResult = 8276;
k_EMsgClientToGCRequestPlusWeeklyChallengeResultResponse = 8277;
k_EMsgGCToGCGrantPlusPrepaidTime = 8278;
k_EMsgPrivateMetadataKeyRequest = 8279;
k_EMsgPrivateMetadataKeyResponse = 8280;
k_EMsgGCToGCReconcilePlusStatus = 8281;
k_EMsgGCToGCCheckPlusStatus = 8282;
k_EMsgGCToGCCheckPlusStatusResponse = 8283;
k_EMsgGCToGCReconcilePlusAutoGrantItems = 8284;
k_EMsgGCToGCReconcilePlusStatusUnreliable = 8285;
k_EMsgGCToClientCavernCrawlMapPathCompleted = 8288;
k_EMsgClientToGCCavernCrawlClaimRoom = 8289;
k_EMsgClientToGCCavernCrawlClaimRoomResponse = 8290;
k_EMsgClientToGCCavernCrawlUseItemOnRoom = 8291;
k_EMsgClientToGCCavernCrawlUseItemOnRoomResponse = 8292;
k_EMsgClientToGCCavernCrawlUseItemOnPath = 8293;
k_EMsgClientToGCCavernCrawlUseItemOnPathResponse = 8294;
k_EMsgClientToGCCavernCrawlRequestMapState = 8295;
k_EMsgClientToGCCavernCrawlRequestMapStateResponse = 8296;
k_EMsgSignOutTips = 8297;
k_EMsgClientToGCRequestEventPointLogV2 = 8298;
k_EMsgClientToGCRequestEventPointLogResponseV2 = 8299;
k_EMsgClientToGCRequestEventTipsSummary = 8300;
k_EMsgClientToGCRequestEventTipsSummaryResponse = 8301;
k_EMsgClientToGCRequestSocialFeed = 8303;
k_EMsgClientToGCRequestSocialFeedResponse = 8304;
k_EMsgClientToGCRequestSocialFeedComments = 8305;
k_EMsgClientToGCRequestSocialFeedCommentsResponse = 8306;
k_EMsgClientToGCCavernCrawlGetClaimedRoomCount = 8308;
k_EMsgClientToGCCavernCrawlGetClaimedRoomCountResponse = 8309;
k_EMsgGCToGCReconcilePlusAutoGrantItemsUnreliable = 8310;
k_EMsgServerToGCAddBroadcastTimelineEvent = 8311;
k_EMsgGCToServerUpdateSteamBroadcasting = 8312;
k_EMsgClientToGCRecordContestVote = 8313;
k_EMsgGCToClientRecordContestVoteResponse = 8314;
k_EMsgGCToGCGrantAutograph = 8315;
k_EMsgGCToGCGrantAutographResponse = 8316;
k_EMsgSignOutConsumableUsage = 8317;
k_EMsgLobbyEventGameDetails = 8318;
k_EMsgDevGrantEventPoints = 8319;
k_EMsgDevGrantEventPointsResponse = 8320;
k_EMsgDevGrantEventAction = 8321;
k_EMsgDevGrantEventActionResponse = 8322;
k_EMsgDevResetEventState = 8323;
k_EMsgDevResetEventStateResponse = 8324;
k_EMsgGCToGCReconcileEventOwnership = 8325;
k_EMsgConsumeEventSupportGrantItem = 8326;
k_EMsgConsumeEventSupportGrantItemResponse = 8327;
k_EMsgGCToClientClaimEventActionUsingItemCompleted = 8328;
k_EMsgGCToClientCavernCrawlMapUpdated = 8329;
k_EMsgServerToGCRequestPlayerRecentAccomplishments = 8330;
k_EMsgServerToGCRequestPlayerRecentAccomplishmentsResponse = 8331;
k_EMsgClientToGCRequestPlayerRecentAccomplishments = 8332;
k_EMsgClientToGCRequestPlayerRecentAccomplishmentsResponse = 8333;
k_EMsgClientToGCRequestPlayerHeroRecentAccomplishments = 8334;
k_EMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse = 8335;
k_EMsgSignOutEventActionGrants = 8336;
k_EMsgClientToGCRequestPlayerCoachMatches = 8337;
k_EMsgClientToGCRequestPlayerCoachMatchesResponse = 8338;
k_EMsgClientToGCSubmitCoachTeammateRating = 8341;
k_EMsgClientToGCSubmitCoachTeammateRatingResponse = 8342;
k_EMsgGCToClientCoachTeammateRatingsChanged = 8343;
k_EMsgClientToGCRequestPlayerCoachMatch = 8345;
k_EMsgClientToGCRequestPlayerCoachMatchResponse = 8346;
k_EMsgClientToGCRequestContestVotes = 8347;
k_EMsgClientToGCRequestContestVotesResponse = 8348;
k_EMsgClientToGCMVPVoteTimeout = 8349;
k_EMsgClientToGCMVPVoteTimeoutResponse = 8350;
k_EMsgMatchMatchmakingStats = 8360;
k_EMsgClientToGCSubmitPlayerMatchSurvey = 8361;
k_EMsgClientToGCSubmitPlayerMatchSurveyResponse = 8362;
k_EMsgSQLGCToGCGrantAllHeroProgressAccount = 8363;
k_EMsgSQLGCToGCGrantAllHeroProgressVictory = 8364;
k_EMsgDevDeleteEventActions = 8365;
k_EMsgDevDeleteEventActionsResponse = 8366;
k_EMsgGCToGCGetAllHeroCurrent = 8635;
k_EMsgGCToGCGetAllHeroCurrentResponse = 8636;
k_EMsgGCSubmitPlayerAvoidRequest = 8637;
k_EMsgGCSubmitPlayerAvoidRequestResponse = 8638;
k_EMsgGCToClientNotificationsUpdated = 8639;
k_EMsgGCtoGCAssociatedExploiterAccountInfo = 8640;
k_EMsgGCtoGCAssociatedExploiterAccountInfoResponse = 8641;
k_EMsgGCtoGCRequestRecalibrationCheck = 8642;
k_EMsgGCToClientVACReminder = 8643;
k_EMsgClientToGCUnderDraftBuy = 8644;
k_EMsgClientToGCUnderDraftBuyResponse = 8645;
k_EMsgClientToGCUnderDraftReroll = 8646;
k_EMsgClientToGCUnderDraftRerollResponse = 8647;
k_EMsgNeutralItemStats = 8648;
k_EMsgClientToGCCreateGuild = 8649;
k_EMsgClientToGCCreateGuildResponse = 8650;
k_EMsgClientToGCSetGuildInfo = 8651;
k_EMsgClientToGCSetGuildInfoResponse = 8652;
k_EMsgClientToGCAddGuildRole = 8653;
k_EMsgClientToGCAddGuildRoleResponse = 8654;
k_EMsgClientToGCModifyGuildRole = 8655;
k_EMsgClientToGCModifyGuildRoleResponse = 8656;
k_EMsgClientToGCRemoveGuildRole = 8657;
k_EMsgClientToGCRemoveGuildRoleResponse = 8658;
k_EMsgClientToGCJoinGuild = 8659;
k_EMsgClientToGCJoinGuildResponse = 8660;
k_EMsgClientToGCLeaveGuild = 8661;
k_EMsgClientToGCLeaveGuildResponse = 8662;
k_EMsgClientToGCInviteToGuild = 8663;
k_EMsgClientToGCInviteToGuildResponse = 8664;
k_EMsgClientToGCDeclineInviteToGuild = 8665;
k_EMsgClientToGCDeclineInviteToGuildResponse = 8666;
k_EMsgClientToGCCancelInviteToGuild = 8667;
k_EMsgClientToGCCancelInviteToGuildResponse = 8668;
k_EMsgClientToGCKickGuildMember = 8669;
k_EMsgClientToGCKickGuildMemberResponse = 8670;
k_EMsgClientToGCSetGuildMemberRole = 8671;
k_EMsgClientToGCSetGuildMemberRoleResponse = 8672;
k_EMsgClientToGCRequestGuildData = 8673;
k_EMsgClientToGCRequestGuildDataResponse = 8674;
k_EMsgGCToClientGuildDataUpdated = 8675;
k_EMsgClientToGCRequestGuildMembership = 8676;
k_EMsgClientToGCRequestGuildMembershipResponse = 8677;
k_EMsgGCToClientGuildMembershipUpdated = 8678;
k_EMsgClientToGCAcceptInviteToGuild = 8681;
k_EMsgClientToGCAcceptInviteToGuildResponse = 8682;
k_EMsgClientToGCSetGuildRoleOrder = 8683;
k_EMsgClientToGCSetGuildRoleOrderResponse = 8684;
k_EMsgClientToGCRequestGuildFeed = 8685;
k_EMsgClientToGCRequestGuildFeedResponse = 8686;
k_EMsgClientToGCRequestAccountGuildEventData = 8687;
k_EMsgClientToGCRequestAccountGuildEventDataResponse = 8688;
k_EMsgGCToClientAccountGuildEventDataUpdated = 8689;
k_EMsgClientToGCRequestActiveGuildContracts = 8690;
k_EMsgClientToGCRequestActiveGuildContractsResponse = 8691;
k_EMsgGCToClientActiveGuildContractsUpdated = 8692;
k_EMsgGCToClientGuildFeedUpdated = 8693;
k_EMsgClientToGCSelectGuildContract = 8694;
k_EMsgClientToGCSelectGuildContractResponse = 8695;
k_EMsgGCToGCCompleteGuildContracts = 8696;
k_EMsgClientToGCAddPlayerToGuildChat = 8698;
k_EMsgClientToGCAddPlayerToGuildChatResponse = 8699;
k_EMsgClientToGCUnderDraftSell = 8700;
k_EMsgClientToGCUnderDraftSellResponse = 8701;
k_EMsgClientToGCUnderDraftRequest = 8702;
k_EMsgClientToGCUnderDraftResponse = 8703;
k_EMsgClientToGCUnderDraftRedeemReward = 8704;
k_EMsgClientToGCUnderDraftRedeemRewardResponse = 8705;
k_EMsgGCToServerLobbyHeroBanRates = 8708;
k_EMsgSignOutGuildContractProgress = 8711;
k_EMsgSignOutMVPStats = 8712;
k_EMsgClientToGCRequestActiveGuildChallenge = 8713;
k_EMsgClientToGCRequestActiveGuildChallengeResponse = 8714;
k_EMsgGCToClientActiveGuildChallengeUpdated = 8715;
k_EMsgClientToGCRequestReporterUpdates = 8716;
k_EMsgClientToGCRequestReporterUpdatesResponse = 8717;
k_EMsgClientToGCAcknowledgeReporterUpdates = 8718;
k_EMsgSignOutGuildChallengeProgress = 8720;
k_EMsgClientToGCRequestGuildEventMembers = 8721;
k_EMsgClientToGCRequestGuildEventMembersResponse = 8722;
k_EMsgClientToGCReportGuildContent = 8725;
k_EMsgClientToGCReportGuildContentResponse = 8726;
k_EMsgClientToGCRequestAccountGuildPersonaInfo = 8727;
k_EMsgClientToGCRequestAccountGuildPersonaInfoResponse = 8728;
k_EMsgClientToGCRequestAccountGuildPersonaInfoBatch = 8729;
k_EMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse = 8730;
k_EMsgGCToClientUnderDraftGoldUpdated = 8731;
k_EMsgGCToServerRecordTrainingData = 8732;
k_EMsgSignOutBounties = 8733;
k_EMsgLobbyFeaturedGamemodeProgress = 8734;
k_EMsgLobbyGauntletProgress = 8735;
k_EMsgClientToGCSubmitDraftTriviaMatchAnswer = 8736;
k_EMsgClientToGCSubmitDraftTriviaMatchAnswerResponse = 8737;
k_EMsgGCToGCSignoutSpendBounty = 8738;
k_EMsgClientToGCApplyGauntletTicket = 8739;
k_EMsgClientToGCUnderDraftRollBackBench = 8740;
k_EMsgClientToGCUnderDraftRollBackBenchResponse = 8741;
k_EMsgGCToGCGetEventActionScore = 8742;
k_EMsgGCToGCGetEventActionScoreResponse = 8743;
k_EMsgServerToGCGetGuildContracts = 8744;
k_EMsgServerToGCGetGuildContractsResponse = 8745;
k_EMsgLobbyEventGameData = 8746;
k_EMsgGCToClientGuildMembersDataUpdated = 8747;
k_EMsgSignOutReportActivityMarkers = 8748;
k_EMsgSignOutDiretideCandy = 8749;
k_EMsgGCToClientPostGameItemAwardNotification = 8750;
k_EMsgClientToGCGetOWMatchDetails = 8751;
k_EMsgClientToGCGetOWMatchDetailsResponse = 8752;
k_EMsgClientToGCSubmitOWConviction = 8753;
k_EMsgClientToGCSubmitOWConvictionResponse = 8754;
k_EMsgGCToGCGetAccountSteamChina = 8755;
k_EMsgGCToGCGetAccountSteamChinaResponse = 8756;
k_EMsgClientToGCClaimLeaderboardRewards = 8757;
k_EMsgClientToGCClaimLeaderboardRewardsResponse = 8758;
k_EMsgClientToGCRecalibrateMMR = 8759;
k_EMsgClientToGCRecalibrateMMRResponse = 8760;
k_EMsgGCToGCGrantEventPointActionList = 8761;
k_EMsgClientToGCChinaSSAURLRequest = 8764;
k_EMsgClientToGCChinaSSAURLResponse = 8765;
k_EMsgClientToGCChinaSSAAcceptedRequest = 8766;
k_EMsgClientToGCChinaSSAAcceptedResponse = 8767;
k_EMsgSignOutOverwatchSuspicion = 8768;
k_EMsgServerToGCGetSuspicionConfig = 8769;
k_EMsgServerToGCGetSuspicionConfigResponse = 8770;
k_EMsgGCToGCGrantPlusHeroChallengeMatchResults = 8771;
k_EMsgGCToClientOverwatchCasesAvailable = 8772;
k_EMsgServerToGCAccountCheck = 8773;
k_EMsgClientToGCStartWatchingOverwatch = 8774;
k_EMsgClientToGCStopWatchingOverwatch = 8775;
k_EMsgSignOutPerfData = 8776;
k_EMsgClientToGCGetDPCFavorites = 8777;
k_EMsgClientToGCGetDPCFavoritesResponse = 8778;
k_EMsgClientToGCSetDPCFavoriteState = 8779;
k_EMsgClientToGCSetDPCFavoriteStateResponse = 8780;
k_EMsgClientToGCOverwatchReplayError = 8781;
k_EMsgServerToGCPlayerChallengeHistory = 8782;
k_EMsgSignOutBanData = 8783;
k_EMsgWebapiDPCSeasonResults = 8784;
k_EMsgClientToGCCoachFriend = 8785;
k_EMsgClientToGCCoachFriendResponse = 8786;
k_EMsgClientToGCRequestPrivateCoachingSession = 8787;
k_EMsgClientToGCRequestPrivateCoachingSessionResponse = 8788;
k_EMsgClientToGCAcceptPrivateCoachingSession = 8789;
k_EMsgClientToGCAcceptPrivateCoachingSessionResponse = 8790;
k_EMsgClientToGCLeavePrivateCoachingSession = 8791;
k_EMsgClientToGCLeavePrivateCoachingSessionResponse = 8792;
k_EMsgClientToGCGetCurrentPrivateCoachingSession = 8793;
k_EMsgClientToGCGetCurrentPrivateCoachingSessionResponse = 8794;
k_EMsgGCToClientPrivateCoachingSessionUpdated = 8795;
k_EMsgClientToGCSubmitPrivateCoachingSessionRating = 8796;
k_EMsgClientToGCSubmitPrivateCoachingSessionRatingResponse = 8797;
k_EMsgClientToGCGetAvailablePrivateCoachingSessions = 8798;
k_EMsgClientToGCGetAvailablePrivateCoachingSessionsResponse = 8799;
k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummary = 8800;
k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse = 8801;
k_EMsgClientToGCJoinPrivateCoachingSessionLobby = 8802;
k_EMsgClientToGCJoinPrivateCoachingSessionLobbyResponse = 8803;
k_EMsgClientToGCRespondToCoachFriendRequest = 8804;
k_EMsgClientToGCRespondToCoachFriendRequestResponse = 8805;
k_EMsgClientToGCSetEventActiveSeasonID = 8806;
k_EMsgClientToGCSetEventActiveSeasonIDResponse = 8807;
k_EMsgServerToGCMatchPlayerNeutralItemEquipHistory = 8808;
k_EMsgServerToGCCompendiumChosenInGamePredictions = 8809;
k_EMsgClientToGCCreateTeamPlayerCardPack = 8810;
k_EMsgClientToGCCreateTeamPlayerCardPackResponse = 8811;
k_EMsgGCToServerSubmitCheerData = 8812;
k_EMsgGCToServerCheerConfig = 8813;
k_EMsgServerToGCGetCheerConfig = 8814;
k_EMsgServerToGCGetCheerConfigResponse = 8815;
k_EMsgGCToGCGrantAutographByID = 8816;
k_EMsgGCToServerCheerScalesOverride = 8817;
k_EMsgGCToServerGetCheerState = 8818;
k_EMsgServerToGCReportCheerState = 8819;
k_EMsgGCToServerScenarioSave = 8820;
k_EMsgGCToServerAbilityDraftLobbyData = 8821;
k_EMsgSignOutReportCommunications = 8822;
k_EMsgClientToGCBatchGetPlayerCardRosterRequest = 8823;
k_EMsgClientToGCBatchGetPlayerCardRosterResponse = 8824;
k_EMsgClientToGCGetStickerbookRequest = 8825;
k_EMsgClientToGCGetStickerbookResponse = 8826;
k_EMsgClientToGCCreateStickerbookPageRequest = 8827;
k_EMsgClientToGCCreateStickerbookPageResponse = 8828;
k_EMsgClientToGCDeleteStickerbookPageRequest = 8829;
k_EMsgClientToGCDeleteStickerbookPageResponse = 8830;
k_EMsgClientToGCPlaceStickersRequest = 8831;
k_EMsgClientToGCPlaceStickersResponse = 8832;
k_EMsgClientToGCPlaceCollectionStickersRequest = 8833;
k_EMsgClientToGCPlaceCollectionStickersResponse = 8834;
k_EMsgClientToGCOrderStickerbookTeamPageRequest = 8835;
k_EMsgClientToGCOrderStickerbookTeamPageResponse = 8836;
k_EMsgServerToGCGetStickerHeroes = 8837;
k_EMsgServerToGCGetStickerHeroesResponse = 8838;
k_EMsgClientToGCCandyShopGetUserData = 8840;
k_EMsgClientToGCCandyShopGetUserDataResponse = 8841;
k_EMsgGCToClientCandyShopUserDataUpdated = 8842;
k_EMsgClientToGCCandyShopPurchaseReward = 8843;
k_EMsgClientToGCCandyShopPurchaseRewardResponse = 8844;
k_EMsgClientToGCCandyShopDoExchange = 8845;
k_EMsgClientToGCCandyShopDoExchangeResponse = 8846;
k_EMsgClientToGCCandyShopDoVariableExchange = 8847;
k_EMsgClientToGCCandyShopDoVariableExchangeResponse = 8848;
k_EMsgClientToGCCandyShopRerollRewards = 8849;
k_EMsgClientToGCCandyShopRerollRewardsResponse = 8850;
k_EMsgClientToGCSetHeroSticker = 8851;
k_EMsgClientToGCSetHeroStickerResponse = 8852;
k_EMsgClientToGCGetHeroStickers = 8853;
k_EMsgClientToGCGetHeroStickersResponse = 8854;
k_EMsgClientToGCSetFavoritePage = 8855;
k_EMsgClientToGCSetFavoritePageResponse = 8856;
k_EMsgClientToGCCandyShopDevGrantCandy = 8857;
k_EMsgClientToGCCandyShopDevGrantCandyResponse = 8858;
k_EMsgClientToGCCandyShopDevClearInventory = 8859;
k_EMsgClientToGCCandyShopDevClearInventoryResponse = 8860;
k_EMsgClientToGCCandyShopOpenBags = 8861;
k_EMsgClientToGCCandyShopOpenBagsResponse = 8862;
k_EMsgClientToGCCandyShopDevGrantCandyBags = 8863;
k_EMsgClientToGCCandyShopDevGrantCandyBagsResponse = 8864;
k_EMsgClientToGCCandyShopDevShuffleExchange = 8865;
k_EMsgClientToGCCandyShopDevShuffleExchangeResponse = 8866;
k_EMsgClientToGCCandyShopDevGrantRerollCharges = 8867;
k_EMsgClientToGCCandyShopDevGrantRerollChargesResponse = 8868;
k_EMsgLobbyAdditionalAccountData = 8869;
k_EMsgServerToGCLobbyInitialized = 8870;
k_EMsgClientToGCCollectorsCacheAvailableDataRequest = 8871;
k_EMsgGCToClientCollectorsCacheAvailableDataResponse = 8872;
k_EMsgClientToGCUploadMatchClip = 8873;
k_EMsgGCToClientUploadMatchClipResponse = 8874;
k_EMsgSignOutMuertaMinigame = 8877;
k_EMsgGCToServerLobbyHeroRoleStats = 8878;
k_EMsgClientToGCRankRequest = 8879;
k_EMsgGCToClientRankResponse = 8880;
k_EMsgGCToClientRankUpdate = 8881;
k_EMsgSignOutMapStats = 8882;
k_EMsgClientToGCMapStatsRequest = 8883;
k_EMsgGCToClientMapStatsResponse = 8884;
k_EMsgClientToGCShowcaseGetUserData = 8886;
k_EMsgClientToGCShowcaseGetUserDataResponse = 8887;
k_EMsgClientToGCShowcaseSetUserData = 8888;
k_EMsgClientToGCShowcaseSetUserDataResponse = 8889;
k_EMsgClientToGCFantasyCraftingGetData = 8890;
k_EMsgClientToGCFantasyCraftingGetDataResponse = 8891;
k_EMsgClientToGCFantasyCraftingPerformOperation = 8892;
k_EMsgClientToGCFantasyCraftingPerformOperationResponse = 8893;
k_EMsgGCToClientFantasyCraftingGetDataUpdated = 8894;
k_EMsgClientToGCFantasyCraftingDevModifyTablet = 8895;
k_EMsgClientToGCFantasyCraftingDevModifyTabletResponse = 8896;
k_EMsgClientToGCRoadToTIGetQuests = 8897;
k_EMsgClientToGCRoadToTIGetQuestsResponse = 8898;
k_EMsgClientToGCRoadToTIGetActiveQuest = 8899;
k_EMsgClientToGCRoadToTIGetActiveQuestResponse = 8900;
k_EMsgClientToGCBingoGetUserData = 8901;
k_EMsgClientToGCBingoGetUserDataResponse = 8902;
k_EMsgClientToGCBingoClaimRow = 8903;
k_EMsgClientToGCBingoClaimRowResponse = 8904;
k_EMsgClientToGCBingoDevRerollCard = 8905;
k_EMsgClientToGCBingoDevRerollCardResponse = 8906;
k_EMsgClientToGCBingoGetStatsData = 8907;
k_EMsgClientToGCBingoGetStatsDataResponse = 8908;
k_EMsgGCToClientBingoUserDataUpdated = 8909;
k_EMsgGCToClientRoadToTIQuestDataUpdated = 8910;
k_EMsgClientToGCRoadToTIUseItem = 8911;
k_EMsgClientToGCRoadToTIUseItemResponse = 8912;
k_EMsgClientToGCShowcaseSubmitReport = 8913;
k_EMsgClientToGCShowcaseSubmitReportResponse = 8914;
k_EMsgClientToGCShowcaseAdminGetReportsRollupList = 8915;
k_EMsgClientToGCShowcaseAdminGetReportsRollupListResponse = 8916;
k_EMsgClientToGCShowcaseAdminGetReportsRollup = 8917;
k_EMsgClientToGCShowcaseAdminGetReportsRollupResponse = 8918;
k_EMsgClientToGCShowcaseAdminGetUserDetails = 8919;
k_EMsgClientToGCShowcaseAdminGetUserDetailsResponse = 8920;
k_EMsgClientToGCShowcaseAdminConvict = 8921;
k_EMsgClientToGCShowcaseAdminConvictResponse = 8922;
k_EMsgClientToGCShowcaseAdminExonerate = 8923;
k_EMsgClientToGCShowcaseAdminExonerateResponse = 8924;
k_EMsgClientToGCShowcaseAdminReset = 8925;
k_EMsgClientToGCShowcaseAdminResetResponse = 8926;
k_EMsgClientToGCShowcaseAdminLockAccount = 8927;
k_EMsgClientToGCShowcaseAdminLockAccountResponse = 8928;
k_EMsgClientToGCFantasyCraftingSelectPlayer = 8929;
k_EMsgClientToGCFantasyCraftingSelectPlayerResponse = 8930;
k_EMsgClientToGCFantasyCraftingGenerateTablets = 8931;
k_EMsgClientToGCFantasyCraftingGenerateTabletsResponse = 8932;
k_EMsgClientToGcFantasyCraftingUpgradeTablets = 8933;
k_EMsgClientToGcFantasyCraftingUpgradeTabletsResponse = 8934;
k_EMsgClientToGCFantasyCraftingRerollOptions = 8936;
k_EMsgClientToGCFantasyCraftingRerollOptionsResponse = 8937;
k_EMsgClientToGCRoadToTIDevForceQuest = 8935;
k_EMsgLobbyRoadToTIMatchQuestData = 8939;
k_EMsgClientToGCShowcaseModerationGetQueue = 8940;
k_EMsgClientToGCShowcaseModerationGetQueueResponse = 8941;
k_EMsgClientToGCShowcaseModerationApplyModeration = 8942;
k_EMsgClientToGCShowcaseModerationApplyModerationResponse = 8943;
k_EMsgClientToGCOverworldGetUserData = 8944;
k_EMsgClientToGCOverworldGetUserDataResponse = 8945;
k_EMsgClientToGCOverworldCompletePath = 8946;
k_EMsgClientToGCOverworldCompletePathResponse = 8947;
k_EMsgClientToGCOverworldClaimEncounterReward = 8948;
k_EMsgClientToGCOverworldClaimEncounterRewardResponse = 8949;
k_EMsgClientToGCOverworldDevResetAll = 8950;
k_EMsgClientToGCOverworldDevResetAllResponse = 8951;
k_EMsgClientToGCOverworldDevResetNode = 8952;
k_EMsgClientToGCOverworldDevResetNodeResponse = 8953;
k_EMsgClientToGCOverworldDevResetPath = 8954;
k_EMsgClientToGCOverworldDevResetPathResponse = 8955;
k_EMsgClientToGCOverworldDevGrantTokens = 8956;
k_EMsgClientToGCOverworldDevGrantTokensResponse = 8957;
k_EMsgClientToGCOverworldDevClearInventory = 8958;
k_EMsgClientToGCOverworldDevClearInventoryResponse = 8959;
k_EMsgServerToGCNewBloomGift = 8960;
k_EMsgServerToGCNewBloomGiftResponse = 8961;
k_EMsgGCToClientOverworldUserDataUpdated = 8962;
k_EMsgClientToGCOverworldMoveToNode = 8963;
k_EMsgClientToGCOverworldMoveToNodeResponse = 8964;
k_EMsgClientToGCNewBloomGift = 8965;
k_EMsgClientToGCNewBloomGiftResponse = 8966;
k_EMsgSignOutOverworld = 8967;
k_EMsgClientToGCSetBannedHeroes = 8969;
k_EMsgClientToGCOverworldTradeTokens = 8970;
k_EMsgClientToGCOverworldTradeTokensResponse = 8971;
k_EMsgOverworldEncounterTokenTreasureData = 8972;
k_EMsgOverworldEncounterTokenQuestData = 8973;
k_EMsgOverworldEncounterChooseHeroData = 8974;
k_EMsgClientToGCUpdateComicBookStats = 8975;
k_EMsgClientToGCCandyShopDevResetShop = 8976;
k_EMsgClientToGCCandyShopDevResetShopResponse = 8977;
k_EMsgOverworldEncounterProgressData = 8978;
k_EMsgClientToGCOverworldFeedback = 8979;
k_EMsgClientToGCOverworldFeedbackResponse = 8980;
k_EMsgClientToGCOverworldVisitEncounter = 8981;
k_EMsgClientToGCOverworldVisitEncounterResponse = 8982;
k_EMsgClientToGCOverworldGiftTokens = 8983;
k_EMsgClientToGCOverworldGiftTokensResponse = 8984;
k_EMsgClientToGCDotaLabsFeedback = 8985;
k_EMsgClientToGCDotaLabsFeedbackResponse = 8986;
k_EMsgOverworldEncounterPitFighterRewardData = 8987;
k_EMsgClientToGCOverworldGetDynamicImage = 8988;
k_EMsgClientToGCOverworldGetDynamicImageResponse = 8989;
k_EMsgClientToGCFightingGameChallengeFriend = 8990;
k_EMsgClientToGCFightingGameChallengeFriendResponse = 8991;
k_EMsgClientToGCFightingGameCancelChallengeFriend = 8992;
k_EMsgClientToGCFightingGameAnswerChallenge = 8993;
k_EMsgClientToGCFightingGameAnswerChallengeResponse = 8994;
k_EMsgGCToClientFightingGameChallenge = 8995;
k_EMsgGCToClientFightingGameStartMatch = 8996;
k_EMsgGCToClientFightingGameChallengeCanceled = 8997;
k_EMsgClientToGCBingoShuffleCard = 8999;
k_EMsgClientToGCBingoShuffleCardResponse = 9000;
k_EMsgClientToGCBingoModifySquare = 9001;
k_EMsgClientToGCBingoModifySquareResponse = 9002;
k_EMsgClientToGCBingoDevAddTokens = 9003;
k_EMsgClientToGCBingoDevAddTokensResponse = 9004;
k_EMsgClientToGCBingoDevClearInventory = 9005;
k_EMsgClientToGCBingoDevClearInventoryResponse = 9006;
k_EMsgGCCompendiumRemoveAllSelections = 9007;
k_EMsgGCCompendiumRemoveAllSelectionsResponse = 9008;
k_EMsgClientToGCOverworldMinigameAction = 9009;
k_EMsgClientToGCOverworldMinigameActionResponse = 9010;
k_EMsgClientToGCSurvivorsTelemetry = 9011;
k_EMsgClientToGCSurvivorsTelemetryResponse = 9012;
k_EMsgClientToGCOverworldRequestTokensNeededByFriend = 9013;
k_EMsgClientToGCOverworldRequestTokensNeededByFriendResponse = 9014;
k_EMsgClientToGCCraftworksGetUserData = 9015;
k_EMsgClientToGCCraftworksGetUserDataResponse = 9016;
k_EMsgGCToClientCraftworksUserDataUpdated = 9017;
k_EMsgClientToGCCraftworksCraftRecipe = 9018;
k_EMsgClientToGCCraftworksCraftRecipeResponse = 9019;
k_EMsgClientToGCCraftworksDevModifyComponents = 9020;
k_EMsgClientToGCCraftworksDevModifyComponentsResponse = 9021;
k_EMsgSignOutCraftworks = 9022;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,355 @@
import "base_gcmessages.proto";
import "dota_gcmessages_common_match_management.proto";
import "dota_gcmessages_common_lobby.proto";
import "dota_gcmessages_common_overworld.proto";
import "dota_gcmessages_common_craftworks.proto";
import "dota_gcmessages_common.proto";
import "dota_shared_enums.proto";
import "gcsdk_gcmessages.proto";
message CDOTAMatchMetadataFile {
required int32 version = 1;
required uint64 match_id = 2;
optional .CDOTAMatchMetadata metadata = 3;
optional bytes private_metadata = 5;
}
message CDOTAMatchMetadata {
message EconItem {
optional uint32 def_index = 1;
optional uint32 quality = 2 [default = 4];
repeated .CSOEconItemAttribute attribute = 3;
optional uint32 style = 4 [default = 0];
repeated .CSOEconItemEquipped equipped_state = 5;
}
message Team {
message PlayerKill {
optional uint32 victim_slot = 1;
optional uint32 count = 2;
}
message ItemPurchase {
optional int32 item_id = 1 [default = -1];
optional int32 purchase_time = 2;
}
message InventorySnapshot {
repeated int32 item_id = 1;
optional int32 game_time = 2;
optional uint32 kills = 3;
optional uint32 deaths = 4;
optional uint32 assists = 5;
optional uint32 level = 6;
repeated int32 backpack_item_id = 7;
optional int32 neutral_item_id = 8 [default = -1];
}
message AutoStyleCriteria {
optional uint32 name_token = 1;
optional float value = 2;
}
message StrangeGemProgress {
optional uint32 kill_eater_type = 1;
optional uint32 gem_item_def_index = 2;
optional int32 required_hero_id = 3;
optional uint32 starting_value = 4;
optional uint32 ending_value = 5;
optional uint32 owner_item_def_index = 6;
optional uint64 owner_item_id = 7;
}
message VictoryPrediction {
optional uint64 item_id = 1;
optional uint32 item_def_index = 2;
optional uint32 starting_value = 3;
optional bool is_victory = 4;
}
message SubChallenge {
optional uint32 slot_id = 1;
optional uint32 start_value = 2;
optional uint32 end_value = 3;
optional bool completed = 4;
}
message CavernChallengeResult {
optional uint32 completed_path_id = 1 [default = 255];
optional uint32 claimed_room_id = 2 [default = 255];
}
message ActionGrant {
optional uint32 action_id = 1;
optional uint32 quantity = 2;
optional uint32 audit = 3;
optional uint64 audit_data = 5;
}
message CandyGrant {
optional uint32 points = 1;
optional uint32 reason = 2;
}
message PeriodicResourceData {
optional uint32 periodic_resource_id = 1;
optional uint32 remaining = 2;
optional uint32 max = 3;
}
message EventData {
optional uint32 event_id = 1;
optional uint32 event_points = 2;
optional uint32 challenge_instance_id = 3;
optional uint32 challenge_quest_id = 4;
optional uint32 challenge_quest_challenge_id = 5;
optional bool challenge_completed = 6;
optional uint32 challenge_rank_completed = 7;
optional uint32 challenge_rank_previously_completed = 8;
optional bool event_owned = 9;
repeated .CDOTAMatchMetadata.Team.SubChallenge sub_challenges_with_progress = 10;
optional uint32 wager_winnings = 11;
optional bool cavern_challenge_active = 12;
optional uint32 cavern_challenge_winnings = 13;
optional uint32 amount_wagered = 14;
optional uint32 periodic_point_adjustments = 16;
repeated .CDOTAMatchMetadata.Team.CavernChallengeResult cavern_challenge_map_results = 17;
optional uint32 cavern_challenge_plus_shard_winnings = 18;
repeated .CDOTAMatchMetadata.Team.ActionGrant actions_granted = 19;
optional uint32 cavern_crawl_map_variant = 20 [default = 255];
optional uint32 team_wager_bonus_pct = 21;
optional uint32 wager_streak_pct = 22;
repeated .CDOTAMatchMetadata.Team.CandyGrant candy_points_granted = 23;
optional uint32 active_season_id = 24;
optional bool cavern_crawl_half_credit = 25;
repeated .CDOTAMatchMetadata.Team.PeriodicResourceData periodic_resources = 26;
repeated .CExtraMsgBlock extra_event_messages = 27;
}
message FeaturedGamemodeProgress {
optional uint32 start_value = 1;
optional uint32 end_value = 2;
optional uint32 max_value = 3;
}
message Player {
message ContractProgress {
optional uint32 guild_id = 1;
optional uint32 event_id = 2;
optional uint32 challenge_instance_id = 3;
optional uint32 challenge_parameter = 4;
optional uint32 contract_stars = 5;
optional uint32 contract_slot = 6;
optional bool completed = 7;
}
message OverworldRewards {
optional uint32 overworld_id = 1;
optional .CMsgOverworldTokenQuantity tokens = 2;
}
repeated int32 ability_upgrades = 2;
optional uint32 player_slot = 3;
repeated .CDOTAMatchMetadata.Team.PlayerKill kills = 5;
repeated .CDOTAMatchMetadata.Team.ItemPurchase items = 6;
optional uint32 avg_kills_x16 = 7;
optional uint32 avg_deaths_x16 = 8;
optional uint32 avg_assists_x16 = 9;
optional uint32 avg_gpm_x16 = 10;
optional uint32 avg_xpm_x16 = 11;
optional uint32 best_kills_x16 = 12;
optional uint32 best_assists_x16 = 13;
optional uint32 best_gpm_x16 = 14;
optional uint32 best_xpm_x16 = 15;
optional uint32 win_streak = 16;
optional uint32 best_win_streak = 17;
optional float fight_score = 18;
optional float farm_score = 19;
optional float support_score = 20;
optional float push_score = 21;
repeated uint32 level_up_times = 22;
repeated float graph_net_worth = 23;
repeated .CDOTAMatchMetadata.Team.InventorySnapshot inventory_snapshot = 24;
optional bool avg_stats_calibrated = 25;
repeated .CDOTAMatchMetadata.Team.AutoStyleCriteria auto_style_criteria = 26;
repeated .CDOTAMatchMetadata.Team.EventData event_data = 29;
repeated .CDOTAMatchMetadata.Team.StrangeGemProgress strange_gem_progress = 30;
optional uint32 hero_xp = 31;
optional uint32 camps_stacked = 32;
repeated .CDOTAMatchMetadata.Team.VictoryPrediction victory_prediction = 33;
optional uint32 lane_selection_flags = 34;
optional uint32 rampages = 35;
optional uint32 triple_kills = 36;
optional uint32 aegis_snatched = 37;
optional uint32 rapiers_purchased = 38;
optional uint32 couriers_killed = 39;
optional uint32 net_worth_rank = 40;
optional uint32 support_gold_spent = 41;
optional uint32 observer_wards_placed = 42;
optional uint32 sentry_wards_placed = 43;
optional uint32 wards_dewarded = 44;
optional float stun_duration = 45;
optional .EDOTAMMRBoostType rank_mmr_boost_type = 46 [default = k_EDOTAMMRBoostType_None];
repeated .CDOTAMatchMetadata.Team.Player.ContractProgress contract_progress = 48;
repeated uint32 guild_ids = 49;
repeated float graph_hero_damage = 50;
optional .DOTA_GC_TEAM team_number = 51 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional uint32 team_slot = 52;
optional .CDOTAMatchMetadata.Team.FeaturedGamemodeProgress featured_gamemode_progress = 53;
optional uint32 featured_hero_sticker_index = 54;
optional uint32 featured_hero_sticker_quality = 55;
repeated .CDOTAMatchMetadata.EconItem equipped_econ_items = 56;
optional int32 game_player_id = 57 [default = -1];
repeated .CMsgTrackedStat player_tracked_stats = 58;
optional .CDOTAMatchMetadata.Team.Player.OverworldRewards overworld_rewards = 59;
repeated .CMsgCraftworksQuestReward craftworks_quest_rewards = 60;
}
optional uint32 dota_team = 1;
repeated .CDOTAMatchMetadata.Team.Player players = 2;
repeated float graph_experience = 3;
repeated float graph_gold_earned = 4;
repeated float graph_net_worth = 5;
optional bool cm_first_pick = 6;
optional int32 cm_captain_player_id = 7 [default = -1];
optional uint32 cm_penalty = 10;
repeated .CMsgTrackedStat team_tracked_stats = 11;
}
message GuildChallengeProgress {
message IndividualProgress {
optional uint32 progress = 2;
optional uint32 player_slot = 3;
}
optional uint32 guild_id = 1;
optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
optional uint32 challenge_instance_id = 3;
optional uint32 challenge_parameter = 4;
optional uint32 challenge_timestamp = 5;
optional uint32 challenge_progress_at_start = 6;
optional uint32 challenge_progress_accumulated = 7;
repeated .CDOTAMatchMetadata.GuildChallengeProgress.IndividualProgress individual_progress = 8;
}
message Tip {
optional uint32 source_player_slot = 1;
optional uint32 target_player_slot = 2;
optional uint32 tip_amount = 3;
optional .EEvent event_id = 4 [default = EVENT_ID_NONE];
}
repeated .CDOTAMatchMetadata.Team teams = 1;
optional fixed64 lobby_id = 3;
optional fixed64 report_until_time = 4;
optional bytes event_game_custom_table = 5;
optional uint32 primary_event_id = 6;
optional .CMsgMatchMatchmakingStats matchmaking_stats = 8;
optional .CMvpData mvp_data = 9;
repeated .CDOTAMatchMetadata.GuildChallengeProgress guild_challenge_progress = 10;
optional bytes custom_post_game_table = 11;
repeated .CDOTAMatchMetadata.Tip match_tips = 12;
repeated .CMsgTrackedStat match_tracked_stats = 13;
}
message CDOTAMatchPrivateMetadata {
message StringName {
optional uint32 id = 1;
optional string name = 2;
}
message Team {
message Player {
message CombatSegment {
message DamageByAbility {
message ByHeroTarget {
optional int32 hero_id = 1;
optional uint32 damage = 2;
}
optional uint32 source_unit_index = 3;
optional int32 ability_id = 1 [default = -1];
repeated .CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility.ByHeroTarget by_hero_targets = 2;
}
message HealingByAbility {
message ByHeroTarget {
optional int32 hero_id = 1;
optional uint32 healing = 2;
}
optional uint32 source_unit_index = 3;
optional int32 ability_id = 1 [default = -1];
repeated .CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility.ByHeroTarget by_hero_targets = 2;
}
optional int32 game_time = 1;
repeated .CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility damage_by_ability = 2;
repeated .CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility healing_by_ability = 3;
}
message BuffRecord {
message ByHeroTarget {
optional int32 hero_id = 1;
optional float elapsed_duration = 2;
optional bool is_hidden = 3;
}
optional int32 buff_ability_id = 1 [default = -1];
optional string buff_modifier_name = 3;
repeated .CDOTAMatchPrivateMetadata.Team.Player.BuffRecord.ByHeroTarget by_hero_targets = 2;
}
message GoldReceived {
optional uint32 creep = 1;
optional uint32 heroes = 2;
optional uint32 bounty_runes = 3;
optional uint32 passive = 4;
optional uint32 buildings = 5;
optional uint32 abilities = 6;
optional uint32 wards = 7;
optional uint32 other = 8;
}
message XPReceived {
optional uint32 creep = 1;
optional uint32 heroes = 2;
optional uint32 roshan = 3;
optional uint32 tome_of_knowledge = 4;
optional uint32 outpost = 5;
optional uint32 other = 6;
optional uint32 abilities = 7;
}
optional uint32 player_slot = 2;
optional bytes position_stream = 3;
repeated .CDOTAMatchPrivateMetadata.Team.Player.CombatSegment combat_segments = 4;
repeated string damage_unit_names = 5;
repeated .CDOTAMatchPrivateMetadata.Team.Player.BuffRecord buff_records = 6;
repeated float graph_kills = 7;
repeated float graph_deaths = 8;
repeated float graph_assists = 9;
repeated float graph_lasthits = 10;
repeated float graph_denies = 11;
optional .CDOTAMatchPrivateMetadata.Team.Player.GoldReceived gold_received = 12;
optional .CDOTAMatchPrivateMetadata.Team.Player.XPReceived xp_received = 13;
optional .DOTA_GC_TEAM team_number = 14 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional uint32 team_slot = 15;
}
message Building {
optional string unit_name = 1;
optional uint32 position_quant_x = 2;
optional uint32 position_quant_y = 3;
optional float death_time = 4;
}
optional uint32 dota_team = 1;
repeated .CDOTAMatchPrivateMetadata.Team.Player players = 2;
repeated .CDOTAMatchPrivateMetadata.Team.Building buildings = 3;
}
repeated .CDOTAMatchPrivateMetadata.Team teams = 1;
repeated float graph_win_probability = 2;
repeated .CDOTAMatchPrivateMetadata.StringName string_names = 3;
}

View File

@ -0,0 +1,62 @@
import "dota_gcmessages_common_bot_script.proto";
import "dota_commonmessages.proto";
import "dota_shared_enums.proto";
enum MLBot_MessageId {
mlbot_MatchMetadata = 1;
mlbot_TickBoundary = 2;
mlbot_TeamState_Radiant = 3;
mlbot_TeamState_Radiant_Delta = 4;
mlbot_TeamState_Dire = 5;
mlbot_TeamState_Dire_Delta = 6;
mlbot_PlayerCommand = 7;
mlbot_PlayerOrder = 8;
}
message CMsgMLBotMatchMetadata {
message Player {
optional int32 player_id = 1 [default = -1];
optional int32 team_id = 2;
optional int32 hero_id = 3;
optional int32 rank = 4;
}
optional uint64 match_id = 1;
optional uint64 lobby_id = 2;
optional int32 lobby_type = 3 [default = -1];
optional uint32 game_mode = 4;
repeated .CMsgMLBotMatchMetadata.Player players = 5;
}
message CMsgMLBotTickBoundary {
optional uint32 tick_number = 1;
}
message CMsgMLBot_PlayerOrder {
optional int32 player_id = 1 [default = -1];
optional int32 team_id = 2;
optional int32 order_type = 3;
repeated uint32 selected_unit_handles = 4;
optional int32 target_index = 5 [default = -1];
optional uint32 target_handle = 6 [default = 4294967295];
optional int32 ability_index = 7 [default = -1];
optional uint32 ability_handle = 8 [default = 4294967295];
optional float pos_x = 9;
optional float pos_y = 10;
optional float pos_z = 11;
optional bool queue = 12;
}
message CMsgMLBot_TeamInference {
optional int32 team_id = 1;
repeated int32 bot_player_ids = 2;
optional .CMsgBotWorldState world_state = 3;
}
message CMsgMLBot_TeamInferenceResponse {
repeated .CMsgMLBot_PlayerOrder orders = 1;
}
message CMsgMLBot_TeamInferenceList {
repeated .CMsgMLBot_TeamInference messages = 1;
}

View File

@ -0,0 +1,53 @@
import "networkbasetypes.proto";
enum DOTA_MODIFIER_ENTRY_TYPE {
DOTA_MODIFIER_ENTRY_TYPE_ACTIVE = 1;
DOTA_MODIFIER_ENTRY_TYPE_REMOVED = 2;
}
message CDOTAModifierBuffTableEntry {
required .DOTA_MODIFIER_ENTRY_TYPE entry_type = 1 [default = DOTA_MODIFIER_ENTRY_TYPE_ACTIVE];
required uint32 parent = 2 [default = 16777215];
required int32 index = 3;
required int32 serial_num = 4;
optional int32 modifier_class = 5;
optional int32 ability_level = 6;
optional int32 stack_count = 7;
optional float creation_time = 8;
optional float duration = 9 [default = -1];
optional uint32 caster = 10 [default = 16777215];
optional uint32 ability = 11 [default = 16777215];
optional int32 armor = 12;
optional float fade_time = 13;
optional bool subtle = 14;
optional float channel_time = 15;
optional .CMsgVector v_start = 16;
optional .CMsgVector v_end = 17;
optional string portal_loop_appear = 18;
optional string portal_loop_disappear = 19;
optional string hero_loop_appear = 20;
optional string hero_loop_disappear = 21;
optional int32 movement_speed = 22;
optional bool aura = 23;
optional int32 activity = 24;
optional int32 damage = 25;
optional int32 range = 26;
optional int32 dd_modifier_index = 27;
optional int32 dd_ability_id = 28 [default = -1];
optional string illusion_label = 29;
optional bool active = 30;
optional string player_ids = 31;
optional string lua_name = 32;
optional int32 attack_speed = 33;
optional uint32 aura_owner = 34 [default = 16777215];
optional int32 bonus_all_stats = 35;
optional int32 bonus_health = 36;
optional int32 bonus_mana = 37;
optional uint32 custom_entity = 38 [default = 16777215];
optional bool aura_within_range = 39;
}
message CDOTALuaModifierEntry {
required int32 modifier_type = 1;
required string modifier_filename = 2;
}

View File

@ -0,0 +1,227 @@
import "dota_shared_enums.proto";
message CScenario_Position {
optional float x = 1;
optional float y = 2;
}
message CScenarioGame_RoshanSpawner {
optional int32 kill_count = 1;
optional int32 state = 2;
optional float cooldown = 3;
optional int32 killer_team = 4;
}
message CScenarioEnt_Courier {
optional int32 team_number = 1;
optional int32 owner_player_id = 2 [default = -1];
optional float cooldown = 3 [default = -1];
}
message CScenarioEnt_NPC {
optional .CScenario_Position position = 1;
optional string unit_name = 2;
optional int32 team_number = 3;
optional float health_frac = 4 [default = 1];
optional string owning_camp = 10;
optional .CScenario_Position owning_camp_position = 11;
optional string invade_goal = 20;
}
message CScenarioEnt_SpiritBear {
optional int32 owner_id = 1 [default = -1];
optional int32 team_id = 2;
}
message CScenarioEnt_DroppedItem {
optional .CScenario_Position position = 1;
}
message CMsgDotaScenario {
message EntityRef {
optional int32 player_id = 1 [default = -1];
optional int32 neutral_stash_id = 2 [default = -1];
optional int32 entity_idx = 3 [default = -1];
optional bool roshan = 4 [default = false];
optional string ability_name = 10;
}
message Game {
optional uint64 match_id = 1;
optional int32 game_mode = 2;
optional float clock_time = 3;
optional float internal_time = 4;
optional .CScenarioGame_RoshanSpawner roshan = 5;
}
message TeamNeutralItem {
optional string name = 1;
optional bool consumed = 2;
optional int32 tier = 3;
}
message Team {
optional int32 team_number = 1;
repeated .CMsgDotaScenario.TeamNeutralItem neutral_items = 2;
optional int32 hero_kills = 3;
optional int32 tower_kills = 4;
optional int32 barracks_kills = 5;
optional float glyph_cooldown = 6;
optional float radar_cooldown = 7;
}
message HeroHeroInt {
optional int32 player_id = 1 [default = -1];
optional int32 value = 2;
}
message HeroHeroFloat {
optional int32 player_id = 1 [default = -1];
optional float value = 2;
}
message DamageStatsByType {
optional int32 damage_type = 1;
optional int32 received_pre_reduction = 2;
optional int32 received_post_reduction = 3;
optional int32 outgoing_pre_reduction = 4;
optional int32 outgoing_post_reduction = 5;
}
message HeroAbility {
optional string name = 1;
optional int32 level = 2;
}
message Hero {
optional fixed64 steam_id = 1;
optional int32 player_id = 2 [default = -1];
optional int32 team_id = 3;
optional string hero = 4;
optional int32 total_xp = 5;
optional int32 bkb_charges_used = 6;
optional int32 aeon_charges_used = 7;
optional int32 reliable_gold = 8;
optional int32 unreliable_gold = 9;
optional int32 total_earned_gold = 10;
optional int32 shared_gold = 11;
optional int32 hero_kill_gold = 12;
optional int32 creep_kill_gold = 13;
optional int32 neutral_kill_gold = 14;
optional int32 courier_gold = 15;
optional int32 bounty_gold = 16;
optional int32 roshan_gold = 17;
optional int32 building_gold = 18;
optional int32 other_gold = 19;
optional int32 income_gold = 26;
optional int32 ward_kill_gold = 27;
optional int32 ability_gold = 28;
optional int32 denies = 29;
optional int32 last_hits = 30;
optional int32 last_hit_streak = 31;
optional int32 last_hit_multikill = 32;
optional int32 nearby_creep_death_count = 33;
optional int32 claimed_deny_count = 34;
optional int32 claimed_miss_count = 35;
optional int32 miss_count = 36;
optional float buyback_cooldown_time = 40;
optional float buyback_gold_limit_time = 41;
optional float stun_duration = 44;
optional float healing = 45;
optional int32 tower_kills = 46;
optional int32 roshan_kills = 47;
optional int32 observer_wards_placed = 48;
optional int32 sentry_wards_placed = 49;
optional int32 creeps_stacked = 50;
optional int32 camps_stacked = 51;
optional int32 rune_pickups = 52;
optional int32 gold_spent_on_support = 53;
optional int32 hero_damage = 54;
optional int32 wards_purchased = 55;
optional int32 wards_destroyed = 56;
optional int32 gold_spent_on_consumables = 58;
optional int32 gold_spent_on_items = 59;
optional int32 gold_spent_on_buybacks = 60;
optional int32 gold_lost_to_death = 61;
optional int32 kills = 62;
optional int32 assists = 63;
optional int32 deaths = 64;
optional int32 kill_streak = 65;
optional int32 respawn_seconds = 68 [default = -1];
optional int32 last_buyback_time = 69;
optional bool first_blood_claimed = 71;
optional bool first_blood_given = 72;
optional int32 bounty_runes = 73;
optional int32 outposts_captured = 74;
optional .CScenario_Position position = 75;
repeated .CMsgDotaScenario.HeroHeroInt enemy_kills = 150;
repeated .CMsgDotaScenario.DamageStatsByType damage_stats = 151;
repeated .CMsgDotaScenario.HeroAbility abilities = 152;
optional uint32 hero_facet = 153;
}
message Stock {
optional string name = 1;
optional int32 team_number = 2 [default = -1];
optional int32 player_id = 3 [default = -1];
optional int32 current_stock = 4;
optional float cooldown = 5;
optional int32 bonus_stock = 6;
}
message Building {
optional string entity_name = 1;
optional string entity_class = 2;
optional int32 team_id = 3;
optional bool is_destroyed = 4;
optional float health_frac = 5 [default = 1];
}
message Entity {
optional .CScenarioEnt_Courier courier = 1;
optional .CScenarioEnt_NPC npc = 2;
optional .CScenarioEnt_SpiritBear spirit_bear = 3;
optional .CScenarioEnt_DroppedItem dropped_item = 4;
}
message Item {
optional string name = 1;
optional .CMsgDotaScenario.EntityRef location = 2;
optional int32 owner_id = 3 [default = -1];
optional int32 item_slot = 4;
optional int32 neutral_drop_team = 5;
optional int32 charges = 6;
optional int32 secondary_charges = 7;
optional float lifetime = 8 [default = -1];
optional int32 stored_rune_type = 9 [default = -1];
}
message Modifier {
optional string name = 1;
optional .CMsgDotaScenario.EntityRef parent = 2;
optional .CMsgDotaScenario.EntityRef caster = 3;
optional .CMsgDotaScenario.EntityRef ability = 4;
optional float duration = 5 [default = -1];
optional float lifetime_remaining = 6 [default = 0];
optional int32 stack_count = 7;
optional bool create_even_if_existing = 8;
optional bool create_without_caster = 9;
optional bool create_without_ability = 10;
optional int32 moonshard_consumed_bonus = 100;
optional int32 moonshard_consumed_bonus_night_vision = 101;
optional int32 wardtruesight_range = 110;
optional int32 ultimate_scepter_consumed_alchemist_bonus_all_stats = 120;
optional int32 ultimate_scepter_consumed_alchemist_bonus_health = 121;
optional int32 ultimate_scepter_consumed_alchemist_bonus_mana = 122;
}
optional uint64 lobby_id = 1;
optional .CMsgDotaScenario.Game game = 2;
repeated .CMsgDotaScenario.Team teams = 3;
repeated .CMsgDotaScenario.Hero heroes = 4;
repeated .CMsgDotaScenario.Stock stock = 5;
repeated .CMsgDotaScenario.Building buildings = 6;
repeated .CMsgDotaScenario.Entity entities = 7;
repeated .CMsgDotaScenario.Item items = 8;
repeated .CMsgDotaScenario.Modifier modifiers = 9;
}

View File

@ -0,0 +1,844 @@
enum DOTA_GameMode {
DOTA_GAMEMODE_NONE = 0;
DOTA_GAMEMODE_AP = 1;
DOTA_GAMEMODE_CM = 2;
DOTA_GAMEMODE_RD = 3;
DOTA_GAMEMODE_SD = 4;
DOTA_GAMEMODE_AR = 5;
DOTA_GAMEMODE_INTRO = 6;
DOTA_GAMEMODE_HW = 7;
DOTA_GAMEMODE_REVERSE_CM = 8;
DOTA_GAMEMODE_XMAS = 9;
DOTA_GAMEMODE_TUTORIAL = 10;
DOTA_GAMEMODE_MO = 11;
DOTA_GAMEMODE_LP = 12;
DOTA_GAMEMODE_POOL1 = 13;
DOTA_GAMEMODE_FH = 14;
DOTA_GAMEMODE_CUSTOM = 15;
DOTA_GAMEMODE_CD = 16;
DOTA_GAMEMODE_BD = 17;
DOTA_GAMEMODE_ABILITY_DRAFT = 18;
DOTA_GAMEMODE_EVENT = 19;
DOTA_GAMEMODE_ARDM = 20;
DOTA_GAMEMODE_1V1MID = 21;
DOTA_GAMEMODE_ALL_DRAFT = 22;
DOTA_GAMEMODE_TURBO = 23;
DOTA_GAMEMODE_MUTATION = 24;
DOTA_GAMEMODE_COACHES_CHALLENGE = 25;
}
enum DOTA_GameState {
DOTA_GAMERULES_STATE_INIT = 0;
DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 1;
DOTA_GAMERULES_STATE_HERO_SELECTION = 2;
DOTA_GAMERULES_STATE_STRATEGY_TIME = 3;
DOTA_GAMERULES_STATE_PRE_GAME = 4;
DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 5;
DOTA_GAMERULES_STATE_POST_GAME = 6;
DOTA_GAMERULES_STATE_DISCONNECT = 7;
DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 8;
DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 9;
DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 10;
DOTA_GAMERULES_STATE_SCENARIO_SETUP = 11;
DOTA_GAMERULES_STATE_PLAYER_DRAFT = 12;
DOTA_GAMERULES_STATE_LAST = 13;
}
enum DOTA_GC_TEAM {
DOTA_GC_TEAM_GOOD_GUYS = 0;
DOTA_GC_TEAM_BAD_GUYS = 1;
DOTA_GC_TEAM_BROADCASTER = 2;
DOTA_GC_TEAM_SPECTATOR = 3;
DOTA_GC_TEAM_PLAYER_POOL = 4;
DOTA_GC_TEAM_NOTEAM = 5;
DOTA_GC_TEAM_CUSTOM_1 = 6;
DOTA_GC_TEAM_CUSTOM_2 = 7;
DOTA_GC_TEAM_CUSTOM_3 = 8;
DOTA_GC_TEAM_CUSTOM_4 = 9;
DOTA_GC_TEAM_CUSTOM_5 = 10;
DOTA_GC_TEAM_CUSTOM_6 = 11;
DOTA_GC_TEAM_CUSTOM_7 = 12;
DOTA_GC_TEAM_CUSTOM_8 = 13;
DOTA_GC_TEAM_NEUTRALS = 14;
}
enum EEvent {
EVENT_ID_NONE = 0;
EVENT_ID_DIRETIDE = 1;
EVENT_ID_SPRING_FESTIVAL = 2;
EVENT_ID_FROSTIVUS_2013 = 3;
EVENT_ID_COMPENDIUM_2014 = 4;
EVENT_ID_NEXON_PC_BANG = 5;
EVENT_ID_PWRD_DAC_2015 = 6;
EVENT_ID_NEW_BLOOM_2015 = 7;
EVENT_ID_INTERNATIONAL_2015 = 8;
EVENT_ID_FALL_MAJOR_2015 = 9;
EVENT_ID_ORACLE_PA = 10;
EVENT_ID_NEW_BLOOM_2015_PREBEAST = 11;
EVENT_ID_FROSTIVUS = 12;
EVENT_ID_WINTER_MAJOR_2016 = 13;
EVENT_ID_INTERNATIONAL_2016 = 14;
EVENT_ID_FALL_MAJOR_2016 = 15;
EVENT_ID_WINTER_MAJOR_2017 = 16;
EVENT_ID_NEW_BLOOM_2017 = 17;
EVENT_ID_INTERNATIONAL_2017 = 18;
EVENT_ID_PLUS_SUBSCRIPTION = 19;
EVENT_ID_SINGLES_DAY_2017 = 20;
EVENT_ID_FROSTIVUS_2017 = 21;
EVENT_ID_INTERNATIONAL_2018 = 22;
EVENT_ID_FROSTIVUS_2018 = 23;
EVENT_ID_NEW_BLOOM_2019 = 24;
EVENT_ID_INTERNATIONAL_2019 = 25;
EVENT_ID_NEW_PLAYER_EXPERIENCE = 26;
EVENT_ID_FROSTIVUS_2019 = 27;
EVENT_ID_NEW_BLOOM_2020 = 28;
EVENT_ID_INTERNATIONAL_2020 = 29;
EVENT_ID_TEAM_FANDOM = 30;
EVENT_ID_DIRETIDE_2020 = 31;
EVENT_ID_SPRING_2021 = 32;
EVENT_ID_FALL_2021 = 33;
EVENT_ID_TEAM_FANDOM_FALL_2021 = 34;
EVENT_ID_TEAM_2021_2022_TOUR2 = 35;
EVENT_ID_INTERNATIONAL_2022 = 36;
EVENT_ID_TEAM_2021_2022_TOUR3 = 37;
EVENT_ID_TEAM_INTERNATIONAL_2022 = 38;
EVENT_ID_PERMANENT_GRANTS = 39;
EVENT_ID_MUERTA_RELEASE_SPRING2023 = 40;
EVENT_ID_TEAM_2023_TOUR1 = 41;
EVENT_ID_TEAM_2023_TOUR2 = 42;
EVENT_ID_TEAM_2023_TOUR3 = 43;
EVENT_ID_INTERNATIONAL_2023 = 45;
EVENT_ID_10TH_ANNIVERSARY = 46;
EVENT_ID_CROWNFALL = 47;
EVENT_ID_FROSTIVUS_2023 = 48;
EVENT_ID_INTERNATIONAL_2024 = 49;
EVENT_ID_FROSTIVUS_2024 = 50;
}
enum ERankType {
k_ERankType_Invalid = 0;
k_ERankType_Casual = 1;
k_ERankType_Ranked = 2;
k_ERankType_CasualLegacy = 3;
k_ERankType_RankedLegacy = 4;
k_ERankType_CasualGlicko = 5;
k_ERankType_RankedGlicko = 6;
k_ERankType_RankMax = 7;
k_ERankType_BehaviorPrivate = 100;
k_ERankType_BehaviorPublic = 101;
k_ERankType_Max = 102;
}
enum DOTALeaverStatus_t {
DOTA_LEAVER_NONE = 0;
DOTA_LEAVER_DISCONNECTED = 1;
DOTA_LEAVER_DISCONNECTED_TOO_LONG = 2;
DOTA_LEAVER_ABANDONED = 3;
DOTA_LEAVER_AFK = 4;
DOTA_LEAVER_NEVER_CONNECTED = 5;
DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG = 6;
DOTA_LEAVER_FAILED_TO_READY_UP = 7;
DOTA_LEAVER_DECLINED = 8;
DOTA_LEAVER_DECLINED_REQUEUE = 9;
}
enum DOTAConnectionState_t {
DOTA_CONNECTION_STATE_UNKNOWN = 0;
DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 1;
DOTA_CONNECTION_STATE_CONNECTED = 2;
DOTA_CONNECTION_STATE_DISCONNECTED = 3;
DOTA_CONNECTION_STATE_ABANDONED = 4;
DOTA_CONNECTION_STATE_LOADING = 5;
DOTA_CONNECTION_STATE_FAILED = 6;
}
enum Fantasy_Roles {
FANTASY_ROLE_UNDEFINED = 0;
FANTASY_ROLE_CORE = 1;
FANTASY_ROLE_SUPPORT = 2;
FANTASY_ROLE_OFFLANE = 3;
FANTASY_ROLE_MID = 4;
}
enum Fantasy_Scoring {
FANTASY_SCORING_KILLS = 0;
FANTASY_SCORING_DEATHS = 1;
FANTASY_SCORING_CS = 2;
FANTASY_SCORING_GPM = 3;
FANTASY_SCORING_TOWER_KILLS = 4;
FANTASY_SCORING_ROSHAN_KILLS = 5;
FANTASY_SCORING_TEAMFIGHT_PARTICIPATION = 6;
FANTASY_SCORING_WARDS_PLANTED = 7;
FANTASY_SCORING_CAMPS_STACKED = 8;
FANTASY_SCORING_RUNES_GRABBED = 9;
FANTASY_SCORING_FIRST_BLOOD = 10;
FANTASY_SCORING_STUNS = 11;
FANTASY_SCORING_SMOKES_USED = 12;
FANTASY_SCORING_NEUTRAL_TOKENS_FOUND = 13;
FANTASY_SCORING_WATCHERS_TAKEN = 14;
FANTASY_SCORING_LOTUSES_GAINED = 15;
FANTASY_SCORING_TORMENTOR_KILLS = 16;
FANTASY_SCORING_COURIER_KILLS = 17;
FANTASY_SCORING_TYPES = 18;
FANTASY_SCORING_INVALID = 19;
}
enum Fantasy_Team_Slots {
FANTASY_SLOT_NONE = 0;
FANTASY_SLOT_CORE = 1;
FANTASY_SLOT_SUPPORT = 2;
FANTASY_SLOT_ANY = 3;
FANTASY_SLOT_BENCH = 4;
}
enum Fantasy_Selection_Mode {
FANTASY_SELECTION_INVALID = 0;
FANTASY_SELECTION_LOCKED = 1;
FANTASY_SELECTION_SHUFFLE = 2;
FANTASY_SELECTION_FREE_PICK = 3;
FANTASY_SELECTION_ENDED = 4;
FANTASY_SELECTION_PRE_SEASON = 5;
FANTASY_SELECTION_PRE_DRAFT = 6;
FANTASY_SELECTION_DRAFTING = 7;
FANTASY_SELECTION_REGULAR_SEASON = 8;
FANTASY_SELECTION_CARD_BASED = 9;
}
enum Fantasy_Gem_Type {
FANTASY_GEM_TYPE_RUBY = 0;
FANTASY_GEM_TYPE_SAPPHIRE = 1;
FANTASY_GEM_TYPE_EMERALD = 2;
}
enum DOTAChatChannelType_t {
DOTAChannelType_Regional = 0;
DOTAChannelType_Custom = 1;
DOTAChannelType_Party = 2;
DOTAChannelType_Lobby = 3;
DOTAChannelType_Team = 4;
DOTAChannelType_Guild = 5;
DOTAChannelType_Fantasy = 6;
DOTAChannelType_Whisper = 7;
DOTAChannelType_Console = 8;
DOTAChannelType_Tab = 9;
DOTAChannelType_Invalid = 10;
DOTAChannelType_GameAll = 11;
DOTAChannelType_GameAllies = 12;
DOTAChannelType_GameSpectator = 13;
DOTAChannelType_GameCoaching = 14;
DOTAChannelType_Cafe = 15;
DOTAChannelType_CustomGame = 16;
DOTAChannelType_Private = 17;
DOTAChannelType_PostGame = 18;
DOTAChannelType_BattleCup = 19;
DOTAChannelType_HLTVSpectator = 20;
DOTAChannelType_GameEvents = 21;
DOTAChannelType_Trivia = 22;
DOTAChannelType_NewPlayer = 23;
DOTAChannelType_PrivateCoaching = 24;
}
enum EChatSpecialPrivileges {
k_EChatSpecialPrivileges_None = 0;
k_EChatSpecialPrivileges_Moderator = 1;
k_EChatSpecialPrivileges_SuperModerator = 2;
}
enum DOTACommType_t {
DOTA_COMM_TYPE_NONE = 0;
DOTA_COMM_TYPE_PING = 1;
DOTA_COMM_TYPE_CHATWHEEL = 2;
DOTA_COMM_TYPE_TIP = 3;
DOTA_COMM_TYPE_TEXT = 4;
DOTA_COMM_TYPE_SHOWCASE = 5;
DOTA_COMM_TYPE_VOICE = 6;
DOTA_COMM_TYPE_ALLY_ABILITY = 7;
DOTA_COMM_TYPE_PAUSE = 8;
DOTA_COMM_TYPE_COACHING = 9;
DOTA_COMM_TYPE_NOCOOLDOWN = 10;
DOTA_COMM_TYPE_RANKEDMATCHMAKE = 11;
DOTA_COMM_TYPE_DROPS = 12;
DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 13;
DOTA_COMM_TYPE_COACHED = 14;
DOTA_COMM_TYPE_MAPDRAWING = 15;
}
enum DOTACommLevel_t {
DOTA_COMM_LEVEL_NONE = 0;
DOTA_COMM_LEVEL_COOLDOWN = 1;
DOTA_COMM_LEVEL_PINGS = 2;
DOTA_COMM_LEVEL_MAPDRAWING = 3;
DOTA_COMM_LEVEL_CHAT = 4;
DOTA_COMM_LEVEL_TIPPING = 5;
DOTA_COMM_LEVEL_VOICE = 6;
DOTA_COMM_LEVEL_ALLIED_ABILITY = 7;
}
enum DOTABehaviorLevel_t {
DOTA_BEHAVIOR_LEVEL_NONE = 0;
DOTA_BEHAVIOR_LEVEL_RANKED_ALLOWED = 1;
DOTA_BEHAVIOR_LEVEL_PAUSING = 2;
DOTA_BEHAVIOR_LEVEL_DROPS = 3;
DOTA_BEHAVIOR_LEVEL_COACHING = 4;
}
enum EProfileCardSlotType {
k_EProfileCardSlotType_Empty = 0;
k_EProfileCardSlotType_Stat = 1;
k_EProfileCardSlotType_Trophy = 2;
k_EProfileCardSlotType_Item = 3;
k_EProfileCardSlotType_Hero = 4;
k_EProfileCardSlotType_Emoticon = 5;
k_EProfileCardSlotType_Team = 6;
}
enum EMatchGroupServerStatus {
k_EMatchGroupServerStatus_OK = 0;
k_EMatchGroupServerStatus_LimitedAvailability = 1;
k_EMatchGroupServerStatus_Offline = 2;
}
enum DOTA_CM_PICK {
DOTA_CM_RANDOM = 0;
DOTA_CM_GOOD_GUYS = 1;
DOTA_CM_BAD_GUYS = 2;
}
enum DOTALowPriorityBanType {
DOTA_LOW_PRIORITY_BAN_ABANDON = 0;
DOTA_LOW_PRIORITY_BAN_REPORTS = 1;
DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON = 2;
DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE = 3;
}
enum DOTALobbyReadyState {
DOTALobbyReadyState_UNDECLARED = 0;
DOTALobbyReadyState_ACCEPTED = 1;
DOTALobbyReadyState_DECLINED = 2;
DOTALobbyReadyState_DECLINED_REQUEUE = 3;
}
enum DOTAJoinLobbyResult {
DOTA_JOIN_RESULT_SUCCESS = 0;
DOTA_JOIN_RESULT_ALREADY_IN_GAME = 1;
DOTA_JOIN_RESULT_INVALID_LOBBY = 2;
DOTA_JOIN_RESULT_INCORRECT_PASSWORD = 3;
DOTA_JOIN_RESULT_ACCESS_DENIED = 4;
DOTA_JOIN_RESULT_GENERIC_ERROR = 5;
DOTA_JOIN_RESULT_INCORRECT_VERSION = 6;
DOTA_JOIN_RESULT_IN_TEAM_PARTY = 7;
DOTA_JOIN_RESULT_NO_LOBBY_FOUND = 8;
DOTA_JOIN_RESULT_LOBBY_FULL = 9;
DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION = 10;
DOTA_JOIN_RESULT_TIMEOUT = 11;
DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN = 12;
DOTA_JOIN_RESULT_BUSY = 13;
DOTA_JOIN_RESULT_NO_PLAYTIME = 14;
}
enum DOTASelectionPriorityRules {
k_DOTASelectionPriorityRules_Manual = 0;
k_DOTASelectionPriorityRules_Automatic = 1;
}
enum DOTASelectionPriorityChoice {
k_DOTASelectionPriorityChoice_Invalid = 0;
k_DOTASelectionPriorityChoice_FirstPick = 1;
k_DOTASelectionPriorityChoice_SecondPick = 2;
k_DOTASelectionPriorityChoice_Radiant = 3;
k_DOTASelectionPriorityChoice_Dire = 4;
}
enum DOTAMatchVote {
DOTAMatchVote_INVALID = 0;
DOTAMatchVote_POSITIVE = 1;
DOTAMatchVote_NEGATIVE = 2;
}
enum DOTALobbyVisibility {
DOTALobbyVisibility_Public = 0;
DOTALobbyVisibility_Friends = 1;
DOTALobbyVisibility_Unlisted = 2;
}
enum EDOTAPlayerMMRType {
k_EDOTAPlayerMMRType_Invalid = 0;
k_EDOTAPlayerMMRType_GeneralHidden = 1;
k_EDOTAPlayerMMRType_GeneralCompetitive = 3;
}
enum EDOTAMMRBoostType {
k_EDOTAMMRBoostType_None = 0;
k_EDOTAMMRBoostType_Leader = 1;
k_EDOTAMMRBoostType_Follower = 2;
}
enum MatchType {
MATCH_TYPE_CASUAL = 0;
MATCH_TYPE_COOP_BOTS = 1;
MATCH_TYPE_COMPETITIVE = 4;
MATCH_TYPE_WEEKEND_TOURNEY = 5;
MATCH_TYPE_EVENT = 7;
MATCH_TYPE_COACHES_CHALLENGE = 12;
MATCH_TYPE_NEW_PLAYER_POOL = 14;
}
enum DOTABotDifficulty {
BOT_DIFFICULTY_PASSIVE = 0;
BOT_DIFFICULTY_EASY = 1;
BOT_DIFFICULTY_MEDIUM = 2;
BOT_DIFFICULTY_HARD = 3;
BOT_DIFFICULTY_UNFAIR = 4;
BOT_DIFFICULTY_INVALID = 5;
BOT_DIFFICULTY_EXTRA1 = 6;
BOT_DIFFICULTY_EXTRA2 = 7;
BOT_DIFFICULTY_EXTRA3 = 8;
BOT_DIFFICULTY_NPX = 9;
}
enum DOTA_BOT_MODE {
DOTA_BOT_MODE_NONE = 0;
DOTA_BOT_MODE_LANING = 1;
DOTA_BOT_MODE_ATTACK = 2;
DOTA_BOT_MODE_ROAM = 3;
DOTA_BOT_MODE_RETREAT = 4;
DOTA_BOT_MODE_SECRET_SHOP = 5;
DOTA_BOT_MODE_SIDE_SHOP = 6;
DOTA_BOT_MODE_RUNE = 7;
DOTA_BOT_MODE_PUSH_TOWER_TOP = 8;
DOTA_BOT_MODE_PUSH_TOWER_MID = 9;
DOTA_BOT_MODE_PUSH_TOWER_BOT = 10;
DOTA_BOT_MODE_DEFEND_TOWER_TOP = 11;
DOTA_BOT_MODE_DEFEND_TOWER_MID = 12;
DOTA_BOT_MODE_DEFEND_TOWER_BOT = 13;
DOTA_BOT_MODE_ASSEMBLE = 14;
DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS = 15;
DOTA_BOT_MODE_TEAM_ROAM = 16;
DOTA_BOT_MODE_FARM = 17;
DOTA_BOT_MODE_DEFEND_ALLY = 18;
DOTA_BOT_MODE_EVASIVE_MANEUVERS = 19;
DOTA_BOT_MODE_ROSHAN = 20;
DOTA_BOT_MODE_ITEM = 21;
DOTA_BOT_MODE_WARD = 22;
DOTA_BOT_MODE_COMPANION = 23;
DOTA_BOT_MODE_TUTORIAL_BOSS = 24;
DOTA_BOT_MODE_MINION = 25;
DOTA_BOT_MODE_OUTPOST = 26;
}
enum MatchLanguages {
MATCH_LANGUAGE_INVALID = 0;
MATCH_LANGUAGE_ENGLISH = 1;
MATCH_LANGUAGE_RUSSIAN = 2;
MATCH_LANGUAGE_CHINESE = 3;
MATCH_LANGUAGE_KOREAN = 4;
MATCH_LANGUAGE_SPANISH = 5;
MATCH_LANGUAGE_PORTUGUESE = 6;
MATCH_LANGUAGE_ENGLISH2 = 7;
}
enum ETourneyQueueDeadlineState {
k_ETourneyQueueDeadlineState_Normal = 0;
k_ETourneyQueueDeadlineState_Missed = 1;
k_ETourneyQueueDeadlineState_ExpiredOK = 2;
k_ETourneyQueueDeadlineState_SeekingBye = 3;
k_ETourneyQueueDeadlineState_EligibleForRefund = 4;
k_ETourneyQueueDeadlineState_NA = -1;
k_ETourneyQueueDeadlineState_ExpiringSoon = 101;
}
enum EMatchOutcome {
k_EMatchOutcome_Unknown = 0;
k_EMatchOutcome_RadVictory = 2;
k_EMatchOutcome_DireVictory = 3;
k_EMatchOutcome_NeutralVictory = 4;
k_EMatchOutcome_NoTeamWinner = 5;
k_EMatchOutcome_Custom1Victory = 6;
k_EMatchOutcome_Custom2Victory = 7;
k_EMatchOutcome_Custom3Victory = 8;
k_EMatchOutcome_Custom4Victory = 9;
k_EMatchOutcome_Custom5Victory = 10;
k_EMatchOutcome_Custom6Victory = 11;
k_EMatchOutcome_Custom7Victory = 12;
k_EMatchOutcome_Custom8Victory = 13;
k_EMatchOutcome_NotScored_PoorNetworkConditions = 64;
k_EMatchOutcome_NotScored_Leaver = 65;
k_EMatchOutcome_NotScored_ServerCrash = 66;
k_EMatchOutcome_NotScored_NeverStarted = 67;
k_EMatchOutcome_NotScored_Canceled = 68;
k_EMatchOutcome_NotScored_Suspicious = 69;
}
enum ELaneType {
LANE_TYPE_UNKNOWN = 0;
LANE_TYPE_SAFE = 1;
LANE_TYPE_OFF = 2;
LANE_TYPE_MID = 3;
LANE_TYPE_JUNGLE = 4;
LANE_TYPE_ROAM = 5;
}
enum EBadgeType {
k_EBadgeType_Invalid = 0;
k_EBadgeType_TI7_Midweek = 1;
k_EBadgeType_TI7_Finals = 2;
k_EBadgeType_TI7_AllEvent = 3;
k_EBadgeType_TI8_Midweek = 4;
k_EBadgeType_TI8_Finals = 5;
k_EBadgeType_TI8_AllEvent = 6;
k_EBadgeType_TI10 = 7;
k_EBadgeType_TI11_PlayoffsDay1 = 8;
k_EBadgeType_TI11_PlayoffsDay2 = 9;
k_EBadgeType_TI11_PlayoffsDay3 = 10;
k_EBadgeType_TI11_PlayoffsDay4 = 11;
k_EBadgeType_TI11_FinalsWeekend = 12;
k_EBadgeType_TI12_PlayoffsDay1 = 13;
k_EBadgeType_TI12_PlayoffsDay2 = 14;
k_EBadgeType_TI12_PlayoffsDay3 = 15;
k_EBadgeType_TI12_FinalsWeekend = 16;
k_EBadgeType_TI12_Special = 17;
k_EBadgeType_TI13_FinalsDay1 = 18;
k_EBadgeType_TI13_FinalsDay2 = 19;
k_EBadgeType_TI13_FinalsDay3 = 20;
k_EBadgeType_TI13_Special = 21;
}
enum ELeagueStatus {
LEAGUE_STATUS_UNSET = 0;
LEAGUE_STATUS_UNSUBMITTED = 1;
LEAGUE_STATUS_SUBMITTED = 2;
LEAGUE_STATUS_ACCEPTED = 3;
LEAGUE_STATUS_REJECTED = 4;
LEAGUE_STATUS_CONCLUDED = 5;
LEAGUE_STATUS_DELETED = 6;
}
enum ELeagueRegion {
LEAGUE_REGION_UNSET = 0;
LEAGUE_REGION_NA = 1;
LEAGUE_REGION_SA = 2;
LEAGUE_REGION_WEU = 3;
LEAGUE_REGION_EEU = 4;
LEAGUE_REGION_CHINA = 5;
LEAGUE_REGION_SEA = 6;
}
enum ELeagueTier {
LEAGUE_TIER_UNSET = 0;
LEAGUE_TIER_AMATEUR = 1;
LEAGUE_TIER_PROFESSIONAL = 2;
LEAGUE_TIER_MINOR = 3;
LEAGUE_TIER_MAJOR = 4;
LEAGUE_TIER_INTERNATIONAL = 5;
LEAGUE_TIER_DPC_QUALIFIER = 6;
LEAGUE_TIER_DPC_LEAGUE_QUALIFIER = 7;
LEAGUE_TIER_DPC_LEAGUE = 8;
LEAGUE_TIER_DPC_LEAGUE_FINALS = 9;
}
enum ELeagueTierCategory {
LEAGUE_TIER_CATEGORY_AMATEUR = 1;
LEAGUE_TIER_CATEGORY_PROFESSIONAL = 2;
LEAGUE_TIER_CATEGORY_DPC = 3;
}
enum ELeagueDivision {
LEAGUE_DIVISION_UNSET = 0;
LEAGUE_DIVISION_I = 1;
LEAGUE_DIVISION_II = 2;
}
enum ELeagueBroadcastProvider {
LEAGUE_BROADCAST_UNKNOWN = 0;
LEAGUE_BROADCAST_STEAM = 1;
LEAGUE_BROADCAST_TWITCH = 2;
LEAGUE_BROADCAST_YOUTUBE = 3;
LEAGUE_BROADCAST_OTHER = 100;
}
enum ELeaguePhase {
LEAGUE_PHASE_UNSET = 0;
LEAGUE_PHASE_REGIONAL_QUALIFIER = 1;
LEAGUE_PHASE_GROUP_STAGE = 2;
LEAGUE_PHASE_MAIN_EVENT = 3;
}
enum ELeagueAuditAction {
LEAGUE_AUDIT_ACTION_INVALID = 0;
LEAGUE_AUDIT_ACTION_LEAGUE_CREATE = 1;
LEAGUE_AUDIT_ACTION_LEAGUE_EDIT = 2;
LEAGUE_AUDIT_ACTION_LEAGUE_DELETE = 3;
LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD = 4;
LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE = 5;
LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE = 6;
LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD = 7;
LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE = 8;
LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED = 9;
LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED = 10;
LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED = 11;
LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL = 12;
LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM = 13;
LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM = 14;
LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START = 15;
LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END = 16;
LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM = 17;
LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM = 18;
LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED = 19;
LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT = 20;
LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP = 21;
LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE = 100;
LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY = 101;
LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM = 102;
LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM = 103;
LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING = 104;
LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT = 105;
LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE = 106;
LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED = 107;
LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING = 108;
LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING = 109;
LEAGUE_AUDIT_ACTION_NODE_CREATE = 200;
LEAGUE_AUDIT_ACTION_NODE_DESTROY = 201;
LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE = 202;
LEAGUE_AUDIT_ACTION_NODE_SET_TEAM = 203;
LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID = 204;
LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING = 205;
LEAGUE_AUDIT_ACTION_NODE_SET_TIME = 206;
LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED = 207;
LEAGUE_AUDIT_ACTION_NODE_COMPLETED = 208;
LEAGUE_AUDIT_ACTION_NODE_EDIT = 209;
}
enum DOTA_COMBATLOG_TYPES {
DOTA_COMBATLOG_INVALID = -1;
DOTA_COMBATLOG_DAMAGE = 0;
DOTA_COMBATLOG_HEAL = 1;
DOTA_COMBATLOG_MODIFIER_ADD = 2;
DOTA_COMBATLOG_MODIFIER_REMOVE = 3;
DOTA_COMBATLOG_DEATH = 4;
DOTA_COMBATLOG_ABILITY = 5;
DOTA_COMBATLOG_ITEM = 6;
DOTA_COMBATLOG_LOCATION = 7;
DOTA_COMBATLOG_GOLD = 8;
DOTA_COMBATLOG_GAME_STATE = 9;
DOTA_COMBATLOG_XP = 10;
DOTA_COMBATLOG_PURCHASE = 11;
DOTA_COMBATLOG_BUYBACK = 12;
DOTA_COMBATLOG_ABILITY_TRIGGER = 13;
DOTA_COMBATLOG_PLAYERSTATS = 14;
DOTA_COMBATLOG_MULTIKILL = 15;
DOTA_COMBATLOG_KILLSTREAK = 16;
DOTA_COMBATLOG_TEAM_BUILDING_KILL = 17;
DOTA_COMBATLOG_FIRST_BLOOD = 18;
DOTA_COMBATLOG_MODIFIER_STACK_EVENT = 19;
DOTA_COMBATLOG_NEUTRAL_CAMP_STACK = 20;
DOTA_COMBATLOG_PICKUP_RUNE = 21;
DOTA_COMBATLOG_REVEALED_INVISIBLE = 22;
DOTA_COMBATLOG_HERO_SAVED = 23;
DOTA_COMBATLOG_MANA_RESTORED = 24;
DOTA_COMBATLOG_HERO_LEVELUP = 25;
DOTA_COMBATLOG_BOTTLE_HEAL_ALLY = 26;
DOTA_COMBATLOG_ENDGAME_STATS = 27;
DOTA_COMBATLOG_INTERRUPT_CHANNEL = 28;
DOTA_COMBATLOG_ALLIED_GOLD = 29;
DOTA_COMBATLOG_AEGIS_TAKEN = 30;
DOTA_COMBATLOG_MANA_DAMAGE = 31;
DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED = 32;
DOTA_COMBATLOG_UNIT_SUMMONED = 33;
DOTA_COMBATLOG_ATTACK_EVADE = 34;
DOTA_COMBATLOG_TREE_CUT = 35;
DOTA_COMBATLOG_SUCCESSFUL_SCAN = 36;
DOTA_COMBATLOG_END_KILLSTREAK = 37;
DOTA_COMBATLOG_BLOODSTONE_CHARGE = 38;
DOTA_COMBATLOG_CRITICAL_DAMAGE = 39;
DOTA_COMBATLOG_SPELL_ABSORB = 40;
DOTA_COMBATLOG_UNIT_TELEPORTED = 41;
DOTA_COMBATLOG_KILL_EATER_EVENT = 42;
DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED = 43;
DOTA_COMBATLOG_STAT_TRACKER_PLAYER = 44;
}
enum EDPCFavoriteType {
FAVORITE_TYPE_ALL = 0;
FAVORITE_TYPE_PLAYER = 1;
FAVORITE_TYPE_TEAM = 2;
FAVORITE_TYPE_LEAGUE = 3;
}
enum EDPCPushNotification {
DPC_PUSH_NOTIFICATION_MATCH_STARTING = 1;
DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM = 10;
DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM = 11;
DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH = 12;
DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH = 13;
DPC_PUSH_NOTIFICATION_LEAGUE_RESULT = 20;
DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE = 30;
DPC_PUSH_NOTIFICATION_PREDICTION_RESULT = 31;
DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED = 40;
DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY = 41;
DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 42;
}
enum EEventActionScoreMode {
k_eEventActionScoreMode_Add = 0;
k_eEventActionScoreMode_Min = 1;
}
enum EPlayerChallengeHistoryType {
k_EPlayerChallengeHistoryType_Invalid = 0;
k_EPlayerChallengeHistoryType_KillEater = 1;
k_EPlayerChallengeHistoryType_DotaPlusRelic = 2;
k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge = 3;
k_EPlayerChallengeHistoryType_InGameEventChallenge = 4;
k_EPlayerChallengeHistoryType_GuildContract = 5;
}
enum EOverwatchReportReason {
k_EOverwatchReportReason_Unknown = 0;
k_EOverwatchReportReason_Cheating = 1;
k_EOverwatchReportReason_Feeding = 2;
k_EOverwatchReportReason_Griefing = 3;
k_EOverwatchReportReason_Suspicious = 4;
k_EOverwatchReportReason_AbilityAbuse = 5;
}
enum ECandyShopUpgrade {
k_ECandyShopUpgradeInvalid = -1;
k_ECandyShopUpgrade_InventorySize = 0;
k_ECandyShopUpgrade_RewardShelf = 1;
k_ECandyShopUpgrade_ExtraExchangeRecipe = 2;
}
enum EItemSuggestPreference {
k_EItemSuggestPreference_None = 0;
k_EItemSuggestPreference_Liked = 1;
k_EItemSuggestPreference_Disliked = 2;
}
message CDOTAClientHardwareSpecs {
optional uint32 logical_processors = 1;
optional fixed64 cpu_cycles_per_second = 2;
optional fixed64 total_physical_memory = 3;
optional bool is_64_bit_os = 4;
optional uint64 upload_measurement = 5;
optional bool prefer_not_host = 6;
repeated uint32 crc = 7;
}
message CDOTASaveGame {
message Player {
optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS];
optional string name = 2;
optional string hero = 3;
}
message SaveInstance {
message PlayerPositions {
optional float x = 1;
optional float y = 2;
}
optional uint32 game_time = 2;
optional uint32 team1_score = 3;
optional uint32 team2_score = 4;
repeated .CDOTASaveGame.SaveInstance.PlayerPositions player_positions = 5;
optional uint32 save_id = 6;
optional uint32 save_time = 7;
}
optional uint64 match_id = 5;
optional uint32 save_time = 2;
repeated .CDOTASaveGame.Player players = 3;
repeated .CDOTASaveGame.SaveInstance save_instances = 4;
}
message CMsgDOTACombatLogEntry {
optional .DOTA_COMBATLOG_TYPES type = 1 [default = DOTA_COMBATLOG_INVALID];
optional uint32 target_name = 2;
optional uint32 target_source_name = 3;
optional uint32 attacker_name = 4;
optional uint32 damage_source_name = 5;
optional uint32 inflictor_name = 6;
optional bool is_attacker_illusion = 7;
optional bool is_attacker_hero = 8;
optional bool is_target_illusion = 9;
optional bool is_target_hero = 10;
optional bool is_visible_radiant = 11;
optional bool is_visible_dire = 12;
optional uint32 value = 13;
optional int32 health = 14;
optional float timestamp = 15;
optional float stun_duration = 16;
optional float slow_duration = 17;
optional bool is_ability_toggle_on = 18;
optional bool is_ability_toggle_off = 19;
optional uint32 ability_level = 20;
optional float location_x = 21;
optional float location_y = 22;
optional uint32 gold_reason = 23;
optional float timestamp_raw = 24;
optional float modifier_duration = 25;
optional uint32 xp_reason = 26;
optional uint32 last_hits = 27;
optional uint32 attacker_team = 28;
optional uint32 target_team = 29;
optional uint32 obs_wards_placed = 30;
optional uint32 assist_player0 = 31;
optional uint32 assist_player1 = 32;
optional uint32 assist_player2 = 33;
optional uint32 assist_player3 = 34;
optional uint32 stack_count = 35;
optional bool hidden_modifier = 36;
optional bool is_target_building = 37;
optional uint32 neutral_camp_type = 38;
optional uint32 rune_type = 39;
repeated int32 assist_players = 40;
optional bool is_heal_save = 41;
optional bool is_ultimate_ability = 42;
optional uint32 attacker_hero_level = 43;
optional uint32 target_hero_level = 44;
optional uint32 xpm = 45;
optional uint32 gpm = 46;
optional uint32 event_location = 47;
optional bool target_is_self = 48;
optional uint32 damage_type = 49;
optional bool invisibility_modifier = 50;
optional uint32 damage_category = 51;
optional uint32 networth = 52;
optional uint32 building_type = 53;
optional float modifier_elapsed_duration = 54;
optional bool silence_modifier = 55;
optional bool heal_from_lifesteal = 56;
optional bool modifier_purged = 57;
optional bool spell_evaded = 58;
optional bool motion_controller_modifier = 59;
optional bool long_range_kill = 60;
optional uint32 modifier_purge_ability = 61;
optional uint32 modifier_purge_npc = 62;
optional bool root_modifier = 63;
optional uint32 total_unit_death_count = 64;
optional bool aura_modifier = 65;
optional bool armor_debuff_modifier = 66;
optional bool no_physical_damage_modifier = 67;
optional uint32 modifier_ability = 68;
optional bool modifier_hidden = 69;
optional bool inflictor_is_stolen_ability = 70;
optional uint32 kill_eater_event = 71;
optional uint32 unit_status_label = 72;
optional bool spell_generated_attack = 73;
optional bool at_night_time = 74;
optional bool attacker_has_scepter = 75;
optional uint32 neutral_camp_team = 76;
optional float regenerated_health = 77;
optional bool will_reincarnate = 78;
optional bool uses_charges = 79;
optional uint32 tracked_stat_id = 80;
}
message CMsgPendingEventAward {
optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
optional uint32 action_id = 2;
optional uint32 num_to_grant = 3;
optional .EEventActionScoreMode score_mode = 4 [default = k_eEventActionScoreMode_Add];
optional uint32 audit_action = 5;
optional uint64 audit_data = 6;
}

View File

@ -0,0 +1,15 @@
import "networkbasetypes.proto";
import "usercmd.proto";
message CDota2UserCmdPB {
optional .CBaseUserCmdPB base = 1;
optional int32 spectator_query_unit_entindex = 2;
optional .CMsgVector crosshairtrace = 3;
optional int32 cameraposition_x = 4;
optional int32 cameraposition_y = 5;
optional uint32 clickbehavior = 6;
optional uint32 statspanel = 7;
optional uint32 shoppanel = 8;
optional uint32 stats_dropdown = 9;
optional uint32 stats_dropdown_sort = 10;
}

File diff suppressed because it is too large Load Diff