cs2-exploit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cs2-exploit might be problematic. Click here for more details.

Files changed (396) hide show
  1. package/.github/workflows/npm-publish-github-packages.yml +36 -0
  2. package/README.md +25 -0
  3. package/config.json +6 -0
  4. package/helpers/Coordinator.js +157 -0
  5. package/helpers/Helper.js +171 -0
  6. package/helpers/Lobby.js +396 -0
  7. package/helpers/Protos.js +47 -0
  8. package/helpers/VDF.js +140 -0
  9. package/index.js +137 -0
  10. package/package.json +25 -0
  11. package/protobufs/.gitattributes +1 -0
  12. package/protobufs/LICENSE +24 -0
  13. package/protobufs/README.md +7 -0
  14. package/protobufs/artifact/base_gcmessages.proto +532 -0
  15. package/protobufs/artifact/c_peer2peer_netmessages.proto +57 -0
  16. package/protobufs/artifact/clientmessages.proto +51 -0
  17. package/protobufs/artifact/connectionless_netmessages.proto +21 -0
  18. package/protobufs/artifact/dcg_gamemessages.proto +638 -0
  19. package/protobufs/artifact/dcg_gcmessages_client.proto +1590 -0
  20. package/protobufs/artifact/dcg_gcmessages_common.proto +617 -0
  21. package/protobufs/artifact/dcg_gcmessages_server.proto +395 -0
  22. package/protobufs/artifact/demo.proto +149 -0
  23. package/protobufs/artifact/econ_gcmessages.proto +1033 -0
  24. package/protobufs/artifact/econ_shared_enums.proto +47 -0
  25. package/protobufs/artifact/gameevents.proto +121 -0
  26. package/protobufs/artifact/gametoolevents.proto +78 -0
  27. package/protobufs/artifact/gcsdk_gcmessages.proto +391 -0
  28. package/protobufs/artifact/gcsystemmsgs.proto +28 -0
  29. package/protobufs/artifact/netmessages.proto +551 -0
  30. package/protobufs/artifact/network_connection.proto +117 -0
  31. package/protobufs/artifact/networkbasetypes.proto +206 -0
  32. package/protobufs/artifact/networksystem_protomessages.proto +19 -0
  33. package/protobufs/artifact/steamdatagram_messages_auth.proto +38 -0
  34. package/protobufs/artifact/steamdatagram_messages_sdr.proto +441 -0
  35. package/protobufs/artifact/steammessages.proto +636 -0
  36. package/protobufs/artifact/steammessages_base.proto +83 -0
  37. package/protobufs/artifact/steammessages_cloud.steamworkssdk.proto +68 -0
  38. package/protobufs/artifact/steammessages_oauth.steamworkssdk.proto +18 -0
  39. package/protobufs/artifact/steammessages_publishedfile.steamworkssdk.proto +233 -0
  40. package/protobufs/artifact/steammessages_unified_base.steamworkssdk.proto +30 -0
  41. package/protobufs/artifact/steamnetworkingsockets_messages.proto +113 -0
  42. package/protobufs/artifact/steamnetworkingsockets_messages_certs.proto +32 -0
  43. package/protobufs/artifact/steamnetworkingsockets_messages_udp.proto +76 -0
  44. package/protobufs/artifact/te.proto +257 -0
  45. package/protobufs/artifact/uifontfile_format.proto +16 -0
  46. package/protobufs/artifact/usermessages.proto +473 -0
  47. package/protobufs/csgo/base_gcmessages_csgo.proto +547 -0
  48. package/protobufs/csgo/c_peer2peer_netmessages.proto +55 -0
  49. package/protobufs/csgo/clientmessages.proto +48 -0
  50. package/protobufs/csgo/connectionless_netmessages.proto +17 -0
  51. package/protobufs/csgo/cs_gameevents.proto +35 -0
  52. package/protobufs/csgo/cs_usercmd.proto +54 -0
  53. package/protobufs/csgo/cstrike15_gcmessages.proto +1415 -0
  54. package/protobufs/csgo/cstrike15_usermessages.proto +596 -0
  55. package/protobufs/csgo/demo.proto +160 -0
  56. package/protobufs/csgo/econ_gcmessages.proto +228 -0
  57. package/protobufs/csgo/engine_gcmessages.proto +14 -0
  58. package/protobufs/csgo/enums_clientserver.proto +1529 -0
  59. package/protobufs/csgo/fatdemo.proto +125 -0
  60. package/protobufs/csgo/gameevents.proto +120 -0
  61. package/protobufs/csgo/gcsdk_gcmessages.proto +323 -0
  62. package/protobufs/csgo/gcsystemmsgs.proto +242 -0
  63. package/protobufs/csgo/netmessages.proto +607 -0
  64. package/protobufs/csgo/network_connection.proto +126 -0
  65. package/protobufs/csgo/networkbasetypes.proto +244 -0
  66. package/protobufs/csgo/networksystem_protomessages.proto +17 -0
  67. package/protobufs/csgo/steamdatagram_messages_auth.proto +65 -0
  68. package/protobufs/csgo/steamdatagram_messages_sdr.proto +534 -0
  69. package/protobufs/csgo/steammessages.proto +597 -0
  70. package/protobufs/csgo/steammessages_base.proto +301 -0
  71. package/protobufs/csgo/steammessages_cloud.steamworkssdk.proto +68 -0
  72. package/protobufs/csgo/steammessages_gamenetworkingui.proto +61 -0
  73. package/protobufs/csgo/steammessages_helprequest.steamworkssdk.proto +22 -0
  74. package/protobufs/csgo/steammessages_oauth.steamworkssdk.proto +18 -0
  75. package/protobufs/csgo/steammessages_player.steamworkssdk.proto +254 -0
  76. package/protobufs/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -0
  77. package/protobufs/csgo/steammessages_unified_base.steamworkssdk.proto +30 -0
  78. package/protobufs/csgo/steamnetworkingsockets_messages.proto +205 -0
  79. package/protobufs/csgo/steamnetworkingsockets_messages_certs.proto +39 -0
  80. package/protobufs/csgo/steamnetworkingsockets_messages_udp.proto +75 -0
  81. package/protobufs/csgo/te.proto +259 -0
  82. package/protobufs/csgo/uifontfile_format.proto +13 -0
  83. package/protobufs/csgo/usercmd.proto +37 -0
  84. package/protobufs/csgo/usermessages.proto +742 -0
  85. package/protobufs/csgo/valveextensions.proto +17 -0
  86. package/protobufs/dota2/base_gcmessages.proto +400 -0
  87. package/protobufs/dota2/c_peer2peer_netmessages.proto +55 -0
  88. package/protobufs/dota2/clientmessages.proto +48 -0
  89. package/protobufs/dota2/connectionless_netmessages.proto +19 -0
  90. package/protobufs/dota2/demo.proto +160 -0
  91. package/protobufs/dota2/dota_broadcastmessages.proto +29 -0
  92. package/protobufs/dota2/dota_client_enums.proto +93 -0
  93. package/protobufs/dota2/dota_clientmessages.proto +573 -0
  94. package/protobufs/dota2/dota_commonmessages.proto +146 -0
  95. package/protobufs/dota2/dota_gcmessages_client.proto +3336 -0
  96. package/protobufs/dota2/dota_gcmessages_client_battle_report.proto +393 -0
  97. package/protobufs/dota2/dota_gcmessages_client_bingo.proto +108 -0
  98. package/protobufs/dota2/dota_gcmessages_client_candy_shop.proto +302 -0
  99. package/protobufs/dota2/dota_gcmessages_client_chat.proto +239 -0
  100. package/protobufs/dota2/dota_gcmessages_client_coaching.proto +376 -0
  101. package/protobufs/dota2/dota_gcmessages_client_fantasy.proto +564 -0
  102. package/protobufs/dota2/dota_gcmessages_client_guild.proto +651 -0
  103. package/protobufs/dota2/dota_gcmessages_client_guild_events.proto +231 -0
  104. package/protobufs/dota2/dota_gcmessages_client_match_management.proto +468 -0
  105. package/protobufs/dota2/dota_gcmessages_client_showcase.proto +528 -0
  106. package/protobufs/dota2/dota_gcmessages_client_team.proto +275 -0
  107. package/protobufs/dota2/dota_gcmessages_client_tournament.proto +173 -0
  108. package/protobufs/dota2/dota_gcmessages_client_watch.proto +205 -0
  109. package/protobufs/dota2/dota_gcmessages_common.proto +1667 -0
  110. package/protobufs/dota2/dota_gcmessages_common_bot_script.proto +294 -0
  111. package/protobufs/dota2/dota_gcmessages_common_league.proto +351 -0
  112. package/protobufs/dota2/dota_gcmessages_common_lobby.proto +391 -0
  113. package/protobufs/dota2/dota_gcmessages_common_match_management.proto +488 -0
  114. package/protobufs/dota2/dota_gcmessages_msgid.proto +890 -0
  115. package/protobufs/dota2/dota_gcmessages_server.proto +1495 -0
  116. package/protobufs/dota2/dota_gcmessages_webapi.proto +376 -0
  117. package/protobufs/dota2/dota_hud_types.proto +33 -0
  118. package/protobufs/dota2/dota_match_metadata.proto +346 -0
  119. package/protobufs/dota2/dota_messages_mlbot.proto +62 -0
  120. package/protobufs/dota2/dota_modifiers.proto +53 -0
  121. package/protobufs/dota2/dota_scenariomessages.proto +226 -0
  122. package/protobufs/dota2/dota_shared_enums.proto +820 -0
  123. package/protobufs/dota2/dota_usercmd.proto +15 -0
  124. package/protobufs/dota2/dota_usermessages.proto +1655 -0
  125. package/protobufs/dota2/econ_gcmessages.proto +997 -0
  126. package/protobufs/dota2/econ_shared_enums.proto +37 -0
  127. package/protobufs/dota2/engine_gcmessages.proto +14 -0
  128. package/protobufs/dota2/enums_clientserver.proto +1547 -0
  129. package/protobufs/dota2/gameevents.proto +120 -0
  130. package/protobufs/dota2/gametoolevents.proto +78 -0
  131. package/protobufs/dota2/gcsdk_gcmessages.proto +488 -0
  132. package/protobufs/dota2/gcsystemmsgs.proto +26 -0
  133. package/protobufs/dota2/netmessages.proto +604 -0
  134. package/protobufs/dota2/network_connection.proto +126 -0
  135. package/protobufs/dota2/networkbasetypes.proto +244 -0
  136. package/protobufs/dota2/networksystem_protomessages.proto +17 -0
  137. package/protobufs/dota2/steamdatagram_messages_auth.proto +65 -0
  138. package/protobufs/dota2/steamdatagram_messages_sdr.proto +533 -0
  139. package/protobufs/dota2/steammessages.proto +108 -0
  140. package/protobufs/dota2/steammessages_base.proto +332 -0
  141. package/protobufs/dota2/steammessages_clientserver_login.proto +155 -0
  142. package/protobufs/dota2/steammessages_cloud.steamworkssdk.proto +68 -0
  143. package/protobufs/dota2/steammessages_gamenetworkingui.proto +42 -0
  144. package/protobufs/dota2/steammessages_helprequest.steamworkssdk.proto +22 -0
  145. package/protobufs/dota2/steammessages_int.proto +628 -0
  146. package/protobufs/dota2/steammessages_oauth.steamworkssdk.proto +18 -0
  147. package/protobufs/dota2/steammessages_player.steamworkssdk.proto +254 -0
  148. package/protobufs/dota2/steammessages_publishedfile.steamworkssdk.proto +233 -0
  149. package/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto +360 -0
  150. package/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto +30 -0
  151. package/protobufs/dota2/steamnetworkingsockets_messages.proto +205 -0
  152. package/protobufs/dota2/steamnetworkingsockets_messages_certs.proto +39 -0
  153. package/protobufs/dota2/steamnetworkingsockets_messages_udp.proto +75 -0
  154. package/protobufs/dota2/te.proto +259 -0
  155. package/protobufs/dota2/uifontfile_format.proto +13 -0
  156. package/protobufs/dota2/usercmd.proto +38 -0
  157. package/protobufs/dota2/usermessages.proto +721 -0
  158. package/protobufs/dota2/valveextensions.proto +17 -0
  159. package/protobufs/google/protobuf/descriptor.proto +281 -0
  160. package/protobufs/steam/clientmetrics.proto +45 -0
  161. package/protobufs/steam/content_manifest.proto +62 -0
  162. package/protobufs/steam/contenthubs.proto +41 -0
  163. package/protobufs/steam/encrypted_app_ticket.proto +10 -0
  164. package/protobufs/steam/enums.proto +482 -0
  165. package/protobufs/steam/enums_clientserver.proto +1525 -0
  166. package/protobufs/steam/enums_productinfo.proto +13 -0
  167. package/protobufs/steam/htmlmessages.proto +1031 -0
  168. package/protobufs/steam/offline_ticket.proto +8 -0
  169. package/protobufs/steam/steamdatagram_messages_auth.proto +65 -0
  170. package/protobufs/steam/steamdatagram_messages_sdr.proto +534 -0
  171. package/protobufs/steam/steammessages_accounthardware.steamclient.proto +167 -0
  172. package/protobufs/steam/steammessages_appoverview.proto +202 -0
  173. package/protobufs/steam/steammessages_auth.steamclient.proto +375 -0
  174. package/protobufs/steam/steammessages_base.proto +335 -0
  175. package/protobufs/steam/steammessages_broadcast.steamclient.proto +619 -0
  176. package/protobufs/steam/steammessages_chat.steamclient.proto +1070 -0
  177. package/protobufs/steam/steammessages_client_objects.proto +648 -0
  178. package/protobufs/steam/steammessages_clientlanp2p.proto +43 -0
  179. package/protobufs/steam/steammessages_clientmetrics.steamclient.proto +192 -0
  180. package/protobufs/steam/steammessages_clientnotificationtypes.proto +242 -0
  181. package/protobufs/steam/steammessages_clientserver.proto +392 -0
  182. package/protobufs/steam/steammessages_clientserver_2.proto +771 -0
  183. package/protobufs/steam/steammessages_clientserver_appinfo.proto +131 -0
  184. package/protobufs/steam/steammessages_clientserver_friends.proto +260 -0
  185. package/protobufs/steam/steammessages_clientserver_gameservers.proto +159 -0
  186. package/protobufs/steam/steammessages_clientserver_lbs.proto +70 -0
  187. package/protobufs/steam/steammessages_clientserver_login.proto +167 -0
  188. package/protobufs/steam/steammessages_clientserver_mms.proto +228 -0
  189. package/protobufs/steam/steammessages_clientserver_ucm.proto +206 -0
  190. package/protobufs/steam/steammessages_clientserver_uds.proto +125 -0
  191. package/protobufs/steam/steammessages_clientserver_ufs.proto +172 -0
  192. package/protobufs/steam/steammessages_clientserver_userstats.proto +80 -0
  193. package/protobufs/steam/steammessages_clientsettings.proto +184 -0
  194. package/protobufs/steam/steammessages_cloud.steamclient.proto +422 -0
  195. package/protobufs/steam/steammessages_contentsystem.steamclient.proto +123 -0
  196. package/protobufs/steam/steammessages_credentials.steamclient.proto +96 -0
  197. package/protobufs/steam/steammessages_datapublisher.steamclient.proto +102 -0
  198. package/protobufs/steam/steammessages_depotbuilder.steamclient.proto +99 -0
  199. package/protobufs/steam/steammessages_deviceauth.steamclient.proto +169 -0
  200. package/protobufs/steam/steammessages_econ.steamclient.proto +137 -0
  201. package/protobufs/steam/steammessages_familygroups.steamclient.proto +389 -0
  202. package/protobufs/steam/steammessages_friendmessages.steamclient.proto +141 -0
  203. package/protobufs/steam/steammessages_gamenetworking.steamclient.proto +25 -0
  204. package/protobufs/steam/steammessages_gamenetworkingui.proto +61 -0
  205. package/protobufs/steam/steammessages_gamenotifications.steamclient.proto +131 -0
  206. package/protobufs/steam/steammessages_gameservers.steamclient.proto +136 -0
  207. package/protobufs/steam/steammessages_hiddevices.proto +157 -0
  208. package/protobufs/steam/steammessages_inventory.steamclient.proto +172 -0
  209. package/protobufs/steam/steammessages_linkfilter.steamclient.proto +39 -0
  210. package/protobufs/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -0
  211. package/protobufs/steam/steammessages_market.steamclient.proto +22 -0
  212. package/protobufs/steam/steammessages_marketingmessages.steamclient.proto +264 -0
  213. package/protobufs/steam/steammessages_offline.steamclient.proto +33 -0
  214. package/protobufs/steam/steammessages_parental.steamclient.proto +260 -0
  215. package/protobufs/steam/steammessages_parties.steamclient.proto +75 -0
  216. package/protobufs/steam/steammessages_partnerapps.steamclient.proto +106 -0
  217. package/protobufs/steam/steammessages_player.steamclient.proto +897 -0
  218. package/protobufs/steam/steammessages_publishedfile.steamclient.proto +734 -0
  219. package/protobufs/steam/steammessages_qms.steamclient.proto +111 -0
  220. package/protobufs/steam/steammessages_remoteclient.proto +99 -0
  221. package/protobufs/steam/steammessages_remoteclient_discovery.proto +243 -0
  222. package/protobufs/steam/steammessages_remoteclient_service.steamclient.proto +31 -0
  223. package/protobufs/steam/steammessages_remoteclient_service_messages.proto +217 -0
  224. package/protobufs/steam/steammessages_remoteplay.proto +976 -0
  225. package/protobufs/steam/steammessages_secrets.steamclient.proto +35 -0
  226. package/protobufs/steam/steammessages_shader.steamclient.proto +89 -0
  227. package/protobufs/steam/steammessages_site_license.steamclient.proto +103 -0
  228. package/protobufs/steam/steammessages_sitelicenseclient.proto +38 -0
  229. package/protobufs/steam/steammessages_siteserverui.proto +130 -0
  230. package/protobufs/steam/steammessages_star.steamclient.proto +60 -0
  231. package/protobufs/steam/steammessages_steamtv.steamclient.proto +533 -0
  232. package/protobufs/steam/steammessages_store.steamclient.proto +404 -0
  233. package/protobufs/steam/steammessages_storebrowse.steamclient.proto +430 -0
  234. package/protobufs/steam/steammessages_timedtrial.steamclient.proto +40 -0
  235. package/protobufs/steam/steammessages_twofactor.steamclient.proto +157 -0
  236. package/protobufs/steam/steammessages_unified_base.steamclient.proto +33 -0
  237. package/protobufs/steam/steammessages_unified_test.steamclient.proto +51 -0
  238. package/protobufs/steam/steammessages_useraccount.steamclient.proto +207 -0
  239. package/protobufs/steam/steammessages_vac.steamclient.proto +37 -0
  240. package/protobufs/steam/steammessages_video.steamclient.proto +68 -0
  241. package/protobufs/steam/steammessages_virtualcontroller.proto +138 -0
  242. package/protobufs/steam/steammessages_workshop.steamclient.proto +19 -0
  243. package/protobufs/steam/steamnetworkingsockets_messages.proto +205 -0
  244. package/protobufs/steam/steamnetworkingsockets_messages_certs.proto +39 -0
  245. package/protobufs/steam/steamnetworkingsockets_messages_udp.proto +75 -0
  246. package/protobufs/steam/webuimessages_achievements.proto +29 -0
  247. package/protobufs/steam/webuimessages_base.proto +24 -0
  248. package/protobufs/steam/webuimessages_gamenotes.proto +21 -0
  249. package/protobufs/steam/webuimessages_gamescope.proto +54 -0
  250. package/protobufs/steam/webuimessages_steamengine.proto +41 -0
  251. package/protobufs/steam/webuimessages_steamos.proto +114 -0
  252. package/protobufs/steam/webuimessages_storagedevicemanager.proto +110 -0
  253. package/protobufs/steam/webuimessages_systemmanager.proto +17 -0
  254. package/protobufs/steam/webuimessages_transport.proto +18 -0
  255. package/protobufs/steam/webuimessages_transportvalidation.proto +111 -0
  256. package/protobufs/tf2/base_gcmessages.proto +561 -0
  257. package/protobufs/tf2/econ_gcmessages.proto +368 -0
  258. package/protobufs/tf2/gcsdk_gcmessages.proto +186 -0
  259. package/protobufs/tf2/gcsystemmsgs.proto +178 -0
  260. package/protobufs/tf2/steamdatagram_auth_messages.proto +50 -0
  261. package/protobufs/tf2/steamdatagram_messages.proto +598 -0
  262. package/protobufs/tf2/steamdatagram_messages_auth.proto +65 -0
  263. package/protobufs/tf2/steamdatagram_messages_sdr.proto +518 -0
  264. package/protobufs/tf2/steammessages.proto +577 -0
  265. package/protobufs/tf2/steammessages_gamenetworkingui.proto +42 -0
  266. package/protobufs/tf2/steamnetworkingsockets_messages.proto +204 -0
  267. package/protobufs/tf2/steamnetworkingsockets_messages_certs.proto +38 -0
  268. package/protobufs/tf2/steamnetworkingsockets_messages_udp.proto +75 -0
  269. package/protobufs/tf2/tf_gcmessages.proto +1624 -0
  270. package/protobufs/tf2/tf_proto_def_messages.proto +598 -0
  271. package/protobufs/underlords/base_gcmessages.proto +532 -0
  272. package/protobufs/underlords/c_peer2peer_netmessages.proto +57 -0
  273. package/protobufs/underlords/clientmessages.proto +51 -0
  274. package/protobufs/underlords/connectionless_netmessages.proto +21 -0
  275. package/protobufs/underlords/dac_gamemessages.proto +1376 -0
  276. package/protobufs/underlords/dac_gcmessages_client.proto +1518 -0
  277. package/protobufs/underlords/dac_gcmessages_common.proto +377 -0
  278. package/protobufs/underlords/dac_gcmessages_server.proto +417 -0
  279. package/protobufs/underlords/demo.proto +149 -0
  280. package/protobufs/underlords/econ_gcmessages.proto +1063 -0
  281. package/protobufs/underlords/econ_shared_enums.proto +47 -0
  282. package/protobufs/underlords/enums_clientserver.proto +1538 -0
  283. package/protobufs/underlords/gameevents.proto +121 -0
  284. package/protobufs/underlords/gametoolevents.proto +78 -0
  285. package/protobufs/underlords/gcsdk_gcmessages.proto +448 -0
  286. package/protobufs/underlords/gcsystemmsgs.proto +29 -0
  287. package/protobufs/underlords/netmessages.proto +553 -0
  288. package/protobufs/underlords/network_connection.proto +117 -0
  289. package/protobufs/underlords/networkbasetypes.proto +219 -0
  290. package/protobufs/underlords/networksystem_protomessages.proto +19 -0
  291. package/protobufs/underlords/steamdatagram_messages_auth.proto +64 -0
  292. package/protobufs/underlords/steamdatagram_messages_sdr.proto +482 -0
  293. package/protobufs/underlords/steammessages.proto +701 -0
  294. package/protobufs/underlords/steammessages_base.proto +243 -0
  295. package/protobufs/underlords/steammessages_clientserver_login.proto +155 -0
  296. package/protobufs/underlords/steammessages_cloud.steamworkssdk.proto +68 -0
  297. package/protobufs/underlords/steammessages_helprequest.steamworkssdk.proto +22 -0
  298. package/protobufs/underlords/steammessages_oauth.steamworkssdk.proto +18 -0
  299. package/protobufs/underlords/steammessages_player.steamworkssdk.proto +254 -0
  300. package/protobufs/underlords/steammessages_publishedfile.steamworkssdk.proto +233 -0
  301. package/protobufs/underlords/steammessages_unified_base.steamworkssdk.proto +30 -0
  302. package/protobufs/underlords/steamnetworkingsockets_messages.proto +165 -0
  303. package/protobufs/underlords/steamnetworkingsockets_messages_certs.proto +38 -0
  304. package/protobufs/underlords/steamnetworkingsockets_messages_udp.proto +74 -0
  305. package/protobufs/underlords/te.proto +259 -0
  306. package/protobufs/underlords/uifontfile_format.proto +16 -0
  307. package/protobufs/underlords/usermessages.proto +511 -0
  308. package/protobufs/underlords/valveextensions.proto +11 -0
  309. package/protobufs/update.sh +13 -0
  310. package/protobufs/webui/common.proto +3998 -0
  311. package/protobufs/webui/common_base.proto +27 -0
  312. package/protobufs/webui/service_accountcart.proto +153 -0
  313. package/protobufs/webui/service_accountlinking.proto +27 -0
  314. package/protobufs/webui/service_accountprivacy.proto +42 -0
  315. package/protobufs/webui/service_accountprivateapps.proto +34 -0
  316. package/protobufs/webui/service_auction.proto +97 -0
  317. package/protobufs/webui/service_authentication.proto +222 -0
  318. package/protobufs/webui/service_authenticationsupport.proto +74 -0
  319. package/protobufs/webui/service_broadcast.proto +562 -0
  320. package/protobufs/webui/service_chat.proto +11 -0
  321. package/protobufs/webui/service_chatroom.proto +810 -0
  322. package/protobufs/webui/service_chatusability.proto +107 -0
  323. package/protobufs/webui/service_checkout.proto +83 -0
  324. package/protobufs/webui/service_clan.proto +41 -0
  325. package/protobufs/webui/service_clanchatrooms.proto +25 -0
  326. package/protobufs/webui/service_clanfaqs.proto +202 -0
  327. package/protobufs/webui/service_clientcomm.proto +151 -0
  328. package/protobufs/webui/service_clientmetrics.proto +22 -0
  329. package/protobufs/webui/service_cloud.proto +222 -0
  330. package/protobufs/webui/service_cloudconfigstore.proto +51 -0
  331. package/protobufs/webui/service_cloudgaming.proto +30 -0
  332. package/protobufs/webui/service_community.proto +365 -0
  333. package/protobufs/webui/service_dailydeal.proto +66 -0
  334. package/protobufs/webui/service_econ.proto +134 -0
  335. package/protobufs/webui/service_embedded.proto +24 -0
  336. package/protobufs/webui/service_experimentservice.proto +6 -0
  337. package/protobufs/webui/service_familygroups.proto +329 -0
  338. package/protobufs/webui/service_fovasvideo.proto +15 -0
  339. package/protobufs/webui/service_friendmessages.proto +133 -0
  340. package/protobufs/webui/service_friendslist.proto +70 -0
  341. package/protobufs/webui/service_gamenotes.proto +15 -0
  342. package/protobufs/webui/service_gamerecording.proto +259 -0
  343. package/protobufs/webui/service_gamerecordingclip.proto +83 -0
  344. package/protobufs/webui/service_gamerecordingdebug.proto +52 -0
  345. package/protobufs/webui/service_helprequestlogs.proto +16 -0
  346. package/protobufs/webui/service_loyaltyrewards.proto +252 -0
  347. package/protobufs/webui/service_marketingmessages.proto +215 -0
  348. package/protobufs/webui/service_mobileapp.proto +18 -0
  349. package/protobufs/webui/service_mobileauth.proto +24 -0
  350. package/protobufs/webui/service_mobiledevice.proto +26 -0
  351. package/protobufs/webui/service_mobileperaccount.proto +31 -0
  352. package/protobufs/webui/service_news.proto +110 -0
  353. package/protobufs/webui/service_parental.proto +256 -0
  354. package/protobufs/webui/service_partnermembershipinvite.proto +34 -0
  355. package/protobufs/webui/service_partnerstorebrowse.proto +28 -0
  356. package/protobufs/webui/service_phone.proto +51 -0
  357. package/protobufs/webui/service_physicalgoods.proto +15 -0
  358. package/protobufs/webui/service_player.proto +917 -0
  359. package/protobufs/webui/service_promotioneventinvites.proto +109 -0
  360. package/protobufs/webui/service_promotionplanning.proto +172 -0
  361. package/protobufs/webui/service_publishedfile.proto +711 -0
  362. package/protobufs/webui/service_publishing.proto +183 -0
  363. package/protobufs/webui/service_quest.proto +127 -0
  364. package/protobufs/webui/service_salefeature.proto +357 -0
  365. package/protobufs/webui/service_saleitemrewards.proto +54 -0
  366. package/protobufs/webui/service_shoppingcart.proto +152 -0
  367. package/protobufs/webui/service_steamawards.proto +76 -0
  368. package/protobufs/webui/service_steamcharts.proto +75 -0
  369. package/protobufs/webui/service_steamengine.proto +36 -0
  370. package/protobufs/webui/service_steamlearn.proto +780 -0
  371. package/protobufs/webui/service_steamnotification.proto +73 -0
  372. package/protobufs/webui/service_steamtv.proto +495 -0
  373. package/protobufs/webui/service_steamvrvoicechat.proto +67 -0
  374. package/protobufs/webui/service_steamvrwebrtc.proto +48 -0
  375. package/protobufs/webui/service_storagedevicemanager.proto +104 -0
  376. package/protobufs/webui/service_store.proto +359 -0
  377. package/protobufs/webui/service_storeappsimilarity.proto +76 -0
  378. package/protobufs/webui/service_storebrowse.proto +102 -0
  379. package/protobufs/webui/service_storemarketing.proto +41 -0
  380. package/protobufs/webui/service_storequery.proto +103 -0
  381. package/protobufs/webui/service_storesales.proto +87 -0
  382. package/protobufs/webui/service_storetopsellers.proto +44 -0
  383. package/protobufs/webui/service_systemmanager.proto +11 -0
  384. package/protobufs/webui/service_test_transporterror.proto +6 -0
  385. package/protobufs/webui/service_transportauth.proto +12 -0
  386. package/protobufs/webui/service_transportvalidation.proto +69 -0
  387. package/protobufs/webui/service_twofactor.proto +170 -0
  388. package/protobufs/webui/service_useraccount.proto +138 -0
  389. package/protobufs/webui/service_usergameactivity.proto +34 -0
  390. package/protobufs/webui/service_usergamenotes.proto +70 -0
  391. package/protobufs/webui/service_usernews.proto +68 -0
  392. package/protobufs/webui/service_userreviews.proto +96 -0
  393. package/protobufs/webui/service_video.proto +50 -0
  394. package/protobufs/webui/service_videoclip.proto +48 -0
  395. package/protobufs/webui/service_voicechat.proto +139 -0
  396. package/protobufs/webui/service_webrtc.proto +52 -0
@@ -0,0 +1,1667 @@
1
+ import "steammessages.proto";
2
+ import "gcsdk_gcmessages.proto";
3
+ import "dota_shared_enums.proto";
4
+
5
+ enum ESpecialPingValue {
6
+ k_ESpecialPingValue_NoData = 16382;
7
+ k_ESpecialPingValue_Failed = 16383;
8
+ }
9
+
10
+ enum EDOTAGCSessionNeed {
11
+ k_EDOTAGCSessionNeed_Unknown = 0;
12
+ k_EDOTAGCSessionNeed_UserNoSessionNeeded = 100;
13
+ k_EDOTAGCSessionNeed_UserInOnlineGame = 101;
14
+ k_EDOTAGCSessionNeed_UserInLocalGame = 102;
15
+ k_EDOTAGCSessionNeed_UserInUIWasConnected = 103;
16
+ k_EDOTAGCSessionNeed_UserInUINeverConnected = 104;
17
+ k_EDOTAGCSessionNeed_UserTutorials = 105;
18
+ k_EDOTAGCSessionNeed_UserInUIWasConnectedIdle = 106;
19
+ k_EDOTAGCSessionNeed_UserInUINeverConnectedIdle = 107;
20
+ k_EDOTAGCSessionNeed_GameServerOnline = 200;
21
+ k_EDOTAGCSessionNeed_GameServerLocal = 201;
22
+ k_EDOTAGCSessionNeed_GameServerIdle = 202;
23
+ k_EDOTAGCSessionNeed_GameServerRelay = 203;
24
+ k_EDOTAGCSessionNeed_GameServerLocalUpload = 204;
25
+ }
26
+
27
+ enum EDOTAMatchPlayerTimeCustomStat {
28
+ k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers = 1;
29
+ k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_Absolute = 2;
30
+ k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_PercentOfTotalHP = 3;
31
+ }
32
+
33
+ enum DOTA_TournamentEvents {
34
+ TE_FIRST_BLOOD = 0;
35
+ TE_GAME_END = 1;
36
+ TE_MULTI_KILL = 2;
37
+ TE_HERO_DENY = 3;
38
+ TE_AEGIS_DENY = 4;
39
+ TE_AEGIS_STOLEN = 5;
40
+ TE_GODLIKE = 6;
41
+ TE_COURIER_KILL = 7;
42
+ TE_ECHOSLAM = 8;
43
+ TE_RAPIER = 9;
44
+ TE_EARLY_ROSHAN = 10;
45
+ TE_BLACK_HOLE = 11;
46
+ }
47
+
48
+ enum EBroadcastTimelineEvent {
49
+ EBroadcastTimelineEvent_MatchStarted = 1;
50
+ EBroadcastTimelineEvent_GameStateChanged = 2;
51
+ EBroadcastTimelineEvent_TowerDeath = 3;
52
+ EBroadcastTimelineEvent_BarracksDeath = 4;
53
+ EBroadcastTimelineEvent_AncientDeath = 5;
54
+ EBroadcastTimelineEvent_RoshanDeath = 6;
55
+ EBroadcastTimelineEvent_HeroDeath = 7;
56
+ EBroadcastTimelineEvent_TeamFight = 8;
57
+ EBroadcastTimelineEvent_FirstBlood = 9;
58
+ }
59
+
60
+ enum ECustomGameWhitelistState {
61
+ CUSTOM_GAME_WHITELIST_STATE_UNKNOWN = 0;
62
+ CUSTOM_GAME_WHITELIST_STATE_APPROVED = 1;
63
+ CUSTOM_GAME_WHITELIST_STATE_REJECTED = 2;
64
+ }
65
+
66
+ enum EDOTATriviaQuestionCategory {
67
+ k_EDOTATriviaQuestionCategory_AbilityIcon = 0;
68
+ k_EDOTATriviaQuestionCategory_AbilityCooldown = 1;
69
+ k_EDOTATriviaQuestionCategory_HeroAttributes = 2;
70
+ k_EDOTATriviaQuestionCategory_HeroMovementSpeed = 3;
71
+ k_EDOTATriviaQuestionCategory_TalentTree = 4;
72
+ k_EDOTATriviaQuestionCategory_HeroStats = 5;
73
+ k_EDOTATriviaQuestionCategory_ItemPrice = 6;
74
+ k_EDOTATriviaQuestionCategory_AbilitySound = 7;
75
+ k_EDOTATriviaQuestionCategory_InvokerSpells = 8;
76
+ k_EDOTATriviaQuestionCategory_AbilityManaCost = 9;
77
+ k_EDOTATriviaQuestionCategory_HeroAttackSound = 10;
78
+ k_EDOTATriviaQuestionCategory_AbilityName = 11;
79
+ k_EDOTATriviaQuestionCategory_ItemComponents = 12;
80
+ k_EDOTATriviaQuestionCategory_ItemLore = 13;
81
+ k_EDOTATriviaQuestionCategory_ItemPassives = 14;
82
+ k_EDOTATriviaQuestionCategory_STATIC_QUESTIONS_END = 15;
83
+ k_EDOTATriviaQuestionCategory_DYNAMIC_QUESTIONS_START = 99;
84
+ k_EDOTATriviaQuestionCategory_Dynamic_ItemBuild = 100;
85
+ }
86
+
87
+ enum EOverwatchConviction {
88
+ k_EOverwatchConviction_None = 0;
89
+ k_EOverwatchConviction_NotGuilty = 1;
90
+ k_EOverwatchConviction_GuiltUnclear = 2;
91
+ k_EOverwatchConviction_Guilty = 3;
92
+ }
93
+
94
+ enum EHeroRelicRarity {
95
+ HERO_RELIC_RARITY_INVALID = -1;
96
+ HERO_RELIC_RARITY_COMMON = 0;
97
+ HERO_RELIC_RARITY_RARE = 1;
98
+ }
99
+
100
+ enum EStickerbookAuditAction {
101
+ STICKERBOOK_AUDIT_CREATE_PAGE = 0;
102
+ STICKERBOOK_AUDIT_DELETE_PAGE = 1;
103
+ STICKERBOOK_AUDIT_STICK_STICKERS = 2;
104
+ STICKERBOOK_AUDIT_REPLACE_STICKERS = 3;
105
+ STICKERBOOK_AUDIT_HERO_STICKER = 4;
106
+ }
107
+
108
+ enum EStickerbookPageType {
109
+ STICKER_PAGE_GENERIC = 0;
110
+ STICKER_PAGE_TEAM = 1;
111
+ STICKER_PAGE_TALENT = 2;
112
+ }
113
+
114
+ message CSODOTAGameAccountClient {
115
+ message RoleHandicap {
116
+ optional uint32 role = 1;
117
+ optional float handicap = 2;
118
+ }
119
+
120
+ optional uint32 account_id = 1 [(key_field) = true];
121
+ optional uint32 wins = 3;
122
+ optional uint32 losses = 4;
123
+ optional uint32 xp = 12;
124
+ optional uint32 level = 13;
125
+ optional uint32 initial_skill = 14;
126
+ optional uint32 leaver_count = 15;
127
+ optional uint32 secondary_leaver_count = 58;
128
+ optional uint32 low_priority_until_date = 18;
129
+ optional uint32 prevent_text_chat_until_date = 20;
130
+ optional uint32 prevent_voice_until_date = 21;
131
+ optional uint32 prevent_public_text_chat_until_date = 86;
132
+ optional uint32 prevent_new_player_chat_until_date = 122;
133
+ optional uint32 last_abandoned_game_date = 22;
134
+ optional uint32 last_secondary_abandoned_game_date = 59;
135
+ optional uint32 leaver_penalty_count = 23;
136
+ optional uint32 completed_game_streak = 24;
137
+ optional uint32 account_disabled_until_date = 38;
138
+ optional uint32 account_disabled_count = 39;
139
+ optional uint32 match_disabled_until_date = 41;
140
+ optional uint32 match_disabled_count = 42;
141
+ optional uint32 shutdownlawterminatetimestamp = 47;
142
+ optional uint32 low_priority_games_remaining = 48;
143
+ optional uint32 recruitment_level = 55;
144
+ optional bool has_new_notifications = 56;
145
+ optional bool is_league_admin = 57;
146
+ optional uint32 casual_games_played = 60;
147
+ optional uint32 solo_competitive_games_played = 61;
148
+ optional uint32 party_competitive_games_played = 62;
149
+ optional uint32 casual_1v1_games_played = 65;
150
+ optional uint32 curr_all_hero_challenge_id = 67;
151
+ optional uint32 play_time_points = 68;
152
+ optional uint32 account_flags = 69;
153
+ optional uint32 play_time_level = 70;
154
+ optional uint32 player_behavior_seq_num_last_report = 71;
155
+ optional uint32 player_behavior_score_last_report = 72;
156
+ optional bool player_behavior_report_old_data = 73;
157
+ optional uint32 tourney_skill_level = 74;
158
+ optional uint32 tourney_recent_participation_date = 85;
159
+ optional uint64 anchored_phone_number_id = 88;
160
+ optional uint32 ranked_matchmaking_ban_until_date = 89;
161
+ optional uint32 recent_game_time_1 = 90;
162
+ optional uint32 recent_game_time_2 = 91;
163
+ optional uint32 recent_game_time_3 = 92;
164
+ optional uint64 favorite_team_packed = 103;
165
+ optional uint32 recent_report_time = 104;
166
+ optional uint32 custom_game_disabled_until_date = 105;
167
+ optional uint32 recent_win_time_1 = 106;
168
+ optional uint32 recent_win_time_2 = 107;
169
+ optional uint32 recent_win_time_3 = 108;
170
+ optional uint32 coach_rating = 109;
171
+ optional uint32 queue_points = 114;
172
+ repeated .CSODOTAGameAccountClient.RoleHandicap role_handicaps = 115;
173
+ optional uint32 event_mode_recent_time = 120;
174
+ optional uint32 mmr_recalibration_time = 121;
175
+ }
176
+
177
+ message CSODOTAGameAccountPlus {
178
+ optional uint32 account_id = 1 [(key_field) = true];
179
+ optional uint32 original_start_date = 2;
180
+ optional uint32 plus_flags = 3;
181
+ optional uint32 plus_status = 4;
182
+ optional uint32 prepaid_time_start = 5;
183
+ optional uint32 prepaid_time_balance = 6;
184
+ optional fixed32 next_payment_date = 7;
185
+ optional fixed64 steam_agreement_id = 8;
186
+ }
187
+
188
+ message CSODOTAChatWheel {
189
+ optional uint32 message_id = 1 [default = 4294967295, (key_field) = true];
190
+ }
191
+
192
+ message CMsgLobbyFeaturedGamemodeProgress {
193
+ message AccountProgress {
194
+ optional uint32 account_id = 1;
195
+ optional uint32 current_value = 2;
196
+ optional uint32 max_value = 3;
197
+ }
198
+
199
+ repeated .CMsgLobbyFeaturedGamemodeProgress.AccountProgress accounts = 1;
200
+ }
201
+
202
+ message CMsgBattleCupVictory {
203
+ optional uint32 account_id = 1;
204
+ optional uint32 win_date = 2;
205
+ optional uint32 valid_until = 3;
206
+ optional uint32 skill_level = 4;
207
+ optional uint32 tournament_id = 5;
208
+ optional uint32 division_id = 6;
209
+ optional uint32 team_id = 7;
210
+ optional uint32 streak = 8;
211
+ optional uint32 trophy_id = 9;
212
+ }
213
+
214
+ message CMsgLobbyBattleCupVictoryList {
215
+ repeated .CMsgBattleCupVictory winners = 1;
216
+ }
217
+
218
+ message CMsgDOTABroadcastNotification {
219
+ optional string message = 1;
220
+ }
221
+
222
+ message CProtoItemHeroStatue {
223
+ optional uint32 hero_id = 1;
224
+ optional uint32 status_effect_index = 2;
225
+ optional string sequence_name = 3;
226
+ optional float cycle = 4;
227
+ repeated uint32 wearable = 5;
228
+ optional string inscription = 6;
229
+ repeated uint32 style = 7;
230
+ optional bool tournament_drop = 8;
231
+ }
232
+
233
+ message CMatchPlayerAbilityUpgrade {
234
+ optional int32 ability = 1 [default = -1];
235
+ optional uint32 time = 2;
236
+ }
237
+
238
+ message CMatchPlayerTimedCustomStat {
239
+ optional .EDOTAMatchPlayerTimeCustomStat stat = 2 [default = k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers];
240
+ optional float value = 3;
241
+ }
242
+
243
+ message CMatchPlayerTimedStats {
244
+ optional uint32 time = 1;
245
+ optional uint32 kills = 2;
246
+ optional uint32 deaths = 3;
247
+ optional uint32 assists = 4;
248
+ optional uint32 net_worth = 5;
249
+ optional uint32 xp = 6;
250
+ optional uint32 last_hits = 7;
251
+ optional uint32 denies = 8;
252
+ optional uint32 bounty_rune_gold = 9;
253
+ optional uint32 range_creep_upgrade_gold = 10;
254
+ optional uint32 observer_wards_dewarded = 11;
255
+ optional uint32 reliable_gold_earned = 12;
256
+ optional uint32 gold_loss_prevented = 13;
257
+ optional uint32 hero_kill_gold = 14;
258
+ optional uint32 creep_kill_gold = 15;
259
+ optional uint32 building_gold = 16;
260
+ optional uint32 other_gold = 17;
261
+ optional uint32 comeback_gold = 18;
262
+ optional uint32 experimental_gold = 19;
263
+ optional uint32 experimental2_gold = 20;
264
+ optional uint32 creep_deny_gold = 21;
265
+ optional uint32 tp_scrolls_purchased_1 = 22;
266
+ optional uint32 tp_scrolls_purchased_2 = 23;
267
+ optional uint32 tp_scrolls_purchased_3 = 24;
268
+ optional uint32 tp_scrolls_purchased_4 = 25;
269
+ optional uint32 tp_scrolls_purchased_5 = 26;
270
+ optional uint32 neutral_gold = 27;
271
+ optional uint32 courier_gold = 28;
272
+ optional uint32 roshan_gold = 29;
273
+ optional uint32 income_gold = 30;
274
+ optional uint32 item_value = 36;
275
+ optional uint32 support_gold_spent = 37;
276
+ optional uint32 camps_stacked = 38;
277
+ optional uint32 wards_placed = 39;
278
+ optional uint32 triple_kills = 40;
279
+ optional uint32 rampages = 41;
280
+ repeated .CMatchPlayerTimedCustomStat custom_stats = 42;
281
+ }
282
+
283
+ message CMatchTeamTimedStats {
284
+ optional uint32 time = 1;
285
+ optional uint32 enemy_towers_killed = 2;
286
+ optional uint32 enemy_barracks_killed = 3;
287
+ optional uint32 enemy_towers_status = 4;
288
+ optional uint32 enemy_barracks_status = 5;
289
+ }
290
+
291
+ message CMatchAdditionalUnitInventory {
292
+ optional string unit_name = 1;
293
+ repeated int32 items = 2;
294
+ }
295
+
296
+ message CMatchPlayerPermanentBuff {
297
+ optional uint32 permanent_buff = 1;
298
+ optional uint32 stack_count = 2;
299
+ optional uint32 grant_time = 3;
300
+ }
301
+
302
+ message CMatchHeroSelectEvent {
303
+ optional bool is_pick = 1;
304
+ optional uint32 team = 2;
305
+ optional uint32 hero_id = 3;
306
+ }
307
+
308
+ message CMatchClip {
309
+ optional uint64 match_id = 1;
310
+ optional uint32 player_account_id = 2;
311
+ optional uint32 game_time_seconds = 3;
312
+ optional uint32 duration_seconds = 4;
313
+ optional uint32 player_id = 5;
314
+ optional uint32 hero_id = 6;
315
+ optional int32 ability_id = 7 [default = -1];
316
+ optional uint32 camera_mode = 8;
317
+ optional string comment = 9;
318
+ }
319
+
320
+ message CPartySearchClientParty {
321
+ optional fixed64 party_id = 1;
322
+ optional int32 beacon_type = 2;
323
+ repeated fixed32 party_members = 3;
324
+ }
325
+
326
+ message CMsgDOTAHasItemQuery {
327
+ optional uint32 account_id = 1;
328
+ optional uint64 item_id = 2;
329
+ }
330
+
331
+ message CMsgDOTAHasItemResponse {
332
+ optional bool has_item = 1;
333
+ }
334
+
335
+ message CMsgGCGetPlayerCardItemInfo {
336
+ optional uint32 account_id = 1;
337
+ repeated uint64 player_card_item_ids = 2;
338
+ optional uint32 all_for_event = 3;
339
+ }
340
+
341
+ message CMsgGCGetPlayerCardItemInfoResponse {
342
+ message PlayerCardInfo {
343
+ optional uint64 player_card_item_id = 1;
344
+ optional uint32 account_id = 2;
345
+ optional uint64 packed_bonuses = 3;
346
+ }
347
+
348
+ repeated .CMsgGCGetPlayerCardItemInfoResponse.PlayerCardInfo player_card_infos = 1;
349
+ }
350
+
351
+ message CSODOTAMapLocationState {
352
+ optional uint32 account_id = 1 [(key_field) = true];
353
+ optional int32 location_id = 2 [(key_field) = true];
354
+ optional bool completed = 3;
355
+ }
356
+
357
+ message CMsgLeagueAdminList {
358
+ repeated uint32 account_ids = 1;
359
+ }
360
+
361
+ message CMsgDOTAProfileCard {
362
+ message Slot {
363
+ message Trophy {
364
+ optional uint32 trophy_id = 1;
365
+ optional uint32 trophy_score = 2;
366
+ }
367
+
368
+ message Stat {
369
+ optional .CMsgDOTAProfileCard.EStatID stat_id = 1 [default = k_eStat_Wins];
370
+ optional uint32 stat_score = 2;
371
+ }
372
+
373
+ message Item {
374
+ optional bytes serialized_item = 1;
375
+ optional uint64 item_id = 2;
376
+ }
377
+
378
+ message Hero {
379
+ optional uint32 hero_id = 1;
380
+ optional uint32 hero_wins = 2;
381
+ optional uint32 hero_losses = 3;
382
+ }
383
+
384
+ message Emoticon {
385
+ optional uint32 emoticon_id = 1;
386
+ }
387
+
388
+ message Team {
389
+ optional uint32 team_id = 1;
390
+ }
391
+
392
+ optional uint32 slot_id = 1;
393
+ optional .CMsgDOTAProfileCard.Slot.Trophy trophy = 2;
394
+ optional .CMsgDOTAProfileCard.Slot.Stat stat = 3;
395
+ optional .CMsgDOTAProfileCard.Slot.Item item = 4;
396
+ optional .CMsgDOTAProfileCard.Slot.Hero hero = 5;
397
+ optional .CMsgDOTAProfileCard.Slot.Emoticon emoticon = 6;
398
+ optional .CMsgDOTAProfileCard.Slot.Team team = 7;
399
+ }
400
+
401
+ enum EStatID {
402
+ k_eStat_Wins = 3;
403
+ k_eStat_Commends = 4;
404
+ k_eStat_GamesPlayed = 5;
405
+ k_eStat_FirstMatchDate = 6;
406
+ k_eStat_PreviousSeasonRank = 7;
407
+ k_eStat_GamesMVP = 8;
408
+ }
409
+
410
+ optional uint32 account_id = 1;
411
+ repeated .CMsgDOTAProfileCard.Slot slots = 3;
412
+ optional uint32 badge_points = 4;
413
+ optional uint32 event_points = 5;
414
+ optional uint32 event_id = 6;
415
+ optional .CMsgBattleCupVictory recent_battle_cup_victory = 7;
416
+ optional uint32 rank_tier = 8;
417
+ optional uint32 leaderboard_rank = 9;
418
+ optional bool is_plus_subscriber = 10;
419
+ optional uint32 plus_original_start_date = 11;
420
+ optional uint32 rank_tier_score = 12;
421
+ optional uint32 leaderboard_rank_core = 17;
422
+ optional uint32 title = 23;
423
+ optional uint64 favorite_team_packed = 24;
424
+ optional uint32 lifetime_games = 25;
425
+ }
426
+
427
+ message CSODOTAPlayerChallenge {
428
+ optional uint32 account_id = 1 [(key_field) = true];
429
+ optional uint32 event_id = 2 [(key_field) = true];
430
+ optional uint32 slot_id = 3 [(key_field) = true];
431
+ optional uint32 int_param_0 = 5;
432
+ optional uint32 int_param_1 = 6;
433
+ optional uint32 created_time = 7;
434
+ optional uint32 completed = 8;
435
+ optional uint32 sequence_id = 9;
436
+ optional uint32 challenge_tier = 10;
437
+ optional uint32 flags = 11;
438
+ optional uint32 attempts = 12;
439
+ optional uint32 complete_limit = 13;
440
+ optional uint32 quest_rank = 14;
441
+ optional uint32 max_quest_rank = 15;
442
+ optional uint32 instance_id = 16;
443
+ optional uint32 hero_id = 17;
444
+ optional uint32 template_id = 18;
445
+ }
446
+
447
+ message CMsgClientToGCRerollPlayerChallenge {
448
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
449
+ optional uint32 sequence_id = 3;
450
+ optional uint32 hero_id = 4;
451
+ }
452
+
453
+ message CMsgGCRerollPlayerChallengeResponse {
454
+ enum EResult {
455
+ eResult_Success = 0;
456
+ eResult_Dropped = 1;
457
+ eResult_NotFound = 2;
458
+ eResult_CantReroll = 3;
459
+ eResult_ServerError = 4;
460
+ }
461
+
462
+ optional .CMsgGCRerollPlayerChallengeResponse.EResult result = 1 [default = eResult_Success];
463
+ }
464
+
465
+ message CMsgGCTopCustomGamesList {
466
+ repeated uint64 top_custom_games = 1;
467
+ optional uint64 game_of_the_day = 2;
468
+ }
469
+
470
+ message CMsgDOTARealtimeGameStats {
471
+ message TeamDetails {
472
+ optional uint32 team_number = 1;
473
+ optional uint32 team_id = 2;
474
+ optional string team_name = 3;
475
+ optional fixed64 team_logo = 4;
476
+ optional string team_tag = 10;
477
+ optional uint32 score = 5;
478
+ optional uint32 net_worth = 9;
479
+ repeated .CMsgDOTARealtimeGameStats.PlayerDetails players = 6;
480
+ optional bool only_team = 7;
481
+ optional uint32 cheers = 8;
482
+ optional string team_logo_url = 11;
483
+ }
484
+
485
+ message ItemDetails {
486
+ optional int32 item_ability_id = 1 [default = -1];
487
+ optional string name = 2;
488
+ optional int32 time = 3;
489
+ optional bool sold = 4;
490
+ optional uint32 stackcount = 5;
491
+ }
492
+
493
+ message AbilityDetails {
494
+ optional int32 id = 1 [default = -1];
495
+ optional string name = 2;
496
+ optional uint32 level = 3;
497
+ optional float cooldown = 4;
498
+ optional float cooldown_max = 5;
499
+ }
500
+
501
+ message HeroToHeroStats {
502
+ optional int32 victimid = 1 [default = -1];
503
+ optional uint32 kills = 2;
504
+ optional uint32 assists = 3;
505
+ }
506
+
507
+ message AbilityList {
508
+ repeated int32 id = 1;
509
+ }
510
+
511
+ message PlayerDetails {
512
+ optional uint32 accountid = 1;
513
+ optional int32 playerid = 2 [default = -1];
514
+ optional string name = 3;
515
+ optional uint32 team = 4;
516
+ optional uint32 heroid = 5;
517
+ optional uint32 healthpoints = 6;
518
+ optional uint32 maxhealthpoints = 7;
519
+ optional float healthregenrate = 8;
520
+ optional uint32 manapoints = 9;
521
+ optional uint32 maxmanapoints = 10;
522
+ optional float manaregenrate = 11;
523
+ optional uint32 base_strength = 12;
524
+ optional uint32 base_agility = 13;
525
+ optional uint32 base_intelligence = 14;
526
+ optional int32 base_armor = 15;
527
+ optional uint32 base_movespeed = 16;
528
+ optional uint32 base_damage = 17;
529
+ optional uint32 strength = 18;
530
+ optional uint32 agility = 19;
531
+ optional uint32 intelligence = 20;
532
+ optional int32 armor = 21;
533
+ optional uint32 movespeed = 22;
534
+ optional uint32 damage = 23;
535
+ optional uint32 hero_damage = 24;
536
+ optional uint32 tower_damage = 25;
537
+ repeated .CMsgDOTARealtimeGameStats.AbilityDetails abilities = 26;
538
+ optional uint32 level = 27;
539
+ optional uint32 kill_count = 28;
540
+ optional uint32 death_count = 29;
541
+ optional uint32 assists_count = 30;
542
+ optional uint32 denies_count = 31;
543
+ optional uint32 lh_count = 32;
544
+ optional uint32 hero_healing = 33;
545
+ optional uint32 gold_per_min = 34;
546
+ optional uint32 xp_per_min = 35;
547
+ optional uint32 net_gold = 36;
548
+ optional uint32 gold = 37;
549
+ optional float x = 38;
550
+ optional float y = 39;
551
+ optional int32 respawn_time = 40;
552
+ optional uint32 ultimate_cooldown = 41;
553
+ optional bool has_buyback = 42;
554
+ repeated .CMsgDOTARealtimeGameStats.ItemDetails items = 43;
555
+ repeated .CMsgDOTARealtimeGameStats.ItemDetails stashitems = 44;
556
+ repeated .CMsgDOTARealtimeGameStats.ItemDetails itemshoppinglist = 45;
557
+ repeated .CMsgDOTARealtimeGameStats.AbilityList levelpoints = 46;
558
+ repeated .CMsgDOTARealtimeGameStats.HeroToHeroStats hero_to_hero_stats = 47;
559
+ optional bool has_ultimate = 48;
560
+ optional bool has_ultimate_mana = 49;
561
+ optional uint32 team_slot = 50;
562
+ }
563
+
564
+ message BuildingDetails {
565
+ optional uint32 team = 2;
566
+ optional float heading = 3;
567
+ optional uint32 lane = 4;
568
+ optional uint32 tier = 5;
569
+ optional uint32 type = 6;
570
+ optional float x = 7;
571
+ optional float y = 8;
572
+ optional bool destroyed = 9;
573
+ }
574
+
575
+ message KillDetails {
576
+ optional int32 player_id = 1 [default = -1];
577
+ optional int32 death_time = 2;
578
+ optional int32 killer_player_id = 3 [default = -1];
579
+ }
580
+
581
+ message BroadcasterDetails {
582
+ optional int32 player_id = 1 [default = -1];
583
+ }
584
+
585
+ message PickBanDetails {
586
+ optional uint32 hero = 1;
587
+ optional uint32 team = 2;
588
+ }
589
+
590
+ message MatchDetails {
591
+ optional fixed64 server_steam_id = 1;
592
+ optional uint64 match_id = 2;
593
+ optional uint32 timestamp = 3;
594
+ optional float time_of_day = 4;
595
+ optional bool is_nightstalker_night = 5;
596
+ optional int32 game_time = 6;
597
+ optional uint32 game_state = 19;
598
+ optional uint32 teamid_radiant = 8;
599
+ optional uint32 teamid_dire = 9;
600
+ repeated .CMsgDOTARealtimeGameStats.PickBanDetails picks = 10;
601
+ repeated .CMsgDOTARealtimeGameStats.PickBanDetails bans = 11;
602
+ repeated .CMsgDOTARealtimeGameStats.KillDetails kills = 12;
603
+ repeated .CMsgDOTARealtimeGameStats.BroadcasterDetails broadcasters = 13;
604
+ optional uint32 game_mode = 14;
605
+ optional uint32 league_id = 15;
606
+ optional uint32 league_node_id = 18;
607
+ optional bool single_team = 16;
608
+ optional uint32 cheers_peak = 17;
609
+ optional uint32 lobby_type = 20;
610
+ optional uint32 start_timestamp = 21;
611
+ }
612
+
613
+ message GraphData {
614
+ message LocationStats {
615
+ repeated int32 stats = 1;
616
+ }
617
+
618
+ message TeamLocationStats {
619
+ repeated .CMsgDOTARealtimeGameStats.GraphData.LocationStats loc_stats = 1;
620
+ }
621
+
622
+ enum eStat {
623
+ CreepGoldEarned = 0;
624
+ KillGoldEarned = 1;
625
+ DeathAndBuybackGoldLost = 2;
626
+ XPEarned = 3;
627
+ }
628
+
629
+ enum eLocation {
630
+ BotLane = 0;
631
+ MidLane = 1;
632
+ TopLane = 2;
633
+ Jungle = 3;
634
+ Ancients = 4;
635
+ Other = 5;
636
+ }
637
+
638
+ repeated int32 graph_gold = 1;
639
+ repeated int32 graph_xp = 2;
640
+ repeated int32 graph_kill = 3;
641
+ repeated int32 graph_tower = 4;
642
+ repeated int32 graph_rax = 5;
643
+ repeated .CMsgDOTARealtimeGameStats.GraphData.TeamLocationStats team_loc_stats = 6;
644
+ }
645
+
646
+ optional .CMsgDOTARealtimeGameStats.MatchDetails match = 1;
647
+ repeated .CMsgDOTARealtimeGameStats.TeamDetails teams = 2;
648
+ repeated .CMsgDOTARealtimeGameStats.BuildingDetails buildings = 3;
649
+ optional .CMsgDOTARealtimeGameStats.GraphData graph_data = 4;
650
+ optional bool delta_frame = 5;
651
+ }
652
+
653
+ message CMsgDOTARealtimeGameStatsTerse {
654
+ message TeamDetails {
655
+ optional uint32 team_number = 1;
656
+ optional uint32 team_id = 2;
657
+ optional string team_name = 3;
658
+ optional string team_tag = 8;
659
+ optional fixed64 team_logo = 4;
660
+ optional uint32 score = 5;
661
+ optional uint32 net_worth = 7;
662
+ optional string team_logo_url = 9;
663
+ repeated .CMsgDOTARealtimeGameStatsTerse.PlayerDetails players = 6;
664
+ }
665
+
666
+ message PlayerDetails {
667
+ optional uint32 accountid = 1;
668
+ optional int32 playerid = 2 [default = -1];
669
+ optional string name = 3;
670
+ optional uint32 team = 4;
671
+ optional uint32 heroid = 5;
672
+ optional uint32 level = 6;
673
+ optional uint32 kill_count = 7;
674
+ optional uint32 death_count = 8;
675
+ optional uint32 assists_count = 9;
676
+ optional uint32 denies_count = 10;
677
+ optional uint32 lh_count = 11;
678
+ optional uint32 gold = 12;
679
+ optional float x = 13;
680
+ optional float y = 14;
681
+ optional uint32 net_worth = 15;
682
+ repeated int32 abilities = 16;
683
+ repeated int32 items = 17;
684
+ optional uint32 team_slot = 18;
685
+ }
686
+
687
+ message BuildingDetails {
688
+ optional uint32 team = 1;
689
+ optional float heading = 2;
690
+ optional uint32 type = 3;
691
+ optional uint32 lane = 4;
692
+ optional uint32 tier = 5;
693
+ optional float x = 6;
694
+ optional float y = 7;
695
+ optional bool destroyed = 8;
696
+ }
697
+
698
+ message PickBanDetails {
699
+ optional uint32 hero = 1;
700
+ optional uint32 team = 2;
701
+ }
702
+
703
+ message MatchDetails {
704
+ optional fixed64 server_steam_id = 1;
705
+ optional uint64 match_id = 2;
706
+ optional uint32 timestamp = 3;
707
+ optional int32 game_time = 4;
708
+ repeated uint32 steam_broadcaster_account_ids = 6;
709
+ optional uint32 game_mode = 7;
710
+ optional uint32 league_id = 8;
711
+ optional uint32 league_node_id = 9;
712
+ optional uint32 game_state = 10;
713
+ repeated .CMsgDOTARealtimeGameStatsTerse.PickBanDetails picks = 11;
714
+ repeated .CMsgDOTARealtimeGameStatsTerse.PickBanDetails bans = 12;
715
+ optional uint32 lobby_type = 13;
716
+ optional uint32 start_timestamp = 14;
717
+ }
718
+
719
+ message GraphData {
720
+ repeated int32 graph_gold = 1;
721
+ }
722
+
723
+ optional .CMsgDOTARealtimeGameStatsTerse.MatchDetails match = 1;
724
+ repeated .CMsgDOTARealtimeGameStatsTerse.TeamDetails teams = 2;
725
+ repeated .CMsgDOTARealtimeGameStatsTerse.BuildingDetails buildings = 3;
726
+ optional .CMsgDOTARealtimeGameStatsTerse.GraphData graph_data = 4;
727
+ optional bool delta_frame = 5;
728
+ }
729
+
730
+ message CMsgDOTABroadcastTimelineEvent {
731
+ optional .EBroadcastTimelineEvent event = 1 [default = EBroadcastTimelineEvent_MatchStarted];
732
+ optional fixed32 timestamp = 2;
733
+ optional uint32 data = 3;
734
+ optional string string_data = 4;
735
+ }
736
+
737
+ message CMsgGCToClientMatchGroupsVersion {
738
+ optional uint32 matchgroups_version = 1;
739
+ }
740
+
741
+ message CMsgDOTASDOHeroStatsHistory {
742
+ optional uint64 match_id = 1;
743
+ optional uint32 game_mode = 2;
744
+ optional uint32 lobby_type = 3;
745
+ optional uint32 start_time = 4;
746
+ optional bool won = 5;
747
+ optional uint32 gpm = 6;
748
+ optional uint32 xpm = 7;
749
+ optional uint32 kills = 8;
750
+ optional uint32 deaths = 9;
751
+ optional uint32 assists = 10;
752
+ }
753
+
754
+ message CMsgPredictionChoice {
755
+ optional uint32 value = 1;
756
+ optional string name = 2;
757
+ optional uint32 min_raw_value = 3;
758
+ optional uint32 max_raw_value = 4;
759
+ }
760
+
761
+ message CMsgInGamePrediction {
762
+ message QueryKeyValues {
763
+ optional string name = 1;
764
+ optional string value = 2;
765
+ }
766
+
767
+ enum ERawValueType_t {
768
+ Number = 0;
769
+ Time = 1;
770
+ }
771
+
772
+ enum EPredictionType {
773
+ Generic = 0;
774
+ Hero = 1;
775
+ Team = 2;
776
+ Player = 3;
777
+ Special = 4;
778
+ YesNo = 5;
779
+ QualifiersTeam = 6;
780
+ }
781
+
782
+ enum EResolutionType_t {
783
+ InvalidQuery = 0;
784
+ FirstToPassQuery = 1;
785
+ LastToPassQuery = 2;
786
+ LastRemainingQuery = 3;
787
+ MaxToPassQuery = 4;
788
+ MinToPassQuery = 5;
789
+ SumQuery = 6;
790
+ MaxTeamSumToPassQuery = 7;
791
+ MinTeamSumToPassQuery = 8;
792
+ }
793
+
794
+ enum ERandomSelectionGroup_t {
795
+ EarlyGame = 0;
796
+ MidGame = 1;
797
+ LateGame = 2;
798
+ Count = 3;
799
+ }
800
+
801
+ optional uint32 id = 1;
802
+ optional string name = 2;
803
+ optional .CMsgInGamePrediction.EPredictionType type = 3 [default = Generic];
804
+ optional .CMsgInGamePrediction.ERandomSelectionGroup_t group = 4 [default = EarlyGame];
805
+ optional string question = 5;
806
+ repeated .CMsgPredictionChoice choices = 6;
807
+ repeated string required_heroes = 7;
808
+ optional string query_name = 8;
809
+ repeated .CMsgInGamePrediction.QueryKeyValues query_values = 9;
810
+ optional .CMsgInGamePrediction.EResolutionType_t answer_resolution_type = 10 [default = InvalidQuery];
811
+ optional uint32 points_to_grant = 11;
812
+ optional uint32 reward_action = 12;
813
+ optional uint32 debug_force_selection = 13;
814
+ optional .CMsgInGamePrediction.ERawValueType_t raw_value_type = 14 [default = Number];
815
+ }
816
+
817
+ message CMsgDOTASeasonPredictions {
818
+ message Prediction {
819
+ message Answers {
820
+ optional uint32 answer_id = 1;
821
+ }
822
+
823
+ enum EPredictionType {
824
+ Generic = 0;
825
+ Hero = 1;
826
+ Team = 2;
827
+ Player = 3;
828
+ Special = 4;
829
+ YesNo = 5;
830
+ QualifiersTeam = 6;
831
+ LastChanceTeam = 7;
832
+ }
833
+
834
+ enum EAnswerType {
835
+ SingleInt = 0;
836
+ SingleFloat = 1;
837
+ MultipleInt = 2;
838
+ MultipleFloat = 3;
839
+ AnswerTeam = 4;
840
+ SingleTime = 5;
841
+ MultipleTime = 6;
842
+ NoAnswer = 7;
843
+ }
844
+
845
+ optional .CMsgDOTASeasonPredictions.Prediction.EPredictionType type = 1 [default = Generic];
846
+ optional string question = 2;
847
+ repeated .CMsgPredictionChoice choices = 3;
848
+ optional uint32 selection_id = 4;
849
+ optional uint32 start_date = 5;
850
+ optional uint32 lock_date = 6;
851
+ optional uint32 reward = 7;
852
+ optional .CMsgDOTASeasonPredictions.Prediction.EAnswerType answer_type = 8 [default = SingleInt];
853
+ optional uint32 answer_id = 9;
854
+ repeated .CMsgDOTASeasonPredictions.Prediction.Answers answers = 10;
855
+ optional string query_name = 11;
856
+ optional uint32 lock_on_selection_id = 13;
857
+ optional uint32 lock_on_selection_value = 14;
858
+ optional bool lock_on_selection_set = 15;
859
+ optional bool use_answer_value_ranges = 16;
860
+ optional .ELeagueRegion region = 17 [default = LEAGUE_REGION_UNSET];
861
+ repeated .ELeaguePhase phases = 18;
862
+ optional .EEvent reward_event = 19 [default = EVENT_ID_NONE];
863
+ }
864
+
865
+ repeated .CMsgDOTASeasonPredictions.Prediction predictions = 1;
866
+ repeated .CMsgInGamePrediction in_game_predictions = 2;
867
+ optional uint32 in_game_prediction_count_per_game = 3;
868
+ optional uint32 in_game_prediction_voting_period_minutes = 4;
869
+ }
870
+
871
+ message CMsgAvailablePredictions {
872
+ message MatchPrediction {
873
+ optional uint64 match_id = 1;
874
+ repeated .CMsgInGamePrediction predictions = 2;
875
+ }
876
+
877
+ repeated .CMsgAvailablePredictions.MatchPrediction match_predictions = 1;
878
+ }
879
+
880
+ message CMsgLeagueWatchedGames {
881
+ message Series {
882
+ optional uint32 node_id = 1;
883
+ repeated uint32 game = 2;
884
+ }
885
+
886
+ message League {
887
+ optional uint32 league_id = 1;
888
+ repeated .CMsgLeagueWatchedGames.Series series = 2;
889
+ }
890
+
891
+ repeated .CMsgLeagueWatchedGames.League leagues = 1;
892
+ }
893
+
894
+ message CMsgDOTAMatch {
895
+ message Player {
896
+ message CustomGameData {
897
+ optional uint32 dota_team = 1;
898
+ optional bool winner = 2;
899
+ }
900
+
901
+ message HeroDamageReceived {
902
+ optional uint32 pre_reduction = 1;
903
+ optional uint32 post_reduction = 2;
904
+ optional .CMsgDOTAMatch.Player.HeroDamageType damage_type = 3 [default = HERO_DAMAGE_PHYSICAL];
905
+ }
906
+
907
+ enum HeroDamageType {
908
+ HERO_DAMAGE_PHYSICAL = 0;
909
+ HERO_DAMAGE_MAGICAL = 1;
910
+ HERO_DAMAGE_PURE = 2;
911
+ }
912
+
913
+ optional uint32 account_id = 1;
914
+ optional uint32 player_slot = 2;
915
+ optional uint32 hero_id = 3;
916
+ optional int32 item_0 = 4 [default = -1];
917
+ optional int32 item_1 = 5 [default = -1];
918
+ optional int32 item_2 = 6 [default = -1];
919
+ optional int32 item_3 = 7 [default = -1];
920
+ optional int32 item_4 = 8 [default = -1];
921
+ optional int32 item_5 = 9 [default = -1];
922
+ optional int32 item_6 = 59 [default = -1];
923
+ optional int32 item_7 = 60 [default = -1];
924
+ optional int32 item_8 = 61 [default = -1];
925
+ optional int32 item_9 = 76 [default = -1];
926
+ optional float expected_team_contribution = 10;
927
+ optional float scaled_metric = 11;
928
+ optional uint32 previous_rank = 12;
929
+ optional sint32 rank_change = 13;
930
+ optional uint32 mmr_type = 74;
931
+ optional uint32 kills = 14;
932
+ optional uint32 deaths = 15;
933
+ optional uint32 assists = 16;
934
+ optional uint32 leaver_status = 17;
935
+ optional uint32 gold = 18;
936
+ optional uint32 last_hits = 19;
937
+ optional uint32 denies = 20;
938
+ optional uint32 gold_per_min = 21;
939
+ optional uint32 xp_per_min = 22;
940
+ optional uint32 gold_spent = 23;
941
+ optional uint32 hero_damage = 24;
942
+ optional uint32 tower_damage = 25;
943
+ optional uint32 hero_healing = 26;
944
+ optional uint32 level = 27;
945
+ optional uint32 time_last_seen = 28;
946
+ optional string player_name = 29;
947
+ optional uint32 support_ability_value = 30;
948
+ optional bool feeding_detected = 32;
949
+ optional uint32 search_rank = 34;
950
+ optional uint32 search_rank_uncertainty = 35;
951
+ optional int32 rank_uncertainty_change = 36;
952
+ optional uint32 hero_play_count = 37;
953
+ optional fixed64 party_id = 38;
954
+ optional uint32 scaled_hero_damage = 54;
955
+ optional uint32 scaled_tower_damage = 55;
956
+ optional uint32 scaled_hero_healing = 56;
957
+ optional float scaled_kills = 39;
958
+ optional float scaled_deaths = 40;
959
+ optional float scaled_assists = 41;
960
+ optional uint32 claimed_farm_gold = 42;
961
+ optional uint32 support_gold = 43;
962
+ optional uint32 claimed_denies = 44;
963
+ optional uint32 claimed_misses = 45;
964
+ optional uint32 misses = 46;
965
+ repeated .CMatchPlayerAbilityUpgrade ability_upgrades = 47;
966
+ repeated .CMatchAdditionalUnitInventory additional_units_inventory = 48;
967
+ repeated .CMatchPlayerPermanentBuff permanent_buffs = 57;
968
+ optional string pro_name = 72;
969
+ optional string real_name = 73;
970
+ optional .CMsgDOTAMatch.Player.CustomGameData custom_game_data = 50;
971
+ optional bool active_plus_subscription = 51;
972
+ optional uint32 net_worth = 52;
973
+ optional uint32 bot_difficulty = 58;
974
+ optional uint32 hero_pick_order = 63;
975
+ optional bool hero_was_randomed = 64;
976
+ optional bool hero_was_dota_plus_suggestion = 69;
977
+ repeated .CMsgDOTAMatch.Player.HeroDamageReceived hero_damage_received = 67;
978
+ repeated .CMsgDOTAMatch.Player.HeroDamageReceived hero_damage_dealt = 79;
979
+ optional uint32 seconds_dead = 70;
980
+ optional uint32 gold_lost_to_death = 71;
981
+ optional uint32 lane_selection_flags = 75;
982
+ optional uint32 bounty_runes = 77;
983
+ optional uint32 outposts_captured = 78;
984
+ optional .DOTA_GC_TEAM team_number = 80 [default = DOTA_GC_TEAM_GOOD_GUYS];
985
+ optional uint32 team_slot = 81;
986
+ }
987
+
988
+ message BroadcasterInfo {
989
+ optional uint32 account_id = 1;
990
+ optional string name = 2;
991
+ }
992
+
993
+ message BroadcasterChannel {
994
+ optional string country_code = 1;
995
+ optional string description = 2;
996
+ repeated .CMsgDOTAMatch.BroadcasterInfo broadcaster_infos = 3;
997
+ optional string language_code = 4;
998
+ }
999
+
1000
+ message Coach {
1001
+ optional uint32 account_id = 1;
1002
+ optional string coach_name = 2;
1003
+ optional uint32 coach_rating = 3;
1004
+ optional uint32 coach_team = 4;
1005
+ optional uint64 coach_party_id = 5;
1006
+ optional bool is_private_coach = 6;
1007
+ }
1008
+
1009
+ message CustomGameData {
1010
+ optional uint64 custom_game_id = 1;
1011
+ optional string map_name = 2;
1012
+ }
1013
+
1014
+ enum ReplayState {
1015
+ REPLAY_AVAILABLE = 0;
1016
+ REPLAY_NOT_RECORDED = 1;
1017
+ REPLAY_EXPIRED = 2;
1018
+ }
1019
+
1020
+ optional uint32 duration = 3;
1021
+ optional fixed32 starttime = 4;
1022
+ repeated .CMsgDOTAMatch.Player players = 5;
1023
+ optional uint64 match_id = 6;
1024
+ repeated uint32 tower_status = 8;
1025
+ repeated uint32 barracks_status = 9;
1026
+ optional uint32 cluster = 10;
1027
+ optional uint32 first_blood_time = 12;
1028
+ optional fixed32 replay_salt = 13;
1029
+ optional fixed32 server_ip = 14;
1030
+ optional uint32 server_port = 15;
1031
+ optional uint32 lobby_type = 16;
1032
+ optional uint32 human_players = 17;
1033
+ optional uint32 average_skill = 18;
1034
+ optional float game_balance = 19;
1035
+ optional uint32 radiant_team_id = 20;
1036
+ optional uint32 dire_team_id = 21;
1037
+ optional uint32 leagueid = 22;
1038
+ optional string radiant_team_name = 23;
1039
+ optional string dire_team_name = 24;
1040
+ optional uint64 radiant_team_logo = 25;
1041
+ optional uint64 dire_team_logo = 26;
1042
+ optional string radiant_team_logo_url = 54;
1043
+ optional string dire_team_logo_url = 55;
1044
+ optional uint32 radiant_team_complete = 27;
1045
+ optional uint32 dire_team_complete = 28;
1046
+ optional .DOTA_GameMode game_mode = 31 [default = DOTA_GAMEMODE_NONE];
1047
+ repeated .CMatchHeroSelectEvent picks_bans = 32;
1048
+ optional uint64 match_seq_num = 33;
1049
+ optional .CMsgDOTAMatch.ReplayState replay_state = 34 [default = REPLAY_AVAILABLE];
1050
+ optional uint32 radiant_guild_id = 35;
1051
+ optional uint32 dire_guild_id = 36;
1052
+ optional string radiant_team_tag = 37;
1053
+ optional string dire_team_tag = 38;
1054
+ optional uint32 series_id = 39;
1055
+ optional uint32 series_type = 40;
1056
+ repeated .CMsgDOTAMatch.BroadcasterChannel broadcaster_channels = 43;
1057
+ optional uint32 engine = 44;
1058
+ optional .CMsgDOTAMatch.CustomGameData custom_game_data = 45;
1059
+ optional uint32 match_flags = 46;
1060
+ optional fixed32 private_metadata_key = 47;
1061
+ optional uint32 radiant_team_score = 48;
1062
+ optional uint32 dire_team_score = 49;
1063
+ optional .EMatchOutcome match_outcome = 50 [default = k_EMatchOutcome_Unknown];
1064
+ optional uint32 tournament_id = 51;
1065
+ optional uint32 tournament_round = 52;
1066
+ optional uint32 pre_game_duration = 53;
1067
+ repeated .CMsgDOTAMatch.Coach coaches = 57;
1068
+ }
1069
+
1070
+ message CMsgPlayerCard {
1071
+ message StatModifier {
1072
+ optional uint32 stat = 1;
1073
+ optional uint32 value = 2;
1074
+ }
1075
+
1076
+ optional uint32 account_id = 1;
1077
+ repeated .CMsgPlayerCard.StatModifier stat_modifier = 2;
1078
+ }
1079
+
1080
+ message CMsgDOTAFantasyPlayerStats {
1081
+ optional uint32 player_account_id = 1;
1082
+ optional uint64 match_id = 2;
1083
+ optional bool match_completed = 3;
1084
+ optional uint32 team_id = 4;
1085
+ optional uint32 league_id = 5;
1086
+ optional uint32 delay = 6;
1087
+ optional uint32 series_id = 7;
1088
+ optional uint32 series_type = 8;
1089
+ optional uint32 kills = 10;
1090
+ optional uint32 deaths = 11;
1091
+ optional uint32 cs = 12;
1092
+ optional float gpm = 13;
1093
+ optional uint32 tower_kills = 14;
1094
+ optional uint32 roshan_kills = 15;
1095
+ optional float teamfight_participation = 16;
1096
+ optional uint32 wards_placed = 17;
1097
+ optional uint32 camps_stacked = 18;
1098
+ optional uint32 runes_grabbed = 19;
1099
+ optional uint32 first_blood = 20;
1100
+ optional float stuns = 21;
1101
+ optional uint32 smokes = 22;
1102
+ optional uint32 neutral_tokens = 23;
1103
+ optional uint32 watchers = 24;
1104
+ optional uint32 lotuses = 25;
1105
+ optional uint32 tormentors = 26;
1106
+ optional uint32 courier_kills = 27;
1107
+ optional fixed64 title_stats = 28;
1108
+ }
1109
+
1110
+ message CMsgDOTAFantasyPlayerMatchStats {
1111
+ repeated .CMsgDOTAFantasyPlayerStats matches = 1;
1112
+ }
1113
+
1114
+ message CMsgDOTABotDebugInfo {
1115
+ message Bot {
1116
+ message Mode {
1117
+ optional uint32 mode_id = 1;
1118
+ optional float desire = 2;
1119
+ optional int32 target_entity = 3 [default = -1];
1120
+ optional uint32 target_x = 4;
1121
+ optional uint32 target_y = 5;
1122
+ optional uint32 target_z = 6;
1123
+ }
1124
+
1125
+ message Action {
1126
+ optional uint32 action_id = 1;
1127
+ optional string action_target = 2;
1128
+ }
1129
+
1130
+ optional int32 player_owner_id = 1 [default = -1];
1131
+ optional uint32 hero_id = 2;
1132
+ optional uint32 difficulty = 3;
1133
+ optional uint32 power_current = 4;
1134
+ optional uint32 power_max = 5;
1135
+ optional uint32 move_target_x = 6;
1136
+ optional uint32 move_target_y = 7;
1137
+ optional uint32 move_target_z = 8;
1138
+ optional uint32 active_mode_id = 9;
1139
+ optional float execution_time = 10;
1140
+ repeated .CMsgDOTABotDebugInfo.Bot.Mode modes = 11;
1141
+ optional .CMsgDOTABotDebugInfo.Bot.Action action = 12;
1142
+ }
1143
+
1144
+ repeated .CMsgDOTABotDebugInfo.Bot bots = 1;
1145
+ optional float desire_push_lane_top = 2;
1146
+ optional float desire_push_lane_mid = 3;
1147
+ optional float desire_push_lane_bot = 4;
1148
+ optional float desire_defend_lane_top = 5;
1149
+ optional float desire_defend_lane_mid = 6;
1150
+ optional float desire_defend_lane_bot = 7;
1151
+ optional float desire_farm_lane_top = 8;
1152
+ optional float desire_farm_lane_mid = 9;
1153
+ optional float desire_farm_lane_bot = 10;
1154
+ optional float desire_farm_roshan = 11;
1155
+ optional float execution_time = 12;
1156
+ repeated uint32 rune_status = 13;
1157
+ }
1158
+
1159
+ message CMsgSuccessfulHero {
1160
+ optional uint32 hero_id = 1;
1161
+ optional float win_percent = 2;
1162
+ optional uint32 longest_streak = 3;
1163
+ }
1164
+
1165
+ message CMsgRecentMatchInfo {
1166
+ optional uint64 match_id = 1;
1167
+ optional .DOTA_GameMode game_mode = 2 [default = DOTA_GAMEMODE_NONE];
1168
+ optional uint32 kills = 3;
1169
+ optional uint32 deaths = 4;
1170
+ optional uint32 assists = 5;
1171
+ optional uint32 duration = 6;
1172
+ optional uint32 player_slot = 7;
1173
+ optional .EMatchOutcome match_outcome = 8 [default = k_EMatchOutcome_Unknown];
1174
+ optional uint32 timestamp = 9;
1175
+ optional uint32 lobby_type = 10;
1176
+ optional uint32 team_number = 11;
1177
+ }
1178
+
1179
+ message CMsgMatchTips {
1180
+ message SingleTip {
1181
+ optional uint32 source_account_id = 1;
1182
+ optional uint32 target_account_id = 2;
1183
+ optional uint32 tip_amount = 3;
1184
+ optional .EEvent event_id = 4 [default = EVENT_ID_NONE];
1185
+ }
1186
+
1187
+ repeated .CMsgMatchTips.SingleTip tips = 2;
1188
+ }
1189
+
1190
+ message CMsgDOTAMatchMinimal {
1191
+ message Player {
1192
+ optional uint32 account_id = 1;
1193
+ optional uint32 hero_id = 2;
1194
+ optional uint32 kills = 3;
1195
+ optional uint32 deaths = 4;
1196
+ optional uint32 assists = 5;
1197
+ repeated int32 items = 6;
1198
+ optional uint32 player_slot = 7;
1199
+ optional string pro_name = 8;
1200
+ optional uint32 level = 9;
1201
+ optional .DOTA_GC_TEAM team_number = 10 [default = DOTA_GC_TEAM_GOOD_GUYS];
1202
+ }
1203
+
1204
+ message Tourney {
1205
+ optional uint32 league_id = 1;
1206
+ optional uint32 series_type = 8;
1207
+ optional uint32 series_game = 9;
1208
+ optional uint32 weekend_tourney_tournament_id = 10;
1209
+ optional uint32 weekend_tourney_season_trophy_id = 11;
1210
+ optional uint32 weekend_tourney_division = 12;
1211
+ optional uint32 weekend_tourney_skill_level = 13;
1212
+ optional uint32 radiant_team_id = 2;
1213
+ optional string radiant_team_name = 3;
1214
+ optional fixed64 radiant_team_logo = 4;
1215
+ optional string radiant_team_logo_url = 14;
1216
+ optional uint32 dire_team_id = 5;
1217
+ optional string dire_team_name = 6;
1218
+ optional fixed64 dire_team_logo = 7;
1219
+ optional string dire_team_logo_url = 15;
1220
+ }
1221
+
1222
+ optional uint64 match_id = 1;
1223
+ optional fixed32 start_time = 2;
1224
+ optional uint32 duration = 3;
1225
+ optional .DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE];
1226
+ repeated .CMsgDOTAMatchMinimal.Player players = 6;
1227
+ optional .CMsgDOTAMatchMinimal.Tourney tourney = 7;
1228
+ optional .EMatchOutcome match_outcome = 8 [default = k_EMatchOutcome_Unknown];
1229
+ optional uint32 radiant_score = 9;
1230
+ optional uint32 dire_score = 10;
1231
+ optional uint32 lobby_type = 11;
1232
+ }
1233
+
1234
+ message CMsgConsumableUsage {
1235
+ optional uint32 item_def = 1;
1236
+ optional int32 quantity_change = 2;
1237
+ }
1238
+
1239
+ message CMsgMatchConsumableUsage {
1240
+ message PlayerUsage {
1241
+ optional uint32 account_id = 1;
1242
+ repeated .CMsgConsumableUsage consumables_used = 2;
1243
+ }
1244
+
1245
+ repeated .CMsgMatchConsumableUsage.PlayerUsage player_consumables_used = 1;
1246
+ }
1247
+
1248
+ message CMsgMatchEventActionGrants {
1249
+ message PlayerGrants {
1250
+ optional uint32 account_id = 1;
1251
+ repeated .CMsgPendingEventAward actions_granted = 3;
1252
+ }
1253
+
1254
+ repeated .CMsgMatchEventActionGrants.PlayerGrants player_grants = 1;
1255
+ }
1256
+
1257
+ message CMsgCustomGameWhitelist {
1258
+ optional uint32 version = 1;
1259
+ repeated uint64 custom_games_whitelist = 2;
1260
+ optional bool disable_whitelist = 3;
1261
+ }
1262
+
1263
+ message CMsgCustomGameWhitelistForEdit {
1264
+ message WhitelistEntry {
1265
+ optional uint64 custom_game_id = 1;
1266
+ optional .ECustomGameWhitelistState whitelist_state = 2 [default = CUSTOM_GAME_WHITELIST_STATE_UNKNOWN];
1267
+ }
1268
+
1269
+ repeated .CMsgCustomGameWhitelistForEdit.WhitelistEntry whitelist_entries = 1;
1270
+ }
1271
+
1272
+ message CMsgPlayerRecentMatchInfo {
1273
+ optional uint64 match_id = 1;
1274
+ optional uint32 timestamp = 2;
1275
+ optional uint32 duration = 3;
1276
+ optional bool win = 4;
1277
+ optional uint32 hero_id = 5;
1278
+ optional uint32 kills = 6;
1279
+ optional uint32 deaths = 7;
1280
+ optional uint32 assists = 8;
1281
+ }
1282
+
1283
+ message CMsgPlayerMatchRecord {
1284
+ optional uint32 wins = 1;
1285
+ optional uint32 losses = 2;
1286
+ }
1287
+
1288
+ message CMsgPlayerRecentMatchOutcomes {
1289
+ optional uint32 outcomes = 1;
1290
+ optional uint32 match_count = 2;
1291
+ }
1292
+
1293
+ message CMsgPlayerRecentCommends {
1294
+ optional uint32 commends = 1;
1295
+ optional uint32 match_count = 2;
1296
+ }
1297
+
1298
+ message CMsgPlayerRecentAccomplishments {
1299
+ optional .CMsgPlayerRecentMatchOutcomes recent_outcomes = 1;
1300
+ optional .CMsgPlayerMatchRecord total_record = 2;
1301
+ optional uint32 prediction_streak = 3;
1302
+ optional uint32 plus_prediction_streak = 4;
1303
+ optional .CMsgPlayerRecentCommends recent_commends = 5;
1304
+ optional uint32 first_match_timestamp = 6;
1305
+ optional .CMsgPlayerRecentMatchInfo last_match = 7;
1306
+ optional .CMsgPlayerRecentMatchOutcomes recent_mvps = 8;
1307
+ }
1308
+
1309
+ message CMsgPlayerHeroRecentAccomplishments {
1310
+ optional .CMsgPlayerRecentMatchOutcomes recent_outcomes = 1;
1311
+ optional .CMsgPlayerMatchRecord total_record = 2;
1312
+ optional .CMsgPlayerRecentMatchInfo last_match = 3;
1313
+ }
1314
+
1315
+ message CMsgRecentAccomplishments {
1316
+ optional .CMsgPlayerRecentAccomplishments player_accomplishments = 1;
1317
+ optional .CMsgPlayerHeroRecentAccomplishments hero_accomplishments = 2;
1318
+ }
1319
+
1320
+ message CMsgServerToGCRequestPlayerRecentAccomplishments {
1321
+ optional uint32 account_id = 1;
1322
+ optional uint32 hero_id = 2;
1323
+ }
1324
+
1325
+ message CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse {
1326
+ enum EResponse {
1327
+ k_eInternalError = 0;
1328
+ k_eSuccess = 1;
1329
+ k_eTooBusy = 2;
1330
+ k_eDisabled = 3;
1331
+ }
1332
+
1333
+ optional .CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse.EResponse result = 1 [default = k_eInternalError];
1334
+ optional .CMsgRecentAccomplishments player_accomplishments = 2;
1335
+ }
1336
+
1337
+ message CMsgArcanaVoteMatchVotes {
1338
+ optional uint32 match_id = 1;
1339
+ optional uint32 hero_id = 2;
1340
+ optional uint32 vote_count = 3;
1341
+ }
1342
+
1343
+ message CMsgGCtoGCAssociatedExploiterAccountInfo {
1344
+ optional uint32 account_id = 1;
1345
+ optional uint32 num_matches_to_search = 2;
1346
+ optional uint32 min_shared_match_count = 3;
1347
+ optional uint32 num_additional_players = 4;
1348
+ }
1349
+
1350
+ message CMsgGCtoGCAssociatedExploiterAccountInfoResponse {
1351
+ message Account {
1352
+ optional uint32 account_id = 1;
1353
+ optional uint32 num_common_matches = 2;
1354
+ optional uint32 earliest_common_match = 3;
1355
+ optional uint32 latest_common_match = 4;
1356
+ optional uint32 generation = 5;
1357
+ optional string persona = 6;
1358
+ optional bool already_banned = 7;
1359
+ }
1360
+
1361
+ repeated .CMsgGCtoGCAssociatedExploiterAccountInfoResponse.Account accounts = 1;
1362
+ }
1363
+
1364
+ message CMsgPullTabsData {
1365
+ message Slot {
1366
+ optional uint32 event_id = 1;
1367
+ optional uint32 board_id = 2;
1368
+ optional uint32 hero_id = 3;
1369
+ optional uint32 action_id = 4;
1370
+ optional bool redeemed = 5;
1371
+ }
1372
+
1373
+ message Jackpot {
1374
+ optional uint32 board_id = 1;
1375
+ optional uint32 action_id = 2;
1376
+ optional uint32 hero_id = 3;
1377
+ }
1378
+
1379
+ repeated .CMsgPullTabsData.Slot slots = 1;
1380
+ repeated .CMsgPullTabsData.Jackpot jackpots = 2;
1381
+ optional uint32 last_board = 3;
1382
+ }
1383
+
1384
+ message CMsgUnderDraftData {
1385
+ message BenchSlot {
1386
+ optional uint32 slot_id = 1;
1387
+ optional uint32 hero_id = 2;
1388
+ optional uint32 stars = 3;
1389
+ }
1390
+
1391
+ message ShopSlot {
1392
+ optional uint32 slot_id = 1;
1393
+ optional uint32 hero_id = 2;
1394
+ optional bool is_special_reward = 3;
1395
+ }
1396
+
1397
+ repeated .CMsgUnderDraftData.BenchSlot bench_slots = 1;
1398
+ repeated .CMsgUnderDraftData.ShopSlot shop_slots = 2;
1399
+ optional uint32 gold = 3;
1400
+ optional uint32 total_gold = 4;
1401
+ optional bool not_restorable = 5;
1402
+ }
1403
+
1404
+ message CMsgPlayerTitleData {
1405
+ repeated uint32 title = 1;
1406
+ repeated uint32 event_id = 2;
1407
+ optional uint32 active = 3;
1408
+ }
1409
+
1410
+ message CMsgDOTATriviaQuestion {
1411
+ optional uint32 question_id = 1;
1412
+ optional .EDOTATriviaQuestionCategory category = 2 [default = k_EDOTATriviaQuestionCategory_AbilityIcon];
1413
+ optional uint32 timestamp = 3;
1414
+ optional string question_value = 4;
1415
+ repeated string answer_values = 5;
1416
+ optional uint32 correct_answer_index = 6;
1417
+ }
1418
+
1419
+ message CMsgDOTATriviaQuestionAnswersSummary {
1420
+ optional bool summary_available = 1;
1421
+ repeated uint32 picked_count = 2;
1422
+ }
1423
+
1424
+ message CMsgGameDataSpecialValueBonus {
1425
+ optional string name = 1;
1426
+ optional float value = 2;
1427
+ optional uint32 operation = 3;
1428
+ }
1429
+
1430
+ message CMsgGameDataSpecialValues {
1431
+ optional string name = 1;
1432
+ repeated float values_float = 2;
1433
+ optional bool is_percentage = 4;
1434
+ optional string heading_loc = 5;
1435
+ repeated .CMsgGameDataSpecialValueBonus bonuses = 6;
1436
+ repeated float values_shard = 7;
1437
+ repeated float values_scepter = 8;
1438
+ }
1439
+
1440
+ message CMsgGameDataAbilityOrItem {
1441
+ optional int32 id = 1 [default = -1];
1442
+ optional string name = 2;
1443
+ optional string name_loc = 5;
1444
+ optional string desc_loc = 6;
1445
+ optional string lore_loc = 7;
1446
+ repeated string notes_loc = 8;
1447
+ optional string shard_loc = 9;
1448
+ optional string scepter_loc = 10;
1449
+ optional uint32 type = 20;
1450
+ optional uint64 behavior = 21;
1451
+ optional uint32 target_team = 22;
1452
+ optional uint32 target_type = 23;
1453
+ optional uint32 flags = 24;
1454
+ optional uint32 damage = 25;
1455
+ optional uint32 immunity = 26;
1456
+ optional uint32 dispellable = 27;
1457
+ optional uint32 max_level = 28;
1458
+ repeated uint32 cast_ranges = 30;
1459
+ repeated float cast_points = 31;
1460
+ repeated float channel_times = 32;
1461
+ repeated float cooldowns = 33;
1462
+ repeated float durations = 34;
1463
+ repeated uint32 damages = 35;
1464
+ repeated uint32 mana_costs = 36;
1465
+ repeated uint32 gold_costs = 37;
1466
+ repeated uint32 health_costs = 38;
1467
+ repeated .CMsgGameDataSpecialValues special_values = 40;
1468
+ optional bool is_item = 50;
1469
+ optional bool ability_has_scepter = 60;
1470
+ optional bool ability_has_shard = 61;
1471
+ optional bool ability_is_granted_by_scepter = 62;
1472
+ optional bool ability_is_granted_by_shard = 63;
1473
+ optional uint32 item_cost = 70;
1474
+ optional uint32 item_initial_charges = 71;
1475
+ optional uint32 item_neutral_tier = 72;
1476
+ optional uint32 item_stock_max = 73;
1477
+ optional float item_stock_time = 74;
1478
+ optional uint32 item_quality = 85;
1479
+ }
1480
+
1481
+ message CMsgGameDataHero {
1482
+ optional uint32 id = 1;
1483
+ optional string name = 2;
1484
+ optional uint32 order_id = 3;
1485
+ optional string name_loc = 5;
1486
+ optional string bio_loc = 6;
1487
+ optional string hype_loc = 7;
1488
+ optional string npe_desc_loc = 8;
1489
+ optional uint32 str_base = 10;
1490
+ optional float str_gain = 11;
1491
+ optional uint32 agi_base = 12;
1492
+ optional float agi_gain = 13;
1493
+ optional uint32 int_base = 14;
1494
+ optional float int_gain = 15;
1495
+ optional uint32 primary_attr = 20;
1496
+ optional uint32 complexity = 21;
1497
+ optional uint32 attack_capability = 22;
1498
+ repeated uint32 role_levels = 23;
1499
+ optional int32 damage_min = 24;
1500
+ optional int32 damage_max = 25;
1501
+ optional float attack_rate = 26;
1502
+ optional uint32 attack_range = 27;
1503
+ optional uint32 projectile_speed = 28;
1504
+ optional float armor = 29;
1505
+ optional uint32 magic_resistance = 30;
1506
+ optional uint32 movement_speed = 31;
1507
+ optional float turn_rate = 32;
1508
+ optional uint32 sight_range_day = 33;
1509
+ optional uint32 sight_range_night = 34;
1510
+ optional uint32 max_health = 35;
1511
+ optional float health_regen = 36;
1512
+ optional uint32 max_mana = 37;
1513
+ optional float mana_regen = 38;
1514
+ repeated .CMsgGameDataAbilityOrItem abilities = 40;
1515
+ repeated .CMsgGameDataAbilityOrItem talents = 41;
1516
+ }
1517
+
1518
+ message CMsgGameDataAbilities {
1519
+ repeated .CMsgGameDataAbilityOrItem abilities = 1;
1520
+ }
1521
+
1522
+ message CMsgGameDataItems {
1523
+ repeated .CMsgGameDataAbilityOrItem items = 1;
1524
+ }
1525
+
1526
+ message CMsgGameDataHeroes {
1527
+ repeated .CMsgGameDataHero heroes = 1;
1528
+ }
1529
+
1530
+ message CMsgGameDataHeroList {
1531
+ message HeroInfo {
1532
+ optional uint32 id = 1;
1533
+ optional string name = 2;
1534
+ optional string name_loc = 3;
1535
+ optional string name_english_loc = 4;
1536
+ optional uint32 primary_attr = 5;
1537
+ optional uint32 complexity = 6;
1538
+ }
1539
+
1540
+ repeated .CMsgGameDataHeroList.HeroInfo heroes = 1;
1541
+ }
1542
+
1543
+ message CMsgGameDataItemAbilityList {
1544
+ message ItemAbilityInfo {
1545
+ optional int32 id = 1 [default = -1];
1546
+ optional string name = 2;
1547
+ optional string name_loc = 3;
1548
+ optional string name_english_loc = 4;
1549
+ optional int32 neutral_item_tier = 5;
1550
+ }
1551
+
1552
+ repeated .CMsgGameDataItemAbilityList.ItemAbilityInfo itemabilities = 1;
1553
+ }
1554
+
1555
+ message CMsgLobbyAbilityDraftData {
1556
+ optional bool shuffle_draft_order = 1;
1557
+ }
1558
+
1559
+ message CSOEconItemDropRateBonus {
1560
+ optional uint32 account_id = 1 [(key_field) = true];
1561
+ optional fixed32 expiration_date = 2;
1562
+ optional float bonus = 3 [(key_field) = true];
1563
+ optional uint32 bonus_count = 4;
1564
+ optional uint64 item_id = 5;
1565
+ optional uint32 def_index = 6;
1566
+ optional uint32 seconds_left = 7;
1567
+ optional uint32 booster_type = 8 [(key_field) = true];
1568
+ }
1569
+
1570
+ message CSOEconItemTournamentPassport {
1571
+ optional uint32 account_id = 1;
1572
+ optional uint32 league_id = 2;
1573
+ optional uint64 item_id = 3;
1574
+ optional uint32 original_purchaser_id = 4;
1575
+ optional uint32 passports_bought = 5;
1576
+ optional uint32 version = 6;
1577
+ optional uint32 def_index = 7;
1578
+ optional uint32 reward_flags = 8;
1579
+ }
1580
+
1581
+ message CMsgStickerbookSticker {
1582
+ optional uint32 item_def_id = 1;
1583
+ optional uint32 sticker_num = 2;
1584
+ optional uint32 quality = 3;
1585
+ optional float position_x = 4;
1586
+ optional float position_y = 5;
1587
+ optional float position_z = 8;
1588
+ optional float rotation = 6;
1589
+ optional float scale = 7;
1590
+ optional uint64 source_item_id = 9;
1591
+ optional uint32 depth_bias = 10;
1592
+ }
1593
+
1594
+ message CMsgStickerbookPage {
1595
+ optional uint32 page_num = 1;
1596
+ optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
1597
+ optional uint32 team_id = 3;
1598
+ repeated .CMsgStickerbookSticker stickers = 4;
1599
+ optional .EStickerbookPageType page_type = 5 [default = STICKER_PAGE_GENERIC];
1600
+ }
1601
+
1602
+ message CMsgStickerbookTeamPageOrderSequence {
1603
+ repeated uint32 page_numbers = 1;
1604
+ }
1605
+
1606
+ message CMsgStickerbook {
1607
+ repeated .CMsgStickerbookPage pages = 1;
1608
+ optional .CMsgStickerbookTeamPageOrderSequence team_page_order_sequence = 2;
1609
+ optional uint32 favorite_page_num = 3;
1610
+ }
1611
+
1612
+ message CMsgStickerHero {
1613
+ optional uint32 hero_id = 1;
1614
+ optional uint32 item_def_id = 2;
1615
+ optional uint32 quality = 3;
1616
+ optional uint64 source_item_id = 4;
1617
+ }
1618
+
1619
+ message CMsgStickerHeroes {
1620
+ repeated .CMsgStickerHero heroes = 1;
1621
+ }
1622
+
1623
+ message CMsgHeroRoleStats {
1624
+ optional uint32 lane_selection_flags = 1;
1625
+ optional uint32 match_count = 2;
1626
+ optional uint32 win_count = 3;
1627
+ }
1628
+
1629
+ message CMsgHeroRoleHeroStats {
1630
+ optional uint32 hero_id = 1;
1631
+ repeated .CMsgHeroRoleStats role_stats = 2;
1632
+ }
1633
+
1634
+ message CMsgHeroRoleRankStats {
1635
+ optional uint32 rank_tier = 1;
1636
+ repeated .CMsgHeroRoleHeroStats hero_stats = 2;
1637
+ }
1638
+
1639
+ message CMsgHeroRoleAllRanksStats {
1640
+ optional uint32 start_timestamp = 1;
1641
+ optional uint32 end_timestamp = 2;
1642
+ repeated .CMsgHeroRoleRankStats rank_stats = 3;
1643
+ }
1644
+
1645
+ message CMsgMapStatsSnapshot {
1646
+ optional uint32 timestamp = 1;
1647
+ optional uint64 lotuses_gained = 2;
1648
+ optional uint64 wisdom_runes_gained = 3;
1649
+ optional uint64 roshan_kills_day = 4;
1650
+ optional uint64 roshan_kills_night = 5;
1651
+ optional uint64 portals_used = 6;
1652
+ optional uint64 watchers_taken = 7;
1653
+ optional uint64 tormentor_kills = 8;
1654
+ optional uint64 outposts_captured = 9;
1655
+ optional uint64 shield_runes_gained = 10;
1656
+ }
1657
+
1658
+ message CMsgGlobalMapStats {
1659
+ optional .CMsgMapStatsSnapshot current = 1;
1660
+ optional .CMsgMapStatsSnapshot window_start = 2;
1661
+ optional .CMsgMapStatsSnapshot window_end = 3;
1662
+ }
1663
+
1664
+ message CMsgTrackedStat {
1665
+ optional uint32 tracked_stat_id = 1;
1666
+ optional int32 tracked_stat_value = 2;
1667
+ }