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

559 lines
14 KiB
Protocol Buffer

package dota;
import "steammessages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum EGCBaseMsg {
k_EMsgGCSystemMessage = 4001;
k_EMsgGCReplicateConVars = 4002;
k_EMsgGCConVarUpdated = 4003;
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_EMsgGCLANServerAvailable = 4511;
k_EMsgGCInviteToLobby = 4512;
k_EMsgGCLobbyInviteResponse = 4513;
}
enum EGCBaseProtoObjectTypes {
k_EProtoObjectPartyInvite = 1001;
k_EProtoObjectLobbyInvite = 1002;
}
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;
}
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 source_reference_id = 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;
}
message CMsgSystemBroadcast {
optional string message = 1;
}
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 uint32 preview_item_def = 8 [default = 0];
optional bool made_first_purchase = 9 [default = false];
}
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 bool recent_only = 10;
}
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 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 [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 bool in_use = 14 [default = false];
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16 [default = 0];
repeated CSOEconItemEquipped equipped_state = 18;
}
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;
}
message CMsgStoreGetUserDataResponse {
optional int32 result = 1;
optional int32 currency = 2;
optional string country = 3;
optional fixed32 price_sheet_version = 4;
optional uint64 experiment_data = 5 [default = 0];
optional int32 featured_item_idx = 6;
optional bool show_hat_descriptions = 7 [default = true];
optional bytes price_sheet = 8;
optional int32 default_item_sort = 9 [default = 0];
repeated uint32 popular_items = 10;
}
message CMsgUpdateItemSchema {
optional bytes items_game = 1;
optional fixed32 item_schema_version = 2;
optional string items_game_url = 3;
}
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 CMsgConsumableExhausted {
optional int32 item_def_id = 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 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 [(key_field) = true];
optional fixed32 expiration_date = 2;
optional float bonus = 3 [(key_field) = true];
optional uint32 bonus_count = 4;
optional uint64 item_id = 5;
optional uint32 def_index = 6;
optional uint32 seconds_left = 7;
optional uint32 booster_type = 8 [(key_field) = true];
}
message CSOEconItemLeagueViewPass {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 league_id = 2 [(key_field) = true];
optional uint32 itemindex = 4;
optional uint32 grant_reason = 5;
}
message CSOEconItemEventTicket {
optional uint32 account_id = 1;
optional uint32 event_id = 2;
optional uint64 item_id = 3;
}
message CSOEconItemTournamentPassport {
optional uint32 account_id = 1;
optional uint32 league_id = 2;
optional uint64 item_id = 3;
optional uint32 original_purchaser_id = 4;
optional uint32 passports_bought = 5;
optional uint32 version = 6;
optional uint32 def_index = 7;
optional uint32 reward_flags = 8;
}
message 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 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 CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgGCToGCDirtyMultipleSDOCache {
optional uint32 sdo_type = 1;
repeated uint64 key_uint64 = 2;
}
message CMsgGCToGCApplyLocalizationDiff {
optional uint32 language = 1;
optional string packed_diff = 2;
}
message CMsgGCToGCApplyLocalizationDiffResponse {
optional bool success = 1;
}
message CMsgGCCollectItem {
optional uint64 collection_item_id = 1;
optional uint64 subject_item_id = 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 CMsgRecipeComponent {
optional uint64 subject_item_id = 1;
optional uint64 attribute_index = 2;
}
message CMsgFulfillDynamicRecipeComponent {
optional uint64 tool_item_id = 1;
repeated CMsgRecipeComponent consumption_components = 2;
}
message CMsgGCClientMarketDataRequest {
optional uint32 user_currency = 1;
}
message CMsgGCClientMarketDataEntry {
optional uint32 item_def_index = 1;
optional uint32 item_quality = 2;
optional uint32 item_sell_listings = 3;
optional uint32 price_in_local_currency = 4;
}
message CMsgGCClientMarketData {
repeated CMsgGCClientMarketDataEntry entries = 1;
}
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;
}
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;
}
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];
}