import "networkbasetypes.proto"; import "dota_shared_enums.proto"; import "dota_commonmessages.proto"; enum EDotaUserMessages { DOTA_UM_AddUnitToSelection = 464; DOTA_UM_AIDebugLine = 465; DOTA_UM_ChatEvent = 466; DOTA_UM_CombatHeroPositions = 467; DOTA_UM_CombatLogData = 468; DOTA_UM_CombatLogBulkData = 470; DOTA_UM_CreateLinearProjectile = 471; DOTA_UM_DestroyLinearProjectile = 472; DOTA_UM_DodgeTrackingProjectiles = 473; DOTA_UM_GlobalLightColor = 474; DOTA_UM_GlobalLightDirection = 475; DOTA_UM_InvalidCommand = 476; DOTA_UM_LocationPing = 477; DOTA_UM_MapLine = 478; DOTA_UM_MiniKillCamInfo = 479; DOTA_UM_MinimapDebugPoint = 480; DOTA_UM_MinimapEvent = 481; DOTA_UM_NevermoreRequiem = 482; DOTA_UM_OverheadEvent = 483; DOTA_UM_SetNextAutobuyItem = 484; DOTA_UM_SharedCooldown = 485; DOTA_UM_SpectatorPlayerClick = 486; DOTA_UM_TutorialTipInfo = 487; DOTA_UM_UnitEvent = 488; DOTA_UM_ParticleManager = 489; DOTA_UM_BotChat = 490; DOTA_UM_HudError = 491; DOTA_UM_ItemPurchased = 492; DOTA_UM_Ping = 493; DOTA_UM_ItemFound = 494; DOTA_UM_CharacterSpeakConcept = 495; DOTA_UM_SwapVerify = 496; DOTA_UM_WorldLine = 497; DOTA_UM_TournamentDrop = 498; DOTA_UM_ItemAlert = 499; DOTA_UM_HalloweenDrops = 500; DOTA_UM_ChatWheel = 501; DOTA_UM_ReceivedXmasGift = 502; DOTA_UM_UpdateSharedContent = 503; DOTA_UM_TutorialRequestExp = 504; DOTA_UM_TutorialPingMinimap = 505; DOTA_UM_GamerulesStateChanged = 506; DOTA_UM_ShowSurvey = 507; DOTA_UM_TutorialFade = 508; DOTA_UM_AddQuestLogEntry = 509; DOTA_UM_SendStatPopup = 510; DOTA_UM_TutorialFinish = 511; DOTA_UM_SendRoshanPopup = 512; DOTA_UM_SendGenericToolTip = 513; DOTA_UM_SendFinalGold = 514; DOTA_UM_CustomMsg = 515; DOTA_UM_CoachHUDPing = 516; DOTA_UM_ClientLoadGridNav = 517; DOTA_UM_TE_Projectile = 518; DOTA_UM_TE_ProjectileLoc = 519; DOTA_UM_TE_DotaBloodImpact = 520; DOTA_UM_TE_UnitAnimation = 521; DOTA_UM_TE_UnitAnimationEnd = 522; DOTA_UM_AbilityPing = 523; DOTA_UM_ShowGenericPopup = 524; DOTA_UM_VoteStart = 525; DOTA_UM_VoteUpdate = 526; DOTA_UM_VoteEnd = 527; DOTA_UM_BoosterState = 528; DOTA_UM_WillPurchaseAlert = 529; DOTA_UM_TutorialMinimapPosition = 530; DOTA_UM_PlayerMMR = 531; DOTA_UM_AbilitySteal = 532; DOTA_UM_CourierKilledAlert = 533; DOTA_UM_EnemyItemAlert = 534; DOTA_UM_StatsMatchDetails = 535; DOTA_UM_MiniTaunt = 536; DOTA_UM_BuyBackStateAlert = 537; DOTA_UM_SpeechBubble = 538; DOTA_UM_CustomHeaderMessage = 539; DOTA_UM_QuickBuyAlert = 540; DOTA_UM_StatsHeroDetails = 541; DOTA_UM_PredictionResult = 542; DOTA_UM_ModifierAlert = 543; DOTA_UM_HPManaAlert = 544; DOTA_UM_GlyphAlert = 545; DOTA_UM_BeastChat = 546; DOTA_UM_SpectatorPlayerUnitOrders = 547; DOTA_UM_CustomHudElement_Create = 548; DOTA_UM_CustomHudElement_Modify = 549; DOTA_UM_CustomHudElement_Destroy = 550; DOTA_UM_CompendiumState = 551; DOTA_UM_ProjectionAbility = 552; DOTA_UM_ProjectionEvent = 553; DOTA_UM_CombatLogDataHLTV = 554; DOTA_UM_XPAlert = 555; DOTA_UM_UpdateQuestProgress = 556; DOTA_UM_MatchMetadata = 557; DOTA_UM_MatchDetails = 558; DOTA_UM_QuestStatus = 559; DOTA_UM_SuggestHeroPick = 560; DOTA_UM_SuggestHeroRole = 561; DOTA_UM_KillcamDamageTaken = 562; DOTA_UM_SelectPenaltyGold = 563; DOTA_UM_RollDiceResult = 564; DOTA_UM_FlipCoinResult = 565; DOTA_UM_RequestItemSuggestions = 566; DOTA_UM_TeamCaptainChanged = 567; DOTA_UM_SendRoshanSpectatorPhase = 568; DOTA_UM_ChatWheelCooldown = 569; DOTA_UM_DismissAllStatPopups = 570; DOTA_UM_TE_DestroyProjectile = 571; DOTA_UM_HeroRelicProgress = 572; DOTA_UM_AbilityDraftRequestAbility = 573; DOTA_UM_ItemSold = 574; DOTA_UM_DamageReport = 575; DOTA_UM_SalutePlayer = 576; DOTA_UM_TipAlert = 577; DOTA_UM_ReplaceQueryUnit = 578; DOTA_UM_EmptyTeleportAlert = 579; DOTA_UM_MarsArenaOfBloodAttack = 580; DOTA_UM_ESArcanaCombo = 581; DOTA_UM_ESArcanaComboSummary = 582; DOTA_UM_HighFiveLeftHanging = 583; DOTA_UM_HighFiveCompleted = 584; DOTA_UM_ShovelUnearth = 585; DOTA_EM_InvokerSpellCast = 586; DOTA_UM_RadarAlert = 587; DOTA_UM_AllStarEvent = 588; DOTA_UM_TalentTreeAlert = 589; DOTA_UM_QueuedOrderRemoved = 590; DOTA_UM_DebugChallenge = 591; DOTA_UM_OMArcanaCombo = 592; DOTA_UM_FoundNeutralItem = 593; DOTA_UM_OutpostCaptured = 594; DOTA_UM_OutpostGrantedXP = 595; DOTA_UM_MoveCameraToUnit = 596; DOTA_UM_PauseMinigameData = 597; DOTA_UM_VersusScene_PlayerBehavior = 598; DOTA_UM_QoP_ArcanaSummary = 600; DOTA_UM_HotPotato_Created = 601; DOTA_UM_HotPotato_Exploded = 602; DOTA_UM_WK_Arcana_Progress = 603; DOTA_UM_GuildChallenge_Progress = 604; DOTA_UM_WRArcanaProgress = 605; DOTA_UM_WRArcanaSummary = 606; DOTA_UM_EmptyItemSlotAlert = 607; DOTA_UM_AghsStatusAlert = 608; DOTA_UM_PingConfirmation = 609; DOTA_UM_MutedPlayers = 610; DOTA_UM_ContextualTip = 611; DOTA_UM_ChatMessage = 612; DOTA_UM_NeutralCampAlert = 613; DOTA_UM_RockPaperScissorsStarted = 614; DOTA_UM_RockPaperScissorsFinished = 615; DOTA_UM_DuelOpponentKilled = 616; DOTA_UM_DuelAccepted = 617; DOTA_UM_DuelRequested = 618; DOTA_UM_MuertaReleaseEvent_AssignedTargetKilled = 619; DOTA_UM_PlayerDraftSuggestPick = 620; DOTA_UM_PlayerDraftPick = 621; } enum DOTA_CHAT_MESSAGE { CHAT_MESSAGE_INVALID = -1; CHAT_MESSAGE_HERO_KILL = 0; CHAT_MESSAGE_HERO_DENY = 1; CHAT_MESSAGE_BARRACKS_KILL = 2; CHAT_MESSAGE_TOWER_KILL = 3; CHAT_MESSAGE_TOWER_DENY = 4; CHAT_MESSAGE_FIRSTBLOOD = 5; CHAT_MESSAGE_STREAK_KILL = 6; CHAT_MESSAGE_BUYBACK = 7; CHAT_MESSAGE_AEGIS = 8; CHAT_MESSAGE_ROSHAN_KILL = 9; CHAT_MESSAGE_COURIER_LOST = 10; CHAT_MESSAGE_COURIER_RESPAWNED = 11; CHAT_MESSAGE_GLYPH_USED = 12; CHAT_MESSAGE_ITEM_PURCHASE = 13; CHAT_MESSAGE_CONNECT = 14; CHAT_MESSAGE_DISCONNECT = 15; CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT = 16; CHAT_MESSAGE_DISCONNECT_TIME_REMAINING = 17; CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL = 18; CHAT_MESSAGE_RECONNECT = 19; CHAT_MESSAGE_PLAYER_LEFT = 20; CHAT_MESSAGE_SAFE_TO_LEAVE = 21; CHAT_MESSAGE_RUNE_PICKUP = 22; CHAT_MESSAGE_RUNE_BOTTLE = 23; CHAT_MESSAGE_RUNE_DENY = 114; CHAT_MESSAGE_INTHEBAG = 24; CHAT_MESSAGE_SECRETSHOP = 25; CHAT_MESSAGE_ITEM_AUTOPURCHASED = 26; CHAT_MESSAGE_ITEMS_COMBINED = 27; CHAT_MESSAGE_SUPER_CREEPS = 28; CHAT_MESSAGE_CANT_USE_ACTION_ITEM = 29; CHAT_MESSAGE_CANTPAUSE = 31; CHAT_MESSAGE_NOPAUSESLEFT = 32; CHAT_MESSAGE_CANTPAUSEYET = 33; CHAT_MESSAGE_PAUSED = 34; CHAT_MESSAGE_UNPAUSE_COUNTDOWN = 35; CHAT_MESSAGE_UNPAUSED = 36; CHAT_MESSAGE_AUTO_UNPAUSED = 37; CHAT_MESSAGE_YOUPAUSED = 38; CHAT_MESSAGE_CANTUNPAUSETEAM = 39; CHAT_MESSAGE_VOICE_TEXT_BANNED = 41; CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME = 42; CHAT_MESSAGE_REPORT_REMINDER = 43; CHAT_MESSAGE_ECON_ITEM = 44; CHAT_MESSAGE_TAUNT = 45; CHAT_MESSAGE_RANDOM = 46; CHAT_MESSAGE_RD_TURN = 47; CHAT_MESSAGE_DROP_RATE_BONUS = 49; CHAT_MESSAGE_NO_BATTLE_POINTS = 50; CHAT_MESSAGE_DENIED_AEGIS = 51; CHAT_MESSAGE_INFORMATIONAL = 52; CHAT_MESSAGE_AEGIS_STOLEN = 53; CHAT_MESSAGE_ROSHAN_CANDY = 54; CHAT_MESSAGE_ITEM_GIFTED = 55; CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL = 56; CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED = 57; CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED = 58; CHAT_MESSAGE_HOLDOUT_WALL_FINISHED = 59; CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO = 62; CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION = 63; CHAT_MESSAGE_DISCONNECT_LIMITED_HERO = 64; CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION = 65; CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS = 66; CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE = 67; CHAT_MESSAGE_PLAYER_LEFT_AFK = 73; CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG = 74; CHAT_MESSAGE_PLAYER_ABANDONED = 75; CHAT_MESSAGE_PLAYER_ABANDONED_AFK = 76; CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG = 77; CHAT_MESSAGE_WILL_NOT_BE_SCORED = 78; CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED = 79; CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK = 80; CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED = 81; CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON = 82; CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS = 83; CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY = 84; CHAT_MESSAGE_COMPENDIUM_LEVEL = 85; CHAT_MESSAGE_VICTORY_PREDICTION_STREAK = 86; CHAT_MESSAGE_ASSASSIN_ANNOUNCE = 87; CHAT_MESSAGE_ASSASSIN_SUCCESS = 88; CHAT_MESSAGE_ASSASSIN_DENIED = 89; CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM = 90; CHAT_MESSAGE_EFFIGY_KILL = 91; CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW = 92; CHAT_MESSAGE_YEAR_BEAST_KILLED = 93; CHAT_MESSAGE_PAUSE_COUNTDOWN = 94; CHAT_MESSAGE_COINS_WAGERED = 95; CHAT_MESSAGE_HERO_NOMINATED_BAN = 96; CHAT_MESSAGE_HERO_BANNED = 97; CHAT_MESSAGE_HERO_BAN_COUNT = 98; CHAT_MESSAGE_RIVER_PAINTED = 99; CHAT_MESSAGE_SCAN_USED = 100; CHAT_MESSAGE_SHRINE_KILLED = 101; CHAT_MESSAGE_WAGER_TOKEN_SPENT = 102; CHAT_MESSAGE_RANK_WAGER = 103; CHAT_MESSAGE_NEW_PLAYER_REMINDER = 104; CHAT_MESSAGE_OBSERVER_WARD_KILLED = 105; CHAT_MESSAGE_SENTRY_WARD_KILLED = 106; CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH = 107; CHAT_MESSAGE_HERO_CHOICE_INVALID = 108; CHAT_MESSAGE_BOUNTY = 109; CHAT_MESSAGE_ABILITY_DRAFT_START = 110; CHAT_MESSAGE_HERO_FOUND_CANDY = 111; CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED = 112; CHAT_MESSAGE_PRIVATE_COACH_CONNECTED = 113; CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 115; CHAT_MESSAGE_HERO_KILL_WITH_PENGUIN = 116; CHAT_MESSAGE_MINIBOSS_KILL = 117; CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT = 118; CHAT_MESSAGE_BANNER_PLANTED = 119; } enum DOTA_NO_BATTLE_POINTS_REASONS { NO_BATTLE_POINTS_WRONG_LOBBY_TYPE = 1; NO_BATTLE_POINTS_PRACTICE_BOTS = 2; NO_BATTLE_POINTS_CHEATS_ENABLED = 3; NO_BATTLE_POINTS_LOW_PRIORITY = 4; } enum DOTA_CHAT_INFORMATIONAL { INFO_COOP_BATTLE_POINTS_RULES = 1; INFO_FROSTIVUS_ABANDON_REMINDER = 2; INFO_RANKED_REMINDER = 3; INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER = 4; INFO_CUSTOM_GAME_PENALTY_REMINDER = 5; } enum DOTA_ABILITY_PING_TYPE { ABILITY_PING_READY = 1; ABILITY_PING_MANA = 2; ABILITY_PING_COOLDOWN = 3; ABILITY_PING_ENEMY = 4; ABILITY_PING_UNLEARNED = 5; ABILITY_PING_INBACKPACK = 6; ABILITY_PING_INSTASH = 7; ABILITY_PING_ONCOURIER = 8; ABILITY_PING_ALLY = 9; ABILITY_PING_LEARN_READY = 10; ABILITY_PING_WILL_LEARN = 11; ABILITY_PING_FUTURE_LEARN = 12; ABILITY_PING_NEUTRAL_OFFER = 13; ABILITY_PING_NEUTRAL_REQUEST = 14; ABILITY_PING_NEUTRAL_EQUIP = 15; ABILITY_PING_INCOURIERBACKPACK = 16; } enum DOTA_REPLAY_STATE_EVENT { DOTA_REPLAY_STATE_EVENT_GAME_START = 1; DOTA_REPLAY_STATE_EVENT_STARTING_HORN = 2; DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD = 3; DOTA_REPLAY_STATE_EVENT_SHOWCASE = 4; DOTA_REPLAY_STATE_EVENT_POST_GAME = 5; DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP = 6; } enum EDotaEntityMessages { DOTA_UNIT_SPEECH = 0; DOTA_UNIT_SPEECH_MUTE = 1; DOTA_UNIT_ADD_GESTURE = 2; DOTA_UNIT_REMOVE_GESTURE = 3; DOTA_UNIT_REMOVE_ALL_GESTURES = 4; DOTA_UNIT_FADE_GESTURE = 6; DOTA_UNIT_SPEECH_CLIENTSIDE_RULES = 7; } enum DOTA_OVERHEAD_ALERT { OVERHEAD_ALERT_GOLD = 0; OVERHEAD_ALERT_DENY = 1; OVERHEAD_ALERT_CRITICAL = 2; OVERHEAD_ALERT_XP = 3; OVERHEAD_ALERT_BONUS_SPELL_DAMAGE = 4; OVERHEAD_ALERT_MISS = 5; OVERHEAD_ALERT_DAMAGE = 6; OVERHEAD_ALERT_EVADE = 7; OVERHEAD_ALERT_BLOCK = 8; OVERHEAD_ALERT_BONUS_POISON_DAMAGE = 9; OVERHEAD_ALERT_HEAL = 10; OVERHEAD_ALERT_MANA_ADD = 11; OVERHEAD_ALERT_MANA_LOSS = 12; OVERHEAD_ALERT_LAST_HIT_EARLY = 13; OVERHEAD_ALERT_LAST_HIT_CLOSE = 14; OVERHEAD_ALERT_LAST_HIT_MISS = 15; OVERHEAD_ALERT_MAGICAL_BLOCK = 16; OVERHEAD_ALERT_INCOMING_DAMAGE = 17; OVERHEAD_ALERT_OUTGOING_DAMAGE = 18; OVERHEAD_ALERT_DISABLE_RESIST = 19; OVERHEAD_ALERT_DEATH = 20; OVERHEAD_ALERT_BLOCKED = 21; OVERHEAD_ALERT_ITEM_RECEIVED = 22; OVERHEAD_ALERT_SHARD = 23; OVERHEAD_ALERT_DEADLY_BLOW = 24; } enum DOTA_ROSHAN_PHASE { k_SRSP_ROSHAN_ALIVE = 0; k_SRSP_ROSHAN_BASE_TIMER = 1; k_SRSP_ROSHAN_VISIBLE_TIMER = 2; } enum DOTA_POSITION_CATEGORY { DOTA_POSITION_NONE = 0; DOTA_POSITION_BOTTOM_LANE = 1; DOTA_POSITION_MID_LANE = 2; DOTA_POSITION_TOP_LANE = 3; DOTA_POSITION_RADIANT_JUNGLE = 4; DOTA_POSITION_DIRE_JUNGLE = 5; DOTA_POSITION_RADIANT_ANCIENTS = 6; DOTA_POSITION_DIRE_ANCIENTS = 7; DOTA_POSITION_RADIANT_SECRET_SHOP = 8; DOTA_POSITION_DIRE_SECRET_SHOP = 9; DOTA_POSITION_RIVER = 10; DOTA_POSITION_ROSHAN_PIT = 11; DOTA_POSITION_RADIANT_BASE = 12; DOTA_POSITION_DIRE_BASE = 13; DOTA_POSITION_FOUNTAIN = 14; DOTA_POSITION_OTHER = 15; } enum DOTA_ABILITY_TARGET_TYPE { DOTA_ABILITY_TARGET_NONE = 0; DOTA_ABILITY_TARGET_SELF = 1; DOTA_ABILITY_TARGET_ALLY_HERO = 2; DOTA_ABILITY_TARGET_ALLY_CREEP = 3; DOTA_ABILITY_TARGET_ENEMY_HERO = 4; DOTA_ABILITY_TARGET_ENEMY_CREEP = 5; } enum EHeroStatType { k_EHeroStatType_None = 0; k_EHeroStatType_AxeTotalDamage = 2000; k_EHeroStatType_BattleHungerDamage = 2001; k_EHeroStatType_CounterHelixDamage = 2002; k_EHeroStatType_CullingBladeDamage = 2003; k_EHeroStatType_BerserkersCallCastCount = 2004; k_EHeroStatType_BerserkersCallHeroesHitAverage = 2005; k_EHeroStatType_BerserkersCallOtherUnitsHit = 2006; k_EHeroStatType_BerserkersCallHeroAttacksTaken = 2007; k_EHeroStatType_BerserkersCallOtherAttacksTaken = 2008; k_EHeroStatType_BattleHungerCastCount = 2009; k_EHeroStatType_BattleHungerPotentialDuration = 2010; k_EHeroStatType_BattleHungerAverageDuration = 2011; k_EHeroStatType_CounterHelixProcCount = 2012; k_EHeroStatType_CounterHelixHeroProcCount = 2013; k_EHeroStatType_CounterHelixHeroesHitAverage = 2014; k_EHeroStatType_CounterHelixOtherUnitsHitCount = 2015; k_EHeroStatType_CullingBladeCastCount = 2016; k_EHeroStatType_CullingBladeKillCount = 2017; k_EHeroStatType_CullingBladeAverageHealthCulled = 2018; k_EHeroStatType_CullingBladeAverageDamageAvailable = 2019; k_EHeroStatType_CullingBladeHeroBuffAverage = 2020; } enum EPlayerVoiceListenState { kPVLS_None = 0; kPVLS_DeniedChatBanned = 1; kPVLS_DeniedPartner = 2; kPVLS_DeniedHLTVTalkerNotSpectator = 3; kPVLS_DeniedHLTVNoTalkerPlayerID = 4; kPVLS_DeniedHLTVTalkerNotBroadcaster = 5; kPVLS_DeniedTeamSpectator = 6; kPVLS_DeniedStudent = 8; kPVLS_DeniedPrivateCoach = 9; kPVLS_Denied = 64; kPVLS_AllowHLTVTalkerIsBroadcaster = 65; kPVLS_AllowCoBroadcaster = 66; kPVLS_AllowAllChat = 67; kPVLS_AllowStudentToCoach = 68; kPVLS_AllowFellowStudent = 69; kPVLS_AllowTalkerIsCoach = 70; kPVLS_AllowCoachHearTeam = 71; kPVLS_AllowSameTeam = 72; kPVLS_AllowShowcase = 73; kPVLS_AllowPrivateCoach = 74; } enum EProjectionEvent { ePE_FirstBlood = 0; ePE_Killstreak_godlike = 1; } message CDOTAUserMsg_AIDebugLine { optional string message = 1; } message CDOTAUserMsg_Ping { optional uint32 ping = 2; optional uint32 loss = 3; } message CDOTAUserMsg_SwapVerify { optional int32 player_id = 1 [default = -1]; } message CDOTAUserMsg_ChatEvent { required .DOTA_CHAT_MESSAGE type = 1 [default = CHAT_MESSAGE_INVALID]; optional uint32 value = 2; optional sint32 playerid_1 = 3 [default = -1]; optional sint32 playerid_2 = 4 [default = -1]; optional sint32 playerid_3 = 5 [default = -1]; optional sint32 playerid_4 = 6 [default = -1]; optional sint32 playerid_5 = 7 [default = -1]; optional sint32 playerid_6 = 8 [default = -1]; optional uint32 value2 = 9; optional uint32 value3 = 10; } message CDOTAUserMsg_BotChat { optional int32 player_id = 1 [default = -1]; optional string message = 3; optional string target = 4; optional bool team_only = 5; } message CDOTAUserMsg_CombatHeroPositions { optional uint32 index = 1; optional int32 time = 2; optional .CMsgVector2D world_pos = 3; optional int32 health = 4; } message CDOTAUserMsg_CombatLogBulkData { repeated .CMsgDOTACombatLogEntry combat_entries = 1; optional float timestamp = 2; optional float duration = 3; optional int32 player_id = 4 [default = -1]; optional float request_time = 5; } message CDOTAUserMsg_ProjectileParticleCPData { optional int32 control_point = 1; optional .CMsgVector vector = 2; } message CDOTAUserMsg_MiniKillCamInfo { message Attacker { message Ability { optional int32 ability_id = 1 [default = -1]; optional int32 damage = 2; } optional uint32 attacker = 1 [default = 16777215]; optional int32 total_damage = 2; repeated .CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability abilities = 3; optional string attacker_name = 4; } repeated .CDOTAUserMsg_MiniKillCamInfo.Attacker attackers = 1; } message CDOTAUserMsg_GlobalLightColor { optional uint32 color = 1; optional float duration = 2; } message CDOTAUserMsg_GlobalLightDirection { optional .CMsgVector direction = 1; optional float duration = 2; } message CDOTAUserMsg_LocationPing { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_LocationPing location_ping = 2; } message CDOTAUserMsg_PingConfirmation { optional int32 player_id_of_original_pinger = 1 [default = -1]; optional uint32 entity_index = 2; optional uint32 icon_type = 3; optional .CMsgVector location = 4; } message CDOTAUserMsg_ItemAlert { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_ItemAlert item_alert = 2; } message CDOTAUserMsg_EnemyItemAlert { optional int32 player_id = 1 [default = -1]; optional int32 target_player_id = 2 [default = -1]; optional int32 item_ability_id = 3 [default = -1]; optional int32 rune_type = 4 [default = -1]; optional int32 entity_id = 5; optional int32 item_level = 6 [default = -1]; optional int32 primary_charges = 7 [default = -1]; optional int32 secondary_charges = 8 [default = -1]; } message CDOTAUserMsg_ModifierAlert { optional int32 player_id = 1 [default = -1]; optional string class_name = 2; optional uint32 stack_count = 3; optional bool is_debuff = 4; optional int32 target_entindex = 5 [default = -1]; optional float seconds_remaining = 6; } message CDOTAUserMsg_HPManaAlert { optional int32 player_id = 1 [default = -1]; optional int32 target_entindex = 2 [default = -1]; optional bool show_raw_values = 3; } message CDOTAUserMsg_NeutralCampAlert { optional int32 player_id = 1 [default = -1]; optional int32 spawner_entindex = 2 [default = -1]; optional int32 unit_entindex = 3 [default = -1]; optional int32 stack_count = 4; optional int32 camp_type = 5; optional bool stack_request = 6; optional bool stack_intention = 7; } message CDOTAUserMsg_GlyphAlert { optional int32 player_id = 1 [default = -1]; optional bool negative = 2; } message CDOTAUserMsg_RadarAlert { optional int32 player_id = 1 [default = -1]; optional bool negative = 2; } message CDOTAUserMsg_WillPurchaseAlert { optional int32 item_ability_id = 1 [default = -1]; optional int32 player_id = 2 [default = -1]; optional uint32 gold_remaining = 3; optional int32 suggestion_player_id = 4 [default = -1]; } message CDOTAUserMsg_EmptyTeleportAlert { optional int32 source_player_id = 1 [default = -1]; optional int32 target_player_id = 2 [default = -1]; optional int32 cooldown_seconds = 3; } message CDOTAUserMsg_MarsArenaOfBloodAttack { optional uint32 source_ehandle = 1 [default = 16777215]; optional uint32 target_ehandle = 2 [default = 16777215]; optional int32 warrior_index = 3; } message CDOTAEntityMsg_InvokerSpellCast { optional .CEntityMsg entity_msg = 1; optional int32 cast_activity = 2; } message CDOTAUserMsg_BuyBackStateAlert { optional int32 player_id = 1 [default = -1]; } message CDOTAUserMsg_QuickBuyAlert { optional int32 player_id = 1 [default = -1]; optional int32 item_ability_id = 2 [default = -1]; optional int32 gold_cost = 3; optional int32 item_cooldown_seconds = 4; optional bool show_buyback = 5; } message CDOTAUserMsg_CourierKilledAlert { message LostItem { optional int32 item_ability_id = 1 [default = -1]; optional uint32 quantity = 2; } optional uint32 team = 1; optional uint32 gold_value = 2; optional uint32 entity_handle = 3 [default = 16777215]; optional int32 timestamp = 4; repeated .CDOTAUserMsg_CourierKilledAlert.LostItem lost_items = 5; optional int32 killer_player_id = 6 [default = -1]; optional int32 owning_player_id = 7 [default = -1]; } message CDOTAUserMsg_MinimapEvent { optional int32 event_type = 1; optional uint32 entity_handle = 2 [default = 16777215]; optional int32 x = 3; optional int32 y = 4; optional int32 duration = 5; optional uint32 target_entity_handle = 6 [default = 16777215]; } message CDOTAUserMsg_MapLine { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_MapLine mapline = 2; } message CDOTAUserMsg_MinimapDebugPoint { optional .CMsgVector location = 1; optional uint32 color = 2; optional int32 size = 3; optional float duration = 4; optional int32 index = 5; } message CDOTAUserMsg_CreateLinearProjectile { optional .CMsgVector origin = 1; optional .CMsgVector2D velocity = 2; optional int32 entindex = 4 [default = -1]; optional uint64 particle_index = 5; optional int32 handle = 6; optional .CMsgVector2D acceleration = 7; optional float max_speed = 8; optional float fow_radius = 9; optional bool sticky_fow_reveal = 10; optional float distance = 11; optional fixed32 colorgemcolor = 12; repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 13; } message CDOTAUserMsg_DestroyLinearProjectile { optional int32 handle = 1; } message CDOTAUserMsg_DodgeTrackingProjectiles { required int32 entindex = 1 [default = -1]; optional bool attacks_only = 2; } message CDOTAUserMsg_SpectatorPlayerClick { required int32 entindex = 1 [default = -1]; optional int32 order_type = 2; optional int32 target_index = 3 [default = 0]; } message CDOTAUserMsg_SpectatorPlayerUnitOrders { optional int32 entindex = 1 [default = -1]; optional int32 order_type = 2; repeated int32 units = 3; optional int32 target_index = 4 [default = 0]; optional int32 ability_id = 5 [default = -1]; optional .CMsgVector position = 6; optional bool queue = 7; optional int32 sequence_number = 8; optional uint32 flags = 9; } message CDOTAUserMsg_NevermoreRequiem { optional uint32 entity_handle = 1 [default = 16777215]; optional int32 lines = 2; optional .CMsgVector origin = 3; optional bool reverse = 4; } message CDOTAUserMsg_InvalidCommand { optional string message = 1; optional int32 sequence_number = 2; } message CDOTAUserMsg_HudError { optional int32 order_id = 1; optional int32 sequence_number = 2; } message CDOTAUserMsg_SharedCooldown { optional int32 entindex = 1 [default = -1]; optional string name = 2; optional float cooldown = 3; optional int32 name_index = 4; } message CDOTAUserMsg_SetNextAutobuyItem { optional string name = 1; } message CDOTAUserMsg_HalloweenDrops { repeated uint32 item_defs = 1; repeated int32 player_ids = 2; optional uint32 prize_list = 3; } message CDOTAUserMsg_PredictionResult { message Prediction { enum EResult { k_eResult_ItemGranted = 1; k_eResult_Destroyed = 2; } optional uint32 item_def = 1; optional uint32 num_correct = 2; optional uint32 num_fails = 3; optional .CDOTAUserMsg_PredictionResult.Prediction.EResult result = 4 [default = k_eResult_ItemGranted]; repeated uint32 granted_item_defs = 6; } optional uint32 account_id = 1; optional uint64 match_id = 2; optional bool correct = 3; repeated .CDOTAUserMsg_PredictionResult.Prediction predictions = 4; } message CDOTAResponseQuerySerialized { message Fact { enum ValueType { NUMERIC = 1; STRING = 2; STRINGTABLE_INDEX = 3; INT_NUMERIC = 4; } required int32 key = 1; required .CDOTAResponseQuerySerialized.Fact.ValueType valtype = 2 [default = NUMERIC]; optional float val_numeric = 3; optional string val_string = 4; optional int32 val_stringtable_index = 5; optional sint32 val_int_numeric = 6; } repeated .CDOTAResponseQuerySerialized.Fact facts = 1; } message CDOTASpeechMatchOnClient { optional int32 speech_concept = 1; optional int32 recipient_type = 2; optional .CDOTAResponseQuerySerialized responsequery = 3; optional sfixed32 randomseed = 4 [default = 0]; } message CDOTAUserMsg_UnitEvent { message Interval { optional float start = 1; optional float range = 2; } message Speech { optional int32 speech_concept = 1; optional string response = 2; optional int32 recipient_type = 3; optional bool muteable = 5 [default = false]; optional .CDOTAUserMsg_UnitEvent.Interval predelay = 6; optional uint32 flags = 7; } message SpeechMute { optional float delay = 1 [default = 0.5]; } message AddGesture { optional int32 activity = 1; optional int32 slot = 2; optional float fade_in = 3 [default = 0]; optional float fade_out = 4 [default = 0.1]; optional float playback_rate = 5 [default = 1]; optional int32 sequence_variant = 6; } message RemoveGesture { optional int32 activity = 1; } message BloodImpact { optional int32 scale = 1; optional int32 x_normal = 2; optional int32 y_normal = 3; } message FadeGesture { optional int32 activity = 1; } required .EDotaEntityMessages msg_type = 1 [default = DOTA_UNIT_SPEECH]; required int32 entity_index = 2; optional .CDOTAUserMsg_UnitEvent.Speech speech = 3; optional .CDOTAUserMsg_UnitEvent.SpeechMute speech_mute = 4; optional .CDOTAUserMsg_UnitEvent.AddGesture add_gesture = 5; optional .CDOTAUserMsg_UnitEvent.RemoveGesture remove_gesture = 6; optional .CDOTAUserMsg_UnitEvent.BloodImpact blood_impact = 7; optional .CDOTAUserMsg_UnitEvent.FadeGesture fade_gesture = 8; optional .CDOTASpeechMatchOnClient speech_match_on_client = 9; } message CDOTAUserMsg_ItemPurchased { optional int32 item_ability_id = 1 [default = -1]; } message CDOTAUserMsg_ItemSold { optional int32 item_ability_id = 1 [default = -1]; } message CDOTAUserMsg_ItemFound { optional int32 player = 1 [default = -1]; optional int32 quality = 2; optional int32 rarity = 3; optional int32 method = 4; optional uint32 itemdef = 5; } message CDOTAUserMsg_OverheadEvent { required .DOTA_OVERHEAD_ALERT message_type = 1 [default = OVERHEAD_ALERT_GOLD]; optional int32 value = 2; optional int32 target_player_entindex = 3 [default = -1]; optional int32 target_entindex = 4 [default = -1]; optional int32 source_player_entindex = 5 [default = -1]; } message CDOTAUserMsg_TutorialTipInfo { optional string name = 1; optional int32 progress = 2; } message CDOTAUserMsg_TutorialFinish { optional string heading = 1; optional string emblem = 2; optional string body = 3; optional bool success = 4; } message CDOTAUserMsg_TutorialMinimapPosition { } message CDOTAUserMsg_SendGenericToolTip { optional string title = 1; optional string text = 2; optional int32 entindex = 3; optional bool close = 4; } message CDOTAUserMsg_WorldLine { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_WorldLine worldline = 2; } message CDOTAUserMsg_ChatWheel { optional uint32 chat_message_id = 1 [default = 4294967295]; optional int32 player_id = 2 [default = -1]; optional uint32 account_id = 3; optional uint32 param_hero_id = 4; optional uint32 emoticon_id = 5; } message CDOTAUserMsg_ReceivedXmasGift { optional int32 player_id = 1 [default = -1]; optional string item_name = 2; optional int32 inventory_slot = 3; } message CDOTAUserMsg_ShowSurvey { optional int32 survey_id = 1; optional uint64 match_id = 2; optional string response_style = 3; optional uint32 teammate_hero_id = 4; optional string teammate_name = 5; optional uint32 teammate_account_id = 6; } message CDOTAUserMsg_UpdateSharedContent { optional int32 slot_type = 1; } message CDOTAUserMsg_TutorialRequestExp { } message CDOTAUserMsg_TutorialFade { optional int32 tgt_alpha = 1; } message CDOTAUserMsg_TutorialPingMinimap { optional int32 player_id = 1 [default = -1]; optional float pos_x = 2; optional float pos_y = 3; optional float pos_z = 4; optional int32 entity_index = 5; } message CDOTAUserMsg_GamerulesStateChanged { optional uint32 state = 1; } message CDOTAUserMsg_AddQuestLogEntry { optional string npc_name = 1; optional string npc_dialog = 2; } message CDOTAUserMsg_SendStatPopup { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_SendStatPopup statpopup = 2; } message CDOTAUserMsg_DismissAllStatPopups { optional .CDOTAMsg_DismissAllStatPopups dismissallmsg = 1; } message CDOTAUserMsg_SendRoshanSpectatorPhase { optional .DOTA_ROSHAN_PHASE phase = 1 [default = k_SRSP_ROSHAN_ALIVE]; optional int32 phase_start_time = 2; optional int32 phase_length = 3; } message CDOTAUserMsg_SendRoshanPopup { optional bool reclaimed = 1; optional int32 gametime = 2; } message CDOTAUserMsg_SendFinalGold { repeated uint32 reliable_gold = 1; repeated uint32 unreliable_gold = 2; } message CDOTAUserMsg_CustomMsg { optional string message = 1; optional int32 player_id = 2 [default = -1]; optional int32 value = 3; } message CDOTAUserMsg_CoachHUDPing { optional int32 player_id = 1 [default = -1]; optional .CDOTAMsg_CoachHUDPing hud_ping = 2; } message CDOTAUserMsg_ClientLoadGridNav { } message CDOTAUserMsg_TE_Projectile { optional uint32 source = 1 [default = 16777215]; optional uint32 target = 2 [default = 16777215]; optional int32 move_speed = 3; optional int32 source_attachment = 4; optional int64 particle_system_handle = 5; optional bool dodgeable = 6; optional bool is_attack = 7; optional float expire_time = 9; optional float maximpacttime = 10; optional fixed32 colorgemcolor = 11; optional int32 launch_tick = 12; optional int32 handle = 13; optional .CMsgVector target_loc = 14; repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 15; optional int64 additional_particle_system_handle = 16; optional int32 original_move_speed = 17; optional uint32 ability = 18 [default = 16777215]; } message CDOTAUserMsg_TE_ProjectileLoc { optional .CMsgVector source_loc = 1; optional uint32 target = 2 [default = 16777215]; optional int32 move_speed = 3; optional int64 particle_system_handle = 4; optional bool dodgeable = 5; optional bool is_attack = 6; optional float expire_time = 9; optional .CMsgVector target_loc = 10; optional fixed32 colorgemcolor = 11; optional int32 launch_tick = 12; optional int32 handle = 13; optional uint32 source = 14 [default = 16777215]; optional int32 source_attachment = 15; repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 16; optional int64 additional_particle_system_handle = 17; optional int32 original_move_speed = 18; } message CDOTAUserMsg_TE_DestroyProjectile { optional int32 handle = 1; } message CDOTAUserMsg_TE_DotaBloodImpact { optional uint32 entity = 1 [default = 16777215]; optional float scale = 2; optional float xnormal = 3; optional float ynormal = 4; } message CDOTAUserMsg_AbilityPing { optional int32 player_id = 1 [default = -1]; optional int32 ability_id = 2 [default = -1]; optional .DOTA_ABILITY_PING_TYPE type = 3 [default = ABILITY_PING_READY]; optional uint32 cooldown_seconds = 4; optional uint32 level = 5; optional bool passive = 6; optional uint32 mana_needed = 7; optional uint32 entity_id = 8; optional int32 primary_charges = 9; optional int32 secondary_charges = 10; optional bool ctrl_held = 12; optional float reclaim_time = 13; } message CDOTAUserMsg_TE_UnitAnimation { optional uint32 entity = 1 [default = 16777215]; optional int32 sequence_variant = 2; optional float playbackrate = 3; optional float castpoint = 4; optional int32 type = 5; optional int32 activity = 6; optional float lag_compensation_time = 7; } message CDOTAUserMsg_TE_UnitAnimationEnd { optional uint32 entity = 1 [default = 16777215]; optional bool snap = 2; } message CDOTAUserMsg_ShowGenericPopup { required string header = 1; required string body = 2; optional string param1 = 3; optional string param2 = 4; optional bool tint_screen = 5; optional bool show_no_other_dialogs = 6; } message CDOTAUserMsg_VoteStart { optional string title = 1; optional float duration = 2; optional int32 choice_count = 3; repeated string choices = 4; } message CDOTAUserMsg_VoteUpdate { repeated int32 choice_counts = 1; } message CDOTAUserMsg_VoteEnd { optional int32 selected_choice = 1; } message CDOTAUserMsg_BoosterStatePlayer { optional int32 player_id = 1 [default = -1]; optional float bonus = 2; optional float event_bonus = 3; optional uint32 bonus_item_id = 4; optional uint32 event_bonus_item_id = 5; } message CDOTAUserMsg_BoosterState { repeated .CDOTAUserMsg_BoosterStatePlayer boosted_players = 1; } message CDOTAUserMsg_PlayerMMR { repeated sint32 mmr = 1 [packed = true]; } message CDOTAUserMsg_AbilitySteal { optional int32 player_id = 1 [default = -1]; optional int32 ability_id = 2 [default = -1]; optional uint32 ability_level = 3; } message CDOTAUserMsg_StatsHeroLookup { optional int32 player_id = 1 [default = -1]; optional int32 hero_id = 2; optional string hero_name = 3; optional string persona = 4; } message CDOTAUserMsg_StatsHeroPositionInfo { message PositionPair { optional .DOTA_POSITION_CATEGORY position_category = 1 [default = DOTA_POSITION_NONE]; optional uint32 position_count = 2; } optional float average_position = 1; repeated .CDOTAUserMsg_StatsHeroPositionInfo.PositionPair position_details = 2; } message CDOTAUserMsg_StatsHeroMinuteDetails { optional uint32 last_hits = 1; optional uint32 hero_kills = 2; optional uint32 hero_damage = 3; optional uint32 tower_damage = 4; optional .CDOTAUserMsg_StatsHeroPositionInfo position_info = 5; optional uint32 total_xp = 6; optional uint32 net_worth = 7; optional uint32 harvested_creep_gold = 8; optional uint32 claimed_farm = 9; optional uint32 wards_placed = 10; optional uint32 runes_collected = 11; optional uint32 tps_used = 12; repeated uint32 mana_spent = 13; repeated uint32 damage_absorbed = 14; repeated uint32 damage_done = 15; } message CDOTAUserMsg_StatsTeamMinuteDetails { message LocationPerformance { optional uint32 location_category = 1; optional uint32 stat_type = 2; optional uint32 value = 3; } repeated .CDOTAUserMsg_StatsHeroMinuteDetails player_stats = 1; optional uint32 tower_kills = 2; optional uint32 barrack_kills = 3; optional uint32 available_lane_creep_gold = 4; optional uint32 balance_kill_value = 5; optional uint32 balance_tower_value = 6; optional uint32 balance_barracks_value = 7; optional uint32 balance_gold_value = 8; optional uint32 balance_xp_value = 9; repeated .CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance lane_performance = 10; } message CDOTAUserMsg_StatsPlayerKillShare { optional int32 player_id = 1 [default = -1]; optional float kill_share_percent = 2; optional float player_loc_x = 3; optional float player_loc_y = 4; optional float health_percent = 5; optional float mana_percent = 6; } message CDOTAUserMsg_StatsKillDetails { optional int32 victim_id = 1 [default = -1]; repeated .CDOTAUserMsg_StatsPlayerKillShare kill_shares = 2; optional uint32 damage_to_kill = 3; optional uint32 effective_health = 4; optional float death_time = 5; optional int32 killer_id = 6 [default = -1]; } message CDOTAUserMsg_StatsMatchDetails { message CDOTAUserMsg_StatsFightTeamDetails { repeated int32 participants = 1; repeated int32 deaths = 2; optional uint32 gold_delta = 3; optional uint32 xp_delta = 4; } message CDOTAUserMsg_StatsFightDetails { optional float start_time = 1; optional float end_time = 2; optional .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails radiant_fight_details = 3; optional .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails dire_fight_details = 4; } repeated .CDOTAUserMsg_StatsHeroLookup hero_lookup = 1; repeated .CDOTAUserMsg_StatsTeamMinuteDetails radiant_stats = 2; repeated .CDOTAUserMsg_StatsTeamMinuteDetails dire_stats = 3; repeated .CDOTAUserMsg_StatsKillDetails radiant_kills = 4; repeated .CDOTAUserMsg_StatsKillDetails dire_kills = 5; repeated .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails fight_details = 6; } message CDOTAUserMsg_MiniTaunt { optional int32 taunting_player_id = 1 [default = -1]; } message CDOTAUserMsg_SpeechBubble { optional bool destroy_all = 1; } message CDOTAUserMsg_CustomHeaderMessage { optional int32 player_id = 1 [default = -1]; optional float duration = 2; optional string message = 3; optional int32 value = 4; } message CMsgHeroAbilityStat { optional .EHeroStatType stat_type = 1 [default = k_EHeroStatType_None]; optional int32 int_value = 2; optional float float_value = 3; } message CMsgCombatAnalyzerPlayerStat { optional uint32 account_id = 1; repeated .CMsgHeroAbilityStat hero_ability_stats = 2; } message CMsgCombatAnalyzerStats { optional uint64 match_id = 1; repeated .CMsgCombatAnalyzerPlayerStat player_stats = 2; } message CDOTAUserMsg_BeastChat { optional uint32 team = 1; optional string format = 2; optional string message = 3; optional string target = 4; } message CDOTAUserMsg_CustomHudElement_Create { optional string element_id = 1; optional string layout_filename = 2; optional bytes data = 3; } message CDOTAUserMsg_CustomHudElement_Modify { optional string element_id = 1; optional bool modify_visible = 2; optional bytes data = 3; } message CDOTAUserMsg_CustomHudElement_Destroy { optional string element_id = 1; } message CDOTAUserMsg_CompendiumStatePlayer { optional int32 player_id = 1 [default = -1]; optional uint32 level = 2; } message CDOTAUserMsg_CompendiumState { repeated .CDOTAUserMsg_CompendiumStatePlayer compendium_players = 1; } message CDOTAUserMsg_ProjectionAbility { optional int32 ability_id = 1 [default = -1]; optional int32 caster_ent_index = 2 [default = -1]; optional int32 caster_team = 3; optional bool channel_end = 4; optional .CMsgVector origin = 5; optional bool track_caster_only = 6; optional float end_time = 7; optional int32 victim_ent_index = 8 [default = -1]; } message CDOTAUserMsg_ProjectionEvent { optional .EProjectionEvent event_id = 1 [default = ePE_FirstBlood]; optional uint32 team = 2; } message CDOTAUserMsg_XPAlert { optional int32 player_id = 1 [default = -1]; optional int32 target_entindex = 2 [default = -1]; } message CDOTAUserMsg_TalentTreeAlert { optional int32 player_id = 1 [default = -1]; optional int32 target_entindex = 2 [default = -1]; optional int32 ability_id = 3 [default = -1]; optional int32 slot = 4; optional bool learned = 5; } message CDOTAUserMsg_UpdateQuestProgress { } message CDOTAUserMsg_QuestStatus { required int32 player_id = 1 [default = -1]; optional uint32 quest_id = 2; optional uint32 challenge_id = 3; optional uint32 progress = 4; optional uint32 goal = 5; optional uint32 query = 6; optional float fail_gametime = 7; optional int32 item_ability_id = 8 [default = -1]; } message CDOTAUserMsg_SuggestHeroPick { required int32 player_id = 1 [default = -1]; optional uint32 hero_id = 2; optional bool ban = 3; } message CDOTAUserMsg_SuggestHeroRole { required int32 player_id = 1 [default = -1]; optional string hero_role = 2; } message CDOTAUserMsg_KillcamDamageTaken { required int32 player_id = 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 CDOTAUserMsg_SelectPenaltyGold { required int32 player_id = 1 [default = -1]; optional sint32 cost = 2; } message CDOTAUserMsg_RollDiceResult { optional int32 player_id = 1 [default = -1]; optional uint32 channel_type = 2; optional uint32 roll_min = 3; optional uint32 roll_max = 4; optional uint32 result = 5; } message CDOTAUserMsg_FlipCoinResult { optional int32 player_id = 1 [default = -1]; optional uint32 channel_type = 2; optional bool result = 3; } message CDOTAUserMessage_RequestItemSuggestions { optional int32 player_id = 1 [default = -1]; } message CDOTAUserMessage_TeamCaptainChanged { optional uint32 team = 1; optional int32 captain_player_id = 2 [default = -1]; } message CDOTAUserMsg_ChatWheelCooldown { optional uint32 message_id = 1 [default = 4294967295]; optional float cooldown_remaining = 2; } message CDOTAUserMsg_HeroRelicProgress { optional uint32 hero_relic_type = 1; optional uint32 value = 2; optional uint32 ehandle = 3 [default = 16777215]; optional uint32 event_id = 4; optional float value_display = 5; } message CDOTAUserMsg_AbilityDraftRequestAbility { optional int32 player_id = 1 [default = -1]; optional int32 requested_ability_id = 2 [default = -1]; optional bool ctrl_is_down = 3; } message CDOTAUserMsg_DamageReport { optional int32 player_id = 1 [default = -1]; optional uint32 target_hero_id = 2; optional uint32 source_hero_id = 3; optional int32 damage_amount = 4; optional bool broadcast = 5; } message CDOTAUserMsg_SalutePlayer { optional int32 source_player_id = 1 [default = -1]; optional int32 target_player_id = 2 [default = -1]; optional uint32 tip_amount = 3; optional uint32 event_id = 4; optional string custom_tip_style = 5; optional uint32 num_recent_tips = 6; } message CDOTAUserMsg_TipAlert { optional int32 player_id = 1 [default = -1]; optional string tip_text = 2; } message CDOTAUserMsg_ReplaceQueryUnit { required int32 player_id = 1 [default = -1]; optional int32 source_entindex = 2 [default = -1]; optional int32 target_entindex = 3 [default = -1]; } message CDOTAUserMsg_ESArcanaCombo { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 combo_count = 2; optional uint32 arcana_level = 3; } message CDOTAUserMsg_ESArcanaComboSummary { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 combo_count = 2; optional uint32 damage_amount = 3; } message CDOTAUserMsg_OMArcanaCombo { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 multicast_amount = 2; optional uint32 arcana_level = 3; optional uint32 multicast_chance = 4; } message CDOTAUserMsg_HighFiveCompleted { optional int32 player_id_1 = 1 [default = -1]; optional int32 player_id_2 = 2 [default = -1]; optional bool special_high_five = 3; optional int32 special_entindex = 4 [default = -1]; } message CDOTAUserMsg_HighFiveLeftHanging { optional int32 player_id = 1 [default = -1]; } message CDOTAUserMsg_ShovelUnearth { optional int32 player_id = 1 [default = -1]; optional bool all_chat = 2; optional string locstring = 3; optional uint32 quantity = 4; } message CDOTAUserMsg_AllStarEvent { message PlayerScore { optional int32 player_id = 1 [default = -1]; optional uint32 score_sans_kda = 2; } optional int32 source_player_id = 1 [default = -1]; optional int32 target_player_id = 2 [default = -1]; optional uint32 point_amount = 3; optional uint32 event_id = 4; repeated .CDOTAUserMsg_AllStarEvent.PlayerScore player_scores = 5; } message CDOTAUserMsg_QueuedOrderRemoved { repeated uint32 unit_order_sequence = 1; } message CDOTAUserMsg_DebugChallenge { required uint32 challenge_type = 1; required uint32 challenge_query_id = 2; required uint32 event_id = 3; optional uint32 instance_id = 4; optional uint32 challenge_var_0 = 5; optional uint32 challenge_var_1 = 6; optional uint32 challenge_max_rank = 7; } message CDOTAUserMsg_FoundNeutralItem { optional int32 player_id = 1 [default = -1]; optional int32 item_ability_id = 2 [default = -1]; optional uint32 item_tier = 3; optional uint32 tier_item_count = 4; } message CDOTAUserMsg_OutpostCaptured { optional int32 outpost_entindex = 1 [default = -1]; optional uint32 team_id = 2; } message CDOTAUserMsg_OutpostGrantedXP { optional uint32 team_id = 1; optional uint32 xp_amount = 2; } message CDOTAUserMsg_MoveCameraToUnit { optional uint32 unit_ehandle = 1 [default = 16777215]; } message CDOTAUserMsg_PauseMinigameData { message DataBit { optional uint32 index = 1; optional int32 data = 2; optional int64 data_extra = 3; } repeated .CDOTAUserMsg_PauseMinigameData.DataBit data_bits = 1; } message CDOTAUserMsg_VersusScene_PlayerBehavior { optional int32 player_id = 1 [default = -1]; optional .EDOTAVersusScenePlayerBehavior behavior = 2 [default = VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY]; optional .VersusScene_PlayActivity play_activity = 3; optional .VersusScene_ChatWheel chat_wheel = 4; optional .VersusScene_PlaybackRate playback_rate = 5; } message CDOTAUserMsg_QoP_ArcanaSummary { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 arcana_level = 2; optional uint32 players_hit = 3; optional uint32 players_killed = 4; } message CDOTAUserMsg_HotPotato_Created { optional int32 player_id_1 = 1 [default = -1]; optional int32 player_id_2 = 2 [default = -1]; } message CDOTAUserMsg_HotPotato_Exploded { optional int32 player_id = 1 [default = -1]; } message CDOTAUserMsg_WK_Arcana_Progress { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 arcana_level = 2; optional uint32 hero_id = 3; } message CDOTAUserMsg_GuildChallenge_Progress { message PlayerProgress { optional int32 player_id = 1 [default = -1]; optional uint32 progress = 6; } enum EChallengeType { k_EChallengeType_Invalid = 0; k_EChallengeType_Cooperative = 1; k_EChallengeType_Contract = 2; } repeated .CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress player_progress = 1; optional uint32 guild_id = 2; optional uint32 challenge_instance_id = 3; optional uint32 challenge_parameter = 4; optional .CDOTAUserMsg_GuildChallenge_Progress.EChallengeType challenge_type = 5 [default = k_EChallengeType_Invalid]; optional uint32 challenge_progress_at_start = 7; optional bool complete = 8; } message CDOTAUserMsg_WRArcanaProgress { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 target_ehandle = 2 [default = 16777215]; optional uint32 arrows_landed = 3; optional uint32 damage_dealt = 4; optional uint32 target_hp = 5; optional uint32 target_max_hp = 6; optional uint32 arcana_level = 7; } message CDOTAUserMsg_WRArcanaSummary { optional uint32 ehandle = 1 [default = 16777215]; optional uint32 target_ehandle = 2 [default = 16777215]; optional uint32 arrows_landed = 3; optional uint32 damage_dealt = 4; optional uint32 target_hp = 5; optional uint32 target_max_hp = 6; optional uint32 arcana_level = 7; optional bool success = 8; } message CDOTAUserMsg_EmptyItemSlotAlert { optional int32 source_player_id = 1 [default = -1]; optional int32 target_player_id = 2 [default = -1]; optional int32 slot_index = 3; optional int32 cooldown_seconds = 4; } message CDOTAUserMsg_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; optional bool has_scepter = 5; optional bool has_shard = 6; } message CDOTAUserMsg_MutedPlayers { repeated int32 text_muted_player_ids = 1; repeated int32 voice_muted_player_ids = 2; } message CDOTAUserMsg_ContextualTip { optional int32 tip_id = 1; repeated string referenced_abilities = 2; repeated string referenced_units = 3; repeated string panorama_classes = 4; optional bool force_annotation = 5; optional int32 variant = 6; optional int32 int_param = 7; optional int32 int_param2 = 8; optional float float_param = 9; optional float float_param2 = 10; optional string string_param = 11; optional string string_param2 = 12; optional string tip_text_override = 13; optional string tip_annotation_override = 14; optional string panorama_snippet = 15; } message CDOTAUserMsg_ChatMessage { optional int32 source_player_id = 1 [default = -1]; optional uint32 channel_type = 2; optional string message_text = 3; } message CDOTAUserMsg_RockPaperScissorsStarted { optional int32 player_id_source = 1 [default = -1]; optional int32 player_id_target = 2 [default = -1]; } message CDOTAUserMsg_RockPaperScissorsFinished { optional int32 player_id_1 = 1 [default = -1]; optional int32 player_id_2 = 2 [default = -1]; optional int32 player_1_choice = 3; optional int32 player_2_choice = 4; } message CDOTAUserMsg_DuelOpponentKilled { optional int32 player_id_winner = 1; optional int32 player_id_loser = 2; } message CDOTAUserMsg_DuelAccepted { optional int32 player_id_1 = 1; optional int32 player_id_2 = 2; } message CDOTAUserMsg_DuelRequested { optional int32 player_id_requestor = 1 [default = -1]; } message CDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilled { required int32 player_id_killer = 1 [default = -1]; required int32 player_id_target = 2 [default = -1]; required int32 points = 3; required int32 points_total = 4; required bool last_hit = 5; } message CDOTAUserMsg_PlayerDraftSuggestPick { optional int32 player_id = 1 [default = -1]; optional int32 suggestion_player_id = 2 [default = -1]; } message CDOTAUserMsg_PlayerDraftPick { optional int32 player_id_captain = 1 [default = -1]; optional int32 player_id_target = 2 [default = -1]; optional int32 team = 3; }