Files
dota-replay-dump/proto/dota_usermessages.proto
2022-07-11 19:18:06 +02:00

1584 lines
43 KiB
Protocol Buffer

syntax = "proto2";
option go_package="./demo";
import "networkbasetypes.proto";
import "dota_shared_enums.proto";
import "dota_commonmessages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
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;
}
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;
}
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;
}
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;
}
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;
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;
}
message CDOTAUserMsg_ProjectileParticleCPData {
optional int32 control_point = 1;
optional .CMsgVector vector = 2;
}
message CDOTAUserMsg_MiniKillCamInfo {
message Attacker {
message Ability {
optional uint32 ability_id = 1;
optional int32 damage = 2;
}
optional uint32 attacker = 1;
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;
optional .CDOTAMsg_LocationPing location_ping = 2;
}
message CDOTAUserMsg_PingConfirmation {
optional int32 player_id_of_original_pinger = 1;
optional uint32 entity_index = 2;
optional uint32 icon_type = 3;
optional .CMsgVector location = 4;
}
message CDOTAUserMsg_ItemAlert {
optional int32 player_id = 1;
optional .CDOTAMsg_ItemAlert item_alert = 2;
}
message CDOTAUserMsg_EnemyItemAlert {
optional int32 player_id = 1;
optional int32 target_player_id = 2;
optional int32 item_ability_id = 3;
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;
optional string class_name = 2;
optional uint32 stack_count = 3;
optional bool is_debuff = 4;
optional int32 target_entindex = 5;
optional float seconds_remaining = 6;
}
message CDOTAUserMsg_HPManaAlert {
optional int32 player_id = 1;
optional int32 target_entindex = 2;
optional bool show_raw_values = 3;
}
message CDOTAUserMsg_GlyphAlert {
optional int32 player_id = 1;
optional bool negative = 2;
}
message CDOTAUserMsg_RadarAlert {
optional int32 player_id = 1;
optional bool negative = 2;
}
message CDOTAUserMsg_WillPurchaseAlert {
optional int32 item_ability_id = 1;
optional int32 player_id = 2;
optional uint32 gold_remaining = 3;
optional int32 suggestion_player_id = 4;
}
message CDOTAUserMsg_EmptyTeleportAlert {
optional int32 source_player_id = 1;
optional int32 target_player_id = 2;
optional int32 cooldown_seconds = 3;
}
message CDOTAUserMsg_MarsArenaOfBloodAttack {
optional uint32 source_ehandle = 1;
optional uint32 target_ehandle = 2;
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;
}
message CDOTAUserMsg_QuickBuyAlert {
optional int32 player_id = 1;
optional int32 item_ability_id = 2;
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;
optional uint32 quantity = 2;
}
optional uint32 team = 1;
optional uint32 gold_value = 2;
optional uint32 entity_handle = 3;
optional int32 timestamp = 4;
repeated .CDOTAUserMsg_CourierKilledAlert.LostItem lost_items = 5;
optional int32 killer_player_id = 6;
optional int32 owning_player_id = 7;
}
message CDOTAUserMsg_MinimapEvent {
optional int32 event_type = 1;
optional uint32 entity_handle = 2;
optional int32 x = 3;
optional int32 y = 4;
optional int32 duration = 5;
optional uint32 target_entity_handle = 6;
}
message CDOTAUserMsg_MapLine {
optional int32 player_id = 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;
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;
optional bool attacks_only = 2;
}
message CDOTAUserMsg_SpectatorPlayerClick {
required int32 entindex = 1;
optional int32 order_type = 2;
optional int32 target_index = 3;
}
message CDOTAUserMsg_SpectatorPlayerUnitOrders {
optional int32 entindex = 1;
optional int32 order_type = 2;
repeated int32 units = 3;
optional int32 target_index = 4;
optional int32 ability_id = 5;
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;
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;
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 int32 level = 4;
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;
}
message CDOTAUserMsg_ItemSold {
optional int32 item_ability_id = 1;
}
message CDOTAUserMsg_ItemFound {
optional int32 player = 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;
optional int32 target_entindex = 4;
optional int32 source_player_entindex = 5;
}
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;
optional .CDOTAMsg_WorldLine worldline = 2;
}
message CDOTAUserMsg_ChatWheel {
optional uint32 chat_message_id = 1;
optional int32 player_id = 2;
optional uint32 account_id = 3;
optional uint32 param_hero_id = 4;
optional uint32 emoticon_id = 5;
}
message CDOTAUserMsg_ReceivedXmasGift {
optional int32 player_id = 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;
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;
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;
optional int32 value = 3;
}
message CDOTAUserMsg_CoachHUDPing {
optional int32 player_id = 1;
optional .CDOTAMsg_CoachHUDPing hud_ping = 2;
}
message CDOTAUserMsg_ClientLoadGridNav {
}
message CDOTAUserMsg_TE_Projectile {
optional uint32 source = 1;
optional uint32 target = 2;
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;
}
message CDOTAUserMsg_TE_ProjectileLoc {
optional .CMsgVector source_loc = 1;
optional uint32 target = 2;
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;
optional int32 source_attachment = 15;
repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 16;
}
message CDOTAUserMsg_TE_DestroyProjectile {
optional int32 handle = 1;
}
message CDOTAUserMsg_TE_DotaBloodImpact {
optional uint32 entity = 1;
optional float scale = 2;
optional float xnormal = 3;
optional float ynormal = 4;
}
message CDOTAUserMsg_AbilityPing {
optional int32 player_id = 1;
optional uint32 ability_id = 2;
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;
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;
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;
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;
optional uint32 ability_id = 2;
optional uint32 ability_level = 3;
}
message CDOTAUserMsg_StatsHeroLookup {
optional int32 player_id = 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;
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;
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;
}
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;
}
message CDOTAUserMsg_SpeechBubble {
optional bool destroy_all = 1;
}
message CDOTAUserMsg_CustomHeaderMessage {
optional int32 player_id = 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;
optional uint32 level = 2;
}
message CDOTAUserMsg_CompendiumState {
repeated .CDOTAUserMsg_CompendiumStatePlayer compendium_players = 1;
}
message CDOTAUserMsg_ProjectionAbility {
optional uint32 ability_id = 1;
optional int32 caster_ent_index = 2;
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;
}
message CDOTAUserMsg_ProjectionEvent {
optional .EProjectionEvent event_id = 1 [default = ePE_FirstBlood];
optional uint32 team = 2;
}
message CDOTAUserMsg_XPAlert {
optional int32 player_id = 1;
optional int32 target_entindex = 2;
}
message CDOTAUserMsg_TalentTreeAlert {
optional int32 player_id = 1;
optional int32 target_entindex = 2;
optional int32 ability_id = 3;
optional int32 slot = 4;
optional bool learned = 5;
}
message CDOTAUserMsg_UpdateQuestProgress {
}
message CDOTAUserMsg_QuestStatus {
required int32 player_id = 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 uint32 item_ability_id = 8;
}
message CDOTAUserMsg_SuggestHeroPick {
required int32 player_id = 1;
optional uint32 hero_id = 2;
optional bool ban = 3;
}
message CDOTAUserMsg_SuggestHeroRole {
required int32 player_id = 1;
optional string hero_role = 2;
}
message CDOTAUserMsg_KillcamDamageTaken {
required int32 player_id = 1;
optional uint32 damage_taken = 2;
optional uint32 item_type = 3;
optional uint32 item_ability_id = 4;
optional string hero_name = 5;
optional string damage_color = 6;
}
message CDOTAUserMsg_SelectPenaltyGold {
required int32 player_id = 1;
optional sint32 cost = 2;
}
message CDOTAUserMsg_RollDiceResult {
optional int32 player_id = 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;
optional uint32 channel_type = 2;
optional bool result = 3;
}
message CDOTAUserMessage_RequestItemSuggestions {
optional int32 player_id = 1;
}
message CDOTAUserMessage_TeamCaptainChanged {
optional uint32 team = 1;
optional int32 captain_player_id = 2;
}
message CDOTAUserMsg_ChatWheelCooldown {
optional uint32 message_id = 1;
optional float cooldown_remaining = 2;
}
message CDOTAUserMsg_HeroRelicProgress {
optional uint32 hero_relic_type = 1;
optional uint32 value = 2;
optional uint32 ehandle = 3;
optional uint32 event_id = 4;
optional float value_display = 5;
}
message CDOTAUserMsg_AbilityDraftRequestAbility {
optional int32 player_id = 1;
optional uint32 requested_ability_id = 2;
optional bool ctrl_is_down = 3;
}
message CDOTAUserMsg_DamageReport {
optional int32 player_id = 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;
optional int32 target_player_id = 2;
optional uint32 tip_amount = 3;
optional uint32 event_id = 4;
}
message CDOTAUserMsg_TipAlert {
optional int32 player_id = 1;
optional string tip_text = 2;
}
message CDOTAUserMsg_ReplaceQueryUnit {
required int32 player_id = 1;
optional int32 source_entindex = 2;
optional int32 target_entindex = 3;
}
message CDOTAUserMsg_ESArcanaCombo {
optional uint32 ehandle = 1;
optional uint32 combo_count = 2;
optional uint32 arcana_level = 3;
}
message CDOTAUserMsg_ESArcanaComboSummary {
optional uint32 ehandle = 1;
optional uint32 combo_count = 2;
optional uint32 damage_amount = 3;
}
message CDOTAUserMsg_OMArcanaCombo {
optional uint32 ehandle = 1;
optional uint32 multicast_amount = 2;
optional uint32 arcana_level = 3;
optional uint32 multicast_chance = 4;
}
message CDOTAUserMsg_HighFiveCompleted {
optional int32 player_id_1 = 1;
optional int32 player_id_2 = 2;
optional bool special_high_five = 3;
}
message CDOTAUserMsg_HighFiveLeftHanging {
optional int32 player_id = 1;
}
message CDOTAUserMsg_ShovelUnearth {
optional int32 player_id = 1;
optional bool all_chat = 2;
optional string locstring = 3;
optional uint32 quantity = 4;
}
message CDOTAUserMsg_AllStarEvent {
message PlayerScore {
optional int32 player_id = 1;
optional uint32 score_sans_kda = 2;
}
optional int32 source_player_id = 1;
optional int32 target_player_id = 2;
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;
optional uint32 item_ability_id = 2;
optional uint32 item_tier = 3;
optional uint32 tier_item_count = 4;
}
message CDOTAUserMsg_OutpostCaptured {
optional int32 outpost_entindex = 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;
}
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;
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;
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;
optional int32 player_id_2 = 2;
}
message CDOTAUserMsg_HotPotato_Exploded {
optional int32 player_id = 1;
}
message CDOTAUserMsg_WK_Arcana_Progress {
optional uint32 ehandle = 1;
optional uint32 arcana_level = 2;
optional uint32 hero_id = 3;
}
message CDOTAUserMsg_GuildChallenge_Progress {
message PlayerProgress {
optional int32 player_id = 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;
optional uint32 target_ehandle = 2;
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;
optional uint32 target_ehandle = 2;
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;
optional int32 target_player_id = 2;
optional int32 slot_index = 3;
optional int32 cooldown_seconds = 4;
}
message CDOTAUserMsg_AghsStatusAlert {
optional int32 source_player_id = 1;
optional int32 target_player_id = 2;
optional int32 target_entindex = 3;
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;
optional uint32 channel_type = 2;
optional string message_text = 3;
}