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/dota_usermessages.proto

1178 lines
32 KiB
Protocol Buffer

package dota;
import "networkbasetypes.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_CombatLogShowDeath = 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;
}
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_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_CHARGES_EXHAUSTED = 30;
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;
}
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;
}
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;
}
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;
}
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_PARTICLE_MESSAGE {
DOTA_PARTICLE_MANAGER_EVENT_CREATE = 0;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE = 1;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD = 2;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION = 3;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK = 4;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_ENT = 5;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET = 6;
DOTA_PARTICLE_MANAGER_EVENT_DESTROY = 7;
DOTA_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING = 8;
DOTA_PARTICLE_MANAGER_EVENT_RELEASE = 9;
DOTA_PARTICLE_MANAGER_EVENT_LATENCY = 10;
DOTA_PARTICLE_MANAGER_EVENT_SHOULD_DRAW = 11;
DOTA_PARTICLE_MANAGER_EVENT_FROZEN = 12;
DOTA_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT = 13;
DOTA_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION = 14;
}
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;
}
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_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;
}
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 uint32 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_CombatLogShowDeath {
}
message CDOTAUserMsg_BotChat {
optional uint32 player_id = 1;
optional string format = 2;
optional string message = 3;
optional string target = 4;
}
message CDOTAUserMsg_CombatHeroPositions {
optional uint32 index = 1;
optional int32 time = 2;
optional CMsgVector2D world_pos = 3;
optional int32 health = 4;
}
message CDOTAUserMsg_MiniKillCamInfo {
message Attacker {
message Ability {
optional uint32 ability = 1;
optional int32 damage = 2;
}
optional uint32 attacker = 1;
optional int32 total_damage = 2;
repeated CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability abilities = 3;
}
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 uint32 player_id = 1;
optional CDOTAMsg_LocationPing location_ping = 2;
}
message CDOTAUserMsg_ItemAlert {
optional uint32 player_id = 1;
optional CDOTAMsg_ItemAlert item_alert = 2;
}
message CDOTAUserMsg_EnemyItemAlert {
optional uint32 player_id = 1;
optional uint32 target_player_id = 2;
optional int32 itemid = 3;
optional uint32 rune_type = 4;
}
message CDOTAUserMsg_ModifierAlert {
optional uint32 player_id = 1;
optional string class_name = 2;
optional uint32 stack_count = 3;
optional bool is_debuff = 4;
optional uint32 target_entindex = 5;
}
message CDOTAUserMsg_HPManaAlert {
optional uint32 player_id = 1;
optional uint32 target_entindex = 2;
}
message CDOTAUserMsg_GlyphAlert {
optional uint32 player_id = 1;
optional bool negative = 2;
}
message CDOTAUserMsg_WillPurchaseAlert {
optional int32 itemid = 1;
optional int32 player_id = 2;
optional uint32 gold_remaining = 3;
}
message CDOTAUserMsg_BuyBackStateAlert {
optional int32 player_id = 1;
}
message CDOTAUserMsg_QuickBuyAlert {
optional int32 player_id = 1;
optional int32 itemid = 2;
optional int32 gold_required = 3;
}
message CDOTAUserMsg_CourierKilledAlert {
optional uint32 team = 1;
optional uint32 gold_value = 2;
optional int32 entity_handle = 3;
optional int32 timestamp = 4;
}
message CDOTAUserMsg_MinimapEvent {
optional int32 event_type = 1;
optional int32 entity_handle = 2;
optional int32 x = 3;
optional int32 y = 4;
optional int32 duration = 5;
}
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;
}
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_index = 5;
optional CMsgVector position = 6;
optional bool queue = 7;
optional int32 sequence_number = 8;
}
message CDOTAUserMsg_NevermoreRequiem {
optional int32 entity_handle = 1;
optional int32 lines = 2;
optional CMsgVector origin = 3;
optional bool reverse = 4;
}
message CDOTAUserMsg_InvalidCommand {
optional string message = 1;
}
message CDOTAUserMsg_HudError {
optional int32 order_id = 1;
}
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 uint32 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;
}
required int32 key = 1;
required CDOTAResponseQuerySerialized.Fact.ValueType valtype = 2 [default = NUMERIC];
optional float val_numeric = 3;
optional string val_string = 4;
}
repeated CDOTAResponseQuerySerialized.Fact facts = 1;
}
message CDOTASpeechMatchOnClient {
optional int32 concept = 1;
optional int32 recipient_type = 2;
optional CDOTAResponseQuerySerialized responsequery = 3;
optional sfixed32 randomseed = 4 [default = 0];
}
message CDOTAUserMsg_UnitEvent {
message Speech {
optional int32 concept = 1;
optional string response = 2;
optional int32 recipient_type = 3;
optional int32 level = 4;
optional bool muteable = 5 [default = false];
}
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];
}
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_index = 1;
}
message CDOTAUserMsg_ItemFound {
optional int32 player = 1;
optional int32 quality = 2;
optional int32 rarity = 3;
optional int32 method = 4;
optional int32 itemdef = 5;
}
message CDOTAUserMsg_ParticleManager {
message ReleaseParticleIndex {
}
message CreateParticle {
optional fixed64 particle_name_index = 1;
optional int32 attach_type = 2;
optional int32 entity_handle = 3;
optional int32 entity_handle_for_modifiers = 4;
}
message DestroyParticle {
optional bool destroy_immediately = 1;
}
message DestroyParticleInvolving {
optional bool destroy_immediately = 1;
optional int32 entity_handle = 3;
}
message UpdateParticle {
optional int32 control_point = 1;
optional CMsgVector position = 2;
}
message UpdateParticleFwd {
optional int32 control_point = 1;
optional CMsgVector forward = 2;
}
message UpdateParticleOrient {
optional int32 control_point = 1;
optional CMsgVector forward = 2;
optional CMsgVector right = 3;
optional CMsgVector up = 4;
}
message UpdateParticleFallback {
optional int32 control_point = 1;
optional CMsgVector position = 2;
}
message UpdateParticleOffset {
optional int32 control_point = 1;
optional CMsgVector origin_offset = 2;
}
message UpdateParticleEnt {
optional int32 control_point = 1;
optional int32 entity_handle = 2;
optional int32 attach_type = 3;
optional int32 attachment = 4;
optional CMsgVector fallback_position = 5;
optional bool include_wearables = 6;
}
message UpdateParticleSetFrozen {
optional bool set_frozen = 1;
}
message UpdateParticleShouldDraw {
optional bool should_draw = 1;
}
message ChangeControlPointAttachment {
optional int32 attachment_old = 1;
optional int32 attachment_new = 2;
optional int32 entity_handle = 3;
}
message UpdateEntityPosition {
optional int32 entity_handle = 1;
optional CMsgVector position = 2;
}
required DOTA_PARTICLE_MESSAGE type = 1 [default = DOTA_PARTICLE_MANAGER_EVENT_CREATE];
required uint32 index = 2;
optional CDOTAUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3;
optional CDOTAUserMsg_ParticleManager.CreateParticle create_particle = 4;
optional CDOTAUserMsg_ParticleManager.DestroyParticle destroy_particle = 5;
optional CDOTAUserMsg_ParticleManager.DestroyParticleInvolving destroy_particle_involving = 6;
optional CDOTAUserMsg_ParticleManager.UpdateParticle update_particle = 7;
optional CDOTAUserMsg_ParticleManager.UpdateParticleFwd update_particle_fwd = 8;
optional CDOTAUserMsg_ParticleManager.UpdateParticleOrient update_particle_orient = 9;
optional CDOTAUserMsg_ParticleManager.UpdateParticleFallback update_particle_fallback = 10;
optional CDOTAUserMsg_ParticleManager.UpdateParticleOffset update_particle_offset = 11;
optional CDOTAUserMsg_ParticleManager.UpdateParticleEnt update_particle_ent = 12;
optional CDOTAUserMsg_ParticleManager.UpdateParticleShouldDraw update_particle_should_draw = 14;
optional CDOTAUserMsg_ParticleManager.UpdateParticleSetFrozen update_particle_set_frozen = 15;
optional CDOTAUserMsg_ParticleManager.ChangeControlPointAttachment change_control_point_attachment = 16;
optional CDOTAUserMsg_ParticleManager.UpdateEntityPosition update_entity_position = 17;
}
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 EDOTAChatWheelMessage chat_message = 1 [default = k_EDOTA_CW_Ok];
optional uint32 player_id = 2;
optional uint32 account_id = 3;
optional uint32 param_hero_id = 4;
}
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 uint32 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_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 uint32 player_id = 1;
optional CDOTAMsg_CoachHUDPing hud_ping = 2;
}
message CDOTAUserMsg_ClientLoadGridNav {
}
message CDOTAUserMsg_TE_Projectile {
optional int32 hSource = 1;
optional int32 hTarget = 2;
optional int32 moveSpeed = 3;
optional int32 sourceAttachment = 4;
optional int64 particleSystemHandle = 5;
optional bool dodgeable = 6;
optional bool isAttack = 7;
optional bool isEvaded = 8;
optional float expireTime = 9;
optional float maximpacttime = 10;
optional fixed32 colorgemcolor = 11;
}
message CDOTAUserMsg_TE_ProjectileLoc {
optional CMsgVector vSourceLoc = 1;
optional int32 hTarget = 2;
optional int32 moveSpeed = 3;
optional int64 particleSystemHandle = 4;
optional bool dodgeable = 5;
optional bool isAttack = 6;
optional bool isEvaded = 8;
optional float expireTime = 9;
optional CMsgVector vTargetLoc = 10;
optional fixed32 colorgemcolor = 11;
}
message CDOTAUserMsg_TE_DotaBloodImpact {
optional int32 entity = 1;
optional float scale = 2;
optional float xnormal = 3;
optional float ynormal = 4;
}
message CDOTAUserMsg_AbilityPing {
optional uint32 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;
}
message CDOTAUserMsg_TE_UnitAnimation {
optional int32 entity = 1;
optional int32 sequenceVariant = 2;
optional float playbackrate = 3;
optional float castpoint = 4;
optional int32 type = 5;
optional int32 activity = 6;
}
message CDOTAUserMsg_TE_UnitAnimationEnd {
optional int32 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 uint32 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 uint32 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 uint32 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 uint32 killer_id = 6;
}
message CDOTAUserMsg_StatsMatchDetails {
message CDOTAUserMsg_StatsFightTeamDetails {
repeated uint32 participants = 1;
repeated uint32 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 uint32 taunting_player_id = 1;
}
message CDOTAUserMsg_SpeechBubble {
optional bool destroy_all = 1;
}
message CDOTAUserMsg_CustomHeaderMessage {
optional uint32 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 uint32 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 uint32 player_id = 1;
optional uint32 target_entindex = 2;
}
message CDOTAUserMsg_UpdateQuestProgress {
}
message CDOTAUserMsg_QuestStatus {
required uint32 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_id = 8;
}