1#[derive(serde::Serialize, serde::Deserialize)]
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct CDemoFileHeader {
6 #[prost(string, required, tag = "1")]
7 pub demo_file_stamp: ::prost::alloc::string::String,
8 #[prost(int32, optional, tag = "2")]
9 pub network_protocol: ::core::option::Option<i32>,
10 #[prost(string, optional, tag = "3")]
11 pub server_name: ::core::option::Option<::prost::alloc::string::String>,
12 #[prost(string, optional, tag = "4")]
13 pub client_name: ::core::option::Option<::prost::alloc::string::String>,
14 #[prost(string, optional, tag = "5")]
15 pub map_name: ::core::option::Option<::prost::alloc::string::String>,
16 #[prost(string, optional, tag = "6")]
17 pub game_directory: ::core::option::Option<::prost::alloc::string::String>,
18 #[prost(int32, optional, tag = "7")]
19 pub fullpackets_version: ::core::option::Option<i32>,
20 #[prost(bool, optional, tag = "8")]
21 pub allow_clientside_entities: ::core::option::Option<bool>,
22 #[prost(bool, optional, tag = "9")]
23 pub allow_clientside_particles: ::core::option::Option<bool>,
24 #[prost(string, optional, tag = "10")]
25 pub addons: ::core::option::Option<::prost::alloc::string::String>,
26 #[prost(string, optional, tag = "11")]
27 pub demo_version_name: ::core::option::Option<::prost::alloc::string::String>,
28 #[prost(string, optional, tag = "12")]
29 pub demo_version_guid: ::core::option::Option<::prost::alloc::string::String>,
30 #[prost(int32, optional, tag = "13")]
31 pub build_num: ::core::option::Option<i32>,
32 #[prost(string, optional, tag = "14")]
33 pub game: ::core::option::Option<::prost::alloc::string::String>,
34 #[prost(int32, optional, tag = "15")]
35 pub server_start_tick: ::core::option::Option<i32>,
36}
37#[derive(serde::Serialize, serde::Deserialize)]
38#[allow(clippy::derive_partial_eq_without_eq)]
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct CGameInfo {
41 #[prost(message, optional, tag = "4")]
42 pub dota: ::core::option::Option<c_game_info::CDotaGameInfo>,
43 #[prost(message, optional, tag = "5")]
44 pub cs: ::core::option::Option<c_game_info::CcsGameInfo>,
45}
46pub mod c_game_info {
48 #[derive(serde::Serialize, serde::Deserialize)]
49 #[allow(clippy::derive_partial_eq_without_eq)]
50 #[derive(Clone, PartialEq, ::prost::Message)]
51 pub struct CDotaGameInfo {
52 #[prost(uint64, optional, tag = "1")]
53 pub match_id: ::core::option::Option<u64>,
54 #[prost(int32, optional, tag = "2")]
55 pub game_mode: ::core::option::Option<i32>,
56 #[prost(int32, optional, tag = "3")]
57 pub game_winner: ::core::option::Option<i32>,
58 #[prost(message, repeated, tag = "4")]
59 pub player_info: ::prost::alloc::vec::Vec<c_dota_game_info::CPlayerInfo>,
60 #[prost(uint32, optional, tag = "5")]
61 pub leagueid: ::core::option::Option<u32>,
62 #[prost(message, repeated, tag = "6")]
63 pub picks_bans: ::prost::alloc::vec::Vec<c_dota_game_info::CHeroSelectEvent>,
64 #[prost(uint32, optional, tag = "7")]
65 pub radiant_team_id: ::core::option::Option<u32>,
66 #[prost(uint32, optional, tag = "8")]
67 pub dire_team_id: ::core::option::Option<u32>,
68 #[prost(string, optional, tag = "9")]
69 pub radiant_team_tag: ::core::option::Option<::prost::alloc::string::String>,
70 #[prost(string, optional, tag = "10")]
71 pub dire_team_tag: ::core::option::Option<::prost::alloc::string::String>,
72 #[prost(uint32, optional, tag = "11")]
73 pub end_time: ::core::option::Option<u32>,
74 }
75 pub mod c_dota_game_info {
77 #[derive(serde::Serialize, serde::Deserialize)]
78 #[allow(clippy::derive_partial_eq_without_eq)]
79 #[derive(Clone, PartialEq, ::prost::Message)]
80 pub struct CPlayerInfo {
81 #[prost(string, optional, tag = "1")]
82 pub hero_name: ::core::option::Option<::prost::alloc::string::String>,
83 #[prost(string, optional, tag = "2")]
84 pub player_name: ::core::option::Option<::prost::alloc::string::String>,
85 #[prost(bool, optional, tag = "3")]
86 pub is_fake_client: ::core::option::Option<bool>,
87 #[prost(uint64, optional, tag = "4")]
88 pub steamid: ::core::option::Option<u64>,
89 #[prost(int32, optional, tag = "5")]
90 pub game_team: ::core::option::Option<i32>,
91 }
92 #[derive(serde::Serialize, serde::Deserialize)]
93 #[allow(clippy::derive_partial_eq_without_eq)]
94 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
95 pub struct CHeroSelectEvent {
96 #[prost(bool, optional, tag = "1")]
97 pub is_pick: ::core::option::Option<bool>,
98 #[prost(uint32, optional, tag = "2")]
99 pub team: ::core::option::Option<u32>,
100 #[prost(uint32, optional, tag = "3")]
101 pub hero_id: ::core::option::Option<u32>,
102 }
103 }
104 #[derive(serde::Serialize, serde::Deserialize)]
105 #[allow(clippy::derive_partial_eq_without_eq)]
106 #[derive(Clone, PartialEq, ::prost::Message)]
107 pub struct CcsGameInfo {
108 #[prost(int32, repeated, packed = "false", tag = "1")]
109 pub round_start_ticks: ::prost::alloc::vec::Vec<i32>,
110 }
111}
112#[derive(serde::Serialize, serde::Deserialize)]
113#[allow(clippy::derive_partial_eq_without_eq)]
114#[derive(Clone, PartialEq, ::prost::Message)]
115pub struct CDemoFileInfo {
116 #[prost(float, optional, tag = "1")]
117 pub playback_time: ::core::option::Option<f32>,
118 #[prost(int32, optional, tag = "2")]
119 pub playback_ticks: ::core::option::Option<i32>,
120 #[prost(int32, optional, tag = "3")]
121 pub playback_frames: ::core::option::Option<i32>,
122 #[prost(message, optional, tag = "4")]
123 pub game_info: ::core::option::Option<CGameInfo>,
124}
125#[derive(serde::Serialize, serde::Deserialize)]
126#[allow(clippy::derive_partial_eq_without_eq)]
127#[derive(Clone, PartialEq, ::prost::Message)]
128pub struct CDemoPacket {
129 #[prost(bytes = "vec", optional, tag = "3")]
130 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
131}
132#[derive(serde::Serialize, serde::Deserialize)]
133#[allow(clippy::derive_partial_eq_without_eq)]
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct CDemoFullPacket {
136 #[prost(message, optional, tag = "1")]
137 pub string_table: ::core::option::Option<CDemoStringTables>,
138 #[prost(message, optional, tag = "2")]
139 pub packet: ::core::option::Option<CDemoPacket>,
140}
141#[derive(serde::Serialize, serde::Deserialize)]
142#[allow(clippy::derive_partial_eq_without_eq)]
143#[derive(Clone, PartialEq, ::prost::Message)]
144pub struct CDemoSaveGame {
145 #[prost(bytes = "vec", optional, tag = "1")]
146 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
147 #[prost(fixed64, optional, tag = "2")]
148 pub steam_id: ::core::option::Option<u64>,
149 #[prost(fixed64, optional, tag = "3")]
150 pub signature: ::core::option::Option<u64>,
151 #[prost(int32, optional, tag = "4")]
152 pub version: ::core::option::Option<i32>,
153}
154#[derive(serde::Serialize, serde::Deserialize)]
155#[allow(clippy::derive_partial_eq_without_eq)]
156#[derive(Clone, Copy, PartialEq, ::prost::Message)]
157pub struct CDemoSyncTick {}
158#[derive(serde::Serialize, serde::Deserialize)]
159#[allow(clippy::derive_partial_eq_without_eq)]
160#[derive(Clone, PartialEq, ::prost::Message)]
161pub struct CDemoConsoleCmd {
162 #[prost(string, optional, tag = "1")]
163 pub cmdstring: ::core::option::Option<::prost::alloc::string::String>,
164}
165#[derive(serde::Serialize, serde::Deserialize)]
166#[allow(clippy::derive_partial_eq_without_eq)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct CDemoSendTables {
169 #[prost(bytes = "vec", optional, tag = "1")]
170 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
171}
172#[derive(serde::Serialize, serde::Deserialize)]
173#[allow(clippy::derive_partial_eq_without_eq)]
174#[derive(Clone, PartialEq, ::prost::Message)]
175pub struct CDemoClassInfo {
176 #[prost(message, repeated, tag = "1")]
177 pub classes: ::prost::alloc::vec::Vec<c_demo_class_info::ClassT>,
178}
179pub mod c_demo_class_info {
181 #[derive(serde::Serialize, serde::Deserialize)]
182 #[allow(clippy::derive_partial_eq_without_eq)]
183 #[derive(Clone, PartialEq, ::prost::Message)]
184 pub struct ClassT {
185 #[prost(int32, optional, tag = "1")]
186 pub class_id: ::core::option::Option<i32>,
187 #[prost(string, optional, tag = "2")]
188 pub network_name: ::core::option::Option<::prost::alloc::string::String>,
189 #[prost(string, optional, tag = "3")]
190 pub table_name: ::core::option::Option<::prost::alloc::string::String>,
191 }
192}
193#[derive(serde::Serialize, serde::Deserialize)]
194#[allow(clippy::derive_partial_eq_without_eq)]
195#[derive(Clone, PartialEq, ::prost::Message)]
196pub struct CDemoCustomData {
197 #[prost(int32, optional, tag = "1")]
198 pub callback_index: ::core::option::Option<i32>,
199 #[prost(bytes = "vec", optional, tag = "2")]
200 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
201}
202#[derive(serde::Serialize, serde::Deserialize)]
203#[allow(clippy::derive_partial_eq_without_eq)]
204#[derive(Clone, PartialEq, ::prost::Message)]
205pub struct CDemoCustomDataCallbacks {
206 #[prost(string, repeated, tag = "1")]
207 pub save_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
208}
209#[derive(serde::Serialize, serde::Deserialize)]
210#[allow(clippy::derive_partial_eq_without_eq)]
211#[derive(Clone, PartialEq, ::prost::Message)]
212pub struct CDemoAnimationHeader {
213 #[prost(sint32, optional, tag = "1")]
214 pub entity_id: ::core::option::Option<i32>,
215 #[prost(int32, optional, tag = "2")]
216 pub tick: ::core::option::Option<i32>,
217 #[prost(bytes = "vec", optional, tag = "3")]
218 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
219}
220#[derive(serde::Serialize, serde::Deserialize)]
221#[allow(clippy::derive_partial_eq_without_eq)]
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct CDemoAnimationData {
224 #[prost(sint32, optional, tag = "1")]
225 pub entity_id: ::core::option::Option<i32>,
226 #[prost(int32, optional, tag = "2")]
227 pub start_tick: ::core::option::Option<i32>,
228 #[prost(int32, optional, tag = "3")]
229 pub end_tick: ::core::option::Option<i32>,
230 #[prost(bytes = "vec", optional, tag = "4")]
231 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
232 #[prost(int64, optional, tag = "5")]
233 pub data_checksum: ::core::option::Option<i64>,
234}
235#[derive(serde::Serialize, serde::Deserialize)]
236#[allow(clippy::derive_partial_eq_without_eq)]
237#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct CDemoStringTables {
239 #[prost(message, repeated, tag = "1")]
240 pub tables: ::prost::alloc::vec::Vec<c_demo_string_tables::TableT>,
241}
242pub mod c_demo_string_tables {
244 #[derive(serde::Serialize, serde::Deserialize)]
245 #[allow(clippy::derive_partial_eq_without_eq)]
246 #[derive(Clone, PartialEq, ::prost::Message)]
247 pub struct ItemsT {
248 #[prost(string, optional, tag = "1")]
249 pub str: ::core::option::Option<::prost::alloc::string::String>,
250 #[prost(bytes = "vec", optional, tag = "2")]
251 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
252 }
253 #[derive(serde::Serialize, serde::Deserialize)]
254 #[allow(clippy::derive_partial_eq_without_eq)]
255 #[derive(Clone, PartialEq, ::prost::Message)]
256 pub struct TableT {
257 #[prost(string, optional, tag = "1")]
258 pub table_name: ::core::option::Option<::prost::alloc::string::String>,
259 #[prost(message, repeated, tag = "2")]
260 pub items: ::prost::alloc::vec::Vec<ItemsT>,
261 #[prost(message, repeated, tag = "3")]
262 pub items_clientside: ::prost::alloc::vec::Vec<ItemsT>,
263 #[prost(int32, optional, tag = "4")]
264 pub table_flags: ::core::option::Option<i32>,
265 }
266}
267#[derive(serde::Serialize, serde::Deserialize)]
268#[allow(clippy::derive_partial_eq_without_eq)]
269#[derive(Clone, Copy, PartialEq, ::prost::Message)]
270pub struct CDemoStop {}
271#[derive(serde::Serialize, serde::Deserialize)]
272#[allow(clippy::derive_partial_eq_without_eq)]
273#[derive(Clone, PartialEq, ::prost::Message)]
274pub struct CDemoUserCmd {
275 #[prost(int32, optional, tag = "1")]
276 pub cmd_number: ::core::option::Option<i32>,
277 #[prost(bytes = "vec", optional, tag = "2")]
278 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
279}
280#[derive(serde::Serialize, serde::Deserialize)]
281#[allow(clippy::derive_partial_eq_without_eq)]
282#[derive(Clone, PartialEq, ::prost::Message)]
283pub struct CDemoSpawnGroups {
284 #[prost(bytes = "vec", repeated, tag = "3")]
285 pub msgs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
286}
287#[derive(
288 serde::Serialize,
289 serde::Deserialize,
290 Clone,
291 Copy,
292 Debug,
293 PartialEq,
294 Eq,
295 Hash,
296 PartialOrd,
297 Ord,
298 ::prost::Enumeration,
299)]
300#[repr(i32)]
301pub enum EDemoCommands {
302 DemError = -1,
303 DemStop = 0,
304 DemFileHeader = 1,
305 DemFileInfo = 2,
306 DemSyncTick = 3,
307 DemSendTables = 4,
308 DemClassInfo = 5,
309 DemStringTables = 6,
310 DemPacket = 7,
311 DemSignonPacket = 8,
312 DemConsoleCmd = 9,
313 DemCustomData = 10,
314 DemCustomDataCallbacks = 11,
315 DemUserCmd = 12,
316 DemFullPacket = 13,
317 DemSaveGame = 14,
318 DemSpawnGroups = 15,
319 DemAnimationData = 16,
320 DemAnimationHeader = 17,
321 DemMax = 18,
322 DemIsCompressed = 64,
323}
324#[derive(
325 serde::Serialize,
326 serde::Deserialize,
327 Clone,
328 Copy,
329 Debug,
330 PartialEq,
331 Eq,
332 Hash,
333 PartialOrd,
334 Ord,
335 ::prost::Enumeration,
336)]
337#[repr(i32)]
338pub enum ENetworkDisconnectionReason {
339 NetworkDisconnectInvalid = 0,
340 NetworkDisconnectShutdown = 1,
341 NetworkDisconnectDisconnectByUser = 2,
342 NetworkDisconnectDisconnectByServer = 3,
343 NetworkDisconnectLost = 4,
344 NetworkDisconnectOverflow = 5,
345 NetworkDisconnectSteamBanned = 6,
346 NetworkDisconnectSteamInuse = 7,
347 NetworkDisconnectSteamTicket = 8,
348 NetworkDisconnectSteamLogon = 9,
349 NetworkDisconnectSteamAuthcancelled = 10,
350 NetworkDisconnectSteamAuthalreadyused = 11,
351 NetworkDisconnectSteamAuthinvalid = 12,
352 NetworkDisconnectSteamVacbanstate = 13,
353 NetworkDisconnectSteamLoggedInElsewhere = 14,
354 NetworkDisconnectSteamVacCheckTimedout = 15,
355 NetworkDisconnectSteamDropped = 16,
356 NetworkDisconnectSteamOwnership = 17,
357 NetworkDisconnectServerinfoOverflow = 18,
358 NetworkDisconnectTickmsgOverflow = 19,
359 NetworkDisconnectStringtablemsgOverflow = 20,
360 NetworkDisconnectDeltaentmsgOverflow = 21,
361 NetworkDisconnectTempentmsgOverflow = 22,
362 NetworkDisconnectSoundsmsgOverflow = 23,
363 NetworkDisconnectSnapshotoverflow = 24,
364 NetworkDisconnectSnapshoterror = 25,
365 NetworkDisconnectReliableoverflow = 26,
366 NetworkDisconnectBaddeltatick = 27,
367 NetworkDisconnectNomoresplits = 28,
368 NetworkDisconnectTimedout = 29,
369 NetworkDisconnectDisconnected = 30,
370 NetworkDisconnectLeavingsplit = 31,
371 NetworkDisconnectDifferentclasstables = 32,
372 NetworkDisconnectBadrelaypassword = 33,
373 NetworkDisconnectBadspectatorpassword = 34,
374 NetworkDisconnectHltvrestricted = 35,
375 NetworkDisconnectNospectators = 36,
376 NetworkDisconnectHltvunavailable = 37,
377 NetworkDisconnectHltvstop = 38,
378 NetworkDisconnectKicked = 39,
379 NetworkDisconnectBanadded = 40,
380 NetworkDisconnectKickbanadded = 41,
381 NetworkDisconnectHltvdirect = 42,
382 NetworkDisconnectPureserverClientextra = 43,
383 NetworkDisconnectPureserverMismatch = 44,
384 NetworkDisconnectUsercmd = 45,
385 NetworkDisconnectRejectedByGame = 46,
386 NetworkDisconnectMessageParseError = 47,
387 NetworkDisconnectInvalidMessageError = 48,
388 NetworkDisconnectBadServerPassword = 49,
389 NetworkDisconnectDirectConnectReservation = 50,
390 NetworkDisconnectConnectionFailure = 51,
391 NetworkDisconnectNoPeerGroupHandlers = 52,
392 NetworkDisconnectReconnection = 53,
393 NetworkDisconnectLoopshutdown = 54,
394 NetworkDisconnectLoopdeactivate = 55,
395 NetworkDisconnectHostEndgame = 56,
396 NetworkDisconnectLoopLevelloadActivate = 57,
397 NetworkDisconnectCreateServerFailed = 58,
398 NetworkDisconnectExiting = 59,
399 NetworkDisconnectRequestHoststateIdle = 60,
400 NetworkDisconnectRequestHoststateHltvrelay = 61,
401 NetworkDisconnectClientConsistencyFail = 62,
402 NetworkDisconnectClientUnableToCrcMap = 63,
403 NetworkDisconnectClientNoMap = 64,
404 NetworkDisconnectClientDifferentMap = 65,
405 NetworkDisconnectServerRequiresSteam = 66,
406 NetworkDisconnectSteamDenyMisc = 67,
407 NetworkDisconnectSteamDenyBadAntiCheat = 68,
408 NetworkDisconnectServerShutdown = 69,
409 NetworkDisconnectReplayIncompatible = 71,
410 NetworkDisconnectConnectRequestTimedout = 72,
411 NetworkDisconnectServerIncompatible = 73,
412 NetworkDisconnectLocalproblemManyrelays = 74,
413 NetworkDisconnectLocalproblemHostedserverprimaryrelay = 75,
414 NetworkDisconnectLocalproblemNetworkconfig = 76,
415 NetworkDisconnectLocalproblemOther = 77,
416 NetworkDisconnectRemoteTimeout = 79,
417 NetworkDisconnectRemoteTimeoutConnecting = 80,
418 NetworkDisconnectRemoteOther = 81,
419 NetworkDisconnectRemoteBadcrypt = 82,
420 NetworkDisconnectRemoteCertnottrusted = 83,
421 NetworkDisconnectUnusual = 84,
422 NetworkDisconnectInternalError = 85,
423 NetworkDisconnectRejectBadchallenge = 128,
424 NetworkDisconnectRejectNolobby = 129,
425 NetworkDisconnectRejectBackgroundMap = 130,
426 NetworkDisconnectRejectSinglePlayer = 131,
427 NetworkDisconnectRejectHiddenGame = 132,
428 NetworkDisconnectRejectLanrestrict = 133,
429 NetworkDisconnectRejectBadpassword = 134,
430 NetworkDisconnectRejectServerfull = 135,
431 NetworkDisconnectRejectInvalidreservation = 136,
432 NetworkDisconnectRejectFailedchannel = 137,
433 NetworkDisconnectRejectConnectFromLobby = 138,
434 NetworkDisconnectRejectReservedForLobby = 139,
435 NetworkDisconnectRejectInvalidkeylength = 140,
436 NetworkDisconnectRejectOldprotocol = 141,
437 NetworkDisconnectRejectNewprotocol = 142,
438 NetworkDisconnectRejectInvalidconnection = 143,
439 NetworkDisconnectRejectInvalidcertlen = 144,
440 NetworkDisconnectRejectInvalidsteamcertlen = 145,
441 NetworkDisconnectRejectSteam = 146,
442 NetworkDisconnectRejectServerauthdisabled = 147,
443 NetworkDisconnectRejectServercdkeyauthinvalid = 148,
444 NetworkDisconnectRejectBanned = 149,
445 NetworkDisconnectKickedTeamkilling = 150,
446 NetworkDisconnectKickedTkStart = 151,
447 NetworkDisconnectKickedUntrustedaccount = 152,
448 NetworkDisconnectKickedConvictedaccount = 153,
449 NetworkDisconnectKickedCompetitivecooldown = 154,
450 NetworkDisconnectKickedTeamhurting = 155,
451 NetworkDisconnectKickedHostagekilling = 156,
452 NetworkDisconnectKickedVotedoff = 157,
453 NetworkDisconnectKickedIdle = 158,
454 NetworkDisconnectKickedSuicide = 159,
455 NetworkDisconnectKickedNosteamlogin = 160,
456 NetworkDisconnectKickedNosteamticket = 161,
457}
458#[derive(serde::Serialize, serde::Deserialize)]
459#[allow(clippy::derive_partial_eq_without_eq)]
460#[derive(Clone, Copy, PartialEq, ::prost::Message)]
461pub struct CMsgVector {
462 #[prost(float, optional, tag = "1")]
463 pub x: ::core::option::Option<f32>,
464 #[prost(float, optional, tag = "2")]
465 pub y: ::core::option::Option<f32>,
466 #[prost(float, optional, tag = "3")]
467 pub z: ::core::option::Option<f32>,
468 #[prost(float, optional, tag = "4")]
469 pub w: ::core::option::Option<f32>,
470}
471#[derive(serde::Serialize, serde::Deserialize)]
472#[allow(clippy::derive_partial_eq_without_eq)]
473#[derive(Clone, Copy, PartialEq, ::prost::Message)]
474pub struct CMsgVector2D {
475 #[prost(float, optional, tag = "1")]
476 pub x: ::core::option::Option<f32>,
477 #[prost(float, optional, tag = "2")]
478 pub y: ::core::option::Option<f32>,
479}
480#[derive(serde::Serialize, serde::Deserialize)]
481#[allow(clippy::derive_partial_eq_without_eq)]
482#[derive(Clone, Copy, PartialEq, ::prost::Message)]
483pub struct CMsgQAngle {
484 #[prost(float, optional, tag = "1")]
485 pub x: ::core::option::Option<f32>,
486 #[prost(float, optional, tag = "2")]
487 pub y: ::core::option::Option<f32>,
488 #[prost(float, optional, tag = "3")]
489 pub z: ::core::option::Option<f32>,
490}
491#[derive(serde::Serialize, serde::Deserialize)]
492#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, Copy, PartialEq, ::prost::Message)]
494pub struct CMsgQuaternion {
495 #[prost(float, optional, tag = "1")]
496 pub x: ::core::option::Option<f32>,
497 #[prost(float, optional, tag = "2")]
498 pub y: ::core::option::Option<f32>,
499 #[prost(float, optional, tag = "3")]
500 pub z: ::core::option::Option<f32>,
501 #[prost(float, optional, tag = "4")]
502 pub w: ::core::option::Option<f32>,
503}
504#[derive(serde::Serialize, serde::Deserialize)]
505#[allow(clippy::derive_partial_eq_without_eq)]
506#[derive(Clone, Copy, PartialEq, ::prost::Message)]
507pub struct CMsgTransform {
508 #[prost(message, optional, tag = "1")]
509 pub position: ::core::option::Option<CMsgVector>,
510 #[prost(float, optional, tag = "2")]
511 pub scale: ::core::option::Option<f32>,
512 #[prost(message, optional, tag = "3")]
513 pub orientation: ::core::option::Option<CMsgQuaternion>,
514}
515#[derive(serde::Serialize, serde::Deserialize)]
516#[allow(clippy::derive_partial_eq_without_eq)]
517#[derive(Clone, Copy, PartialEq, ::prost::Message)]
518pub struct CMsgRgba {
519 #[prost(int32, optional, tag = "1")]
520 pub r: ::core::option::Option<i32>,
521 #[prost(int32, optional, tag = "2")]
522 pub g: ::core::option::Option<i32>,
523 #[prost(int32, optional, tag = "3")]
524 pub b: ::core::option::Option<i32>,
525 #[prost(int32, optional, tag = "4")]
526 pub a: ::core::option::Option<i32>,
527}
528#[derive(serde::Serialize, serde::Deserialize)]
529#[allow(clippy::derive_partial_eq_without_eq)]
530#[derive(Clone, PartialEq, ::prost::Message)]
531pub struct CMsgPlayerInfo {
532 #[prost(string, optional, tag = "1")]
533 pub name: ::core::option::Option<::prost::alloc::string::String>,
534 #[prost(fixed64, optional, tag = "2")]
535 pub xuid: ::core::option::Option<u64>,
536 #[prost(int32, optional, tag = "3")]
537 pub userid: ::core::option::Option<i32>,
538 #[prost(fixed64, optional, tag = "4")]
539 pub steamid: ::core::option::Option<u64>,
540 #[prost(bool, optional, tag = "5")]
541 pub fakeplayer: ::core::option::Option<bool>,
542 #[prost(bool, optional, tag = "6")]
543 pub ishltv: ::core::option::Option<bool>,
544}
545#[derive(serde::Serialize, serde::Deserialize)]
546#[allow(clippy::derive_partial_eq_without_eq)]
547#[derive(Clone, Copy, PartialEq, ::prost::Message)]
548pub struct CEntityMsg {
549 #[prost(uint32, optional, tag = "1", default = "16777215")]
550 pub target_entity: ::core::option::Option<u32>,
551}
552#[derive(serde::Serialize, serde::Deserialize)]
553#[allow(clippy::derive_partial_eq_without_eq)]
554#[derive(Clone, PartialEq, ::prost::Message)]
555pub struct CMsgCVars {
556 #[prost(message, repeated, tag = "1")]
557 pub cvars: ::prost::alloc::vec::Vec<c_msg_c_vars::CVar>,
558}
559pub mod c_msg_c_vars {
561 #[derive(serde::Serialize, serde::Deserialize)]
562 #[allow(clippy::derive_partial_eq_without_eq)]
563 #[derive(Clone, PartialEq, ::prost::Message)]
564 pub struct CVar {
565 #[prost(string, optional, tag = "1")]
566 pub name: ::core::option::Option<::prost::alloc::string::String>,
567 #[prost(string, optional, tag = "2")]
568 pub value: ::core::option::Option<::prost::alloc::string::String>,
569 }
570}
571#[derive(serde::Serialize, serde::Deserialize)]
572#[allow(clippy::derive_partial_eq_without_eq)]
573#[derive(Clone, Copy, PartialEq, ::prost::Message)]
574pub struct CNetMsgNop {}
575#[derive(serde::Serialize, serde::Deserialize)]
576#[allow(clippy::derive_partial_eq_without_eq)]
577#[derive(Clone, Copy, PartialEq, ::prost::Message)]
578pub struct CNetMsgSplitScreenUser {
579 #[prost(int32, optional, tag = "1")]
580 pub slot: ::core::option::Option<i32>,
581}
582#[derive(serde::Serialize, serde::Deserialize)]
583#[allow(clippy::derive_partial_eq_without_eq)]
584#[derive(Clone, Copy, PartialEq, ::prost::Message)]
585pub struct CNetMsgDisconnectLegacy {
586 #[prost(
587 enumeration = "ENetworkDisconnectionReason",
588 optional,
589 tag = "2",
590 default = "NetworkDisconnectInvalid"
591 )]
592 pub reason: ::core::option::Option<i32>,
593}
594#[derive(serde::Serialize, serde::Deserialize)]
595#[allow(clippy::derive_partial_eq_without_eq)]
596#[derive(Clone, PartialEq, ::prost::Message)]
597pub struct CNetMsgTick {
598 #[prost(uint32, optional, tag = "1")]
599 pub tick: ::core::option::Option<u32>,
600 #[prost(uint32, optional, tag = "2")]
601 pub host_frametime: ::core::option::Option<u32>,
602 #[prost(uint32, optional, tag = "3")]
603 pub host_frametime_std_deviation: ::core::option::Option<u32>,
604 #[prost(uint32, optional, tag = "4")]
605 pub host_computationtime: ::core::option::Option<u32>,
606 #[prost(uint32, optional, tag = "5")]
607 pub host_computationtime_std_deviation: ::core::option::Option<u32>,
608 #[prost(uint32, optional, tag = "6")]
609 pub host_framestarttime_std_deviation: ::core::option::Option<u32>,
610 #[prost(uint32, optional, tag = "7")]
611 pub host_loss: ::core::option::Option<u32>,
612 #[prost(uint32, optional, tag = "8")]
613 pub host_unfiltered_frametime: ::core::option::Option<u32>,
614 #[prost(uint32, optional, tag = "9")]
615 pub hltv_replay_flags: ::core::option::Option<u32>,
616 #[prost(uint32, optional, tag = "10")]
617 pub expected_long_tick: ::core::option::Option<u32>,
618 #[prost(string, optional, tag = "11")]
619 pub expected_long_tick_reason: ::core::option::Option<::prost::alloc::string::String>,
620}
621#[derive(serde::Serialize, serde::Deserialize)]
622#[allow(clippy::derive_partial_eq_without_eq)]
623#[derive(Clone, PartialEq, ::prost::Message)]
624pub struct CNetMsgStringCmd {
625 #[prost(string, optional, tag = "1")]
626 pub command: ::core::option::Option<::prost::alloc::string::String>,
627 #[prost(uint32, optional, tag = "2")]
628 pub prediction_sync: ::core::option::Option<u32>,
629}
630#[derive(serde::Serialize, serde::Deserialize)]
631#[allow(clippy::derive_partial_eq_without_eq)]
632#[derive(Clone, PartialEq, ::prost::Message)]
633pub struct CNetMsgSetConVar {
634 #[prost(message, optional, tag = "1")]
635 pub convars: ::core::option::Option<CMsgCVars>,
636}
637#[derive(serde::Serialize, serde::Deserialize)]
638#[allow(clippy::derive_partial_eq_without_eq)]
639#[derive(Clone, PartialEq, ::prost::Message)]
640pub struct CNetMsgSignonState {
641 #[prost(
642 enumeration = "SignonStateT",
643 optional,
644 tag = "1",
645 default = "SignonstateNone"
646 )]
647 pub signon_state: ::core::option::Option<i32>,
648 #[prost(uint32, optional, tag = "2")]
649 pub spawn_count: ::core::option::Option<u32>,
650 #[prost(uint32, optional, tag = "3")]
651 pub num_server_players: ::core::option::Option<u32>,
652 #[prost(string, repeated, tag = "4")]
653 pub players_networkids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
654 #[prost(string, optional, tag = "5")]
655 pub map_name: ::core::option::Option<::prost::alloc::string::String>,
656 #[prost(string, optional, tag = "6")]
657 pub addons: ::core::option::Option<::prost::alloc::string::String>,
658}
659#[derive(serde::Serialize, serde::Deserialize)]
660#[allow(clippy::derive_partial_eq_without_eq)]
661#[derive(Clone, PartialEq, ::prost::Message)]
662pub struct CSvcMsgGameEvent {
663 #[prost(string, optional, tag = "1")]
664 pub event_name: ::core::option::Option<::prost::alloc::string::String>,
665 #[prost(int32, optional, tag = "2")]
666 pub eventid: ::core::option::Option<i32>,
667 #[prost(message, repeated, tag = "3")]
668 pub keys: ::prost::alloc::vec::Vec<csvc_msg_game_event::KeyT>,
669}
670pub mod csvc_msg_game_event {
672 #[derive(serde::Serialize, serde::Deserialize)]
673 #[allow(clippy::derive_partial_eq_without_eq)]
674 #[derive(Clone, PartialEq, ::prost::Message)]
675 pub struct KeyT {
676 #[prost(int32, optional, tag = "1")]
677 pub r#type: ::core::option::Option<i32>,
678 #[prost(string, optional, tag = "2")]
679 pub val_string: ::core::option::Option<::prost::alloc::string::String>,
680 #[prost(float, optional, tag = "3")]
681 pub val_float: ::core::option::Option<f32>,
682 #[prost(int32, optional, tag = "4")]
683 pub val_long: ::core::option::Option<i32>,
684 #[prost(int32, optional, tag = "5")]
685 pub val_short: ::core::option::Option<i32>,
686 #[prost(int32, optional, tag = "6")]
687 pub val_byte: ::core::option::Option<i32>,
688 #[prost(bool, optional, tag = "7")]
689 pub val_bool: ::core::option::Option<bool>,
690 #[prost(uint64, optional, tag = "8")]
691 pub val_uint64: ::core::option::Option<u64>,
692 }
693}
694#[derive(serde::Serialize, serde::Deserialize)]
695#[allow(clippy::derive_partial_eq_without_eq)]
696#[derive(Clone, PartialEq, ::prost::Message)]
697pub struct CSvcMsgListGameEvents {
698 #[prost(message, repeated, tag = "1")]
699 pub events: ::prost::alloc::vec::Vec<csvc_msg_list_game_events::EventT>,
700}
701pub mod csvc_msg_list_game_events {
703 #[derive(serde::Serialize, serde::Deserialize)]
704 #[allow(clippy::derive_partial_eq_without_eq)]
705 #[derive(Clone, PartialEq, ::prost::Message)]
706 pub struct EventT {
707 #[prost(int32, optional, tag = "1")]
708 pub tick: ::core::option::Option<i32>,
709 #[prost(message, optional, tag = "2")]
710 pub event: ::core::option::Option<super::CSvcMsgGameEvent>,
711 }
712}
713#[derive(serde::Serialize, serde::Deserialize)]
714#[allow(clippy::derive_partial_eq_without_eq)]
715#[derive(Clone, PartialEq, ::prost::Message)]
716pub struct CNetMsgSpawnGroupLoad {
717 #[prost(string, optional, tag = "1")]
718 pub worldname: ::core::option::Option<::prost::alloc::string::String>,
719 #[prost(string, optional, tag = "2")]
720 pub entitylumpname: ::core::option::Option<::prost::alloc::string::String>,
721 #[prost(string, optional, tag = "3")]
722 pub entityfiltername: ::core::option::Option<::prost::alloc::string::String>,
723 #[prost(uint32, optional, tag = "4")]
724 pub spawngrouphandle: ::core::option::Option<u32>,
725 #[prost(uint32, optional, tag = "5")]
726 pub spawngroupownerhandle: ::core::option::Option<u32>,
727 #[prost(message, optional, tag = "6")]
728 pub world_offset_pos: ::core::option::Option<CMsgVector>,
729 #[prost(message, optional, tag = "7")]
730 pub world_offset_angle: ::core::option::Option<CMsgQAngle>,
731 #[prost(bytes = "vec", optional, tag = "8")]
732 pub spawngroupmanifest: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
733 #[prost(uint32, optional, tag = "9")]
734 pub flags: ::core::option::Option<u32>,
735 #[prost(int32, optional, tag = "10")]
736 pub tickcount: ::core::option::Option<i32>,
737 #[prost(bool, optional, tag = "11")]
738 pub manifestincomplete: ::core::option::Option<bool>,
739 #[prost(string, optional, tag = "12")]
740 pub localnamefixup: ::core::option::Option<::prost::alloc::string::String>,
741 #[prost(string, optional, tag = "13")]
742 pub parentnamefixup: ::core::option::Option<::prost::alloc::string::String>,
743 #[prost(int32, optional, tag = "14")]
744 pub manifestloadpriority: ::core::option::Option<i32>,
745 #[prost(uint32, optional, tag = "15")]
746 pub worldgroupid: ::core::option::Option<u32>,
747 #[prost(uint32, optional, tag = "16")]
748 pub creationsequence: ::core::option::Option<u32>,
749 #[prost(string, optional, tag = "17")]
750 pub savegamefilename: ::core::option::Option<::prost::alloc::string::String>,
751 #[prost(uint32, optional, tag = "18")]
752 pub spawngroupparenthandle: ::core::option::Option<u32>,
753 #[prost(bool, optional, tag = "19")]
754 pub leveltransition: ::core::option::Option<bool>,
755 #[prost(string, optional, tag = "20")]
756 pub worldgroupname: ::core::option::Option<::prost::alloc::string::String>,
757}
758#[derive(serde::Serialize, serde::Deserialize)]
759#[allow(clippy::derive_partial_eq_without_eq)]
760#[derive(Clone, PartialEq, ::prost::Message)]
761pub struct CNetMsgSpawnGroupManifestUpdate {
762 #[prost(uint32, optional, tag = "1")]
763 pub spawngrouphandle: ::core::option::Option<u32>,
764 #[prost(bytes = "vec", optional, tag = "2")]
765 pub spawngroupmanifest: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
766 #[prost(bool, optional, tag = "3")]
767 pub manifestincomplete: ::core::option::Option<bool>,
768}
769#[derive(serde::Serialize, serde::Deserialize)]
770#[allow(clippy::derive_partial_eq_without_eq)]
771#[derive(Clone, Copy, PartialEq, ::prost::Message)]
772pub struct CNetMsgSpawnGroupSetCreationTick {
773 #[prost(uint32, optional, tag = "1")]
774 pub spawngrouphandle: ::core::option::Option<u32>,
775 #[prost(int32, optional, tag = "2")]
776 pub tickcount: ::core::option::Option<i32>,
777 #[prost(uint32, optional, tag = "3")]
778 pub creationsequence: ::core::option::Option<u32>,
779}
780#[derive(serde::Serialize, serde::Deserialize)]
781#[allow(clippy::derive_partial_eq_without_eq)]
782#[derive(Clone, Copy, PartialEq, ::prost::Message)]
783pub struct CNetMsgSpawnGroupUnload {
784 #[prost(uint32, optional, tag = "1")]
785 pub spawngrouphandle: ::core::option::Option<u32>,
786 #[prost(uint32, optional, tag = "2")]
787 pub flags: ::core::option::Option<u32>,
788 #[prost(int32, optional, tag = "3")]
789 pub tickcount: ::core::option::Option<i32>,
790}
791#[derive(serde::Serialize, serde::Deserialize)]
792#[allow(clippy::derive_partial_eq_without_eq)]
793#[derive(Clone, Copy, PartialEq, ::prost::Message)]
794pub struct CNetMsgSpawnGroupLoadCompleted {
795 #[prost(uint32, optional, tag = "1")]
796 pub spawngrouphandle: ::core::option::Option<u32>,
797}
798#[derive(serde::Serialize, serde::Deserialize)]
799#[allow(clippy::derive_partial_eq_without_eq)]
800#[derive(Clone, PartialEq, ::prost::Message)]
801pub struct CSvcMsgGameSessionConfiguration {
802 #[prost(bool, optional, tag = "1")]
803 pub is_multiplayer: ::core::option::Option<bool>,
804 #[prost(bool, optional, tag = "2")]
805 pub is_loadsavegame: ::core::option::Option<bool>,
806 #[prost(bool, optional, tag = "3")]
807 pub is_background_map: ::core::option::Option<bool>,
808 #[prost(bool, optional, tag = "4")]
809 pub is_headless: ::core::option::Option<bool>,
810 #[prost(uint32, optional, tag = "5")]
811 pub min_client_limit: ::core::option::Option<u32>,
812 #[prost(uint32, optional, tag = "6")]
813 pub max_client_limit: ::core::option::Option<u32>,
814 #[prost(uint32, optional, tag = "7")]
815 pub max_clients: ::core::option::Option<u32>,
816 #[prost(fixed32, optional, tag = "8")]
817 pub tick_interval: ::core::option::Option<u32>,
818 #[prost(string, optional, tag = "9")]
819 pub hostname: ::core::option::Option<::prost::alloc::string::String>,
820 #[prost(string, optional, tag = "10")]
821 pub savegamename: ::core::option::Option<::prost::alloc::string::String>,
822 #[prost(string, optional, tag = "11")]
823 pub s1_mapname: ::core::option::Option<::prost::alloc::string::String>,
824 #[prost(string, optional, tag = "12")]
825 pub gamemode: ::core::option::Option<::prost::alloc::string::String>,
826 #[prost(string, optional, tag = "13")]
827 pub server_ip_address: ::core::option::Option<::prost::alloc::string::String>,
828 #[prost(bytes = "vec", optional, tag = "14")]
829 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
830 #[prost(bool, optional, tag = "15")]
831 pub is_localonly: ::core::option::Option<bool>,
832 #[prost(bool, optional, tag = "19")]
833 pub no_steam_server: ::core::option::Option<bool>,
834 #[prost(bool, optional, tag = "16")]
835 pub is_transition: ::core::option::Option<bool>,
836 #[prost(string, optional, tag = "17")]
837 pub previouslevel: ::core::option::Option<::prost::alloc::string::String>,
838 #[prost(string, optional, tag = "18")]
839 pub landmarkname: ::core::option::Option<::prost::alloc::string::String>,
840}
841#[derive(serde::Serialize, serde::Deserialize)]
842#[allow(clippy::derive_partial_eq_without_eq)]
843#[derive(Clone, PartialEq, ::prost::Message)]
844pub struct CNetMsgDebugOverlay {
845 #[prost(int32, optional, tag = "1")]
846 pub etype: ::core::option::Option<i32>,
847 #[prost(message, repeated, tag = "2")]
848 pub vectors: ::prost::alloc::vec::Vec<CMsgVector>,
849 #[prost(message, repeated, tag = "3")]
850 pub colors: ::prost::alloc::vec::Vec<CMsgRgba>,
851 #[prost(float, repeated, packed = "false", tag = "4")]
852 pub dimensions: ::prost::alloc::vec::Vec<f32>,
853 #[prost(float, repeated, packed = "false", tag = "5")]
854 pub times: ::prost::alloc::vec::Vec<f32>,
855 #[prost(bool, repeated, packed = "false", tag = "6")]
856 pub bools: ::prost::alloc::vec::Vec<bool>,
857 #[prost(uint64, repeated, packed = "false", tag = "7")]
858 pub uint64s: ::prost::alloc::vec::Vec<u64>,
859 #[prost(string, repeated, tag = "8")]
860 pub strings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
861}
862#[derive(
863 serde::Serialize,
864 serde::Deserialize,
865 Clone,
866 Copy,
867 Debug,
868 PartialEq,
869 Eq,
870 Hash,
871 PartialOrd,
872 Ord,
873 ::prost::Enumeration,
874)]
875#[repr(i32)]
876pub enum SignonStateT {
877 SignonstateNone = 0,
878 SignonstateChallenge = 1,
879 SignonstateConnected = 2,
880 SignonstateNew = 3,
881 SignonstatePrespawn = 4,
882 SignonstateSpawn = 5,
883 SignonstateFull = 6,
884 SignonstateChangelevel = 7,
885}
886#[derive(
887 serde::Serialize,
888 serde::Deserialize,
889 Clone,
890 Copy,
891 Debug,
892 PartialEq,
893 Eq,
894 Hash,
895 PartialOrd,
896 Ord,
897 ::prost::Enumeration,
898)]
899#[repr(i32)]
900pub enum NetMessages {
901 NetNop = 0,
902 NetDisconnectLegacy = 1,
903 NetSplitScreenUser = 3,
904 NetTick = 4,
905 NetStringCmd = 5,
906 NetSetConVar = 6,
907 NetSignonState = 7,
908 NetSpawnGroupLoad = 8,
909 NetSpawnGroupManifestUpdate = 9,
910 NetSpawnGroupSetCreationTick = 11,
911 NetSpawnGroupUnload = 12,
912 NetSpawnGroupLoadCompleted = 13,
913 NetDebugOverlay = 15,
914}
915#[derive(
916 serde::Serialize,
917 serde::Deserialize,
918 Clone,
919 Copy,
920 Debug,
921 PartialEq,
922 Eq,
923 Hash,
924 PartialOrd,
925 Ord,
926 ::prost::Enumeration,
927)]
928#[repr(i32)]
929pub enum SpawnGroupFlagsT {
930 SpawnGroupLoadEntitiesFromSave = 1,
931 SpawnGroupDontSpawnEntities = 2,
932 SpawnGroupSynchronousSpawn = 4,
933 SpawnGroupIsInitialSpawnGroup = 8,
934 SpawnGroupCreateClientOnlyEntities = 16,
935 SpawnGroupBlockUntilLoaded = 64,
936 SpawnGroupLoadStreamingData = 128,
937 SpawnGroupCreateNewSceneWorld = 256,
938}
939#[derive(serde::Serialize, serde::Deserialize)]
940#[allow(clippy::derive_partial_eq_without_eq)]
941#[derive(Clone, Copy, PartialEq, ::prost::Message)]
942pub struct CDotaMsgLocationPing {
943 #[prost(int32, optional, tag = "1")]
944 pub x: ::core::option::Option<i32>,
945 #[prost(int32, optional, tag = "2")]
946 pub y: ::core::option::Option<i32>,
947 #[prost(int32, optional, tag = "3", default = "-1")]
948 pub target: ::core::option::Option<i32>,
949 #[prost(bool, optional, tag = "4")]
950 pub direct_ping: ::core::option::Option<bool>,
951 #[prost(uint32, optional, tag = "5", default = "4294967295")]
952 pub r#type: ::core::option::Option<u32>,
953 #[prost(
954 enumeration = "EPingSource",
955 optional,
956 tag = "6",
957 default = "KEPingSourceDefault"
958 )]
959 pub ping_source: ::core::option::Option<i32>,
960}
961#[derive(serde::Serialize, serde::Deserialize)]
962#[allow(clippy::derive_partial_eq_without_eq)]
963#[derive(Clone, Copy, PartialEq, ::prost::Message)]
964pub struct CDotaMsgItemAlert {
965 #[prost(int32, optional, tag = "1")]
966 pub x: ::core::option::Option<i32>,
967 #[prost(int32, optional, tag = "2")]
968 pub y: ::core::option::Option<i32>,
969 #[prost(int32, optional, tag = "3", default = "-1")]
970 pub item_ability_id: ::core::option::Option<i32>,
971}
972#[derive(serde::Serialize, serde::Deserialize)]
973#[allow(clippy::derive_partial_eq_without_eq)]
974#[derive(Clone, Copy, PartialEq, ::prost::Message)]
975pub struct CDotaMsgMapLine {
976 #[prost(int32, optional, tag = "1")]
977 pub x: ::core::option::Option<i32>,
978 #[prost(int32, optional, tag = "2")]
979 pub y: ::core::option::Option<i32>,
980 #[prost(bool, optional, tag = "3")]
981 pub initial: ::core::option::Option<bool>,
982}
983#[derive(serde::Serialize, serde::Deserialize)]
984#[allow(clippy::derive_partial_eq_without_eq)]
985#[derive(Clone, Copy, PartialEq, ::prost::Message)]
986pub struct CDotaMsgWorldLine {
987 #[prost(int32, optional, tag = "1")]
988 pub x: ::core::option::Option<i32>,
989 #[prost(int32, optional, tag = "2")]
990 pub y: ::core::option::Option<i32>,
991 #[prost(int32, optional, tag = "3")]
992 pub z: ::core::option::Option<i32>,
993 #[prost(bool, optional, tag = "4")]
994 pub initial: ::core::option::Option<bool>,
995 #[prost(bool, optional, tag = "5")]
996 pub end: ::core::option::Option<bool>,
997}
998#[derive(serde::Serialize, serde::Deserialize)]
999#[allow(clippy::derive_partial_eq_without_eq)]
1000#[derive(Clone, PartialEq, ::prost::Message)]
1001pub struct CDotaMsgSendStatPopup {
1002 #[prost(
1003 enumeration = "EDotaStatPopupTypes",
1004 optional,
1005 tag = "1",
1006 default = "KEDotaSptTextline"
1007 )]
1008 pub style: ::core::option::Option<i32>,
1009 #[prost(string, repeated, tag = "2")]
1010 pub stat_strings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1011 #[prost(int32, repeated, packed = "false", tag = "3")]
1012 pub stat_images: ::prost::alloc::vec::Vec<i32>,
1013 #[prost(int32, repeated, packed = "false", tag = "4")]
1014 pub stat_image_types: ::prost::alloc::vec::Vec<i32>,
1015 #[prost(float, optional, tag = "5")]
1016 pub duration: ::core::option::Option<f32>,
1017 #[prost(bool, optional, tag = "6")]
1018 pub use_html: ::core::option::Option<bool>,
1019 #[prost(string, optional, tag = "7")]
1020 pub movie_name: ::core::option::Option<::prost::alloc::string::String>,
1021}
1022#[derive(serde::Serialize, serde::Deserialize)]
1023#[allow(clippy::derive_partial_eq_without_eq)]
1024#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1025pub struct CDotaMsgDismissAllStatPopups {
1026 #[prost(float, optional, tag = "1")]
1027 pub time_delay: ::core::option::Option<f32>,
1028}
1029#[derive(serde::Serialize, serde::Deserialize)]
1030#[allow(clippy::derive_partial_eq_without_eq)]
1031#[derive(Clone, PartialEq, ::prost::Message)]
1032pub struct CDotaMsgCoachHudPing {
1033 #[prost(uint32, optional, tag = "1")]
1034 pub x: ::core::option::Option<u32>,
1035 #[prost(uint32, optional, tag = "2")]
1036 pub y: ::core::option::Option<u32>,
1037 #[prost(string, optional, tag = "3")]
1038 pub tgtpath: ::core::option::Option<::prost::alloc::string::String>,
1039}
1040#[derive(serde::Serialize, serde::Deserialize)]
1041#[allow(clippy::derive_partial_eq_without_eq)]
1042#[derive(Clone, PartialEq, ::prost::Message)]
1043pub struct CDotaMsgUnitOrder {
1044 #[prost(
1045 enumeration = "DotaunitorderT",
1046 optional,
1047 tag = "2",
1048 default = "DotaUnitOrderNone"
1049 )]
1050 pub order_type: ::core::option::Option<i32>,
1051 #[prost(int32, repeated, packed = "false", tag = "3")]
1052 pub units: ::prost::alloc::vec::Vec<i32>,
1053 #[prost(int32, optional, tag = "4", default = "0")]
1054 pub target_index: ::core::option::Option<i32>,
1055 #[prost(int32, optional, tag = "5", default = "-1")]
1056 pub ability_index: ::core::option::Option<i32>,
1057 #[prost(message, optional, tag = "6")]
1058 pub position: ::core::option::Option<CMsgVector>,
1059 #[prost(int32, optional, tag = "8")]
1060 pub sequence_number: ::core::option::Option<i32>,
1061 #[prost(uint32, optional, tag = "9")]
1062 pub flags: ::core::option::Option<u32>,
1063}
1064#[derive(serde::Serialize, serde::Deserialize)]
1065#[allow(clippy::derive_partial_eq_without_eq)]
1066#[derive(Clone, PartialEq, ::prost::Message)]
1067pub struct VersusScenePlayActivity {
1068 #[prost(message, repeated, tag = "1")]
1069 pub activities: ::prost::alloc::vec::Vec<versus_scene_play_activity::ActivityInfo>,
1070 #[prost(float, optional, tag = "2")]
1071 pub playback_rate: ::core::option::Option<f32>,
1072}
1073pub mod versus_scene_play_activity {
1075 #[derive(serde::Serialize, serde::Deserialize)]
1076 #[allow(clippy::derive_partial_eq_without_eq)]
1077 #[derive(Clone, PartialEq, ::prost::Message)]
1078 pub struct ActivityInfo {
1079 #[prost(string, optional, tag = "1")]
1080 pub activity: ::core::option::Option<::prost::alloc::string::String>,
1081 #[prost(bool, optional, tag = "2")]
1082 pub disable_auto_kill: ::core::option::Option<bool>,
1083 #[prost(bool, optional, tag = "3")]
1084 pub force_looping: ::core::option::Option<bool>,
1085 }
1086}
1087#[derive(serde::Serialize, serde::Deserialize)]
1088#[allow(clippy::derive_partial_eq_without_eq)]
1089#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1090pub struct VersusSceneChatWheel {
1091 #[prost(uint32, optional, tag = "1", default = "4294967295")]
1092 pub chat_message_id: ::core::option::Option<u32>,
1093 #[prost(uint32, optional, tag = "2")]
1094 pub emoticon_id: ::core::option::Option<u32>,
1095}
1096#[derive(serde::Serialize, serde::Deserialize)]
1097#[allow(clippy::derive_partial_eq_without_eq)]
1098#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1099pub struct VersusScenePlaybackRate {
1100 #[prost(float, optional, tag = "1")]
1101 pub rate: ::core::option::Option<f32>,
1102}
1103#[derive(
1104 serde::Serialize,
1105 serde::Deserialize,
1106 Clone,
1107 Copy,
1108 Debug,
1109 PartialEq,
1110 Eq,
1111 Hash,
1112 PartialOrd,
1113 Ord,
1114 ::prost::Enumeration,
1115)]
1116#[repr(i32)]
1117pub enum EPingSource {
1118 KEPingSourceDefault = 0,
1119 KEPingSourceWarning = 1,
1120 KEPingSourceWheel = 2,
1121 KEPingSourceSystem = 3,
1122}
1123#[derive(
1124 serde::Serialize,
1125 serde::Deserialize,
1126 Clone,
1127 Copy,
1128 Debug,
1129 PartialEq,
1130 Eq,
1131 Hash,
1132 PartialOrd,
1133 Ord,
1134 ::prost::Enumeration,
1135)]
1136#[repr(i32)]
1137pub enum EDotaStatPopupTypes {
1138 KEDotaSptTextline = 0,
1139 KEDotaSptBasic = 1,
1140 KEDotaSptPoll = 2,
1141 KEDotaSptGrid = 3,
1142 KEDotaSptDualImage = 4,
1143 KEDotaSptMovie = 5,
1144}
1145#[derive(
1146 serde::Serialize,
1147 serde::Deserialize,
1148 Clone,
1149 Copy,
1150 Debug,
1151 PartialEq,
1152 Eq,
1153 Hash,
1154 PartialOrd,
1155 Ord,
1156 ::prost::Enumeration,
1157)]
1158#[repr(i32)]
1159pub enum DotaunitorderT {
1160 DotaUnitOrderNone = 0,
1161 DotaUnitOrderMoveToPosition = 1,
1162 DotaUnitOrderMoveToTarget = 2,
1163 DotaUnitOrderAttackMove = 3,
1164 DotaUnitOrderAttackTarget = 4,
1165 DotaUnitOrderCastPosition = 5,
1166 DotaUnitOrderCastTarget = 6,
1167 DotaUnitOrderCastTargetTree = 7,
1168 DotaUnitOrderCastNoTarget = 8,
1169 DotaUnitOrderCastToggle = 9,
1170 DotaUnitOrderHoldPosition = 10,
1171 DotaUnitOrderTrainAbility = 11,
1172 DotaUnitOrderDropItem = 12,
1173 DotaUnitOrderGiveItem = 13,
1174 DotaUnitOrderPickupItem = 14,
1175 DotaUnitOrderPickupRune = 15,
1176 DotaUnitOrderPurchaseItem = 16,
1177 DotaUnitOrderSellItem = 17,
1178 DotaUnitOrderDisassembleItem = 18,
1179 DotaUnitOrderMoveItem = 19,
1180 DotaUnitOrderCastToggleAuto = 20,
1181 DotaUnitOrderStop = 21,
1182 DotaUnitOrderTaunt = 22,
1183 DotaUnitOrderBuyback = 23,
1184 DotaUnitOrderGlyph = 24,
1185 DotaUnitOrderEjectItemFromStash = 25,
1186 DotaUnitOrderCastRune = 26,
1187 DotaUnitOrderPingAbility = 27,
1188 DotaUnitOrderMoveToDirection = 28,
1189 DotaUnitOrderPatrol = 29,
1190 DotaUnitOrderVectorTargetPosition = 30,
1191 DotaUnitOrderRadar = 31,
1192 DotaUnitOrderSetItemCombineLock = 32,
1193 DotaUnitOrderContinue = 33,
1194 DotaUnitOrderVectorTargetCanceled = 34,
1195 DotaUnitOrderCastRiverPaint = 35,
1196 DotaUnitOrderPregameAdjustItemAssignment = 36,
1197 DotaUnitOrderDropItemAtFountain = 37,
1198 DotaUnitOrderTakeItemFromNeutralItemStash = 38,
1199 DotaUnitOrderMoveRelative = 39,
1200 DotaUnitOrderCastToggleAlt = 40,
1201 DotaUnitOrderConsumeItem = 41,
1202}
1203#[derive(
1204 serde::Serialize,
1205 serde::Deserialize,
1206 Clone,
1207 Copy,
1208 Debug,
1209 PartialEq,
1210 Eq,
1211 Hash,
1212 PartialOrd,
1213 Ord,
1214 ::prost::Enumeration,
1215)]
1216#[repr(i32)]
1217pub enum EDotaVersusScenePlayerBehavior {
1218 VsPlayerBehaviorPlayActivity = 1,
1219 VsPlayerBehaviorChatWheel = 2,
1220 VsPlayerBehaviorPlaybackRate = 3,
1221}
1222#[derive(serde::Serialize, serde::Deserialize)]
1223#[allow(clippy::derive_partial_eq_without_eq)]
1224#[derive(Clone, PartialEq, ::prost::Message)]
1225pub struct CDotaModifierBuffTableEntry {
1226 #[prost(
1227 enumeration = "DotaModifierEntryType",
1228 required,
1229 tag = "1",
1230 default = "Active"
1231 )]
1232 pub entry_type: i32,
1233 #[prost(uint32, required, tag = "2", default = "16777215")]
1234 pub parent: u32,
1235 #[prost(int32, required, tag = "3")]
1236 pub index: i32,
1237 #[prost(int32, required, tag = "4")]
1238 pub serial_num: i32,
1239 #[prost(int32, optional, tag = "5")]
1240 pub modifier_class: ::core::option::Option<i32>,
1241 #[prost(int32, optional, tag = "6")]
1242 pub ability_level: ::core::option::Option<i32>,
1243 #[prost(int32, optional, tag = "7")]
1244 pub stack_count: ::core::option::Option<i32>,
1245 #[prost(float, optional, tag = "8")]
1246 pub creation_time: ::core::option::Option<f32>,
1247 #[prost(float, optional, tag = "9", default = "-1")]
1248 pub duration: ::core::option::Option<f32>,
1249 #[prost(uint32, optional, tag = "10", default = "16777215")]
1250 pub caster: ::core::option::Option<u32>,
1251 #[prost(uint32, optional, tag = "11", default = "16777215")]
1252 pub ability: ::core::option::Option<u32>,
1253 #[prost(int32, optional, tag = "12")]
1254 pub armor: ::core::option::Option<i32>,
1255 #[prost(float, optional, tag = "13")]
1256 pub fade_time: ::core::option::Option<f32>,
1257 #[prost(bool, optional, tag = "14")]
1258 pub subtle: ::core::option::Option<bool>,
1259 #[prost(float, optional, tag = "15")]
1260 pub channel_time: ::core::option::Option<f32>,
1261 #[prost(message, optional, tag = "16")]
1262 pub v_start: ::core::option::Option<CMsgVector>,
1263 #[prost(message, optional, tag = "17")]
1264 pub v_end: ::core::option::Option<CMsgVector>,
1265 #[prost(string, optional, tag = "18")]
1266 pub portal_loop_appear: ::core::option::Option<::prost::alloc::string::String>,
1267 #[prost(string, optional, tag = "19")]
1268 pub portal_loop_disappear: ::core::option::Option<::prost::alloc::string::String>,
1269 #[prost(string, optional, tag = "20")]
1270 pub hero_loop_appear: ::core::option::Option<::prost::alloc::string::String>,
1271 #[prost(string, optional, tag = "21")]
1272 pub hero_loop_disappear: ::core::option::Option<::prost::alloc::string::String>,
1273 #[prost(int32, optional, tag = "22")]
1274 pub movement_speed: ::core::option::Option<i32>,
1275 #[prost(bool, optional, tag = "23")]
1276 pub aura: ::core::option::Option<bool>,
1277 #[prost(int32, optional, tag = "24")]
1278 pub activity: ::core::option::Option<i32>,
1279 #[prost(int32, optional, tag = "25")]
1280 pub damage: ::core::option::Option<i32>,
1281 #[prost(int32, optional, tag = "26")]
1282 pub range: ::core::option::Option<i32>,
1283 #[prost(int32, optional, tag = "27")]
1284 pub dd_modifier_index: ::core::option::Option<i32>,
1285 #[prost(int32, optional, tag = "28", default = "-1")]
1286 pub dd_ability_id: ::core::option::Option<i32>,
1287 #[prost(string, optional, tag = "29")]
1288 pub illusion_label: ::core::option::Option<::prost::alloc::string::String>,
1289 #[prost(bool, optional, tag = "30")]
1290 pub active: ::core::option::Option<bool>,
1291 #[prost(string, optional, tag = "31")]
1292 pub player_ids: ::core::option::Option<::prost::alloc::string::String>,
1293 #[prost(string, optional, tag = "32")]
1294 pub lua_name: ::core::option::Option<::prost::alloc::string::String>,
1295 #[prost(int32, optional, tag = "33")]
1296 pub attack_speed: ::core::option::Option<i32>,
1297 #[prost(uint32, optional, tag = "34", default = "16777215")]
1298 pub aura_owner: ::core::option::Option<u32>,
1299 #[prost(int32, optional, tag = "35")]
1300 pub bonus_all_stats: ::core::option::Option<i32>,
1301 #[prost(int32, optional, tag = "36")]
1302 pub bonus_health: ::core::option::Option<i32>,
1303 #[prost(int32, optional, tag = "37")]
1304 pub bonus_mana: ::core::option::Option<i32>,
1305 #[prost(uint32, optional, tag = "38", default = "16777215")]
1306 pub custom_entity: ::core::option::Option<u32>,
1307 #[prost(bool, optional, tag = "39")]
1308 pub aura_within_range: ::core::option::Option<bool>,
1309}
1310#[derive(serde::Serialize, serde::Deserialize)]
1311#[allow(clippy::derive_partial_eq_without_eq)]
1312#[derive(Clone, PartialEq, ::prost::Message)]
1313pub struct CDotaLuaModifierEntry {
1314 #[prost(int32, required, tag = "1")]
1315 pub modifier_type: i32,
1316 #[prost(string, required, tag = "2")]
1317 pub modifier_filename: ::prost::alloc::string::String,
1318}
1319#[derive(
1320 serde::Serialize,
1321 serde::Deserialize,
1322 Clone,
1323 Copy,
1324 Debug,
1325 PartialEq,
1326 Eq,
1327 Hash,
1328 PartialOrd,
1329 Ord,
1330 ::prost::Enumeration,
1331)]
1332#[repr(i32)]
1333pub enum DotaModifierEntryType {
1334 Active = 1,
1335 Removed = 2,
1336}
1337#[derive(serde::Serialize, serde::Deserialize)]
1338#[allow(clippy::derive_partial_eq_without_eq)]
1339#[derive(Clone, PartialEq, ::prost::Message)]
1340pub struct CDotaClientHardwareSpecs {
1341 #[prost(uint32, optional, tag = "1")]
1342 pub logical_processors: ::core::option::Option<u32>,
1343 #[prost(fixed64, optional, tag = "2")]
1344 pub cpu_cycles_per_second: ::core::option::Option<u64>,
1345 #[prost(fixed64, optional, tag = "3")]
1346 pub total_physical_memory: ::core::option::Option<u64>,
1347 #[prost(bool, optional, tag = "4")]
1348 pub is_64_bit_os: ::core::option::Option<bool>,
1349 #[prost(uint64, optional, tag = "5")]
1350 pub upload_measurement: ::core::option::Option<u64>,
1351 #[prost(bool, optional, tag = "6")]
1352 pub prefer_not_host: ::core::option::Option<bool>,
1353 #[prost(uint32, repeated, packed = "false", tag = "7")]
1354 pub crc: ::prost::alloc::vec::Vec<u32>,
1355}
1356#[derive(serde::Serialize, serde::Deserialize)]
1357#[allow(clippy::derive_partial_eq_without_eq)]
1358#[derive(Clone, PartialEq, ::prost::Message)]
1359pub struct CDotaSaveGame {
1360 #[prost(uint64, optional, tag = "5")]
1361 pub match_id: ::core::option::Option<u64>,
1362 #[prost(uint32, optional, tag = "2")]
1363 pub save_time: ::core::option::Option<u32>,
1364 #[prost(message, repeated, tag = "3")]
1365 pub players: ::prost::alloc::vec::Vec<cdota_save_game::Player>,
1366 #[prost(message, repeated, tag = "4")]
1367 pub save_instances: ::prost::alloc::vec::Vec<cdota_save_game::SaveInstance>,
1368}
1369pub mod cdota_save_game {
1371 #[derive(serde::Serialize, serde::Deserialize)]
1372 #[allow(clippy::derive_partial_eq_without_eq)]
1373 #[derive(Clone, PartialEq, ::prost::Message)]
1374 pub struct Player {
1375 #[prost(
1376 enumeration = "super::DotaGcTeam",
1377 optional,
1378 tag = "1",
1379 default = "GoodGuys"
1380 )]
1381 pub team: ::core::option::Option<i32>,
1382 #[prost(string, optional, tag = "2")]
1383 pub name: ::core::option::Option<::prost::alloc::string::String>,
1384 #[prost(string, optional, tag = "3")]
1385 pub hero: ::core::option::Option<::prost::alloc::string::String>,
1386 }
1387 #[derive(serde::Serialize, serde::Deserialize)]
1388 #[allow(clippy::derive_partial_eq_without_eq)]
1389 #[derive(Clone, PartialEq, ::prost::Message)]
1390 pub struct SaveInstance {
1391 #[prost(uint32, optional, tag = "2")]
1392 pub game_time: ::core::option::Option<u32>,
1393 #[prost(uint32, optional, tag = "3")]
1394 pub team1_score: ::core::option::Option<u32>,
1395 #[prost(uint32, optional, tag = "4")]
1396 pub team2_score: ::core::option::Option<u32>,
1397 #[prost(message, repeated, tag = "5")]
1398 pub player_positions: ::prost::alloc::vec::Vec<save_instance::PlayerPositions>,
1399 #[prost(uint32, optional, tag = "6")]
1400 pub save_id: ::core::option::Option<u32>,
1401 #[prost(uint32, optional, tag = "7")]
1402 pub save_time: ::core::option::Option<u32>,
1403 }
1404 pub mod save_instance {
1406 #[derive(serde::Serialize, serde::Deserialize)]
1407 #[allow(clippy::derive_partial_eq_without_eq)]
1408 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1409 pub struct PlayerPositions {
1410 #[prost(float, optional, tag = "1")]
1411 pub x: ::core::option::Option<f32>,
1412 #[prost(float, optional, tag = "2")]
1413 pub y: ::core::option::Option<f32>,
1414 }
1415 }
1416}
1417#[derive(serde::Serialize, serde::Deserialize)]
1418#[allow(clippy::derive_partial_eq_without_eq)]
1419#[derive(Clone, PartialEq, ::prost::Message)]
1420pub struct CMsgDotaCombatLogEntry {
1421 #[prost(
1422 enumeration = "DotaCombatlogTypes",
1423 optional,
1424 tag = "1",
1425 default = "DotaCombatlogInvalid"
1426 )]
1427 pub r#type: ::core::option::Option<i32>,
1428 #[prost(uint32, optional, tag = "2")]
1429 pub target_name: ::core::option::Option<u32>,
1430 #[prost(uint32, optional, tag = "3")]
1431 pub target_source_name: ::core::option::Option<u32>,
1432 #[prost(uint32, optional, tag = "4")]
1433 pub attacker_name: ::core::option::Option<u32>,
1434 #[prost(uint32, optional, tag = "5")]
1435 pub damage_source_name: ::core::option::Option<u32>,
1436 #[prost(uint32, optional, tag = "6")]
1437 pub inflictor_name: ::core::option::Option<u32>,
1438 #[prost(bool, optional, tag = "7")]
1439 pub is_attacker_illusion: ::core::option::Option<bool>,
1440 #[prost(bool, optional, tag = "8")]
1441 pub is_attacker_hero: ::core::option::Option<bool>,
1442 #[prost(bool, optional, tag = "9")]
1443 pub is_target_illusion: ::core::option::Option<bool>,
1444 #[prost(bool, optional, tag = "10")]
1445 pub is_target_hero: ::core::option::Option<bool>,
1446 #[prost(bool, optional, tag = "11")]
1447 pub is_visible_radiant: ::core::option::Option<bool>,
1448 #[prost(bool, optional, tag = "12")]
1449 pub is_visible_dire: ::core::option::Option<bool>,
1450 #[prost(uint32, optional, tag = "13")]
1451 pub value: ::core::option::Option<u32>,
1452 #[prost(int32, optional, tag = "14")]
1453 pub health: ::core::option::Option<i32>,
1454 #[prost(float, optional, tag = "15")]
1455 pub timestamp: ::core::option::Option<f32>,
1456 #[prost(float, optional, tag = "16")]
1457 pub stun_duration: ::core::option::Option<f32>,
1458 #[prost(float, optional, tag = "17")]
1459 pub slow_duration: ::core::option::Option<f32>,
1460 #[prost(bool, optional, tag = "18")]
1461 pub is_ability_toggle_on: ::core::option::Option<bool>,
1462 #[prost(bool, optional, tag = "19")]
1463 pub is_ability_toggle_off: ::core::option::Option<bool>,
1464 #[prost(uint32, optional, tag = "20")]
1465 pub ability_level: ::core::option::Option<u32>,
1466 #[prost(float, optional, tag = "21")]
1467 pub location_x: ::core::option::Option<f32>,
1468 #[prost(float, optional, tag = "22")]
1469 pub location_y: ::core::option::Option<f32>,
1470 #[prost(uint32, optional, tag = "23")]
1471 pub gold_reason: ::core::option::Option<u32>,
1472 #[prost(float, optional, tag = "24")]
1473 pub timestamp_raw: ::core::option::Option<f32>,
1474 #[prost(float, optional, tag = "25")]
1475 pub modifier_duration: ::core::option::Option<f32>,
1476 #[prost(uint32, optional, tag = "26")]
1477 pub xp_reason: ::core::option::Option<u32>,
1478 #[prost(uint32, optional, tag = "27")]
1479 pub last_hits: ::core::option::Option<u32>,
1480 #[prost(uint32, optional, tag = "28")]
1481 pub attacker_team: ::core::option::Option<u32>,
1482 #[prost(uint32, optional, tag = "29")]
1483 pub target_team: ::core::option::Option<u32>,
1484 #[prost(uint32, optional, tag = "30")]
1485 pub obs_wards_placed: ::core::option::Option<u32>,
1486 #[prost(uint32, optional, tag = "31")]
1487 pub assist_player0: ::core::option::Option<u32>,
1488 #[prost(uint32, optional, tag = "32")]
1489 pub assist_player1: ::core::option::Option<u32>,
1490 #[prost(uint32, optional, tag = "33")]
1491 pub assist_player2: ::core::option::Option<u32>,
1492 #[prost(uint32, optional, tag = "34")]
1493 pub assist_player3: ::core::option::Option<u32>,
1494 #[prost(uint32, optional, tag = "35")]
1495 pub stack_count: ::core::option::Option<u32>,
1496 #[prost(bool, optional, tag = "36")]
1497 pub hidden_modifier: ::core::option::Option<bool>,
1498 #[prost(bool, optional, tag = "37")]
1499 pub is_target_building: ::core::option::Option<bool>,
1500 #[prost(uint32, optional, tag = "38")]
1501 pub neutral_camp_type: ::core::option::Option<u32>,
1502 #[prost(uint32, optional, tag = "39")]
1503 pub rune_type: ::core::option::Option<u32>,
1504 #[prost(int32, repeated, packed = "false", tag = "40")]
1505 pub assist_players: ::prost::alloc::vec::Vec<i32>,
1506 #[prost(bool, optional, tag = "41")]
1507 pub is_heal_save: ::core::option::Option<bool>,
1508 #[prost(bool, optional, tag = "42")]
1509 pub is_ultimate_ability: ::core::option::Option<bool>,
1510 #[prost(uint32, optional, tag = "43")]
1511 pub attacker_hero_level: ::core::option::Option<u32>,
1512 #[prost(uint32, optional, tag = "44")]
1513 pub target_hero_level: ::core::option::Option<u32>,
1514 #[prost(uint32, optional, tag = "45")]
1515 pub xpm: ::core::option::Option<u32>,
1516 #[prost(uint32, optional, tag = "46")]
1517 pub gpm: ::core::option::Option<u32>,
1518 #[prost(uint32, optional, tag = "47")]
1519 pub event_location: ::core::option::Option<u32>,
1520 #[prost(bool, optional, tag = "48")]
1521 pub target_is_self: ::core::option::Option<bool>,
1522 #[prost(uint32, optional, tag = "49")]
1523 pub damage_type: ::core::option::Option<u32>,
1524 #[prost(bool, optional, tag = "50")]
1525 pub invisibility_modifier: ::core::option::Option<bool>,
1526 #[prost(uint32, optional, tag = "51")]
1527 pub damage_category: ::core::option::Option<u32>,
1528 #[prost(uint32, optional, tag = "52")]
1529 pub networth: ::core::option::Option<u32>,
1530 #[prost(uint32, optional, tag = "53")]
1531 pub building_type: ::core::option::Option<u32>,
1532 #[prost(float, optional, tag = "54")]
1533 pub modifier_elapsed_duration: ::core::option::Option<f32>,
1534 #[prost(bool, optional, tag = "55")]
1535 pub silence_modifier: ::core::option::Option<bool>,
1536 #[prost(bool, optional, tag = "56")]
1537 pub heal_from_lifesteal: ::core::option::Option<bool>,
1538 #[prost(bool, optional, tag = "57")]
1539 pub modifier_purged: ::core::option::Option<bool>,
1540 #[prost(bool, optional, tag = "58")]
1541 pub spell_evaded: ::core::option::Option<bool>,
1542 #[prost(bool, optional, tag = "59")]
1543 pub motion_controller_modifier: ::core::option::Option<bool>,
1544 #[prost(bool, optional, tag = "60")]
1545 pub long_range_kill: ::core::option::Option<bool>,
1546 #[prost(uint32, optional, tag = "61")]
1547 pub modifier_purge_ability: ::core::option::Option<u32>,
1548 #[prost(uint32, optional, tag = "62")]
1549 pub modifier_purge_npc: ::core::option::Option<u32>,
1550 #[prost(bool, optional, tag = "63")]
1551 pub root_modifier: ::core::option::Option<bool>,
1552 #[prost(uint32, optional, tag = "64")]
1553 pub total_unit_death_count: ::core::option::Option<u32>,
1554 #[prost(bool, optional, tag = "65")]
1555 pub aura_modifier: ::core::option::Option<bool>,
1556 #[prost(bool, optional, tag = "66")]
1557 pub armor_debuff_modifier: ::core::option::Option<bool>,
1558 #[prost(bool, optional, tag = "67")]
1559 pub no_physical_damage_modifier: ::core::option::Option<bool>,
1560 #[prost(uint32, optional, tag = "68")]
1561 pub modifier_ability: ::core::option::Option<u32>,
1562 #[prost(bool, optional, tag = "69")]
1563 pub modifier_hidden: ::core::option::Option<bool>,
1564 #[prost(bool, optional, tag = "70")]
1565 pub inflictor_is_stolen_ability: ::core::option::Option<bool>,
1566 #[prost(uint32, optional, tag = "71")]
1567 pub kill_eater_event: ::core::option::Option<u32>,
1568 #[prost(uint32, optional, tag = "72")]
1569 pub unit_status_label: ::core::option::Option<u32>,
1570 #[prost(bool, optional, tag = "73")]
1571 pub spell_generated_attack: ::core::option::Option<bool>,
1572 #[prost(bool, optional, tag = "74")]
1573 pub at_night_time: ::core::option::Option<bool>,
1574 #[prost(bool, optional, tag = "75")]
1575 pub attacker_has_scepter: ::core::option::Option<bool>,
1576 #[prost(uint32, optional, tag = "76")]
1577 pub neutral_camp_team: ::core::option::Option<u32>,
1578 #[prost(float, optional, tag = "77")]
1579 pub regenerated_health: ::core::option::Option<f32>,
1580 #[prost(bool, optional, tag = "78")]
1581 pub will_reincarnate: ::core::option::Option<bool>,
1582 #[prost(bool, optional, tag = "79")]
1583 pub uses_charges: ::core::option::Option<bool>,
1584}
1585#[derive(serde::Serialize, serde::Deserialize)]
1586#[allow(clippy::derive_partial_eq_without_eq)]
1587#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1588pub struct CMsgPendingEventAward {
1589 #[prost(enumeration = "EEvent", optional, tag = "1", default = "EventIdNone")]
1590 pub event_id: ::core::option::Option<i32>,
1591 #[prost(uint32, optional, tag = "2")]
1592 pub action_id: ::core::option::Option<u32>,
1593 #[prost(uint32, optional, tag = "3")]
1594 pub num_to_grant: ::core::option::Option<u32>,
1595 #[prost(
1596 enumeration = "EEventActionScoreMode",
1597 optional,
1598 tag = "4",
1599 default = "KEEventActionScoreModeAdd"
1600 )]
1601 pub score_mode: ::core::option::Option<i32>,
1602 #[prost(uint32, optional, tag = "5")]
1603 pub audit_action: ::core::option::Option<u32>,
1604 #[prost(uint64, optional, tag = "6")]
1605 pub audit_data: ::core::option::Option<u64>,
1606}
1607#[derive(
1608 serde::Serialize,
1609 serde::Deserialize,
1610 Clone,
1611 Copy,
1612 Debug,
1613 PartialEq,
1614 Eq,
1615 Hash,
1616 PartialOrd,
1617 Ord,
1618 ::prost::Enumeration,
1619)]
1620#[repr(i32)]
1621pub enum DotaGameMode {
1622 DotaGamemodeNone = 0,
1623 DotaGamemodeAp = 1,
1624 DotaGamemodeCm = 2,
1625 DotaGamemodeRd = 3,
1626 DotaGamemodeSd = 4,
1627 DotaGamemodeAr = 5,
1628 DotaGamemodeIntro = 6,
1629 DotaGamemodeHw = 7,
1630 DotaGamemodeReverseCm = 8,
1631 DotaGamemodeXmas = 9,
1632 DotaGamemodeTutorial = 10,
1633 DotaGamemodeMo = 11,
1634 DotaGamemodeLp = 12,
1635 DotaGamemodePool1 = 13,
1636 DotaGamemodeFh = 14,
1637 DotaGamemodeCustom = 15,
1638 DotaGamemodeCd = 16,
1639 DotaGamemodeBd = 17,
1640 DotaGamemodeAbilityDraft = 18,
1641 DotaGamemodeEvent = 19,
1642 DotaGamemodeArdm = 20,
1643 DotaGamemode1v1mid = 21,
1644 DotaGamemodeAllDraft = 22,
1645 DotaGamemodeTurbo = 23,
1646 DotaGamemodeMutation = 24,
1647 DotaGamemodeCoachesChallenge = 25,
1648}
1649#[derive(
1650 serde::Serialize,
1651 serde::Deserialize,
1652 Clone,
1653 Copy,
1654 Debug,
1655 PartialEq,
1656 Eq,
1657 Hash,
1658 PartialOrd,
1659 Ord,
1660 ::prost::Enumeration,
1661)]
1662#[repr(i32)]
1663pub enum DotaGameState {
1664 DotaGamerulesStateInit = 0,
1665 DotaGamerulesStateWaitForPlayersToLoad = 1,
1666 DotaGamerulesStateHeroSelection = 2,
1667 DotaGamerulesStateStrategyTime = 3,
1668 DotaGamerulesStatePreGame = 4,
1669 DotaGamerulesStateGameInProgress = 5,
1670 DotaGamerulesStatePostGame = 6,
1671 DotaGamerulesStateDisconnect = 7,
1672 DotaGamerulesStateTeamShowcase = 8,
1673 DotaGamerulesStateCustomGameSetup = 9,
1674 DotaGamerulesStateWaitForMapToLoad = 10,
1675 DotaGamerulesStateScenarioSetup = 11,
1676 DotaGamerulesStatePlayerDraft = 12,
1677 DotaGamerulesStateLast = 13,
1678}
1679#[derive(
1680 serde::Serialize,
1681 serde::Deserialize,
1682 Clone,
1683 Copy,
1684 Debug,
1685 PartialEq,
1686 Eq,
1687 Hash,
1688 PartialOrd,
1689 Ord,
1690 ::prost::Enumeration,
1691)]
1692#[repr(i32)]
1693pub enum DotaGcTeam {
1694 GoodGuys = 0,
1695 BadGuys = 1,
1696 Broadcaster = 2,
1697 Spectator = 3,
1698 PlayerPool = 4,
1699 Noteam = 5,
1700 Custom1 = 6,
1701 Custom2 = 7,
1702 Custom3 = 8,
1703 Custom4 = 9,
1704 Custom5 = 10,
1705 Custom6 = 11,
1706 Custom7 = 12,
1707 Custom8 = 13,
1708 Neutrals = 14,
1709}
1710#[derive(
1711 serde::Serialize,
1712 serde::Deserialize,
1713 Clone,
1714 Copy,
1715 Debug,
1716 PartialEq,
1717 Eq,
1718 Hash,
1719 PartialOrd,
1720 Ord,
1721 ::prost::Enumeration,
1722)]
1723#[repr(i32)]
1724pub enum EEvent {
1725 EventIdNone = 0,
1726 EventIdDiretide = 1,
1727 EventIdSpringFestival = 2,
1728 EventIdFrostivus2013 = 3,
1729 EventIdCompendium2014 = 4,
1730 EventIdNexonPcBang = 5,
1731 EventIdPwrdDac2015 = 6,
1732 EventIdNewBloom2015 = 7,
1733 EventIdInternational2015 = 8,
1734 EventIdFallMajor2015 = 9,
1735 EventIdOraclePa = 10,
1736 EventIdNewBloom2015Prebeast = 11,
1737 EventIdFrostivus = 12,
1738 EventIdWinterMajor2016 = 13,
1739 EventIdInternational2016 = 14,
1740 EventIdFallMajor2016 = 15,
1741 EventIdWinterMajor2017 = 16,
1742 EventIdNewBloom2017 = 17,
1743 EventIdInternational2017 = 18,
1744 EventIdPlusSubscription = 19,
1745 EventIdSinglesDay2017 = 20,
1746 EventIdFrostivus2017 = 21,
1747 EventIdInternational2018 = 22,
1748 EventIdFrostivus2018 = 23,
1749 EventIdNewBloom2019 = 24,
1750 EventIdInternational2019 = 25,
1751 EventIdNewPlayerExperience = 26,
1752 EventIdFrostivus2019 = 27,
1753 EventIdNewBloom2020 = 28,
1754 EventIdInternational2020 = 29,
1755 EventIdTeamFandom = 30,
1756 EventIdDiretide2020 = 31,
1757 EventIdSpring2021 = 32,
1758 EventIdFall2021 = 33,
1759 EventIdTeamFandomFall2021 = 34,
1760 EventIdTeam20212022Tour2 = 35,
1761 EventIdInternational2022 = 36,
1762 EventIdTeam20212022Tour3 = 37,
1763 EventIdTeamInternational2022 = 38,
1764 EventIdPermanentGrants = 39,
1765 EventIdMuertaReleaseSpring2023 = 40,
1766 EventIdTeam2023Tour1 = 41,
1767 EventIdTeam2023Tour2 = 42,
1768 EventIdTeam2023Tour3 = 43,
1769 EventIdInternational2023 = 45,
1770 EventId10thAnniversary = 46,
1771 EventIdCrownfall = 47,
1772 EventIdFrostivus2023 = 48,
1773}
1774#[derive(
1775 serde::Serialize,
1776 serde::Deserialize,
1777 Clone,
1778 Copy,
1779 Debug,
1780 PartialEq,
1781 Eq,
1782 Hash,
1783 PartialOrd,
1784 Ord,
1785 ::prost::Enumeration,
1786)]
1787#[repr(i32)]
1788pub enum ERankType {
1789 KERankTypeInvalid = 0,
1790 KERankTypeCasual = 1,
1791 KERankTypeRanked = 2,
1792 KERankTypeCasualLegacy = 3,
1793 KERankTypeRankedLegacy = 4,
1794 KERankTypeCasualGlicko = 5,
1795 KERankTypeRankedGlicko = 6,
1796 KERankTypeRankMax = 7,
1797 KERankTypeBehaviorPrivate = 100,
1798 KERankTypeBehaviorPublic = 101,
1799 KERankTypeMax = 102,
1800}
1801#[derive(
1802 serde::Serialize,
1803 serde::Deserialize,
1804 Clone,
1805 Copy,
1806 Debug,
1807 PartialEq,
1808 Eq,
1809 Hash,
1810 PartialOrd,
1811 Ord,
1812 ::prost::Enumeration,
1813)]
1814#[repr(i32)]
1815pub enum DotaLeaverStatusT {
1816 DotaLeaverNone = 0,
1817 DotaLeaverDisconnected = 1,
1818 DotaLeaverDisconnectedTooLong = 2,
1819 DotaLeaverAbandoned = 3,
1820 DotaLeaverAfk = 4,
1821 DotaLeaverNeverConnected = 5,
1822 DotaLeaverNeverConnectedTooLong = 6,
1823 DotaLeaverFailedToReadyUp = 7,
1824 DotaLeaverDeclined = 8,
1825 DotaLeaverDeclinedRequeue = 9,
1826}
1827#[derive(
1828 serde::Serialize,
1829 serde::Deserialize,
1830 Clone,
1831 Copy,
1832 Debug,
1833 PartialEq,
1834 Eq,
1835 Hash,
1836 PartialOrd,
1837 Ord,
1838 ::prost::Enumeration,
1839)]
1840#[repr(i32)]
1841pub enum DotaConnectionStateT {
1842 DotaConnectionStateUnknown = 0,
1843 DotaConnectionStateNotYetConnected = 1,
1844 DotaConnectionStateConnected = 2,
1845 DotaConnectionStateDisconnected = 3,
1846 DotaConnectionStateAbandoned = 4,
1847 DotaConnectionStateLoading = 5,
1848 DotaConnectionStateFailed = 6,
1849}
1850#[derive(
1851 serde::Serialize,
1852 serde::Deserialize,
1853 Clone,
1854 Copy,
1855 Debug,
1856 PartialEq,
1857 Eq,
1858 Hash,
1859 PartialOrd,
1860 Ord,
1861 ::prost::Enumeration,
1862)]
1863#[repr(i32)]
1864pub enum FantasyRoles {
1865 FantasyRoleUndefined = 0,
1866 FantasyRoleCore = 1,
1867 FantasyRoleSupport = 2,
1868 FantasyRoleOfflane = 3,
1869 FantasyRoleMid = 4,
1870}
1871#[derive(
1872 serde::Serialize,
1873 serde::Deserialize,
1874 Clone,
1875 Copy,
1876 Debug,
1877 PartialEq,
1878 Eq,
1879 Hash,
1880 PartialOrd,
1881 Ord,
1882 ::prost::Enumeration,
1883)]
1884#[repr(i32)]
1885pub enum FantasyScoring {
1886 Kills = 0,
1887 Deaths = 1,
1888 Cs = 2,
1889 Gpm = 3,
1890 TowerKills = 4,
1891 RoshanKills = 5,
1892 TeamfightParticipation = 6,
1893 WardsPlanted = 7,
1894 CampsStacked = 8,
1895 RunesGrabbed = 9,
1896 FirstBlood = 10,
1897 Stuns = 11,
1898 SmokesUsed = 12,
1899 NeutralTokensFound = 13,
1900 WatchersTaken = 14,
1901 LotusesGained = 15,
1902 TormentorKills = 16,
1903 CourierKills = 17,
1904 Types = 18,
1905 Invalid = 19,
1906}
1907#[derive(
1908 serde::Serialize,
1909 serde::Deserialize,
1910 Clone,
1911 Copy,
1912 Debug,
1913 PartialEq,
1914 Eq,
1915 Hash,
1916 PartialOrd,
1917 Ord,
1918 ::prost::Enumeration,
1919)]
1920#[repr(i32)]
1921pub enum FantasyTeamSlots {
1922 FantasySlotNone = 0,
1923 FantasySlotCore = 1,
1924 FantasySlotSupport = 2,
1925 FantasySlotAny = 3,
1926 FantasySlotBench = 4,
1927}
1928#[derive(
1929 serde::Serialize,
1930 serde::Deserialize,
1931 Clone,
1932 Copy,
1933 Debug,
1934 PartialEq,
1935 Eq,
1936 Hash,
1937 PartialOrd,
1938 Ord,
1939 ::prost::Enumeration,
1940)]
1941#[repr(i32)]
1942pub enum FantasySelectionMode {
1943 FantasySelectionInvalid = 0,
1944 FantasySelectionLocked = 1,
1945 FantasySelectionShuffle = 2,
1946 FantasySelectionFreePick = 3,
1947 FantasySelectionEnded = 4,
1948 FantasySelectionPreSeason = 5,
1949 FantasySelectionPreDraft = 6,
1950 FantasySelectionDrafting = 7,
1951 FantasySelectionRegularSeason = 8,
1952 FantasySelectionCardBased = 9,
1953}
1954#[derive(
1955 serde::Serialize,
1956 serde::Deserialize,
1957 Clone,
1958 Copy,
1959 Debug,
1960 PartialEq,
1961 Eq,
1962 Hash,
1963 PartialOrd,
1964 Ord,
1965 ::prost::Enumeration,
1966)]
1967#[repr(i32)]
1968pub enum FantasyGemType {
1969 Ruby = 0,
1970 Sapphire = 1,
1971 Emerald = 2,
1972}
1973#[derive(
1974 serde::Serialize,
1975 serde::Deserialize,
1976 Clone,
1977 Copy,
1978 Debug,
1979 PartialEq,
1980 Eq,
1981 Hash,
1982 PartialOrd,
1983 Ord,
1984 ::prost::Enumeration,
1985)]
1986#[repr(i32)]
1987pub enum DotaChatChannelTypeT {
1988 DotaChannelTypeRegional = 0,
1989 DotaChannelTypeCustom = 1,
1990 DotaChannelTypeParty = 2,
1991 DotaChannelTypeLobby = 3,
1992 DotaChannelTypeTeam = 4,
1993 DotaChannelTypeGuild = 5,
1994 DotaChannelTypeFantasy = 6,
1995 DotaChannelTypeWhisper = 7,
1996 DotaChannelTypeConsole = 8,
1997 DotaChannelTypeTab = 9,
1998 DotaChannelTypeInvalid = 10,
1999 DotaChannelTypeGameAll = 11,
2000 DotaChannelTypeGameAllies = 12,
2001 DotaChannelTypeGameSpectator = 13,
2002 DotaChannelTypeGameCoaching = 14,
2003 DotaChannelTypeCafe = 15,
2004 DotaChannelTypeCustomGame = 16,
2005 DotaChannelTypePrivate = 17,
2006 DotaChannelTypePostGame = 18,
2007 DotaChannelTypeBattleCup = 19,
2008 DotaChannelTypeHltvSpectator = 20,
2009 DotaChannelTypeGameEvents = 21,
2010 DotaChannelTypeTrivia = 22,
2011 DotaChannelTypeNewPlayer = 23,
2012 DotaChannelTypePrivateCoaching = 24,
2013}
2014#[derive(
2015 serde::Serialize,
2016 serde::Deserialize,
2017 Clone,
2018 Copy,
2019 Debug,
2020 PartialEq,
2021 Eq,
2022 Hash,
2023 PartialOrd,
2024 Ord,
2025 ::prost::Enumeration,
2026)]
2027#[repr(i32)]
2028pub enum EChatSpecialPrivileges {
2029 KEChatSpecialPrivilegesNone = 0,
2030 KEChatSpecialPrivilegesModerator = 1,
2031 KEChatSpecialPrivilegesSuperModerator = 2,
2032}
2033#[derive(
2034 serde::Serialize,
2035 serde::Deserialize,
2036 Clone,
2037 Copy,
2038 Debug,
2039 PartialEq,
2040 Eq,
2041 Hash,
2042 PartialOrd,
2043 Ord,
2044 ::prost::Enumeration,
2045)]
2046#[repr(i32)]
2047pub enum DotaCommTypeT {
2048 DotaCommTypeNone = 0,
2049 DotaCommTypePing = 1,
2050 DotaCommTypeChatwheel = 2,
2051 DotaCommTypeTip = 3,
2052 DotaCommTypeText = 4,
2053 DotaCommTypeShowcase = 5,
2054 DotaCommTypeVoice = 6,
2055 DotaCommTypeAllyAbility = 7,
2056 DotaCommTypePause = 8,
2057 DotaCommTypeCoaching = 9,
2058 DotaCommTypeNocooldown = 10,
2059 DotaCommTypeRankedmatchmake = 11,
2060 DotaCommTypeDrops = 12,
2061 DotaCommTypeNewplayerExpert = 13,
2062 DotaCommTypeCoached = 14,
2063 DotaCommTypeMapdrawing = 15,
2064}
2065#[derive(
2066 serde::Serialize,
2067 serde::Deserialize,
2068 Clone,
2069 Copy,
2070 Debug,
2071 PartialEq,
2072 Eq,
2073 Hash,
2074 PartialOrd,
2075 Ord,
2076 ::prost::Enumeration,
2077)]
2078#[repr(i32)]
2079pub enum DotaCommLevelT {
2080 DotaCommLevelNone = 0,
2081 DotaCommLevelCooldown = 1,
2082 DotaCommLevelPings = 2,
2083 DotaCommLevelMapdrawing = 3,
2084 DotaCommLevelChat = 4,
2085 DotaCommLevelTipping = 5,
2086 DotaCommLevelVoice = 6,
2087 DotaCommLevelAlliedAbility = 7,
2088}
2089#[derive(
2090 serde::Serialize,
2091 serde::Deserialize,
2092 Clone,
2093 Copy,
2094 Debug,
2095 PartialEq,
2096 Eq,
2097 Hash,
2098 PartialOrd,
2099 Ord,
2100 ::prost::Enumeration,
2101)]
2102#[repr(i32)]
2103pub enum DotaBehaviorLevelT {
2104 DotaBehaviorLevelNone = 0,
2105 DotaBehaviorLevelRankedAllowed = 1,
2106 DotaBehaviorLevelPausing = 2,
2107 DotaBehaviorLevelDrops = 3,
2108 DotaBehaviorLevelCoaching = 4,
2109}
2110#[derive(
2111 serde::Serialize,
2112 serde::Deserialize,
2113 Clone,
2114 Copy,
2115 Debug,
2116 PartialEq,
2117 Eq,
2118 Hash,
2119 PartialOrd,
2120 Ord,
2121 ::prost::Enumeration,
2122)]
2123#[repr(i32)]
2124pub enum EProfileCardSlotType {
2125 KEProfileCardSlotTypeEmpty = 0,
2126 KEProfileCardSlotTypeStat = 1,
2127 KEProfileCardSlotTypeTrophy = 2,
2128 KEProfileCardSlotTypeItem = 3,
2129 KEProfileCardSlotTypeHero = 4,
2130 KEProfileCardSlotTypeEmoticon = 5,
2131 KEProfileCardSlotTypeTeam = 6,
2132}
2133#[derive(
2134 serde::Serialize,
2135 serde::Deserialize,
2136 Clone,
2137 Copy,
2138 Debug,
2139 PartialEq,
2140 Eq,
2141 Hash,
2142 PartialOrd,
2143 Ord,
2144 ::prost::Enumeration,
2145)]
2146#[repr(i32)]
2147pub enum EMatchGroupServerStatus {
2148 KEMatchGroupServerStatusOk = 0,
2149 KEMatchGroupServerStatusLimitedAvailability = 1,
2150 KEMatchGroupServerStatusOffline = 2,
2151}
2152#[derive(
2153 serde::Serialize,
2154 serde::Deserialize,
2155 Clone,
2156 Copy,
2157 Debug,
2158 PartialEq,
2159 Eq,
2160 Hash,
2161 PartialOrd,
2162 Ord,
2163 ::prost::Enumeration,
2164)]
2165#[repr(i32)]
2166pub enum DotaCmPick {
2167 DotaCmRandom = 0,
2168 DotaCmGoodGuys = 1,
2169 DotaCmBadGuys = 2,
2170}
2171#[derive(
2172 serde::Serialize,
2173 serde::Deserialize,
2174 Clone,
2175 Copy,
2176 Debug,
2177 PartialEq,
2178 Eq,
2179 Hash,
2180 PartialOrd,
2181 Ord,
2182 ::prost::Enumeration,
2183)]
2184#[repr(i32)]
2185pub enum DotaLowPriorityBanType {
2186 DotaLowPriorityBanAbandon = 0,
2187 DotaLowPriorityBanReports = 1,
2188 DotaLowPriorityBanSecondaryAbandon = 2,
2189 DotaLowPriorityBanPreGameRole = 3,
2190}
2191#[derive(
2192 serde::Serialize,
2193 serde::Deserialize,
2194 Clone,
2195 Copy,
2196 Debug,
2197 PartialEq,
2198 Eq,
2199 Hash,
2200 PartialOrd,
2201 Ord,
2202 ::prost::Enumeration,
2203)]
2204#[repr(i32)]
2205pub enum DotaLobbyReadyState {
2206 Undeclared = 0,
2207 Accepted = 1,
2208 Declined = 2,
2209 DeclinedRequeue = 3,
2210}
2211#[derive(
2212 serde::Serialize,
2213 serde::Deserialize,
2214 Clone,
2215 Copy,
2216 Debug,
2217 PartialEq,
2218 Eq,
2219 Hash,
2220 PartialOrd,
2221 Ord,
2222 ::prost::Enumeration,
2223)]
2224#[repr(i32)]
2225pub enum DotaJoinLobbyResult {
2226 DotaJoinResultSuccess = 0,
2227 DotaJoinResultAlreadyInGame = 1,
2228 DotaJoinResultInvalidLobby = 2,
2229 DotaJoinResultIncorrectPassword = 3,
2230 DotaJoinResultAccessDenied = 4,
2231 DotaJoinResultGenericError = 5,
2232 DotaJoinResultIncorrectVersion = 6,
2233 DotaJoinResultInTeamParty = 7,
2234 DotaJoinResultNoLobbyFound = 8,
2235 DotaJoinResultLobbyFull = 9,
2236 DotaJoinResultCustomGameIncorrectVersion = 10,
2237 DotaJoinResultTimeout = 11,
2238 DotaJoinResultCustomGameCooldown = 12,
2239 DotaJoinResultBusy = 13,
2240 DotaJoinResultNoPlaytime = 14,
2241}
2242#[derive(
2243 serde::Serialize,
2244 serde::Deserialize,
2245 Clone,
2246 Copy,
2247 Debug,
2248 PartialEq,
2249 Eq,
2250 Hash,
2251 PartialOrd,
2252 Ord,
2253 ::prost::Enumeration,
2254)]
2255#[repr(i32)]
2256pub enum DotaSelectionPriorityRules {
2257 KDotaSelectionPriorityRulesManual = 0,
2258 KDotaSelectionPriorityRulesAutomatic = 1,
2259}
2260#[derive(
2261 serde::Serialize,
2262 serde::Deserialize,
2263 Clone,
2264 Copy,
2265 Debug,
2266 PartialEq,
2267 Eq,
2268 Hash,
2269 PartialOrd,
2270 Ord,
2271 ::prost::Enumeration,
2272)]
2273#[repr(i32)]
2274pub enum DotaSelectionPriorityChoice {
2275 KDotaSelectionPriorityChoiceInvalid = 0,
2276 KDotaSelectionPriorityChoiceFirstPick = 1,
2277 KDotaSelectionPriorityChoiceSecondPick = 2,
2278 KDotaSelectionPriorityChoiceRadiant = 3,
2279 KDotaSelectionPriorityChoiceDire = 4,
2280}
2281#[derive(
2282 serde::Serialize,
2283 serde::Deserialize,
2284 Clone,
2285 Copy,
2286 Debug,
2287 PartialEq,
2288 Eq,
2289 Hash,
2290 PartialOrd,
2291 Ord,
2292 ::prost::Enumeration,
2293)]
2294#[repr(i32)]
2295pub enum DotaMatchVote {
2296 Invalid = 0,
2297 Positive = 1,
2298 Negative = 2,
2299}
2300#[derive(
2301 serde::Serialize,
2302 serde::Deserialize,
2303 Clone,
2304 Copy,
2305 Debug,
2306 PartialEq,
2307 Eq,
2308 Hash,
2309 PartialOrd,
2310 Ord,
2311 ::prost::Enumeration,
2312)]
2313#[repr(i32)]
2314pub enum DotaLobbyVisibility {
2315 Public = 0,
2316 Friends = 1,
2317 Unlisted = 2,
2318}
2319#[derive(
2320 serde::Serialize,
2321 serde::Deserialize,
2322 Clone,
2323 Copy,
2324 Debug,
2325 PartialEq,
2326 Eq,
2327 Hash,
2328 PartialOrd,
2329 Ord,
2330 ::prost::Enumeration,
2331)]
2332#[repr(i32)]
2333pub enum EDotaPlayerMmrType {
2334 KEDotaPlayerMmrTypeInvalid = 0,
2335 KEDotaPlayerMmrTypeGeneralHidden = 1,
2336 KEDotaPlayerMmrTypeGeneralCompetitive = 3,
2337}
2338#[derive(
2339 serde::Serialize,
2340 serde::Deserialize,
2341 Clone,
2342 Copy,
2343 Debug,
2344 PartialEq,
2345 Eq,
2346 Hash,
2347 PartialOrd,
2348 Ord,
2349 ::prost::Enumeration,
2350)]
2351#[repr(i32)]
2352pub enum EDotammrBoostType {
2353 KEDotammrBoostTypeNone = 0,
2354 KEDotammrBoostTypeLeader = 1,
2355 KEDotammrBoostTypeFollower = 2,
2356}
2357#[derive(
2358 serde::Serialize,
2359 serde::Deserialize,
2360 Clone,
2361 Copy,
2362 Debug,
2363 PartialEq,
2364 Eq,
2365 Hash,
2366 PartialOrd,
2367 Ord,
2368 ::prost::Enumeration,
2369)]
2370#[repr(i32)]
2371pub enum MatchType {
2372 Casual = 0,
2373 CoopBots = 1,
2374 Competitive = 4,
2375 WeekendTourney = 5,
2376 Event = 7,
2377 CoachesChallenge = 12,
2378 NewPlayerPool = 14,
2379}
2380#[derive(
2381 serde::Serialize,
2382 serde::Deserialize,
2383 Clone,
2384 Copy,
2385 Debug,
2386 PartialEq,
2387 Eq,
2388 Hash,
2389 PartialOrd,
2390 Ord,
2391 ::prost::Enumeration,
2392)]
2393#[repr(i32)]
2394pub enum DotaBotDifficulty {
2395 BotDifficultyPassive = 0,
2396 BotDifficultyEasy = 1,
2397 BotDifficultyMedium = 2,
2398 BotDifficultyHard = 3,
2399 BotDifficultyUnfair = 4,
2400 BotDifficultyInvalid = 5,
2401 BotDifficultyExtra1 = 6,
2402 BotDifficultyExtra2 = 7,
2403 BotDifficultyExtra3 = 8,
2404 BotDifficultyNpx = 9,
2405}
2406#[derive(
2407 serde::Serialize,
2408 serde::Deserialize,
2409 Clone,
2410 Copy,
2411 Debug,
2412 PartialEq,
2413 Eq,
2414 Hash,
2415 PartialOrd,
2416 Ord,
2417 ::prost::Enumeration,
2418)]
2419#[repr(i32)]
2420pub enum DotaBotMode {
2421 None = 0,
2422 Laning = 1,
2423 Attack = 2,
2424 Roam = 3,
2425 Retreat = 4,
2426 SecretShop = 5,
2427 SideShop = 6,
2428 Rune = 7,
2429 PushTowerTop = 8,
2430 PushTowerMid = 9,
2431 PushTowerBot = 10,
2432 DefendTowerTop = 11,
2433 DefendTowerMid = 12,
2434 DefendTowerBot = 13,
2435 Assemble = 14,
2436 AssembleWithHumans = 15,
2437 TeamRoam = 16,
2438 Farm = 17,
2439 DefendAlly = 18,
2440 EvasiveManeuvers = 19,
2441 Roshan = 20,
2442 Item = 21,
2443 Ward = 22,
2444 Companion = 23,
2445 TutorialBoss = 24,
2446 Minion = 25,
2447 Outpost = 26,
2448}
2449#[derive(
2450 serde::Serialize,
2451 serde::Deserialize,
2452 Clone,
2453 Copy,
2454 Debug,
2455 PartialEq,
2456 Eq,
2457 Hash,
2458 PartialOrd,
2459 Ord,
2460 ::prost::Enumeration,
2461)]
2462#[repr(i32)]
2463pub enum MatchLanguages {
2464 MatchLanguageInvalid = 0,
2465 MatchLanguageEnglish = 1,
2466 MatchLanguageRussian = 2,
2467 MatchLanguageChinese = 3,
2468 MatchLanguageKorean = 4,
2469 MatchLanguageSpanish = 5,
2470 MatchLanguagePortuguese = 6,
2471 MatchLanguageEnglish2 = 7,
2472}
2473#[derive(
2474 serde::Serialize,
2475 serde::Deserialize,
2476 Clone,
2477 Copy,
2478 Debug,
2479 PartialEq,
2480 Eq,
2481 Hash,
2482 PartialOrd,
2483 Ord,
2484 ::prost::Enumeration,
2485)]
2486#[repr(i32)]
2487pub enum ETourneyQueueDeadlineState {
2488 KETourneyQueueDeadlineStateNormal = 0,
2489 KETourneyQueueDeadlineStateMissed = 1,
2490 KETourneyQueueDeadlineStateExpiredOk = 2,
2491 KETourneyQueueDeadlineStateSeekingBye = 3,
2492 KETourneyQueueDeadlineStateEligibleForRefund = 4,
2493 KETourneyQueueDeadlineStateNa = -1,
2494 KETourneyQueueDeadlineStateExpiringSoon = 101,
2495}
2496#[derive(
2497 serde::Serialize,
2498 serde::Deserialize,
2499 Clone,
2500 Copy,
2501 Debug,
2502 PartialEq,
2503 Eq,
2504 Hash,
2505 PartialOrd,
2506 Ord,
2507 ::prost::Enumeration,
2508)]
2509#[repr(i32)]
2510pub enum EMatchOutcome {
2511 KEMatchOutcomeUnknown = 0,
2512 KEMatchOutcomeRadVictory = 2,
2513 KEMatchOutcomeDireVictory = 3,
2514 KEMatchOutcomeNeutralVictory = 4,
2515 KEMatchOutcomeNoTeamWinner = 5,
2516 KEMatchOutcomeCustom1Victory = 6,
2517 KEMatchOutcomeCustom2Victory = 7,
2518 KEMatchOutcomeCustom3Victory = 8,
2519 KEMatchOutcomeCustom4Victory = 9,
2520 KEMatchOutcomeCustom5Victory = 10,
2521 KEMatchOutcomeCustom6Victory = 11,
2522 KEMatchOutcomeCustom7Victory = 12,
2523 KEMatchOutcomeCustom8Victory = 13,
2524 KEMatchOutcomeNotScoredPoorNetworkConditions = 64,
2525 KEMatchOutcomeNotScoredLeaver = 65,
2526 KEMatchOutcomeNotScoredServerCrash = 66,
2527 KEMatchOutcomeNotScoredNeverStarted = 67,
2528 KEMatchOutcomeNotScoredCanceled = 68,
2529 KEMatchOutcomeNotScoredSuspicious = 69,
2530}
2531#[derive(
2532 serde::Serialize,
2533 serde::Deserialize,
2534 Clone,
2535 Copy,
2536 Debug,
2537 PartialEq,
2538 Eq,
2539 Hash,
2540 PartialOrd,
2541 Ord,
2542 ::prost::Enumeration,
2543)]
2544#[repr(i32)]
2545pub enum ELaneType {
2546 LaneTypeUnknown = 0,
2547 LaneTypeSafe = 1,
2548 LaneTypeOff = 2,
2549 LaneTypeMid = 3,
2550 LaneTypeJungle = 4,
2551 LaneTypeRoam = 5,
2552}
2553#[derive(
2554 serde::Serialize,
2555 serde::Deserialize,
2556 Clone,
2557 Copy,
2558 Debug,
2559 PartialEq,
2560 Eq,
2561 Hash,
2562 PartialOrd,
2563 Ord,
2564 ::prost::Enumeration,
2565)]
2566#[repr(i32)]
2567pub enum EBadgeType {
2568 KEBadgeTypeInvalid = 0,
2569 KEBadgeTypeTi7Midweek = 1,
2570 KEBadgeTypeTi7Finals = 2,
2571 KEBadgeTypeTi7AllEvent = 3,
2572 KEBadgeTypeTi8Midweek = 4,
2573 KEBadgeTypeTi8Finals = 5,
2574 KEBadgeTypeTi8AllEvent = 6,
2575 KEBadgeTypeTi10 = 7,
2576 KEBadgeTypeTi11PlayoffsDay1 = 8,
2577 KEBadgeTypeTi11PlayoffsDay2 = 9,
2578 KEBadgeTypeTi11PlayoffsDay3 = 10,
2579 KEBadgeTypeTi11PlayoffsDay4 = 11,
2580 KEBadgeTypeTi11FinalsWeekend = 12,
2581 KEBadgeTypeTi12PlayoffsDay1 = 13,
2582 KEBadgeTypeTi12PlayoffsDay2 = 14,
2583 KEBadgeTypeTi12PlayoffsDay3 = 15,
2584 KEBadgeTypeTi12FinalsWeekend = 16,
2585 KEBadgeTypeTi12Special = 17,
2586}
2587#[derive(
2588 serde::Serialize,
2589 serde::Deserialize,
2590 Clone,
2591 Copy,
2592 Debug,
2593 PartialEq,
2594 Eq,
2595 Hash,
2596 PartialOrd,
2597 Ord,
2598 ::prost::Enumeration,
2599)]
2600#[repr(i32)]
2601pub enum ELeagueStatus {
2602 LeagueStatusUnset = 0,
2603 LeagueStatusUnsubmitted = 1,
2604 LeagueStatusSubmitted = 2,
2605 LeagueStatusAccepted = 3,
2606 LeagueStatusRejected = 4,
2607 LeagueStatusConcluded = 5,
2608 LeagueStatusDeleted = 6,
2609}
2610#[derive(
2611 serde::Serialize,
2612 serde::Deserialize,
2613 Clone,
2614 Copy,
2615 Debug,
2616 PartialEq,
2617 Eq,
2618 Hash,
2619 PartialOrd,
2620 Ord,
2621 ::prost::Enumeration,
2622)]
2623#[repr(i32)]
2624pub enum ELeagueRegion {
2625 LeagueRegionUnset = 0,
2626 LeagueRegionNa = 1,
2627 LeagueRegionSa = 2,
2628 LeagueRegionWeu = 3,
2629 LeagueRegionEeu = 4,
2630 LeagueRegionChina = 5,
2631 LeagueRegionSea = 6,
2632}
2633#[derive(
2634 serde::Serialize,
2635 serde::Deserialize,
2636 Clone,
2637 Copy,
2638 Debug,
2639 PartialEq,
2640 Eq,
2641 Hash,
2642 PartialOrd,
2643 Ord,
2644 ::prost::Enumeration,
2645)]
2646#[repr(i32)]
2647pub enum ELeagueTier {
2648 LeagueTierUnset = 0,
2649 LeagueTierAmateur = 1,
2650 LeagueTierProfessional = 2,
2651 LeagueTierMinor = 3,
2652 LeagueTierMajor = 4,
2653 LeagueTierInternational = 5,
2654 LeagueTierDpcQualifier = 6,
2655 LeagueTierDpcLeagueQualifier = 7,
2656 LeagueTierDpcLeague = 8,
2657 LeagueTierDpcLeagueFinals = 9,
2658}
2659#[derive(
2660 serde::Serialize,
2661 serde::Deserialize,
2662 Clone,
2663 Copy,
2664 Debug,
2665 PartialEq,
2666 Eq,
2667 Hash,
2668 PartialOrd,
2669 Ord,
2670 ::prost::Enumeration,
2671)]
2672#[repr(i32)]
2673pub enum ELeagueTierCategory {
2674 LeagueTierCategoryAmateur = 1,
2675 LeagueTierCategoryProfessional = 2,
2676 LeagueTierCategoryDpc = 3,
2677}
2678#[derive(
2679 serde::Serialize,
2680 serde::Deserialize,
2681 Clone,
2682 Copy,
2683 Debug,
2684 PartialEq,
2685 Eq,
2686 Hash,
2687 PartialOrd,
2688 Ord,
2689 ::prost::Enumeration,
2690)]
2691#[repr(i32)]
2692pub enum ELeagueDivision {
2693 LeagueDivisionUnset = 0,
2694 LeagueDivisionI = 1,
2695 LeagueDivisionIi = 2,
2696}
2697#[derive(
2698 serde::Serialize,
2699 serde::Deserialize,
2700 Clone,
2701 Copy,
2702 Debug,
2703 PartialEq,
2704 Eq,
2705 Hash,
2706 PartialOrd,
2707 Ord,
2708 ::prost::Enumeration,
2709)]
2710#[repr(i32)]
2711pub enum ELeagueBroadcastProvider {
2712 LeagueBroadcastUnknown = 0,
2713 LeagueBroadcastSteam = 1,
2714 LeagueBroadcastTwitch = 2,
2715 LeagueBroadcastYoutube = 3,
2716 LeagueBroadcastOther = 100,
2717}
2718#[derive(
2719 serde::Serialize,
2720 serde::Deserialize,
2721 Clone,
2722 Copy,
2723 Debug,
2724 PartialEq,
2725 Eq,
2726 Hash,
2727 PartialOrd,
2728 Ord,
2729 ::prost::Enumeration,
2730)]
2731#[repr(i32)]
2732pub enum ELeaguePhase {
2733 LeaguePhaseUnset = 0,
2734 LeaguePhaseRegionalQualifier = 1,
2735 LeaguePhaseGroupStage = 2,
2736 LeaguePhaseMainEvent = 3,
2737}
2738#[derive(
2739 serde::Serialize,
2740 serde::Deserialize,
2741 Clone,
2742 Copy,
2743 Debug,
2744 PartialEq,
2745 Eq,
2746 Hash,
2747 PartialOrd,
2748 Ord,
2749 ::prost::Enumeration,
2750)]
2751#[repr(i32)]
2752pub enum ELeagueAuditAction {
2753 LeagueAuditActionInvalid = 0,
2754 LeagueAuditActionLeagueCreate = 1,
2755 LeagueAuditActionLeagueEdit = 2,
2756 LeagueAuditActionLeagueDelete = 3,
2757 LeagueAuditActionLeagueAdminAdd = 4,
2758 LeagueAuditActionLeagueAdminRevoke = 5,
2759 LeagueAuditActionLeagueAdminPromote = 6,
2760 LeagueAuditActionLeagueStreamAdd = 7,
2761 LeagueAuditActionLeagueStreamRemove = 8,
2762 LeagueAuditActionLeagueImageUpdated = 9,
2763 LeagueAuditActionLeagueMessageAdded = 10,
2764 LeagueAuditActionLeagueSubmitted = 11,
2765 LeagueAuditActionLeagueSetPrizePool = 12,
2766 LeagueAuditActionLeagueAddPrizePoolItem = 13,
2767 LeagueAuditActionLeagueRemovePrizePoolItem = 14,
2768 LeagueAuditActionLeagueMatchStart = 15,
2769 LeagueAuditActionLeagueMatchEnd = 16,
2770 LeagueAuditActionLeagueAddInvitedTeam = 17,
2771 LeagueAuditActionLeagueRemoveInvitedTeam = 18,
2772 LeagueAuditActionLeagueStatusChanged = 19,
2773 LeagueAuditActionLeagueStreamEdit = 20,
2774 LeagueAuditActionLeagueTeamSwap = 21,
2775 LeagueAuditActionNodegroupCreate = 100,
2776 LeagueAuditActionNodegroupDestroy = 101,
2777 LeagueAuditActionNodegroupAddTeam = 102,
2778 LeagueAuditActionNodegroupRemoveTeam = 103,
2779 LeagueAuditActionNodegroupSetAdvancing = 104,
2780 LeagueAuditActionNodegroupEdit = 105,
2781 LeagueAuditActionNodegroupPopulate = 106,
2782 LeagueAuditActionNodegroupCompleted = 107,
2783 LeagueAuditActionNodegroupSetSecondaryAdvancing = 108,
2784 LeagueAuditActionNodegroupSetTertiaryAdvancing = 109,
2785 LeagueAuditActionNodeCreate = 200,
2786 LeagueAuditActionNodeDestroy = 201,
2787 LeagueAuditActionNodeAutocreate = 202,
2788 LeagueAuditActionNodeSetTeam = 203,
2789 LeagueAuditActionNodeSetSeriesId = 204,
2790 LeagueAuditActionNodeSetAdvancing = 205,
2791 LeagueAuditActionNodeSetTime = 206,
2792 LeagueAuditActionNodeMatchCompleted = 207,
2793 LeagueAuditActionNodeCompleted = 208,
2794 LeagueAuditActionNodeEdit = 209,
2795}
2796#[derive(
2797 serde::Serialize,
2798 serde::Deserialize,
2799 Clone,
2800 Copy,
2801 Debug,
2802 PartialEq,
2803 Eq,
2804 Hash,
2805 PartialOrd,
2806 Ord,
2807 ::prost::Enumeration,
2808)]
2809#[repr(i32)]
2810pub enum DotaCombatlogTypes {
2811 DotaCombatlogInvalid = -1,
2812 DotaCombatlogDamage = 0,
2813 DotaCombatlogHeal = 1,
2814 DotaCombatlogModifierAdd = 2,
2815 DotaCombatlogModifierRemove = 3,
2816 DotaCombatlogDeath = 4,
2817 DotaCombatlogAbility = 5,
2818 DotaCombatlogItem = 6,
2819 DotaCombatlogLocation = 7,
2820 DotaCombatlogGold = 8,
2821 DotaCombatlogGameState = 9,
2822 DotaCombatlogXp = 10,
2823 DotaCombatlogPurchase = 11,
2824 DotaCombatlogBuyback = 12,
2825 DotaCombatlogAbilityTrigger = 13,
2826 DotaCombatlogPlayerstats = 14,
2827 DotaCombatlogMultikill = 15,
2828 DotaCombatlogKillstreak = 16,
2829 DotaCombatlogTeamBuildingKill = 17,
2830 DotaCombatlogFirstBlood = 18,
2831 DotaCombatlogModifierStackEvent = 19,
2832 DotaCombatlogNeutralCampStack = 20,
2833 DotaCombatlogPickupRune = 21,
2834 DotaCombatlogRevealedInvisible = 22,
2835 DotaCombatlogHeroSaved = 23,
2836 DotaCombatlogManaRestored = 24,
2837 DotaCombatlogHeroLevelup = 25,
2838 DotaCombatlogBottleHealAlly = 26,
2839 DotaCombatlogEndgameStats = 27,
2840 DotaCombatlogInterruptChannel = 28,
2841 DotaCombatlogAlliedGold = 29,
2842 DotaCombatlogAegisTaken = 30,
2843 DotaCombatlogManaDamage = 31,
2844 DotaCombatlogPhysicalDamagePrevented = 32,
2845 DotaCombatlogUnitSummoned = 33,
2846 DotaCombatlogAttackEvade = 34,
2847 DotaCombatlogTreeCut = 35,
2848 DotaCombatlogSuccessfulScan = 36,
2849 DotaCombatlogEndKillstreak = 37,
2850 DotaCombatlogBloodstoneCharge = 38,
2851 DotaCombatlogCriticalDamage = 39,
2852 DotaCombatlogSpellAbsorb = 40,
2853 DotaCombatlogUnitTeleported = 41,
2854 DotaCombatlogKillEaterEvent = 42,
2855 DotaCombatlogNeutralItemEarned = 43,
2856}
2857#[derive(
2858 serde::Serialize,
2859 serde::Deserialize,
2860 Clone,
2861 Copy,
2862 Debug,
2863 PartialEq,
2864 Eq,
2865 Hash,
2866 PartialOrd,
2867 Ord,
2868 ::prost::Enumeration,
2869)]
2870#[repr(i32)]
2871pub enum EdpcFavoriteType {
2872 FavoriteTypeAll = 0,
2873 FavoriteTypePlayer = 1,
2874 FavoriteTypeTeam = 2,
2875 FavoriteTypeLeague = 3,
2876}
2877#[derive(
2878 serde::Serialize,
2879 serde::Deserialize,
2880 Clone,
2881 Copy,
2882 Debug,
2883 PartialEq,
2884 Eq,
2885 Hash,
2886 PartialOrd,
2887 Ord,
2888 ::prost::Enumeration,
2889)]
2890#[repr(i32)]
2891pub enum EdpcPushNotification {
2892 DpcPushNotificationMatchStarting = 1,
2893 DpcPushNotificationPlayerLeftTeam = 10,
2894 DpcPushNotificationPlayerJoinedTeam = 11,
2895 DpcPushNotificationPlayerJoinedTeamAsCoach = 12,
2896 DpcPushNotificationPlayerLeftTeamAsCoach = 13,
2897 DpcPushNotificationLeagueResult = 20,
2898 DpcPushNotificationPredictionMatchesAvailable = 30,
2899 DpcPushNotificationPredictionResult = 31,
2900 DpcPushNotificationFantasyPlayerCleared = 40,
2901 DpcPushNotificationFantasyDailySummary = 41,
2902 DpcPushNotificationFantasyFinalResults = 42,
2903}
2904#[derive(
2905 serde::Serialize,
2906 serde::Deserialize,
2907 Clone,
2908 Copy,
2909 Debug,
2910 PartialEq,
2911 Eq,
2912 Hash,
2913 PartialOrd,
2914 Ord,
2915 ::prost::Enumeration,
2916)]
2917#[repr(i32)]
2918pub enum EEventActionScoreMode {
2919 KEEventActionScoreModeAdd = 0,
2920 KEEventActionScoreModeMin = 1,
2921}
2922#[derive(
2923 serde::Serialize,
2924 serde::Deserialize,
2925 Clone,
2926 Copy,
2927 Debug,
2928 PartialEq,
2929 Eq,
2930 Hash,
2931 PartialOrd,
2932 Ord,
2933 ::prost::Enumeration,
2934)]
2935#[repr(i32)]
2936pub enum EPlayerChallengeHistoryType {
2937 KEPlayerChallengeHistoryTypeInvalid = 0,
2938 KEPlayerChallengeHistoryTypeKillEater = 1,
2939 KEPlayerChallengeHistoryTypeDotaPlusRelic = 2,
2940 KEPlayerChallengeHistoryTypeDotaPlusHeroPlayerChallenge = 3,
2941 KEPlayerChallengeHistoryTypeInGameEventChallenge = 4,
2942 KEPlayerChallengeHistoryTypeGuildContract = 5,
2943}
2944#[derive(
2945 serde::Serialize,
2946 serde::Deserialize,
2947 Clone,
2948 Copy,
2949 Debug,
2950 PartialEq,
2951 Eq,
2952 Hash,
2953 PartialOrd,
2954 Ord,
2955 ::prost::Enumeration,
2956)]
2957#[repr(i32)]
2958pub enum EOverwatchReportReason {
2959 KEOverwatchReportReasonUnknown = 0,
2960 KEOverwatchReportReasonCheating = 1,
2961 KEOverwatchReportReasonFeeding = 2,
2962 KEOverwatchReportReasonGriefing = 3,
2963 KEOverwatchReportReasonSuspicious = 4,
2964 KEOverwatchReportReasonAbilityAbuse = 5,
2965}
2966#[derive(
2967 serde::Serialize,
2968 serde::Deserialize,
2969 Clone,
2970 Copy,
2971 Debug,
2972 PartialEq,
2973 Eq,
2974 Hash,
2975 PartialOrd,
2976 Ord,
2977 ::prost::Enumeration,
2978)]
2979#[repr(i32)]
2980pub enum ECandyShopUpgrade {
2981 KECandyShopUpgradeInvalid = -1,
2982 KECandyShopUpgradeInventorySize = 0,
2983 KECandyShopUpgradeRewardShelf = 1,
2984 KECandyShopUpgradeExtraExchangeRecipe = 2,
2985}
2986#[derive(serde::Serialize, serde::Deserialize)]
2987#[allow(clippy::derive_partial_eq_without_eq)]
2988#[derive(Clone, PartialEq, ::prost::Message)]
2989pub struct CDotaUserMsgAiDebugLine {
2990 #[prost(string, optional, tag = "1")]
2991 pub message: ::core::option::Option<::prost::alloc::string::String>,
2992}
2993#[derive(serde::Serialize, serde::Deserialize)]
2994#[allow(clippy::derive_partial_eq_without_eq)]
2995#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2996pub struct CDotaUserMsgPing {
2997 #[prost(uint32, optional, tag = "2")]
2998 pub ping: ::core::option::Option<u32>,
2999 #[prost(uint32, optional, tag = "3")]
3000 pub loss: ::core::option::Option<u32>,
3001}
3002#[derive(serde::Serialize, serde::Deserialize)]
3003#[allow(clippy::derive_partial_eq_without_eq)]
3004#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3005pub struct CDotaUserMsgSwapVerify {
3006 #[prost(int32, optional, tag = "1", default = "-1")]
3007 pub player_id: ::core::option::Option<i32>,
3008}
3009#[derive(serde::Serialize, serde::Deserialize)]
3010#[allow(clippy::derive_partial_eq_without_eq)]
3011#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3012pub struct CDotaUserMsgChatEvent {
3013 #[prost(
3014 enumeration = "DotaChatMessage",
3015 required,
3016 tag = "1",
3017 default = "ChatMessageInvalid"
3018 )]
3019 pub r#type: i32,
3020 #[prost(uint32, optional, tag = "2")]
3021 pub value: ::core::option::Option<u32>,
3022 #[prost(sint32, optional, tag = "3", default = "-1")]
3023 pub playerid_1: ::core::option::Option<i32>,
3024 #[prost(sint32, optional, tag = "4", default = "-1")]
3025 pub playerid_2: ::core::option::Option<i32>,
3026 #[prost(sint32, optional, tag = "5", default = "-1")]
3027 pub playerid_3: ::core::option::Option<i32>,
3028 #[prost(sint32, optional, tag = "6", default = "-1")]
3029 pub playerid_4: ::core::option::Option<i32>,
3030 #[prost(sint32, optional, tag = "7", default = "-1")]
3031 pub playerid_5: ::core::option::Option<i32>,
3032 #[prost(sint32, optional, tag = "8", default = "-1")]
3033 pub playerid_6: ::core::option::Option<i32>,
3034 #[prost(uint32, optional, tag = "9")]
3035 pub value2: ::core::option::Option<u32>,
3036 #[prost(uint32, optional, tag = "10")]
3037 pub value3: ::core::option::Option<u32>,
3038}
3039#[derive(serde::Serialize, serde::Deserialize)]
3040#[allow(clippy::derive_partial_eq_without_eq)]
3041#[derive(Clone, PartialEq, ::prost::Message)]
3042pub struct CDotaUserMsgBotChat {
3043 #[prost(int32, optional, tag = "1", default = "-1")]
3044 pub player_id: ::core::option::Option<i32>,
3045 #[prost(string, optional, tag = "3")]
3046 pub message: ::core::option::Option<::prost::alloc::string::String>,
3047 #[prost(string, optional, tag = "4")]
3048 pub target: ::core::option::Option<::prost::alloc::string::String>,
3049 #[prost(bool, optional, tag = "5")]
3050 pub team_only: ::core::option::Option<bool>,
3051}
3052#[derive(serde::Serialize, serde::Deserialize)]
3053#[allow(clippy::derive_partial_eq_without_eq)]
3054#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3055pub struct CDotaUserMsgCombatHeroPositions {
3056 #[prost(uint32, optional, tag = "1")]
3057 pub index: ::core::option::Option<u32>,
3058 #[prost(int32, optional, tag = "2")]
3059 pub time: ::core::option::Option<i32>,
3060 #[prost(message, optional, tag = "3")]
3061 pub world_pos: ::core::option::Option<CMsgVector2D>,
3062 #[prost(int32, optional, tag = "4")]
3063 pub health: ::core::option::Option<i32>,
3064}
3065#[derive(serde::Serialize, serde::Deserialize)]
3066#[allow(clippy::derive_partial_eq_without_eq)]
3067#[derive(Clone, PartialEq, ::prost::Message)]
3068pub struct CDotaUserMsgCombatLogBulkData {
3069 #[prost(message, repeated, tag = "1")]
3070 pub combat_entries: ::prost::alloc::vec::Vec<CMsgDotaCombatLogEntry>,
3071 #[prost(float, optional, tag = "2")]
3072 pub timestamp: ::core::option::Option<f32>,
3073 #[prost(float, optional, tag = "3")]
3074 pub duration: ::core::option::Option<f32>,
3075 #[prost(int32, optional, tag = "4", default = "-1")]
3076 pub player_id: ::core::option::Option<i32>,
3077 #[prost(float, optional, tag = "5")]
3078 pub request_time: ::core::option::Option<f32>,
3079}
3080#[derive(serde::Serialize, serde::Deserialize)]
3081#[allow(clippy::derive_partial_eq_without_eq)]
3082#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3083pub struct CDotaUserMsgProjectileParticleCpData {
3084 #[prost(int32, optional, tag = "1")]
3085 pub control_point: ::core::option::Option<i32>,
3086 #[prost(message, optional, tag = "2")]
3087 pub vector: ::core::option::Option<CMsgVector>,
3088}
3089#[derive(serde::Serialize, serde::Deserialize)]
3090#[allow(clippy::derive_partial_eq_without_eq)]
3091#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3092pub struct CDotaUserMsgUpdateLinearProjectileCpData {
3093 #[prost(int32, optional, tag = "1")]
3094 pub handle: ::core::option::Option<i32>,
3095 #[prost(int32, optional, tag = "2")]
3096 pub control_point: ::core::option::Option<i32>,
3097 #[prost(message, optional, tag = "3")]
3098 pub vector: ::core::option::Option<CMsgVector>,
3099}
3100#[derive(serde::Serialize, serde::Deserialize)]
3101#[allow(clippy::derive_partial_eq_without_eq)]
3102#[derive(Clone, PartialEq, ::prost::Message)]
3103pub struct CDotaUserMsgMiniKillCamInfo {
3104 #[prost(message, repeated, tag = "1")]
3105 pub attackers: ::prost::alloc::vec::Vec<cdota_user_msg_mini_kill_cam_info::Attacker>,
3106}
3107pub mod cdota_user_msg_mini_kill_cam_info {
3109 #[derive(serde::Serialize, serde::Deserialize)]
3110 #[allow(clippy::derive_partial_eq_without_eq)]
3111 #[derive(Clone, PartialEq, ::prost::Message)]
3112 pub struct Attacker {
3113 #[prost(uint32, optional, tag = "1", default = "16777215")]
3114 pub attacker: ::core::option::Option<u32>,
3115 #[prost(int32, optional, tag = "2")]
3116 pub total_damage: ::core::option::Option<i32>,
3117 #[prost(message, repeated, tag = "3")]
3118 pub abilities: ::prost::alloc::vec::Vec<attacker::Ability>,
3119 #[prost(string, optional, tag = "4")]
3120 pub attacker_name: ::core::option::Option<::prost::alloc::string::String>,
3121 }
3122 pub mod attacker {
3124 #[derive(serde::Serialize, serde::Deserialize)]
3125 #[allow(clippy::derive_partial_eq_without_eq)]
3126 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3127 pub struct Ability {
3128 #[prost(int32, optional, tag = "1", default = "-1")]
3129 pub ability_id: ::core::option::Option<i32>,
3130 #[prost(int32, optional, tag = "2")]
3131 pub damage: ::core::option::Option<i32>,
3132 }
3133 }
3134}
3135#[derive(serde::Serialize, serde::Deserialize)]
3136#[allow(clippy::derive_partial_eq_without_eq)]
3137#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3138pub struct CDotaUserMsgGlobalLightColor {
3139 #[prost(uint32, optional, tag = "1")]
3140 pub color: ::core::option::Option<u32>,
3141 #[prost(float, optional, tag = "2")]
3142 pub duration: ::core::option::Option<f32>,
3143}
3144#[derive(serde::Serialize, serde::Deserialize)]
3145#[allow(clippy::derive_partial_eq_without_eq)]
3146#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3147pub struct CDotaUserMsgGlobalLightDirection {
3148 #[prost(message, optional, tag = "1")]
3149 pub direction: ::core::option::Option<CMsgVector>,
3150 #[prost(float, optional, tag = "2")]
3151 pub duration: ::core::option::Option<f32>,
3152}
3153#[derive(serde::Serialize, serde::Deserialize)]
3154#[allow(clippy::derive_partial_eq_without_eq)]
3155#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3156pub struct CDotaUserMsgLocationPing {
3157 #[prost(int32, optional, tag = "1", default = "-1")]
3158 pub player_id: ::core::option::Option<i32>,
3159 #[prost(message, optional, tag = "2")]
3160 pub location_ping: ::core::option::Option<CDotaMsgLocationPing>,
3161}
3162#[derive(serde::Serialize, serde::Deserialize)]
3163#[allow(clippy::derive_partial_eq_without_eq)]
3164#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3165pub struct CDotaUserMsgPingConfirmation {
3166 #[prost(int32, optional, tag = "1", default = "-1")]
3167 pub player_id_of_original_pinger: ::core::option::Option<i32>,
3168 #[prost(uint32, optional, tag = "2")]
3169 pub entity_index: ::core::option::Option<u32>,
3170 #[prost(uint32, optional, tag = "3")]
3171 pub icon_type: ::core::option::Option<u32>,
3172 #[prost(message, optional, tag = "4")]
3173 pub location: ::core::option::Option<CMsgVector>,
3174}
3175#[derive(serde::Serialize, serde::Deserialize)]
3176#[allow(clippy::derive_partial_eq_without_eq)]
3177#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3178pub struct CDotaUserMsgItemAlert {
3179 #[prost(int32, optional, tag = "1", default = "-1")]
3180 pub player_id: ::core::option::Option<i32>,
3181 #[prost(message, optional, tag = "2")]
3182 pub item_alert: ::core::option::Option<CDotaMsgItemAlert>,
3183}
3184#[derive(serde::Serialize, serde::Deserialize)]
3185#[allow(clippy::derive_partial_eq_without_eq)]
3186#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3187pub struct CDotaUserMsgEnemyItemAlert {
3188 #[prost(int32, optional, tag = "1", default = "-1")]
3189 pub player_id: ::core::option::Option<i32>,
3190 #[prost(int32, optional, tag = "2", default = "-1")]
3191 pub target_player_id: ::core::option::Option<i32>,
3192 #[prost(int32, optional, tag = "3", default = "-1")]
3193 pub item_ability_id: ::core::option::Option<i32>,
3194 #[prost(int32, optional, tag = "4", default = "-1")]
3195 pub rune_type: ::core::option::Option<i32>,
3196 #[prost(int32, optional, tag = "5")]
3197 pub entity_id: ::core::option::Option<i32>,
3198 #[prost(int32, optional, tag = "6", default = "-1")]
3199 pub item_level: ::core::option::Option<i32>,
3200 #[prost(int32, optional, tag = "7", default = "-1")]
3201 pub primary_charges: ::core::option::Option<i32>,
3202 #[prost(int32, optional, tag = "8", default = "-1")]
3203 pub secondary_charges: ::core::option::Option<i32>,
3204}
3205#[derive(serde::Serialize, serde::Deserialize)]
3206#[allow(clippy::derive_partial_eq_without_eq)]
3207#[derive(Clone, PartialEq, ::prost::Message)]
3208pub struct CDotaUserMsgModifierAlert {
3209 #[prost(int32, optional, tag = "1", default = "-1")]
3210 pub player_id: ::core::option::Option<i32>,
3211 #[prost(string, optional, tag = "2")]
3212 pub class_name: ::core::option::Option<::prost::alloc::string::String>,
3213 #[prost(uint32, optional, tag = "3")]
3214 pub stack_count: ::core::option::Option<u32>,
3215 #[prost(bool, optional, tag = "4")]
3216 pub is_debuff: ::core::option::Option<bool>,
3217 #[prost(int32, optional, tag = "5", default = "-1")]
3218 pub target_entindex: ::core::option::Option<i32>,
3219 #[prost(float, optional, tag = "6")]
3220 pub seconds_remaining: ::core::option::Option<f32>,
3221}
3222#[derive(serde::Serialize, serde::Deserialize)]
3223#[allow(clippy::derive_partial_eq_without_eq)]
3224#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3225pub struct CDotaUserMsgHpManaAlert {
3226 #[prost(int32, optional, tag = "1", default = "-1")]
3227 pub player_id: ::core::option::Option<i32>,
3228 #[prost(int32, optional, tag = "2", default = "-1")]
3229 pub target_entindex: ::core::option::Option<i32>,
3230 #[prost(bool, optional, tag = "3")]
3231 pub show_raw_values: ::core::option::Option<bool>,
3232}
3233#[derive(serde::Serialize, serde::Deserialize)]
3234#[allow(clippy::derive_partial_eq_without_eq)]
3235#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3236pub struct CDotaUserMsgNeutralCampAlert {
3237 #[prost(int32, optional, tag = "1", default = "-1")]
3238 pub player_id: ::core::option::Option<i32>,
3239 #[prost(int32, optional, tag = "2", default = "-1")]
3240 pub spawner_entindex: ::core::option::Option<i32>,
3241 #[prost(int32, optional, tag = "3", default = "-1")]
3242 pub unit_entindex: ::core::option::Option<i32>,
3243 #[prost(int32, optional, tag = "4")]
3244 pub stack_count: ::core::option::Option<i32>,
3245 #[prost(int32, optional, tag = "5")]
3246 pub camp_type: ::core::option::Option<i32>,
3247 #[prost(bool, optional, tag = "6")]
3248 pub stack_request: ::core::option::Option<bool>,
3249 #[prost(bool, optional, tag = "7")]
3250 pub stack_intention: ::core::option::Option<bool>,
3251}
3252#[derive(serde::Serialize, serde::Deserialize)]
3253#[allow(clippy::derive_partial_eq_without_eq)]
3254#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3255pub struct CDotaUserMsgGlyphAlert {
3256 #[prost(int32, optional, tag = "1", default = "-1")]
3257 pub player_id: ::core::option::Option<i32>,
3258 #[prost(bool, optional, tag = "2")]
3259 pub negative: ::core::option::Option<bool>,
3260}
3261#[derive(serde::Serialize, serde::Deserialize)]
3262#[allow(clippy::derive_partial_eq_without_eq)]
3263#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3264pub struct CDotaUserMsgRadarAlert {
3265 #[prost(int32, optional, tag = "1", default = "-1")]
3266 pub player_id: ::core::option::Option<i32>,
3267 #[prost(bool, optional, tag = "2")]
3268 pub negative: ::core::option::Option<bool>,
3269}
3270#[derive(serde::Serialize, serde::Deserialize)]
3271#[allow(clippy::derive_partial_eq_without_eq)]
3272#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3273pub struct CDotaUserMsgWillPurchaseAlert {
3274 #[prost(int32, optional, tag = "1", default = "-1")]
3275 pub item_ability_id: ::core::option::Option<i32>,
3276 #[prost(int32, optional, tag = "2", default = "-1")]
3277 pub player_id: ::core::option::Option<i32>,
3278 #[prost(uint32, optional, tag = "3")]
3279 pub gold_remaining: ::core::option::Option<u32>,
3280 #[prost(int32, optional, tag = "4", default = "-1")]
3281 pub suggestion_player_id: ::core::option::Option<i32>,
3282}
3283#[derive(serde::Serialize, serde::Deserialize)]
3284#[allow(clippy::derive_partial_eq_without_eq)]
3285#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3286pub struct CDotaUserMsgEmptyTeleportAlert {
3287 #[prost(int32, optional, tag = "1", default = "-1")]
3288 pub source_player_id: ::core::option::Option<i32>,
3289 #[prost(int32, optional, tag = "2", default = "-1")]
3290 pub target_player_id: ::core::option::Option<i32>,
3291 #[prost(int32, optional, tag = "3")]
3292 pub cooldown_seconds: ::core::option::Option<i32>,
3293}
3294#[derive(serde::Serialize, serde::Deserialize)]
3295#[allow(clippy::derive_partial_eq_without_eq)]
3296#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3297pub struct CDotaUserMsgMarsArenaOfBloodAttack {
3298 #[prost(uint32, optional, tag = "1", default = "16777215")]
3299 pub source_ehandle: ::core::option::Option<u32>,
3300 #[prost(uint32, optional, tag = "2", default = "16777215")]
3301 pub target_ehandle: ::core::option::Option<u32>,
3302 #[prost(int32, optional, tag = "3")]
3303 pub warrior_index: ::core::option::Option<i32>,
3304}
3305#[derive(serde::Serialize, serde::Deserialize)]
3306#[allow(clippy::derive_partial_eq_without_eq)]
3307#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3308pub struct CDotaEntityMsgInvokerSpellCast {
3309 #[prost(message, optional, tag = "1")]
3310 pub entity_msg: ::core::option::Option<CEntityMsg>,
3311 #[prost(int32, optional, tag = "2")]
3312 pub cast_activity: ::core::option::Option<i32>,
3313}
3314#[derive(serde::Serialize, serde::Deserialize)]
3315#[allow(clippy::derive_partial_eq_without_eq)]
3316#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3317pub struct CDotaUserMsgBuyBackStateAlert {
3318 #[prost(int32, optional, tag = "1", default = "-1")]
3319 pub player_id: ::core::option::Option<i32>,
3320}
3321#[derive(serde::Serialize, serde::Deserialize)]
3322#[allow(clippy::derive_partial_eq_without_eq)]
3323#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3324pub struct CDotaUserMsgQuickBuyAlert {
3325 #[prost(int32, optional, tag = "1", default = "-1")]
3326 pub player_id: ::core::option::Option<i32>,
3327 #[prost(int32, optional, tag = "2", default = "-1")]
3328 pub item_ability_id: ::core::option::Option<i32>,
3329 #[prost(int32, optional, tag = "3")]
3330 pub gold_cost: ::core::option::Option<i32>,
3331 #[prost(int32, optional, tag = "4")]
3332 pub item_cooldown_seconds: ::core::option::Option<i32>,
3333 #[prost(bool, optional, tag = "5")]
3334 pub show_buyback: ::core::option::Option<bool>,
3335}
3336#[derive(serde::Serialize, serde::Deserialize)]
3337#[allow(clippy::derive_partial_eq_without_eq)]
3338#[derive(Clone, PartialEq, ::prost::Message)]
3339pub struct CDotaUserMsgCourierKilledAlert {
3340 #[prost(uint32, optional, tag = "1")]
3341 pub team: ::core::option::Option<u32>,
3342 #[prost(uint32, optional, tag = "2")]
3343 pub gold_value: ::core::option::Option<u32>,
3344 #[prost(uint32, optional, tag = "3", default = "16777215")]
3345 pub entity_handle: ::core::option::Option<u32>,
3346 #[prost(int32, optional, tag = "4")]
3347 pub timestamp: ::core::option::Option<i32>,
3348 #[prost(message, repeated, tag = "5")]
3349 pub lost_items: ::prost::alloc::vec::Vec<cdota_user_msg_courier_killed_alert::LostItem>,
3350 #[prost(int32, optional, tag = "6", default = "-1")]
3351 pub killer_player_id: ::core::option::Option<i32>,
3352 #[prost(int32, optional, tag = "7", default = "-1")]
3353 pub owning_player_id: ::core::option::Option<i32>,
3354}
3355pub mod cdota_user_msg_courier_killed_alert {
3357 #[derive(serde::Serialize, serde::Deserialize)]
3358 #[allow(clippy::derive_partial_eq_without_eq)]
3359 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3360 pub struct LostItem {
3361 #[prost(int32, optional, tag = "1", default = "-1")]
3362 pub item_ability_id: ::core::option::Option<i32>,
3363 #[prost(uint32, optional, tag = "2")]
3364 pub quantity: ::core::option::Option<u32>,
3365 }
3366}
3367#[derive(serde::Serialize, serde::Deserialize)]
3368#[allow(clippy::derive_partial_eq_without_eq)]
3369#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3370pub struct CDotaUserMsgMinimapEvent {
3371 #[prost(int32, optional, tag = "1")]
3372 pub event_type: ::core::option::Option<i32>,
3373 #[prost(uint32, optional, tag = "2", default = "16777215")]
3374 pub entity_handle: ::core::option::Option<u32>,
3375 #[prost(int32, optional, tag = "3")]
3376 pub x: ::core::option::Option<i32>,
3377 #[prost(int32, optional, tag = "4")]
3378 pub y: ::core::option::Option<i32>,
3379 #[prost(int32, optional, tag = "5")]
3380 pub duration: ::core::option::Option<i32>,
3381 #[prost(uint32, optional, tag = "6", default = "16777215")]
3382 pub target_entity_handle: ::core::option::Option<u32>,
3383}
3384#[derive(serde::Serialize, serde::Deserialize)]
3385#[allow(clippy::derive_partial_eq_without_eq)]
3386#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3387pub struct CDotaUserMsgMapLine {
3388 #[prost(int32, optional, tag = "1", default = "-1")]
3389 pub player_id: ::core::option::Option<i32>,
3390 #[prost(message, optional, tag = "2")]
3391 pub mapline: ::core::option::Option<CDotaMsgMapLine>,
3392}
3393#[derive(serde::Serialize, serde::Deserialize)]
3394#[allow(clippy::derive_partial_eq_without_eq)]
3395#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3396pub struct CDotaUserMsgMinimapDebugPoint {
3397 #[prost(message, optional, tag = "1")]
3398 pub location: ::core::option::Option<CMsgVector>,
3399 #[prost(uint32, optional, tag = "2")]
3400 pub color: ::core::option::Option<u32>,
3401 #[prost(int32, optional, tag = "3")]
3402 pub size: ::core::option::Option<i32>,
3403 #[prost(float, optional, tag = "4")]
3404 pub duration: ::core::option::Option<f32>,
3405 #[prost(int32, optional, tag = "5")]
3406 pub index: ::core::option::Option<i32>,
3407}
3408#[derive(serde::Serialize, serde::Deserialize)]
3409#[allow(clippy::derive_partial_eq_without_eq)]
3410#[derive(Clone, PartialEq, ::prost::Message)]
3411pub struct CDotaUserMsgCreateLinearProjectile {
3412 #[prost(message, optional, tag = "1")]
3413 pub origin: ::core::option::Option<CMsgVector>,
3414 #[prost(message, optional, tag = "2")]
3415 pub velocity: ::core::option::Option<CMsgVector2D>,
3416 #[prost(int32, optional, tag = "4", default = "-1")]
3417 pub entindex: ::core::option::Option<i32>,
3418 #[prost(uint64, optional, tag = "5")]
3419 pub particle_index: ::core::option::Option<u64>,
3420 #[prost(int32, optional, tag = "6")]
3421 pub handle: ::core::option::Option<i32>,
3422 #[prost(message, optional, tag = "7")]
3423 pub acceleration: ::core::option::Option<CMsgVector2D>,
3424 #[prost(float, optional, tag = "8")]
3425 pub max_speed: ::core::option::Option<f32>,
3426 #[prost(float, optional, tag = "9")]
3427 pub fow_radius: ::core::option::Option<f32>,
3428 #[prost(bool, optional, tag = "10")]
3429 pub sticky_fow_reveal: ::core::option::Option<bool>,
3430 #[prost(float, optional, tag = "11")]
3431 pub distance: ::core::option::Option<f32>,
3432 #[prost(fixed32, optional, tag = "12")]
3433 pub colorgemcolor: ::core::option::Option<u32>,
3434 #[prost(message, repeated, tag = "13")]
3435 pub particle_cp_data: ::prost::alloc::vec::Vec<CDotaUserMsgProjectileParticleCpData>,
3436}
3437#[derive(serde::Serialize, serde::Deserialize)]
3438#[allow(clippy::derive_partial_eq_without_eq)]
3439#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3440pub struct CDotaUserMsgDestroyLinearProjectile {
3441 #[prost(int32, optional, tag = "1")]
3442 pub handle: ::core::option::Option<i32>,
3443}
3444#[derive(serde::Serialize, serde::Deserialize)]
3445#[allow(clippy::derive_partial_eq_without_eq)]
3446#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3447pub struct CDotaUserMsgDodgeTrackingProjectiles {
3448 #[prost(int32, required, tag = "1", default = "-1")]
3449 pub entindex: i32,
3450 #[prost(bool, optional, tag = "2")]
3451 pub attacks_only: ::core::option::Option<bool>,
3452}
3453#[derive(serde::Serialize, serde::Deserialize)]
3454#[allow(clippy::derive_partial_eq_without_eq)]
3455#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3456pub struct CDotaUserMsgSpectatorPlayerClick {
3457 #[prost(int32, required, tag = "1", default = "-1")]
3458 pub entindex: i32,
3459 #[prost(int32, optional, tag = "2")]
3460 pub order_type: ::core::option::Option<i32>,
3461 #[prost(int32, optional, tag = "3", default = "0")]
3462 pub target_index: ::core::option::Option<i32>,
3463}
3464#[derive(serde::Serialize, serde::Deserialize)]
3465#[allow(clippy::derive_partial_eq_without_eq)]
3466#[derive(Clone, PartialEq, ::prost::Message)]
3467pub struct CDotaUserMsgSpectatorPlayerUnitOrders {
3468 #[prost(int32, optional, tag = "1", default = "-1")]
3469 pub entindex: ::core::option::Option<i32>,
3470 #[prost(int32, optional, tag = "2")]
3471 pub order_type: ::core::option::Option<i32>,
3472 #[prost(int32, repeated, packed = "false", tag = "3")]
3473 pub units: ::prost::alloc::vec::Vec<i32>,
3474 #[prost(int32, optional, tag = "4", default = "0")]
3475 pub target_index: ::core::option::Option<i32>,
3476 #[prost(int32, optional, tag = "5", default = "-1")]
3477 pub ability_id: ::core::option::Option<i32>,
3478 #[prost(message, optional, tag = "6")]
3479 pub position: ::core::option::Option<CMsgVector>,
3480 #[prost(bool, optional, tag = "7")]
3481 pub queue: ::core::option::Option<bool>,
3482 #[prost(int32, optional, tag = "8")]
3483 pub sequence_number: ::core::option::Option<i32>,
3484 #[prost(uint32, optional, tag = "9")]
3485 pub flags: ::core::option::Option<u32>,
3486}
3487#[derive(serde::Serialize, serde::Deserialize)]
3488#[allow(clippy::derive_partial_eq_without_eq)]
3489#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3490pub struct CDotaUserMsgNevermoreRequiem {
3491 #[prost(uint32, optional, tag = "1", default = "16777215")]
3492 pub entity_handle: ::core::option::Option<u32>,
3493 #[prost(int32, optional, tag = "2")]
3494 pub lines: ::core::option::Option<i32>,
3495 #[prost(message, optional, tag = "3")]
3496 pub origin: ::core::option::Option<CMsgVector>,
3497 #[prost(bool, optional, tag = "4")]
3498 pub reverse: ::core::option::Option<bool>,
3499}
3500#[derive(serde::Serialize, serde::Deserialize)]
3501#[allow(clippy::derive_partial_eq_without_eq)]
3502#[derive(Clone, PartialEq, ::prost::Message)]
3503pub struct CDotaUserMsgInvalidCommand {
3504 #[prost(string, optional, tag = "1")]
3505 pub message: ::core::option::Option<::prost::alloc::string::String>,
3506 #[prost(int32, optional, tag = "2")]
3507 pub sequence_number: ::core::option::Option<i32>,
3508}
3509#[derive(serde::Serialize, serde::Deserialize)]
3510#[allow(clippy::derive_partial_eq_without_eq)]
3511#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3512pub struct CDotaUserMsgHudError {
3513 #[prost(int32, optional, tag = "1")]
3514 pub order_id: ::core::option::Option<i32>,
3515 #[prost(int32, optional, tag = "2")]
3516 pub sequence_number: ::core::option::Option<i32>,
3517}
3518#[derive(serde::Serialize, serde::Deserialize)]
3519#[allow(clippy::derive_partial_eq_without_eq)]
3520#[derive(Clone, PartialEq, ::prost::Message)]
3521pub struct CDotaUserMsgSharedCooldown {
3522 #[prost(int32, optional, tag = "1", default = "-1")]
3523 pub entindex: ::core::option::Option<i32>,
3524 #[prost(string, optional, tag = "2")]
3525 pub name: ::core::option::Option<::prost::alloc::string::String>,
3526 #[prost(float, optional, tag = "3")]
3527 pub cooldown: ::core::option::Option<f32>,
3528 #[prost(int32, optional, tag = "4")]
3529 pub name_index: ::core::option::Option<i32>,
3530}
3531#[derive(serde::Serialize, serde::Deserialize)]
3532#[allow(clippy::derive_partial_eq_without_eq)]
3533#[derive(Clone, PartialEq, ::prost::Message)]
3534pub struct CDotaUserMsgSetNextAutobuyItem {
3535 #[prost(string, optional, tag = "1")]
3536 pub name: ::core::option::Option<::prost::alloc::string::String>,
3537}
3538#[derive(serde::Serialize, serde::Deserialize)]
3539#[allow(clippy::derive_partial_eq_without_eq)]
3540#[derive(Clone, PartialEq, ::prost::Message)]
3541pub struct CDotaUserMsgHalloweenDrops {
3542 #[prost(uint32, repeated, packed = "false", tag = "1")]
3543 pub item_defs: ::prost::alloc::vec::Vec<u32>,
3544 #[prost(int32, repeated, packed = "false", tag = "2")]
3545 pub player_ids: ::prost::alloc::vec::Vec<i32>,
3546 #[prost(uint32, optional, tag = "3")]
3547 pub prize_list: ::core::option::Option<u32>,
3548}
3549#[derive(serde::Serialize, serde::Deserialize)]
3550#[allow(clippy::derive_partial_eq_without_eq)]
3551#[derive(Clone, PartialEq, ::prost::Message)]
3552pub struct CDotaUserMsgPredictionResult {
3553 #[prost(uint32, optional, tag = "1")]
3554 pub account_id: ::core::option::Option<u32>,
3555 #[prost(uint64, optional, tag = "2")]
3556 pub match_id: ::core::option::Option<u64>,
3557 #[prost(bool, optional, tag = "3")]
3558 pub correct: ::core::option::Option<bool>,
3559 #[prost(message, repeated, tag = "4")]
3560 pub predictions: ::prost::alloc::vec::Vec<cdota_user_msg_prediction_result::Prediction>,
3561}
3562pub mod cdota_user_msg_prediction_result {
3564 #[derive(serde::Serialize, serde::Deserialize)]
3565 #[allow(clippy::derive_partial_eq_without_eq)]
3566 #[derive(Clone, PartialEq, ::prost::Message)]
3567 pub struct Prediction {
3568 #[prost(uint32, optional, tag = "1")]
3569 pub item_def: ::core::option::Option<u32>,
3570 #[prost(uint32, optional, tag = "2")]
3571 pub num_correct: ::core::option::Option<u32>,
3572 #[prost(uint32, optional, tag = "3")]
3573 pub num_fails: ::core::option::Option<u32>,
3574 #[prost(
3575 enumeration = "prediction::EResult",
3576 optional,
3577 tag = "4",
3578 default = "KEResultItemGranted"
3579 )]
3580 pub result: ::core::option::Option<i32>,
3581 #[prost(uint32, repeated, packed = "false", tag = "6")]
3582 pub granted_item_defs: ::prost::alloc::vec::Vec<u32>,
3583 }
3584 pub mod prediction {
3586 #[derive(
3587 serde::Serialize,
3588 serde::Deserialize,
3589 Clone,
3590 Copy,
3591 Debug,
3592 PartialEq,
3593 Eq,
3594 Hash,
3595 PartialOrd,
3596 Ord,
3597 ::prost::Enumeration,
3598 )]
3599 #[repr(i32)]
3600 pub enum EResult {
3601 KEResultItemGranted = 1,
3602 KEResultDestroyed = 2,
3603 }
3604 }
3605}
3606#[derive(serde::Serialize, serde::Deserialize)]
3607#[allow(clippy::derive_partial_eq_without_eq)]
3608#[derive(Clone, PartialEq, ::prost::Message)]
3609pub struct CDotaResponseQuerySerialized {
3610 #[prost(message, repeated, tag = "1")]
3611 pub facts: ::prost::alloc::vec::Vec<cdota_response_query_serialized::Fact>,
3612}
3613pub mod cdota_response_query_serialized {
3615 #[derive(serde::Serialize, serde::Deserialize)]
3616 #[allow(clippy::derive_partial_eq_without_eq)]
3617 #[derive(Clone, PartialEq, ::prost::Message)]
3618 pub struct Fact {
3619 #[prost(int32, required, tag = "1")]
3620 pub key: i32,
3621 #[prost(
3622 enumeration = "fact::ValueType",
3623 required,
3624 tag = "2",
3625 default = "Numeric"
3626 )]
3627 pub valtype: i32,
3628 #[prost(float, optional, tag = "3")]
3629 pub val_numeric: ::core::option::Option<f32>,
3630 #[prost(string, optional, tag = "4")]
3631 pub val_string: ::core::option::Option<::prost::alloc::string::String>,
3632 #[prost(int32, optional, tag = "5")]
3633 pub val_stringtable_index: ::core::option::Option<i32>,
3634 #[prost(sint32, optional, tag = "6")]
3635 pub val_int_numeric: ::core::option::Option<i32>,
3636 }
3637 pub mod fact {
3639 #[derive(
3640 serde::Serialize,
3641 serde::Deserialize,
3642 Clone,
3643 Copy,
3644 Debug,
3645 PartialEq,
3646 Eq,
3647 Hash,
3648 PartialOrd,
3649 Ord,
3650 ::prost::Enumeration,
3651 )]
3652 #[repr(i32)]
3653 pub enum ValueType {
3654 Numeric = 1,
3655 String = 2,
3656 StringtableIndex = 3,
3657 IntNumeric = 4,
3658 }
3659 }
3660}
3661#[derive(serde::Serialize, serde::Deserialize)]
3662#[allow(clippy::derive_partial_eq_without_eq)]
3663#[derive(Clone, PartialEq, ::prost::Message)]
3664pub struct CDotaSpeechMatchOnClient {
3665 #[prost(int32, optional, tag = "1")]
3666 pub speech_concept: ::core::option::Option<i32>,
3667 #[prost(int32, optional, tag = "2")]
3668 pub recipient_type: ::core::option::Option<i32>,
3669 #[prost(message, optional, tag = "3")]
3670 pub responsequery: ::core::option::Option<CDotaResponseQuerySerialized>,
3671 #[prost(sfixed32, optional, tag = "4", default = "0")]
3672 pub randomseed: ::core::option::Option<i32>,
3673}
3674#[derive(serde::Serialize, serde::Deserialize)]
3675#[allow(clippy::derive_partial_eq_without_eq)]
3676#[derive(Clone, PartialEq, ::prost::Message)]
3677pub struct CDotaUserMsgUnitEvent {
3678 #[prost(
3679 enumeration = "EDotaEntityMessages",
3680 required,
3681 tag = "1",
3682 default = "DotaUnitSpeech"
3683 )]
3684 pub msg_type: i32,
3685 #[prost(int32, required, tag = "2")]
3686 pub entity_index: i32,
3687 #[prost(message, optional, tag = "3")]
3688 pub speech: ::core::option::Option<cdota_user_msg_unit_event::Speech>,
3689 #[prost(message, optional, tag = "4")]
3690 pub speech_mute: ::core::option::Option<cdota_user_msg_unit_event::SpeechMute>,
3691 #[prost(message, optional, tag = "5")]
3692 pub add_gesture: ::core::option::Option<cdota_user_msg_unit_event::AddGesture>,
3693 #[prost(message, optional, tag = "6")]
3694 pub remove_gesture: ::core::option::Option<cdota_user_msg_unit_event::RemoveGesture>,
3695 #[prost(message, optional, tag = "7")]
3696 pub blood_impact: ::core::option::Option<cdota_user_msg_unit_event::BloodImpact>,
3697 #[prost(message, optional, tag = "8")]
3698 pub fade_gesture: ::core::option::Option<cdota_user_msg_unit_event::FadeGesture>,
3699 #[prost(message, optional, tag = "9")]
3700 pub speech_match_on_client: ::core::option::Option<CDotaSpeechMatchOnClient>,
3701}
3702pub mod cdota_user_msg_unit_event {
3704 #[derive(serde::Serialize, serde::Deserialize)]
3705 #[allow(clippy::derive_partial_eq_without_eq)]
3706 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3707 pub struct Interval {
3708 #[prost(float, optional, tag = "1")]
3709 pub start: ::core::option::Option<f32>,
3710 #[prost(float, optional, tag = "2")]
3711 pub range: ::core::option::Option<f32>,
3712 }
3713 #[derive(serde::Serialize, serde::Deserialize)]
3714 #[allow(clippy::derive_partial_eq_without_eq)]
3715 #[derive(Clone, PartialEq, ::prost::Message)]
3716 pub struct Speech {
3717 #[prost(int32, optional, tag = "1")]
3718 pub speech_concept: ::core::option::Option<i32>,
3719 #[prost(string, optional, tag = "2")]
3720 pub response: ::core::option::Option<::prost::alloc::string::String>,
3721 #[prost(int32, optional, tag = "3")]
3722 pub recipient_type: ::core::option::Option<i32>,
3723 #[prost(bool, optional, tag = "5", default = "false")]
3724 pub muteable: ::core::option::Option<bool>,
3725 #[prost(message, optional, tag = "6")]
3726 pub predelay: ::core::option::Option<Interval>,
3727 #[prost(uint32, optional, tag = "7")]
3728 pub flags: ::core::option::Option<u32>,
3729 }
3730 #[derive(serde::Serialize, serde::Deserialize)]
3731 #[allow(clippy::derive_partial_eq_without_eq)]
3732 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3733 pub struct SpeechMute {
3734 #[prost(float, optional, tag = "1", default = "0.5")]
3735 pub delay: ::core::option::Option<f32>,
3736 }
3737 #[derive(serde::Serialize, serde::Deserialize)]
3738 #[allow(clippy::derive_partial_eq_without_eq)]
3739 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3740 pub struct AddGesture {
3741 #[prost(int32, optional, tag = "1")]
3742 pub activity: ::core::option::Option<i32>,
3743 #[prost(int32, optional, tag = "2")]
3744 pub slot: ::core::option::Option<i32>,
3745 #[prost(float, optional, tag = "3", default = "0")]
3746 pub fade_in: ::core::option::Option<f32>,
3747 #[prost(float, optional, tag = "4", default = "0.1")]
3748 pub fade_out: ::core::option::Option<f32>,
3749 #[prost(float, optional, tag = "5", default = "1")]
3750 pub playback_rate: ::core::option::Option<f32>,
3751 #[prost(int32, optional, tag = "6")]
3752 pub sequence_variant: ::core::option::Option<i32>,
3753 }
3754 #[derive(serde::Serialize, serde::Deserialize)]
3755 #[allow(clippy::derive_partial_eq_without_eq)]
3756 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3757 pub struct RemoveGesture {
3758 #[prost(int32, optional, tag = "1")]
3759 pub activity: ::core::option::Option<i32>,
3760 }
3761 #[derive(serde::Serialize, serde::Deserialize)]
3762 #[allow(clippy::derive_partial_eq_without_eq)]
3763 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3764 pub struct BloodImpact {
3765 #[prost(int32, optional, tag = "1")]
3766 pub scale: ::core::option::Option<i32>,
3767 #[prost(int32, optional, tag = "2")]
3768 pub x_normal: ::core::option::Option<i32>,
3769 #[prost(int32, optional, tag = "3")]
3770 pub y_normal: ::core::option::Option<i32>,
3771 }
3772 #[derive(serde::Serialize, serde::Deserialize)]
3773 #[allow(clippy::derive_partial_eq_without_eq)]
3774 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3775 pub struct FadeGesture {
3776 #[prost(int32, optional, tag = "1")]
3777 pub activity: ::core::option::Option<i32>,
3778 }
3779}
3780#[derive(serde::Serialize, serde::Deserialize)]
3781#[allow(clippy::derive_partial_eq_without_eq)]
3782#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3783pub struct CDotaUserMsgItemPurchased {
3784 #[prost(int32, optional, tag = "1", default = "-1")]
3785 pub item_ability_id: ::core::option::Option<i32>,
3786}
3787#[derive(serde::Serialize, serde::Deserialize)]
3788#[allow(clippy::derive_partial_eq_without_eq)]
3789#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3790pub struct CDotaUserMsgItemSold {
3791 #[prost(int32, optional, tag = "1", default = "-1")]
3792 pub item_ability_id: ::core::option::Option<i32>,
3793}
3794#[derive(serde::Serialize, serde::Deserialize)]
3795#[allow(clippy::derive_partial_eq_without_eq)]
3796#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3797pub struct CDotaUserMsgItemFound {
3798 #[prost(int32, optional, tag = "1", default = "-1")]
3799 pub player: ::core::option::Option<i32>,
3800 #[prost(int32, optional, tag = "2")]
3801 pub quality: ::core::option::Option<i32>,
3802 #[prost(int32, optional, tag = "3")]
3803 pub rarity: ::core::option::Option<i32>,
3804 #[prost(int32, optional, tag = "4")]
3805 pub method: ::core::option::Option<i32>,
3806 #[prost(uint32, optional, tag = "5")]
3807 pub itemdef: ::core::option::Option<u32>,
3808}
3809#[derive(serde::Serialize, serde::Deserialize)]
3810#[allow(clippy::derive_partial_eq_without_eq)]
3811#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3812pub struct CDotaUserMsgOverheadEvent {
3813 #[prost(
3814 enumeration = "DotaOverheadAlert",
3815 required,
3816 tag = "1",
3817 default = "OverheadAlertGold"
3818 )]
3819 pub message_type: i32,
3820 #[prost(int32, optional, tag = "2")]
3821 pub value: ::core::option::Option<i32>,
3822 #[prost(int32, optional, tag = "3", default = "-1")]
3823 pub target_player_entindex: ::core::option::Option<i32>,
3824 #[prost(int32, optional, tag = "4", default = "-1")]
3825 pub target_entindex: ::core::option::Option<i32>,
3826 #[prost(int32, optional, tag = "5", default = "-1")]
3827 pub source_player_entindex: ::core::option::Option<i32>,
3828}
3829#[derive(serde::Serialize, serde::Deserialize)]
3830#[allow(clippy::derive_partial_eq_without_eq)]
3831#[derive(Clone, PartialEq, ::prost::Message)]
3832pub struct CDotaUserMsgTutorialTipInfo {
3833 #[prost(string, optional, tag = "1")]
3834 pub name: ::core::option::Option<::prost::alloc::string::String>,
3835 #[prost(int32, optional, tag = "2")]
3836 pub progress: ::core::option::Option<i32>,
3837}
3838#[derive(serde::Serialize, serde::Deserialize)]
3839#[allow(clippy::derive_partial_eq_without_eq)]
3840#[derive(Clone, PartialEq, ::prost::Message)]
3841pub struct CDotaUserMsgTutorialFinish {
3842 #[prost(string, optional, tag = "1")]
3843 pub heading: ::core::option::Option<::prost::alloc::string::String>,
3844 #[prost(string, optional, tag = "2")]
3845 pub emblem: ::core::option::Option<::prost::alloc::string::String>,
3846 #[prost(string, optional, tag = "3")]
3847 pub body: ::core::option::Option<::prost::alloc::string::String>,
3848 #[prost(bool, optional, tag = "4")]
3849 pub success: ::core::option::Option<bool>,
3850}
3851#[derive(serde::Serialize, serde::Deserialize)]
3852#[allow(clippy::derive_partial_eq_without_eq)]
3853#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3854pub struct CDotaUserMsgTutorialMinimapPosition {}
3855#[derive(serde::Serialize, serde::Deserialize)]
3856#[allow(clippy::derive_partial_eq_without_eq)]
3857#[derive(Clone, PartialEq, ::prost::Message)]
3858pub struct CDotaUserMsgSendGenericToolTip {
3859 #[prost(string, optional, tag = "1")]
3860 pub title: ::core::option::Option<::prost::alloc::string::String>,
3861 #[prost(string, optional, tag = "2")]
3862 pub text: ::core::option::Option<::prost::alloc::string::String>,
3863 #[prost(int32, optional, tag = "3")]
3864 pub entindex: ::core::option::Option<i32>,
3865 #[prost(bool, optional, tag = "4")]
3866 pub close: ::core::option::Option<bool>,
3867}
3868#[derive(serde::Serialize, serde::Deserialize)]
3869#[allow(clippy::derive_partial_eq_without_eq)]
3870#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3871pub struct CDotaUserMsgWorldLine {
3872 #[prost(int32, optional, tag = "1", default = "-1")]
3873 pub player_id: ::core::option::Option<i32>,
3874 #[prost(message, optional, tag = "2")]
3875 pub worldline: ::core::option::Option<CDotaMsgWorldLine>,
3876}
3877#[derive(serde::Serialize, serde::Deserialize)]
3878#[allow(clippy::derive_partial_eq_without_eq)]
3879#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3880pub struct CDotaUserMsgChatWheel {
3881 #[prost(uint32, optional, tag = "1", default = "4294967295")]
3882 pub chat_message_id: ::core::option::Option<u32>,
3883 #[prost(int32, optional, tag = "2", default = "-1")]
3884 pub player_id: ::core::option::Option<i32>,
3885 #[prost(uint32, optional, tag = "3")]
3886 pub account_id: ::core::option::Option<u32>,
3887 #[prost(uint32, optional, tag = "4")]
3888 pub param_hero_id: ::core::option::Option<u32>,
3889 #[prost(uint32, optional, tag = "5")]
3890 pub emoticon_id: ::core::option::Option<u32>,
3891}
3892#[derive(serde::Serialize, serde::Deserialize)]
3893#[allow(clippy::derive_partial_eq_without_eq)]
3894#[derive(Clone, PartialEq, ::prost::Message)]
3895pub struct CDotaUserMsgReceivedXmasGift {
3896 #[prost(int32, optional, tag = "1", default = "-1")]
3897 pub player_id: ::core::option::Option<i32>,
3898 #[prost(string, optional, tag = "2")]
3899 pub item_name: ::core::option::Option<::prost::alloc::string::String>,
3900 #[prost(int32, optional, tag = "3")]
3901 pub inventory_slot: ::core::option::Option<i32>,
3902}
3903#[derive(serde::Serialize, serde::Deserialize)]
3904#[allow(clippy::derive_partial_eq_without_eq)]
3905#[derive(Clone, PartialEq, ::prost::Message)]
3906pub struct CDotaUserMsgShowSurvey {
3907 #[prost(int32, optional, tag = "1")]
3908 pub survey_id: ::core::option::Option<i32>,
3909 #[prost(uint64, optional, tag = "2")]
3910 pub match_id: ::core::option::Option<u64>,
3911 #[prost(string, optional, tag = "3")]
3912 pub response_style: ::core::option::Option<::prost::alloc::string::String>,
3913 #[prost(uint32, optional, tag = "4")]
3914 pub teammate_hero_id: ::core::option::Option<u32>,
3915 #[prost(string, optional, tag = "5")]
3916 pub teammate_name: ::core::option::Option<::prost::alloc::string::String>,
3917 #[prost(uint32, optional, tag = "6")]
3918 pub teammate_account_id: ::core::option::Option<u32>,
3919}
3920#[derive(serde::Serialize, serde::Deserialize)]
3921#[allow(clippy::derive_partial_eq_without_eq)]
3922#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3923pub struct CDotaUserMsgUpdateSharedContent {
3924 #[prost(int32, optional, tag = "1")]
3925 pub slot_type: ::core::option::Option<i32>,
3926}
3927#[derive(serde::Serialize, serde::Deserialize)]
3928#[allow(clippy::derive_partial_eq_without_eq)]
3929#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3930pub struct CDotaUserMsgTutorialRequestExp {}
3931#[derive(serde::Serialize, serde::Deserialize)]
3932#[allow(clippy::derive_partial_eq_without_eq)]
3933#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3934pub struct CDotaUserMsgTutorialFade {
3935 #[prost(int32, optional, tag = "1")]
3936 pub tgt_alpha: ::core::option::Option<i32>,
3937}
3938#[derive(serde::Serialize, serde::Deserialize)]
3939#[allow(clippy::derive_partial_eq_without_eq)]
3940#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3941pub struct CDotaUserMsgTutorialPingMinimap {
3942 #[prost(int32, optional, tag = "1", default = "-1")]
3943 pub player_id: ::core::option::Option<i32>,
3944 #[prost(float, optional, tag = "2")]
3945 pub pos_x: ::core::option::Option<f32>,
3946 #[prost(float, optional, tag = "3")]
3947 pub pos_y: ::core::option::Option<f32>,
3948 #[prost(float, optional, tag = "4")]
3949 pub pos_z: ::core::option::Option<f32>,
3950 #[prost(int32, optional, tag = "5")]
3951 pub entity_index: ::core::option::Option<i32>,
3952}
3953#[derive(serde::Serialize, serde::Deserialize)]
3954#[allow(clippy::derive_partial_eq_without_eq)]
3955#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3956pub struct CDotaUserMsgGamerulesStateChanged {
3957 #[prost(uint32, optional, tag = "1")]
3958 pub state: ::core::option::Option<u32>,
3959}
3960#[derive(serde::Serialize, serde::Deserialize)]
3961#[allow(clippy::derive_partial_eq_without_eq)]
3962#[derive(Clone, PartialEq, ::prost::Message)]
3963pub struct CDotaUserMsgAddQuestLogEntry {
3964 #[prost(string, optional, tag = "1")]
3965 pub npc_name: ::core::option::Option<::prost::alloc::string::String>,
3966 #[prost(string, optional, tag = "2")]
3967 pub npc_dialog: ::core::option::Option<::prost::alloc::string::String>,
3968}
3969#[derive(serde::Serialize, serde::Deserialize)]
3970#[allow(clippy::derive_partial_eq_without_eq)]
3971#[derive(Clone, PartialEq, ::prost::Message)]
3972pub struct CDotaUserMsgSendStatPopup {
3973 #[prost(int32, optional, tag = "1", default = "-1")]
3974 pub player_id: ::core::option::Option<i32>,
3975 #[prost(message, optional, tag = "2")]
3976 pub statpopup: ::core::option::Option<CDotaMsgSendStatPopup>,
3977}
3978#[derive(serde::Serialize, serde::Deserialize)]
3979#[allow(clippy::derive_partial_eq_without_eq)]
3980#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3981pub struct CDotaUserMsgDismissAllStatPopups {
3982 #[prost(message, optional, tag = "1")]
3983 pub dismissallmsg: ::core::option::Option<CDotaMsgDismissAllStatPopups>,
3984}
3985#[derive(serde::Serialize, serde::Deserialize)]
3986#[allow(clippy::derive_partial_eq_without_eq)]
3987#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3988pub struct CDotaUserMsgSendRoshanSpectatorPhase {
3989 #[prost(
3990 enumeration = "DotaRoshanPhase",
3991 optional,
3992 tag = "1",
3993 default = "KSrspRoshanAlive"
3994 )]
3995 pub phase: ::core::option::Option<i32>,
3996 #[prost(int32, optional, tag = "2")]
3997 pub phase_start_time: ::core::option::Option<i32>,
3998 #[prost(int32, optional, tag = "3")]
3999 pub phase_length: ::core::option::Option<i32>,
4000}
4001#[derive(serde::Serialize, serde::Deserialize)]
4002#[allow(clippy::derive_partial_eq_without_eq)]
4003#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4004pub struct CDotaUserMsgSendRoshanPopup {
4005 #[prost(bool, optional, tag = "1")]
4006 pub reclaimed: ::core::option::Option<bool>,
4007 #[prost(int32, optional, tag = "2")]
4008 pub gametime: ::core::option::Option<i32>,
4009}
4010#[derive(serde::Serialize, serde::Deserialize)]
4011#[allow(clippy::derive_partial_eq_without_eq)]
4012#[derive(Clone, PartialEq, ::prost::Message)]
4013pub struct CDotaUserMsgSendFinalGold {
4014 #[prost(uint32, repeated, packed = "false", tag = "1")]
4015 pub reliable_gold: ::prost::alloc::vec::Vec<u32>,
4016 #[prost(uint32, repeated, packed = "false", tag = "2")]
4017 pub unreliable_gold: ::prost::alloc::vec::Vec<u32>,
4018}
4019#[derive(serde::Serialize, serde::Deserialize)]
4020#[allow(clippy::derive_partial_eq_without_eq)]
4021#[derive(Clone, PartialEq, ::prost::Message)]
4022pub struct CDotaUserMsgCustomMsg {
4023 #[prost(string, optional, tag = "1")]
4024 pub message: ::core::option::Option<::prost::alloc::string::String>,
4025 #[prost(int32, optional, tag = "2", default = "-1")]
4026 pub player_id: ::core::option::Option<i32>,
4027 #[prost(int32, optional, tag = "3")]
4028 pub value: ::core::option::Option<i32>,
4029}
4030#[derive(serde::Serialize, serde::Deserialize)]
4031#[allow(clippy::derive_partial_eq_without_eq)]
4032#[derive(Clone, PartialEq, ::prost::Message)]
4033pub struct CDotaUserMsgCoachHudPing {
4034 #[prost(int32, optional, tag = "1", default = "-1")]
4035 pub player_id: ::core::option::Option<i32>,
4036 #[prost(message, optional, tag = "2")]
4037 pub hud_ping: ::core::option::Option<CDotaMsgCoachHudPing>,
4038}
4039#[derive(serde::Serialize, serde::Deserialize)]
4040#[allow(clippy::derive_partial_eq_without_eq)]
4041#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4042pub struct CDotaUserMsgClientLoadGridNav {}
4043#[derive(serde::Serialize, serde::Deserialize)]
4044#[allow(clippy::derive_partial_eq_without_eq)]
4045#[derive(Clone, PartialEq, ::prost::Message)]
4046pub struct CDotaUserMsgTeProjectile {
4047 #[prost(uint32, optional, tag = "1", default = "16777215")]
4048 pub source: ::core::option::Option<u32>,
4049 #[prost(uint32, optional, tag = "2", default = "16777215")]
4050 pub target: ::core::option::Option<u32>,
4051 #[prost(int32, optional, tag = "3")]
4052 pub move_speed: ::core::option::Option<i32>,
4053 #[prost(int32, optional, tag = "4")]
4054 pub source_attachment: ::core::option::Option<i32>,
4055 #[prost(int64, optional, tag = "5")]
4056 pub particle_system_handle: ::core::option::Option<i64>,
4057 #[prost(bool, optional, tag = "6")]
4058 pub dodgeable: ::core::option::Option<bool>,
4059 #[prost(bool, optional, tag = "7")]
4060 pub is_attack: ::core::option::Option<bool>,
4061 #[prost(float, optional, tag = "9")]
4062 pub expire_time: ::core::option::Option<f32>,
4063 #[prost(float, optional, tag = "10")]
4064 pub maximpacttime: ::core::option::Option<f32>,
4065 #[prost(fixed32, optional, tag = "11")]
4066 pub colorgemcolor: ::core::option::Option<u32>,
4067 #[prost(int32, optional, tag = "12")]
4068 pub launch_tick: ::core::option::Option<i32>,
4069 #[prost(int32, optional, tag = "13")]
4070 pub handle: ::core::option::Option<i32>,
4071 #[prost(message, optional, tag = "14")]
4072 pub target_loc: ::core::option::Option<CMsgVector>,
4073 #[prost(message, repeated, tag = "15")]
4074 pub particle_cp_data: ::prost::alloc::vec::Vec<CDotaUserMsgProjectileParticleCpData>,
4075 #[prost(int64, optional, tag = "16")]
4076 pub additional_particle_system_handle: ::core::option::Option<i64>,
4077 #[prost(int32, optional, tag = "17")]
4078 pub original_move_speed: ::core::option::Option<i32>,
4079 #[prost(uint32, optional, tag = "18", default = "16777215")]
4080 pub ability: ::core::option::Option<u32>,
4081}
4082#[derive(serde::Serialize, serde::Deserialize)]
4083#[allow(clippy::derive_partial_eq_without_eq)]
4084#[derive(Clone, PartialEq, ::prost::Message)]
4085pub struct CDotaUserMsgTeProjectileLoc {
4086 #[prost(message, optional, tag = "1")]
4087 pub source_loc: ::core::option::Option<CMsgVector>,
4088 #[prost(uint32, optional, tag = "2", default = "16777215")]
4089 pub target: ::core::option::Option<u32>,
4090 #[prost(int32, optional, tag = "3")]
4091 pub move_speed: ::core::option::Option<i32>,
4092 #[prost(int64, optional, tag = "4")]
4093 pub particle_system_handle: ::core::option::Option<i64>,
4094 #[prost(bool, optional, tag = "5")]
4095 pub dodgeable: ::core::option::Option<bool>,
4096 #[prost(bool, optional, tag = "6")]
4097 pub is_attack: ::core::option::Option<bool>,
4098 #[prost(float, optional, tag = "9")]
4099 pub expire_time: ::core::option::Option<f32>,
4100 #[prost(message, optional, tag = "10")]
4101 pub target_loc: ::core::option::Option<CMsgVector>,
4102 #[prost(fixed32, optional, tag = "11")]
4103 pub colorgemcolor: ::core::option::Option<u32>,
4104 #[prost(int32, optional, tag = "12")]
4105 pub launch_tick: ::core::option::Option<i32>,
4106 #[prost(int32, optional, tag = "13")]
4107 pub handle: ::core::option::Option<i32>,
4108 #[prost(uint32, optional, tag = "14", default = "16777215")]
4109 pub source: ::core::option::Option<u32>,
4110 #[prost(int32, optional, tag = "15")]
4111 pub source_attachment: ::core::option::Option<i32>,
4112 #[prost(message, repeated, tag = "16")]
4113 pub particle_cp_data: ::prost::alloc::vec::Vec<CDotaUserMsgProjectileParticleCpData>,
4114 #[prost(int64, optional, tag = "17")]
4115 pub additional_particle_system_handle: ::core::option::Option<i64>,
4116 #[prost(int32, optional, tag = "18")]
4117 pub original_move_speed: ::core::option::Option<i32>,
4118}
4119#[derive(serde::Serialize, serde::Deserialize)]
4120#[allow(clippy::derive_partial_eq_without_eq)]
4121#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4122pub struct CDotaUserMsgTeDestroyProjectile {
4123 #[prost(int32, optional, tag = "1")]
4124 pub handle: ::core::option::Option<i32>,
4125}
4126#[derive(serde::Serialize, serde::Deserialize)]
4127#[allow(clippy::derive_partial_eq_without_eq)]
4128#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4129pub struct CDotaUserMsgTeDotaBloodImpact {
4130 #[prost(uint32, optional, tag = "1", default = "16777215")]
4131 pub entity: ::core::option::Option<u32>,
4132 #[prost(float, optional, tag = "2")]
4133 pub scale: ::core::option::Option<f32>,
4134 #[prost(float, optional, tag = "3")]
4135 pub xnormal: ::core::option::Option<f32>,
4136 #[prost(float, optional, tag = "4")]
4137 pub ynormal: ::core::option::Option<f32>,
4138}
4139#[derive(serde::Serialize, serde::Deserialize)]
4140#[allow(clippy::derive_partial_eq_without_eq)]
4141#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4142pub struct CDotaUserMsgAbilityPing {
4143 #[prost(int32, optional, tag = "1", default = "-1")]
4144 pub player_id: ::core::option::Option<i32>,
4145 #[prost(int32, optional, tag = "2", default = "-1")]
4146 pub ability_id: ::core::option::Option<i32>,
4147 #[prost(
4148 enumeration = "DotaAbilityPingType",
4149 optional,
4150 tag = "3",
4151 default = "AbilityPingReady"
4152 )]
4153 pub r#type: ::core::option::Option<i32>,
4154 #[prost(uint32, optional, tag = "4")]
4155 pub cooldown_seconds: ::core::option::Option<u32>,
4156 #[prost(uint32, optional, tag = "5")]
4157 pub level: ::core::option::Option<u32>,
4158 #[prost(bool, optional, tag = "6")]
4159 pub passive: ::core::option::Option<bool>,
4160 #[prost(uint32, optional, tag = "7")]
4161 pub mana_needed: ::core::option::Option<u32>,
4162 #[prost(uint32, optional, tag = "8")]
4163 pub entity_id: ::core::option::Option<u32>,
4164 #[prost(int32, optional, tag = "9")]
4165 pub primary_charges: ::core::option::Option<i32>,
4166 #[prost(int32, optional, tag = "10")]
4167 pub secondary_charges: ::core::option::Option<i32>,
4168 #[prost(bool, optional, tag = "12")]
4169 pub ctrl_held: ::core::option::Option<bool>,
4170 #[prost(float, optional, tag = "13")]
4171 pub reclaim_time: ::core::option::Option<f32>,
4172 #[prost(int32, optional, tag = "14", default = "-1")]
4173 pub owner_entity: ::core::option::Option<i32>,
4174}
4175#[derive(serde::Serialize, serde::Deserialize)]
4176#[allow(clippy::derive_partial_eq_without_eq)]
4177#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4178pub struct CDotaUserMsgTeUnitAnimation {
4179 #[prost(uint32, optional, tag = "1", default = "16777215")]
4180 pub entity: ::core::option::Option<u32>,
4181 #[prost(int32, optional, tag = "2")]
4182 pub sequence_variant: ::core::option::Option<i32>,
4183 #[prost(float, optional, tag = "3")]
4184 pub playbackrate: ::core::option::Option<f32>,
4185 #[prost(float, optional, tag = "4")]
4186 pub castpoint: ::core::option::Option<f32>,
4187 #[prost(int32, optional, tag = "5")]
4188 pub r#type: ::core::option::Option<i32>,
4189 #[prost(int32, optional, tag = "6")]
4190 pub activity: ::core::option::Option<i32>,
4191 #[prost(float, optional, tag = "7")]
4192 pub lag_compensation_time: ::core::option::Option<f32>,
4193}
4194#[derive(serde::Serialize, serde::Deserialize)]
4195#[allow(clippy::derive_partial_eq_without_eq)]
4196#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4197pub struct CDotaUserMsgTeUnitAnimationEnd {
4198 #[prost(uint32, optional, tag = "1", default = "16777215")]
4199 pub entity: ::core::option::Option<u32>,
4200 #[prost(bool, optional, tag = "2")]
4201 pub snap: ::core::option::Option<bool>,
4202}
4203#[derive(serde::Serialize, serde::Deserialize)]
4204#[allow(clippy::derive_partial_eq_without_eq)]
4205#[derive(Clone, PartialEq, ::prost::Message)]
4206pub struct CDotaUserMsgShowGenericPopup {
4207 #[prost(string, required, tag = "1")]
4208 pub header: ::prost::alloc::string::String,
4209 #[prost(string, required, tag = "2")]
4210 pub body: ::prost::alloc::string::String,
4211 #[prost(string, optional, tag = "3")]
4212 pub param1: ::core::option::Option<::prost::alloc::string::String>,
4213 #[prost(string, optional, tag = "4")]
4214 pub param2: ::core::option::Option<::prost::alloc::string::String>,
4215 #[prost(bool, optional, tag = "5")]
4216 pub tint_screen: ::core::option::Option<bool>,
4217 #[prost(bool, optional, tag = "6")]
4218 pub show_no_other_dialogs: ::core::option::Option<bool>,
4219}
4220#[derive(serde::Serialize, serde::Deserialize)]
4221#[allow(clippy::derive_partial_eq_without_eq)]
4222#[derive(Clone, PartialEq, ::prost::Message)]
4223pub struct CDotaUserMsgVoteStart {
4224 #[prost(string, optional, tag = "1")]
4225 pub title: ::core::option::Option<::prost::alloc::string::String>,
4226 #[prost(float, optional, tag = "2")]
4227 pub duration: ::core::option::Option<f32>,
4228 #[prost(int32, optional, tag = "3")]
4229 pub choice_count: ::core::option::Option<i32>,
4230 #[prost(string, repeated, tag = "4")]
4231 pub choices: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4232}
4233#[derive(serde::Serialize, serde::Deserialize)]
4234#[allow(clippy::derive_partial_eq_without_eq)]
4235#[derive(Clone, PartialEq, ::prost::Message)]
4236pub struct CDotaUserMsgVoteUpdate {
4237 #[prost(int32, repeated, packed = "false", tag = "1")]
4238 pub choice_counts: ::prost::alloc::vec::Vec<i32>,
4239}
4240#[derive(serde::Serialize, serde::Deserialize)]
4241#[allow(clippy::derive_partial_eq_without_eq)]
4242#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4243pub struct CDotaUserMsgVoteEnd {
4244 #[prost(int32, optional, tag = "1")]
4245 pub selected_choice: ::core::option::Option<i32>,
4246}
4247#[derive(serde::Serialize, serde::Deserialize)]
4248#[allow(clippy::derive_partial_eq_without_eq)]
4249#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4250pub struct CDotaUserMsgBoosterStatePlayer {
4251 #[prost(int32, optional, tag = "1", default = "-1")]
4252 pub player_id: ::core::option::Option<i32>,
4253 #[prost(float, optional, tag = "2")]
4254 pub bonus: ::core::option::Option<f32>,
4255 #[prost(float, optional, tag = "3")]
4256 pub event_bonus: ::core::option::Option<f32>,
4257 #[prost(uint32, optional, tag = "4")]
4258 pub bonus_item_id: ::core::option::Option<u32>,
4259 #[prost(uint32, optional, tag = "5")]
4260 pub event_bonus_item_id: ::core::option::Option<u32>,
4261}
4262#[derive(serde::Serialize, serde::Deserialize)]
4263#[allow(clippy::derive_partial_eq_without_eq)]
4264#[derive(Clone, PartialEq, ::prost::Message)]
4265pub struct CDotaUserMsgBoosterState {
4266 #[prost(message, repeated, tag = "1")]
4267 pub boosted_players: ::prost::alloc::vec::Vec<CDotaUserMsgBoosterStatePlayer>,
4268}
4269#[derive(serde::Serialize, serde::Deserialize)]
4270#[allow(clippy::derive_partial_eq_without_eq)]
4271#[derive(Clone, PartialEq, ::prost::Message)]
4272pub struct CDotaUserMsgPlayerMmr {
4273 #[prost(sint32, repeated, tag = "1")]
4274 pub mmr: ::prost::alloc::vec::Vec<i32>,
4275}
4276#[derive(serde::Serialize, serde::Deserialize)]
4277#[allow(clippy::derive_partial_eq_without_eq)]
4278#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4279pub struct CDotaUserMsgAbilitySteal {
4280 #[prost(int32, optional, tag = "1", default = "-1")]
4281 pub player_id: ::core::option::Option<i32>,
4282 #[prost(int32, optional, tag = "2", default = "-1")]
4283 pub ability_id: ::core::option::Option<i32>,
4284 #[prost(uint32, optional, tag = "3")]
4285 pub ability_level: ::core::option::Option<u32>,
4286}
4287#[derive(serde::Serialize, serde::Deserialize)]
4288#[allow(clippy::derive_partial_eq_without_eq)]
4289#[derive(Clone, PartialEq, ::prost::Message)]
4290pub struct CDotaUserMsgStatsHeroLookup {
4291 #[prost(int32, optional, tag = "1", default = "-1")]
4292 pub player_id: ::core::option::Option<i32>,
4293 #[prost(int32, optional, tag = "2")]
4294 pub hero_id: ::core::option::Option<i32>,
4295 #[prost(string, optional, tag = "3")]
4296 pub hero_name: ::core::option::Option<::prost::alloc::string::String>,
4297 #[prost(string, optional, tag = "4")]
4298 pub persona: ::core::option::Option<::prost::alloc::string::String>,
4299}
4300#[derive(serde::Serialize, serde::Deserialize)]
4301#[allow(clippy::derive_partial_eq_without_eq)]
4302#[derive(Clone, PartialEq, ::prost::Message)]
4303pub struct CDotaUserMsgStatsHeroPositionInfo {
4304 #[prost(float, optional, tag = "1")]
4305 pub average_position: ::core::option::Option<f32>,
4306 #[prost(message, repeated, tag = "2")]
4307 pub position_details:
4308 ::prost::alloc::vec::Vec<cdota_user_msg_stats_hero_position_info::PositionPair>,
4309}
4310pub mod cdota_user_msg_stats_hero_position_info {
4312 #[derive(serde::Serialize, serde::Deserialize)]
4313 #[allow(clippy::derive_partial_eq_without_eq)]
4314 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4315 pub struct PositionPair {
4316 #[prost(
4317 enumeration = "super::DotaPositionCategory",
4318 optional,
4319 tag = "1",
4320 default = "DotaPositionNone"
4321 )]
4322 pub position_category: ::core::option::Option<i32>,
4323 #[prost(uint32, optional, tag = "2")]
4324 pub position_count: ::core::option::Option<u32>,
4325 }
4326}
4327#[derive(serde::Serialize, serde::Deserialize)]
4328#[allow(clippy::derive_partial_eq_without_eq)]
4329#[derive(Clone, PartialEq, ::prost::Message)]
4330pub struct CDotaUserMsgStatsHeroMinuteDetails {
4331 #[prost(uint32, optional, tag = "1")]
4332 pub last_hits: ::core::option::Option<u32>,
4333 #[prost(uint32, optional, tag = "2")]
4334 pub hero_kills: ::core::option::Option<u32>,
4335 #[prost(uint32, optional, tag = "3")]
4336 pub hero_damage: ::core::option::Option<u32>,
4337 #[prost(uint32, optional, tag = "4")]
4338 pub tower_damage: ::core::option::Option<u32>,
4339 #[prost(message, optional, tag = "5")]
4340 pub position_info: ::core::option::Option<CDotaUserMsgStatsHeroPositionInfo>,
4341 #[prost(uint32, optional, tag = "6")]
4342 pub total_xp: ::core::option::Option<u32>,
4343 #[prost(uint32, optional, tag = "7")]
4344 pub net_worth: ::core::option::Option<u32>,
4345 #[prost(uint32, optional, tag = "8")]
4346 pub harvested_creep_gold: ::core::option::Option<u32>,
4347 #[prost(uint32, optional, tag = "9")]
4348 pub claimed_farm: ::core::option::Option<u32>,
4349 #[prost(uint32, optional, tag = "10")]
4350 pub wards_placed: ::core::option::Option<u32>,
4351 #[prost(uint32, optional, tag = "11")]
4352 pub runes_collected: ::core::option::Option<u32>,
4353 #[prost(uint32, optional, tag = "12")]
4354 pub tps_used: ::core::option::Option<u32>,
4355 #[prost(uint32, repeated, packed = "false", tag = "13")]
4356 pub mana_spent: ::prost::alloc::vec::Vec<u32>,
4357 #[prost(uint32, repeated, packed = "false", tag = "14")]
4358 pub damage_absorbed: ::prost::alloc::vec::Vec<u32>,
4359 #[prost(uint32, repeated, packed = "false", tag = "15")]
4360 pub damage_done: ::prost::alloc::vec::Vec<u32>,
4361}
4362#[derive(serde::Serialize, serde::Deserialize)]
4363#[allow(clippy::derive_partial_eq_without_eq)]
4364#[derive(Clone, PartialEq, ::prost::Message)]
4365pub struct CDotaUserMsgStatsTeamMinuteDetails {
4366 #[prost(message, repeated, tag = "1")]
4367 pub player_stats: ::prost::alloc::vec::Vec<CDotaUserMsgStatsHeroMinuteDetails>,
4368 #[prost(uint32, optional, tag = "2")]
4369 pub tower_kills: ::core::option::Option<u32>,
4370 #[prost(uint32, optional, tag = "3")]
4371 pub barrack_kills: ::core::option::Option<u32>,
4372 #[prost(uint32, optional, tag = "4")]
4373 pub available_lane_creep_gold: ::core::option::Option<u32>,
4374 #[prost(uint32, optional, tag = "5")]
4375 pub balance_kill_value: ::core::option::Option<u32>,
4376 #[prost(uint32, optional, tag = "6")]
4377 pub balance_tower_value: ::core::option::Option<u32>,
4378 #[prost(uint32, optional, tag = "7")]
4379 pub balance_barracks_value: ::core::option::Option<u32>,
4380 #[prost(uint32, optional, tag = "8")]
4381 pub balance_gold_value: ::core::option::Option<u32>,
4382 #[prost(uint32, optional, tag = "9")]
4383 pub balance_xp_value: ::core::option::Option<u32>,
4384 #[prost(message, repeated, tag = "10")]
4385 pub lane_performance:
4386 ::prost::alloc::vec::Vec<cdota_user_msg_stats_team_minute_details::LocationPerformance>,
4387}
4388pub mod cdota_user_msg_stats_team_minute_details {
4390 #[derive(serde::Serialize, serde::Deserialize)]
4391 #[allow(clippy::derive_partial_eq_without_eq)]
4392 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4393 pub struct LocationPerformance {
4394 #[prost(uint32, optional, tag = "1")]
4395 pub location_category: ::core::option::Option<u32>,
4396 #[prost(uint32, optional, tag = "2")]
4397 pub stat_type: ::core::option::Option<u32>,
4398 #[prost(uint32, optional, tag = "3")]
4399 pub value: ::core::option::Option<u32>,
4400 }
4401}
4402#[derive(serde::Serialize, serde::Deserialize)]
4403#[allow(clippy::derive_partial_eq_without_eq)]
4404#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4405pub struct CDotaUserMsgStatsPlayerKillShare {
4406 #[prost(int32, optional, tag = "1", default = "-1")]
4407 pub player_id: ::core::option::Option<i32>,
4408 #[prost(float, optional, tag = "2")]
4409 pub kill_share_percent: ::core::option::Option<f32>,
4410 #[prost(float, optional, tag = "3")]
4411 pub player_loc_x: ::core::option::Option<f32>,
4412 #[prost(float, optional, tag = "4")]
4413 pub player_loc_y: ::core::option::Option<f32>,
4414 #[prost(float, optional, tag = "5")]
4415 pub health_percent: ::core::option::Option<f32>,
4416 #[prost(float, optional, tag = "6")]
4417 pub mana_percent: ::core::option::Option<f32>,
4418}
4419#[derive(serde::Serialize, serde::Deserialize)]
4420#[allow(clippy::derive_partial_eq_without_eq)]
4421#[derive(Clone, PartialEq, ::prost::Message)]
4422pub struct CDotaUserMsgStatsKillDetails {
4423 #[prost(int32, optional, tag = "1", default = "-1")]
4424 pub victim_id: ::core::option::Option<i32>,
4425 #[prost(message, repeated, tag = "2")]
4426 pub kill_shares: ::prost::alloc::vec::Vec<CDotaUserMsgStatsPlayerKillShare>,
4427 #[prost(uint32, optional, tag = "3")]
4428 pub damage_to_kill: ::core::option::Option<u32>,
4429 #[prost(uint32, optional, tag = "4")]
4430 pub effective_health: ::core::option::Option<u32>,
4431 #[prost(float, optional, tag = "5")]
4432 pub death_time: ::core::option::Option<f32>,
4433 #[prost(int32, optional, tag = "6", default = "-1")]
4434 pub killer_id: ::core::option::Option<i32>,
4435}
4436#[derive(serde::Serialize, serde::Deserialize)]
4437#[allow(clippy::derive_partial_eq_without_eq)]
4438#[derive(Clone, PartialEq, ::prost::Message)]
4439pub struct CDotaUserMsgStatsMatchDetails {
4440 #[prost(message, repeated, tag = "1")]
4441 pub hero_lookup: ::prost::alloc::vec::Vec<CDotaUserMsgStatsHeroLookup>,
4442 #[prost(message, repeated, tag = "2")]
4443 pub radiant_stats: ::prost::alloc::vec::Vec<CDotaUserMsgStatsTeamMinuteDetails>,
4444 #[prost(message, repeated, tag = "3")]
4445 pub dire_stats: ::prost::alloc::vec::Vec<CDotaUserMsgStatsTeamMinuteDetails>,
4446 #[prost(message, repeated, tag = "4")]
4447 pub radiant_kills: ::prost::alloc::vec::Vec<CDotaUserMsgStatsKillDetails>,
4448 #[prost(message, repeated, tag = "5")]
4449 pub dire_kills: ::prost::alloc::vec::Vec<CDotaUserMsgStatsKillDetails>,
4450 #[prost(message, repeated, tag = "6")]
4451 pub fight_details:
4452 ::prost::alloc::vec::Vec<cdota_user_msg_stats_match_details::CDotaUserMsgStatsFightDetails>,
4453}
4454pub mod cdota_user_msg_stats_match_details {
4456 #[derive(serde::Serialize, serde::Deserialize)]
4457 #[allow(clippy::derive_partial_eq_without_eq)]
4458 #[derive(Clone, PartialEq, ::prost::Message)]
4459 pub struct CDotaUserMsgStatsFightTeamDetails {
4460 #[prost(int32, repeated, packed = "false", tag = "1")]
4461 pub participants: ::prost::alloc::vec::Vec<i32>,
4462 #[prost(int32, repeated, packed = "false", tag = "2")]
4463 pub deaths: ::prost::alloc::vec::Vec<i32>,
4464 #[prost(uint32, optional, tag = "3")]
4465 pub gold_delta: ::core::option::Option<u32>,
4466 #[prost(uint32, optional, tag = "4")]
4467 pub xp_delta: ::core::option::Option<u32>,
4468 }
4469 #[derive(serde::Serialize, serde::Deserialize)]
4470 #[allow(clippy::derive_partial_eq_without_eq)]
4471 #[derive(Clone, PartialEq, ::prost::Message)]
4472 pub struct CDotaUserMsgStatsFightDetails {
4473 #[prost(float, optional, tag = "1")]
4474 pub start_time: ::core::option::Option<f32>,
4475 #[prost(float, optional, tag = "2")]
4476 pub end_time: ::core::option::Option<f32>,
4477 #[prost(message, optional, tag = "3")]
4478 pub radiant_fight_details: ::core::option::Option<CDotaUserMsgStatsFightTeamDetails>,
4479 #[prost(message, optional, tag = "4")]
4480 pub dire_fight_details: ::core::option::Option<CDotaUserMsgStatsFightTeamDetails>,
4481 }
4482}
4483#[derive(serde::Serialize, serde::Deserialize)]
4484#[allow(clippy::derive_partial_eq_without_eq)]
4485#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4486pub struct CDotaUserMsgMiniTaunt {
4487 #[prost(int32, optional, tag = "1", default = "-1")]
4488 pub taunting_player_id: ::core::option::Option<i32>,
4489}
4490#[derive(serde::Serialize, serde::Deserialize)]
4491#[allow(clippy::derive_partial_eq_without_eq)]
4492#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4493pub struct CDotaUserMsgSpeechBubble {
4494 #[prost(bool, optional, tag = "1")]
4495 pub destroy_all: ::core::option::Option<bool>,
4496}
4497#[derive(serde::Serialize, serde::Deserialize)]
4498#[allow(clippy::derive_partial_eq_without_eq)]
4499#[derive(Clone, PartialEq, ::prost::Message)]
4500pub struct CDotaUserMsgCustomHeaderMessage {
4501 #[prost(int32, optional, tag = "1", default = "-1")]
4502 pub player_id: ::core::option::Option<i32>,
4503 #[prost(float, optional, tag = "2")]
4504 pub duration: ::core::option::Option<f32>,
4505 #[prost(string, optional, tag = "3")]
4506 pub message: ::core::option::Option<::prost::alloc::string::String>,
4507 #[prost(int32, optional, tag = "4")]
4508 pub value: ::core::option::Option<i32>,
4509}
4510#[derive(serde::Serialize, serde::Deserialize)]
4511#[allow(clippy::derive_partial_eq_without_eq)]
4512#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4513pub struct CMsgHeroAbilityStat {
4514 #[prost(
4515 enumeration = "EHeroStatType",
4516 optional,
4517 tag = "1",
4518 default = "KEHeroStatTypeNone"
4519 )]
4520 pub stat_type: ::core::option::Option<i32>,
4521 #[prost(int32, optional, tag = "2")]
4522 pub int_value: ::core::option::Option<i32>,
4523 #[prost(float, optional, tag = "3")]
4524 pub float_value: ::core::option::Option<f32>,
4525}
4526#[derive(serde::Serialize, serde::Deserialize)]
4527#[allow(clippy::derive_partial_eq_without_eq)]
4528#[derive(Clone, PartialEq, ::prost::Message)]
4529pub struct CMsgCombatAnalyzerPlayerStat {
4530 #[prost(uint32, optional, tag = "1")]
4531 pub account_id: ::core::option::Option<u32>,
4532 #[prost(message, repeated, tag = "2")]
4533 pub hero_ability_stats: ::prost::alloc::vec::Vec<CMsgHeroAbilityStat>,
4534}
4535#[derive(serde::Serialize, serde::Deserialize)]
4536#[allow(clippy::derive_partial_eq_without_eq)]
4537#[derive(Clone, PartialEq, ::prost::Message)]
4538pub struct CMsgCombatAnalyzerStats {
4539 #[prost(uint64, optional, tag = "1")]
4540 pub match_id: ::core::option::Option<u64>,
4541 #[prost(message, repeated, tag = "2")]
4542 pub player_stats: ::prost::alloc::vec::Vec<CMsgCombatAnalyzerPlayerStat>,
4543}
4544#[derive(serde::Serialize, serde::Deserialize)]
4545#[allow(clippy::derive_partial_eq_without_eq)]
4546#[derive(Clone, PartialEq, ::prost::Message)]
4547pub struct CDotaUserMsgBeastChat {
4548 #[prost(uint32, optional, tag = "1")]
4549 pub team: ::core::option::Option<u32>,
4550 #[prost(string, optional, tag = "2")]
4551 pub format: ::core::option::Option<::prost::alloc::string::String>,
4552 #[prost(string, optional, tag = "3")]
4553 pub message: ::core::option::Option<::prost::alloc::string::String>,
4554 #[prost(string, optional, tag = "4")]
4555 pub target: ::core::option::Option<::prost::alloc::string::String>,
4556}
4557#[derive(serde::Serialize, serde::Deserialize)]
4558#[allow(clippy::derive_partial_eq_without_eq)]
4559#[derive(Clone, PartialEq, ::prost::Message)]
4560pub struct CDotaUserMsgCustomHudElementCreate {
4561 #[prost(string, optional, tag = "1")]
4562 pub element_id: ::core::option::Option<::prost::alloc::string::String>,
4563 #[prost(string, optional, tag = "2")]
4564 pub layout_filename: ::core::option::Option<::prost::alloc::string::String>,
4565 #[prost(bytes = "vec", optional, tag = "3")]
4566 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
4567}
4568#[derive(serde::Serialize, serde::Deserialize)]
4569#[allow(clippy::derive_partial_eq_without_eq)]
4570#[derive(Clone, PartialEq, ::prost::Message)]
4571pub struct CDotaUserMsgCustomHudElementModify {
4572 #[prost(string, optional, tag = "1")]
4573 pub element_id: ::core::option::Option<::prost::alloc::string::String>,
4574 #[prost(bool, optional, tag = "2")]
4575 pub modify_visible: ::core::option::Option<bool>,
4576 #[prost(bytes = "vec", optional, tag = "3")]
4577 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
4578}
4579#[derive(serde::Serialize, serde::Deserialize)]
4580#[allow(clippy::derive_partial_eq_without_eq)]
4581#[derive(Clone, PartialEq, ::prost::Message)]
4582pub struct CDotaUserMsgCustomHudElementDestroy {
4583 #[prost(string, optional, tag = "1")]
4584 pub element_id: ::core::option::Option<::prost::alloc::string::String>,
4585}
4586#[derive(serde::Serialize, serde::Deserialize)]
4587#[allow(clippy::derive_partial_eq_without_eq)]
4588#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4589pub struct CDotaUserMsgCompendiumStatePlayer {
4590 #[prost(int32, optional, tag = "1", default = "-1")]
4591 pub player_id: ::core::option::Option<i32>,
4592 #[prost(uint32, optional, tag = "2")]
4593 pub level: ::core::option::Option<u32>,
4594}
4595#[derive(serde::Serialize, serde::Deserialize)]
4596#[allow(clippy::derive_partial_eq_without_eq)]
4597#[derive(Clone, PartialEq, ::prost::Message)]
4598pub struct CDotaUserMsgCompendiumState {
4599 #[prost(message, repeated, tag = "1")]
4600 pub compendium_players: ::prost::alloc::vec::Vec<CDotaUserMsgCompendiumStatePlayer>,
4601}
4602#[derive(serde::Serialize, serde::Deserialize)]
4603#[allow(clippy::derive_partial_eq_without_eq)]
4604#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4605pub struct CDotaUserMsgProjectionAbility {
4606 #[prost(int32, optional, tag = "1", default = "-1")]
4607 pub ability_id: ::core::option::Option<i32>,
4608 #[prost(int32, optional, tag = "2", default = "-1")]
4609 pub caster_ent_index: ::core::option::Option<i32>,
4610 #[prost(int32, optional, tag = "3")]
4611 pub caster_team: ::core::option::Option<i32>,
4612 #[prost(bool, optional, tag = "4")]
4613 pub channel_end: ::core::option::Option<bool>,
4614 #[prost(message, optional, tag = "5")]
4615 pub origin: ::core::option::Option<CMsgVector>,
4616 #[prost(bool, optional, tag = "6")]
4617 pub track_caster_only: ::core::option::Option<bool>,
4618 #[prost(float, optional, tag = "7")]
4619 pub end_time: ::core::option::Option<f32>,
4620 #[prost(int32, optional, tag = "8", default = "-1")]
4621 pub victim_ent_index: ::core::option::Option<i32>,
4622}
4623#[derive(serde::Serialize, serde::Deserialize)]
4624#[allow(clippy::derive_partial_eq_without_eq)]
4625#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4626pub struct CDotaUserMsgProjectionEvent {
4627 #[prost(
4628 enumeration = "EProjectionEvent",
4629 optional,
4630 tag = "1",
4631 default = "EPeFirstBlood"
4632 )]
4633 pub event_id: ::core::option::Option<i32>,
4634 #[prost(uint32, optional, tag = "2")]
4635 pub team: ::core::option::Option<u32>,
4636}
4637#[derive(serde::Serialize, serde::Deserialize)]
4638#[allow(clippy::derive_partial_eq_without_eq)]
4639#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4640pub struct CDotaUserMsgXpAlert {
4641 #[prost(int32, optional, tag = "1", default = "-1")]
4642 pub player_id: ::core::option::Option<i32>,
4643 #[prost(int32, optional, tag = "2", default = "-1")]
4644 pub target_entindex: ::core::option::Option<i32>,
4645}
4646#[derive(serde::Serialize, serde::Deserialize)]
4647#[allow(clippy::derive_partial_eq_without_eq)]
4648#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4649pub struct CDotaUserMsgTalentTreeAlert {
4650 #[prost(int32, optional, tag = "1", default = "-1")]
4651 pub player_id: ::core::option::Option<i32>,
4652 #[prost(int32, optional, tag = "2", default = "-1")]
4653 pub target_entindex: ::core::option::Option<i32>,
4654 #[prost(int32, optional, tag = "3", default = "-1")]
4655 pub ability_id: ::core::option::Option<i32>,
4656 #[prost(int32, optional, tag = "4")]
4657 pub slot: ::core::option::Option<i32>,
4658 #[prost(bool, optional, tag = "5")]
4659 pub learned: ::core::option::Option<bool>,
4660}
4661#[derive(serde::Serialize, serde::Deserialize)]
4662#[allow(clippy::derive_partial_eq_without_eq)]
4663#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4664pub struct CDotaUserMsgUpdateQuestProgress {}
4665#[derive(serde::Serialize, serde::Deserialize)]
4666#[allow(clippy::derive_partial_eq_without_eq)]
4667#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4668pub struct CDotaUserMsgQuestStatus {
4669 #[prost(int32, required, tag = "1", default = "-1")]
4670 pub player_id: i32,
4671 #[prost(uint32, optional, tag = "2")]
4672 pub quest_id: ::core::option::Option<u32>,
4673 #[prost(uint32, optional, tag = "3")]
4674 pub challenge_id: ::core::option::Option<u32>,
4675 #[prost(uint32, optional, tag = "4")]
4676 pub progress: ::core::option::Option<u32>,
4677 #[prost(uint32, optional, tag = "5")]
4678 pub goal: ::core::option::Option<u32>,
4679 #[prost(uint32, optional, tag = "6")]
4680 pub query: ::core::option::Option<u32>,
4681 #[prost(float, optional, tag = "7")]
4682 pub fail_gametime: ::core::option::Option<f32>,
4683 #[prost(int32, optional, tag = "8", default = "-1")]
4684 pub item_ability_id: ::core::option::Option<i32>,
4685}
4686#[derive(serde::Serialize, serde::Deserialize)]
4687#[allow(clippy::derive_partial_eq_without_eq)]
4688#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4689pub struct CDotaUserMsgSuggestHeroPick {
4690 #[prost(int32, required, tag = "1", default = "-1")]
4691 pub player_id: i32,
4692 #[prost(uint32, optional, tag = "2")]
4693 pub hero_id: ::core::option::Option<u32>,
4694 #[prost(bool, optional, tag = "3")]
4695 pub ban: ::core::option::Option<bool>,
4696 #[prost(uint32, optional, tag = "4")]
4697 pub facet_id: ::core::option::Option<u32>,
4698}
4699#[derive(serde::Serialize, serde::Deserialize)]
4700#[allow(clippy::derive_partial_eq_without_eq)]
4701#[derive(Clone, PartialEq, ::prost::Message)]
4702pub struct CDotaUserMsgSuggestHeroRole {
4703 #[prost(int32, required, tag = "1", default = "-1")]
4704 pub player_id: i32,
4705 #[prost(string, optional, tag = "2")]
4706 pub hero_role: ::core::option::Option<::prost::alloc::string::String>,
4707}
4708#[derive(serde::Serialize, serde::Deserialize)]
4709#[allow(clippy::derive_partial_eq_without_eq)]
4710#[derive(Clone, PartialEq, ::prost::Message)]
4711pub struct CDotaUserMsgKillcamDamageTaken {
4712 #[prost(int32, required, tag = "1", default = "-1")]
4713 pub player_id: i32,
4714 #[prost(uint32, optional, tag = "2")]
4715 pub damage_taken: ::core::option::Option<u32>,
4716 #[prost(uint32, optional, tag = "3")]
4717 pub item_type: ::core::option::Option<u32>,
4718 #[prost(int32, optional, tag = "4", default = "-1")]
4719 pub item_ability_id: ::core::option::Option<i32>,
4720 #[prost(string, optional, tag = "5")]
4721 pub hero_name: ::core::option::Option<::prost::alloc::string::String>,
4722 #[prost(string, optional, tag = "6")]
4723 pub damage_color: ::core::option::Option<::prost::alloc::string::String>,
4724}
4725#[derive(serde::Serialize, serde::Deserialize)]
4726#[allow(clippy::derive_partial_eq_without_eq)]
4727#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4728pub struct CDotaUserMsgSelectPenaltyGold {
4729 #[prost(int32, required, tag = "1", default = "-1")]
4730 pub player_id: i32,
4731 #[prost(sint32, optional, tag = "2")]
4732 pub cost: ::core::option::Option<i32>,
4733}
4734#[derive(serde::Serialize, serde::Deserialize)]
4735#[allow(clippy::derive_partial_eq_without_eq)]
4736#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4737pub struct CDotaUserMsgRollDiceResult {
4738 #[prost(int32, optional, tag = "1", default = "-1")]
4739 pub player_id: ::core::option::Option<i32>,
4740 #[prost(uint32, optional, tag = "2")]
4741 pub channel_type: ::core::option::Option<u32>,
4742 #[prost(uint32, optional, tag = "3")]
4743 pub roll_min: ::core::option::Option<u32>,
4744 #[prost(uint32, optional, tag = "4")]
4745 pub roll_max: ::core::option::Option<u32>,
4746 #[prost(uint32, optional, tag = "5")]
4747 pub result: ::core::option::Option<u32>,
4748}
4749#[derive(serde::Serialize, serde::Deserialize)]
4750#[allow(clippy::derive_partial_eq_without_eq)]
4751#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4752pub struct CDotaUserMsgFlipCoinResult {
4753 #[prost(int32, optional, tag = "1", default = "-1")]
4754 pub player_id: ::core::option::Option<i32>,
4755 #[prost(uint32, optional, tag = "2")]
4756 pub channel_type: ::core::option::Option<u32>,
4757 #[prost(bool, optional, tag = "3")]
4758 pub result: ::core::option::Option<bool>,
4759}
4760#[derive(serde::Serialize, serde::Deserialize)]
4761#[allow(clippy::derive_partial_eq_without_eq)]
4762#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4763pub struct CDotaUserMessageRequestItemSuggestions {
4764 #[prost(int32, optional, tag = "1", default = "-1")]
4765 pub player_id: ::core::option::Option<i32>,
4766}
4767#[derive(serde::Serialize, serde::Deserialize)]
4768#[allow(clippy::derive_partial_eq_without_eq)]
4769#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4770pub struct CDotaUserMessageTeamCaptainChanged {
4771 #[prost(uint32, optional, tag = "1")]
4772 pub team: ::core::option::Option<u32>,
4773 #[prost(int32, optional, tag = "2", default = "-1")]
4774 pub captain_player_id: ::core::option::Option<i32>,
4775}
4776#[derive(serde::Serialize, serde::Deserialize)]
4777#[allow(clippy::derive_partial_eq_without_eq)]
4778#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4779pub struct CDotaUserMsgChatWheelCooldown {
4780 #[prost(uint32, optional, tag = "1", default = "4294967295")]
4781 pub message_id: ::core::option::Option<u32>,
4782 #[prost(float, optional, tag = "2")]
4783 pub cooldown_remaining: ::core::option::Option<f32>,
4784}
4785#[derive(serde::Serialize, serde::Deserialize)]
4786#[allow(clippy::derive_partial_eq_without_eq)]
4787#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4788pub struct CDotaUserMsgHeroRelicProgress {
4789 #[prost(uint32, optional, tag = "1")]
4790 pub hero_relic_type: ::core::option::Option<u32>,
4791 #[prost(uint32, optional, tag = "2")]
4792 pub value: ::core::option::Option<u32>,
4793 #[prost(uint32, optional, tag = "3", default = "16777215")]
4794 pub ehandle: ::core::option::Option<u32>,
4795 #[prost(uint32, optional, tag = "4")]
4796 pub event_id: ::core::option::Option<u32>,
4797 #[prost(float, optional, tag = "5")]
4798 pub value_display: ::core::option::Option<f32>,
4799}
4800#[derive(serde::Serialize, serde::Deserialize)]
4801#[allow(clippy::derive_partial_eq_without_eq)]
4802#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4803pub struct CDotaUserMsgAbilityDraftRequestAbility {
4804 #[prost(int32, optional, tag = "1", default = "-1")]
4805 pub player_id: ::core::option::Option<i32>,
4806 #[prost(int32, optional, tag = "2", default = "-1")]
4807 pub requested_ability_id: ::core::option::Option<i32>,
4808 #[prost(bool, optional, tag = "3")]
4809 pub ctrl_is_down: ::core::option::Option<bool>,
4810}
4811#[derive(serde::Serialize, serde::Deserialize)]
4812#[allow(clippy::derive_partial_eq_without_eq)]
4813#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4814pub struct CDotaUserMsgDamageReport {
4815 #[prost(int32, optional, tag = "1", default = "-1")]
4816 pub player_id: ::core::option::Option<i32>,
4817 #[prost(uint32, optional, tag = "2")]
4818 pub target_hero_id: ::core::option::Option<u32>,
4819 #[prost(uint32, optional, tag = "3")]
4820 pub source_hero_id: ::core::option::Option<u32>,
4821 #[prost(int32, optional, tag = "4")]
4822 pub damage_amount: ::core::option::Option<i32>,
4823 #[prost(bool, optional, tag = "5")]
4824 pub broadcast: ::core::option::Option<bool>,
4825}
4826#[derive(serde::Serialize, serde::Deserialize)]
4827#[allow(clippy::derive_partial_eq_without_eq)]
4828#[derive(Clone, PartialEq, ::prost::Message)]
4829pub struct CDotaUserMsgSalutePlayer {
4830 #[prost(int32, optional, tag = "1", default = "-1")]
4831 pub source_player_id: ::core::option::Option<i32>,
4832 #[prost(int32, optional, tag = "2", default = "-1")]
4833 pub target_player_id: ::core::option::Option<i32>,
4834 #[prost(uint32, optional, tag = "3")]
4835 pub tip_amount: ::core::option::Option<u32>,
4836 #[prost(uint32, optional, tag = "4")]
4837 pub event_id: ::core::option::Option<u32>,
4838 #[prost(string, optional, tag = "5")]
4839 pub custom_tip_style: ::core::option::Option<::prost::alloc::string::String>,
4840 #[prost(uint32, optional, tag = "6")]
4841 pub num_recent_tips: ::core::option::Option<u32>,
4842}
4843#[derive(serde::Serialize, serde::Deserialize)]
4844#[allow(clippy::derive_partial_eq_without_eq)]
4845#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4846pub struct CDotaUserMsgGiftPlayer {
4847 #[prost(int32, optional, tag = "1", default = "-1")]
4848 pub source_player_id: ::core::option::Option<i32>,
4849 #[prost(int32, optional, tag = "2", default = "-1")]
4850 pub target_player_id: ::core::option::Option<i32>,
4851 #[prost(uint32, optional, tag = "3")]
4852 pub gift_item_def_index: ::core::option::Option<u32>,
4853}
4854#[derive(serde::Serialize, serde::Deserialize)]
4855#[allow(clippy::derive_partial_eq_without_eq)]
4856#[derive(Clone, PartialEq, ::prost::Message)]
4857pub struct CDotaUserMsgTipAlert {
4858 #[prost(int32, optional, tag = "1", default = "-1")]
4859 pub player_id: ::core::option::Option<i32>,
4860 #[prost(string, optional, tag = "2")]
4861 pub tip_text: ::core::option::Option<::prost::alloc::string::String>,
4862}
4863#[derive(serde::Serialize, serde::Deserialize)]
4864#[allow(clippy::derive_partial_eq_without_eq)]
4865#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4866pub struct CDotaUserMsgReplaceQueryUnit {
4867 #[prost(int32, required, tag = "1", default = "-1")]
4868 pub player_id: i32,
4869 #[prost(int32, optional, tag = "2", default = "-1")]
4870 pub source_entindex: ::core::option::Option<i32>,
4871 #[prost(int32, optional, tag = "3", default = "-1")]
4872 pub target_entindex: ::core::option::Option<i32>,
4873}
4874#[derive(serde::Serialize, serde::Deserialize)]
4875#[allow(clippy::derive_partial_eq_without_eq)]
4876#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4877pub struct CDotaUserMsgEsArcanaCombo {
4878 #[prost(uint32, optional, tag = "1", default = "16777215")]
4879 pub ehandle: ::core::option::Option<u32>,
4880 #[prost(uint32, optional, tag = "2")]
4881 pub combo_count: ::core::option::Option<u32>,
4882 #[prost(uint32, optional, tag = "3")]
4883 pub arcana_level: ::core::option::Option<u32>,
4884}
4885#[derive(serde::Serialize, serde::Deserialize)]
4886#[allow(clippy::derive_partial_eq_without_eq)]
4887#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4888pub struct CDotaUserMsgEsArcanaComboSummary {
4889 #[prost(uint32, optional, tag = "1", default = "16777215")]
4890 pub ehandle: ::core::option::Option<u32>,
4891 #[prost(uint32, optional, tag = "2")]
4892 pub combo_count: ::core::option::Option<u32>,
4893 #[prost(uint32, optional, tag = "3")]
4894 pub damage_amount: ::core::option::Option<u32>,
4895}
4896#[derive(serde::Serialize, serde::Deserialize)]
4897#[allow(clippy::derive_partial_eq_without_eq)]
4898#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4899pub struct CDotaUserMsgOmArcanaCombo {
4900 #[prost(uint32, optional, tag = "1", default = "16777215")]
4901 pub ehandle: ::core::option::Option<u32>,
4902 #[prost(uint32, optional, tag = "2")]
4903 pub multicast_amount: ::core::option::Option<u32>,
4904 #[prost(uint32, optional, tag = "3")]
4905 pub arcana_level: ::core::option::Option<u32>,
4906 #[prost(uint32, optional, tag = "4")]
4907 pub multicast_chance: ::core::option::Option<u32>,
4908}
4909#[derive(serde::Serialize, serde::Deserialize)]
4910#[allow(clippy::derive_partial_eq_without_eq)]
4911#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4912pub struct CDotaUserMsgHighFiveCompleted {
4913 #[prost(int32, optional, tag = "1", default = "-1")]
4914 pub player_id_1: ::core::option::Option<i32>,
4915 #[prost(int32, optional, tag = "2", default = "-1")]
4916 pub player_id_2: ::core::option::Option<i32>,
4917 #[prost(bool, optional, tag = "3")]
4918 pub special_high_five: ::core::option::Option<bool>,
4919 #[prost(int32, optional, tag = "4", default = "-1")]
4920 pub special_entindex: ::core::option::Option<i32>,
4921}
4922#[derive(serde::Serialize, serde::Deserialize)]
4923#[allow(clippy::derive_partial_eq_without_eq)]
4924#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4925pub struct CDotaUserMsgHighFiveLeftHanging {
4926 #[prost(int32, optional, tag = "1", default = "-1")]
4927 pub player_id: ::core::option::Option<i32>,
4928}
4929#[derive(serde::Serialize, serde::Deserialize)]
4930#[allow(clippy::derive_partial_eq_without_eq)]
4931#[derive(Clone, PartialEq, ::prost::Message)]
4932pub struct CDotaUserMsgShovelUnearth {
4933 #[prost(int32, optional, tag = "1", default = "-1")]
4934 pub player_id: ::core::option::Option<i32>,
4935 #[prost(bool, optional, tag = "2")]
4936 pub all_chat: ::core::option::Option<bool>,
4937 #[prost(string, optional, tag = "3")]
4938 pub locstring: ::core::option::Option<::prost::alloc::string::String>,
4939 #[prost(uint32, optional, tag = "4")]
4940 pub quantity: ::core::option::Option<u32>,
4941}
4942#[derive(serde::Serialize, serde::Deserialize)]
4943#[allow(clippy::derive_partial_eq_without_eq)]
4944#[derive(Clone, PartialEq, ::prost::Message)]
4945pub struct CDotaUserMsgAllStarEvent {
4946 #[prost(int32, optional, tag = "1", default = "-1")]
4947 pub source_player_id: ::core::option::Option<i32>,
4948 #[prost(int32, optional, tag = "2", default = "-1")]
4949 pub target_player_id: ::core::option::Option<i32>,
4950 #[prost(uint32, optional, tag = "3")]
4951 pub point_amount: ::core::option::Option<u32>,
4952 #[prost(uint32, optional, tag = "4")]
4953 pub event_id: ::core::option::Option<u32>,
4954 #[prost(message, repeated, tag = "5")]
4955 pub player_scores: ::prost::alloc::vec::Vec<cdota_user_msg_all_star_event::PlayerScore>,
4956}
4957pub mod cdota_user_msg_all_star_event {
4959 #[derive(serde::Serialize, serde::Deserialize)]
4960 #[allow(clippy::derive_partial_eq_without_eq)]
4961 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4962 pub struct PlayerScore {
4963 #[prost(int32, optional, tag = "1", default = "-1")]
4964 pub player_id: ::core::option::Option<i32>,
4965 #[prost(uint32, optional, tag = "2")]
4966 pub score_sans_kda: ::core::option::Option<u32>,
4967 }
4968}
4969#[derive(serde::Serialize, serde::Deserialize)]
4970#[allow(clippy::derive_partial_eq_without_eq)]
4971#[derive(Clone, PartialEq, ::prost::Message)]
4972pub struct CDotaUserMsgQueuedOrderRemoved {
4973 #[prost(uint32, repeated, packed = "false", tag = "1")]
4974 pub unit_order_sequence: ::prost::alloc::vec::Vec<u32>,
4975}
4976#[derive(serde::Serialize, serde::Deserialize)]
4977#[allow(clippy::derive_partial_eq_without_eq)]
4978#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4979pub struct CDotaUserMsgDebugChallenge {
4980 #[prost(uint32, required, tag = "1")]
4981 pub challenge_type: u32,
4982 #[prost(uint32, required, tag = "2")]
4983 pub challenge_query_id: u32,
4984 #[prost(uint32, required, tag = "3")]
4985 pub event_id: u32,
4986 #[prost(uint32, optional, tag = "4")]
4987 pub instance_id: ::core::option::Option<u32>,
4988 #[prost(uint32, optional, tag = "5")]
4989 pub challenge_var_0: ::core::option::Option<u32>,
4990 #[prost(uint32, optional, tag = "6")]
4991 pub challenge_var_1: ::core::option::Option<u32>,
4992 #[prost(uint32, optional, tag = "7")]
4993 pub challenge_max_rank: ::core::option::Option<u32>,
4994}
4995#[derive(serde::Serialize, serde::Deserialize)]
4996#[allow(clippy::derive_partial_eq_without_eq)]
4997#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4998pub struct CDotaUserMsgFoundNeutralItem {
4999 #[prost(int32, optional, tag = "1", default = "-1")]
5000 pub player_id: ::core::option::Option<i32>,
5001 #[prost(int32, optional, tag = "2", default = "-1")]
5002 pub item_ability_id: ::core::option::Option<i32>,
5003 #[prost(uint32, optional, tag = "3")]
5004 pub item_tier: ::core::option::Option<u32>,
5005 #[prost(uint32, optional, tag = "4")]
5006 pub tier_item_count: ::core::option::Option<u32>,
5007}
5008#[derive(serde::Serialize, serde::Deserialize)]
5009#[allow(clippy::derive_partial_eq_without_eq)]
5010#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5011pub struct CDotaUserMsgOutpostCaptured {
5012 #[prost(int32, optional, tag = "1", default = "-1")]
5013 pub outpost_entindex: ::core::option::Option<i32>,
5014 #[prost(uint32, optional, tag = "2")]
5015 pub team_id: ::core::option::Option<u32>,
5016}
5017#[derive(serde::Serialize, serde::Deserialize)]
5018#[allow(clippy::derive_partial_eq_without_eq)]
5019#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5020pub struct CDotaUserMsgOutpostGrantedXp {
5021 #[prost(uint32, optional, tag = "1")]
5022 pub team_id: ::core::option::Option<u32>,
5023 #[prost(uint32, optional, tag = "2")]
5024 pub xp_amount: ::core::option::Option<u32>,
5025}
5026#[derive(serde::Serialize, serde::Deserialize)]
5027#[allow(clippy::derive_partial_eq_without_eq)]
5028#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5029pub struct CDotaUserMsgMoveCameraToUnit {
5030 #[prost(uint32, optional, tag = "1", default = "16777215")]
5031 pub unit_ehandle: ::core::option::Option<u32>,
5032}
5033#[derive(serde::Serialize, serde::Deserialize)]
5034#[allow(clippy::derive_partial_eq_without_eq)]
5035#[derive(Clone, PartialEq, ::prost::Message)]
5036pub struct CDotaUserMsgPauseMinigameData {
5037 #[prost(message, repeated, tag = "1")]
5038 pub data_bits: ::prost::alloc::vec::Vec<cdota_user_msg_pause_minigame_data::DataBit>,
5039}
5040pub mod cdota_user_msg_pause_minigame_data {
5042 #[derive(serde::Serialize, serde::Deserialize)]
5043 #[allow(clippy::derive_partial_eq_without_eq)]
5044 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
5045 pub struct DataBit {
5046 #[prost(uint32, optional, tag = "1")]
5047 pub index: ::core::option::Option<u32>,
5048 #[prost(int32, optional, tag = "2")]
5049 pub data: ::core::option::Option<i32>,
5050 #[prost(int64, optional, tag = "3")]
5051 pub data_extra: ::core::option::Option<i64>,
5052 }
5053}
5054#[derive(serde::Serialize, serde::Deserialize)]
5055#[allow(clippy::derive_partial_eq_without_eq)]
5056#[derive(Clone, PartialEq, ::prost::Message)]
5057pub struct CDotaUserMsgVersusScenePlayerBehavior {
5058 #[prost(int32, optional, tag = "1", default = "-1")]
5059 pub player_id: ::core::option::Option<i32>,
5060 #[prost(
5061 enumeration = "EDotaVersusScenePlayerBehavior",
5062 optional,
5063 tag = "2",
5064 default = "VsPlayerBehaviorPlayActivity"
5065 )]
5066 pub behavior: ::core::option::Option<i32>,
5067 #[prost(message, optional, tag = "3")]
5068 pub play_activity: ::core::option::Option<VersusScenePlayActivity>,
5069 #[prost(message, optional, tag = "4")]
5070 pub chat_wheel: ::core::option::Option<VersusSceneChatWheel>,
5071 #[prost(message, optional, tag = "5")]
5072 pub playback_rate: ::core::option::Option<VersusScenePlaybackRate>,
5073}
5074#[derive(serde::Serialize, serde::Deserialize)]
5075#[allow(clippy::derive_partial_eq_without_eq)]
5076#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5077pub struct CDotaUserMsgQoPArcanaSummary {
5078 #[prost(uint32, optional, tag = "1", default = "16777215")]
5079 pub ehandle: ::core::option::Option<u32>,
5080 #[prost(uint32, optional, tag = "2")]
5081 pub arcana_level: ::core::option::Option<u32>,
5082 #[prost(uint32, optional, tag = "3")]
5083 pub players_hit: ::core::option::Option<u32>,
5084 #[prost(uint32, optional, tag = "4")]
5085 pub players_killed: ::core::option::Option<u32>,
5086}
5087#[derive(serde::Serialize, serde::Deserialize)]
5088#[allow(clippy::derive_partial_eq_without_eq)]
5089#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5090pub struct CDotaUserMsgHotPotatoCreated {
5091 #[prost(int32, optional, tag = "1", default = "-1")]
5092 pub player_id_1: ::core::option::Option<i32>,
5093 #[prost(int32, optional, tag = "2", default = "-1")]
5094 pub player_id_2: ::core::option::Option<i32>,
5095}
5096#[derive(serde::Serialize, serde::Deserialize)]
5097#[allow(clippy::derive_partial_eq_without_eq)]
5098#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5099pub struct CDotaUserMsgHotPotatoExploded {
5100 #[prost(int32, optional, tag = "1", default = "-1")]
5101 pub player_id: ::core::option::Option<i32>,
5102}
5103#[derive(serde::Serialize, serde::Deserialize)]
5104#[allow(clippy::derive_partial_eq_without_eq)]
5105#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5106pub struct CDotaUserMsgWkArcanaProgress {
5107 #[prost(uint32, optional, tag = "1", default = "16777215")]
5108 pub ehandle: ::core::option::Option<u32>,
5109 #[prost(uint32, optional, tag = "2")]
5110 pub arcana_level: ::core::option::Option<u32>,
5111 #[prost(uint32, optional, tag = "3")]
5112 pub hero_id: ::core::option::Option<u32>,
5113}
5114#[derive(serde::Serialize, serde::Deserialize)]
5115#[allow(clippy::derive_partial_eq_without_eq)]
5116#[derive(Clone, PartialEq, ::prost::Message)]
5117pub struct CDotaUserMsgGuildChallengeProgress {
5118 #[prost(message, repeated, tag = "1")]
5119 pub player_progress:
5120 ::prost::alloc::vec::Vec<cdota_user_msg_guild_challenge_progress::PlayerProgress>,
5121 #[prost(uint32, optional, tag = "2")]
5122 pub guild_id: ::core::option::Option<u32>,
5123 #[prost(uint32, optional, tag = "3")]
5124 pub challenge_instance_id: ::core::option::Option<u32>,
5125 #[prost(uint32, optional, tag = "4")]
5126 pub challenge_parameter: ::core::option::Option<u32>,
5127 #[prost(
5128 enumeration = "cdota_user_msg_guild_challenge_progress::EChallengeType",
5129 optional,
5130 tag = "5",
5131 default = "KEChallengeTypeInvalid"
5132 )]
5133 pub challenge_type: ::core::option::Option<i32>,
5134 #[prost(uint32, optional, tag = "7")]
5135 pub challenge_progress_at_start: ::core::option::Option<u32>,
5136 #[prost(bool, optional, tag = "8")]
5137 pub complete: ::core::option::Option<bool>,
5138}
5139pub mod cdota_user_msg_guild_challenge_progress {
5141 #[derive(serde::Serialize, serde::Deserialize)]
5142 #[allow(clippy::derive_partial_eq_without_eq)]
5143 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
5144 pub struct PlayerProgress {
5145 #[prost(int32, optional, tag = "1", default = "-1")]
5146 pub player_id: ::core::option::Option<i32>,
5147 #[prost(uint32, optional, tag = "6")]
5148 pub progress: ::core::option::Option<u32>,
5149 }
5150 #[derive(
5151 serde::Serialize,
5152 serde::Deserialize,
5153 Clone,
5154 Copy,
5155 Debug,
5156 PartialEq,
5157 Eq,
5158 Hash,
5159 PartialOrd,
5160 Ord,
5161 ::prost::Enumeration,
5162 )]
5163 #[repr(i32)]
5164 pub enum EChallengeType {
5165 KEChallengeTypeInvalid = 0,
5166 KEChallengeTypeCooperative = 1,
5167 KEChallengeTypeContract = 2,
5168 }
5169}
5170#[derive(serde::Serialize, serde::Deserialize)]
5171#[allow(clippy::derive_partial_eq_without_eq)]
5172#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5173pub struct CDotaUserMsgWrArcanaProgress {
5174 #[prost(uint32, optional, tag = "1", default = "16777215")]
5175 pub ehandle: ::core::option::Option<u32>,
5176 #[prost(uint32, optional, tag = "2", default = "16777215")]
5177 pub target_ehandle: ::core::option::Option<u32>,
5178 #[prost(uint32, optional, tag = "3")]
5179 pub arrows_landed: ::core::option::Option<u32>,
5180 #[prost(uint32, optional, tag = "4")]
5181 pub damage_dealt: ::core::option::Option<u32>,
5182 #[prost(uint32, optional, tag = "5")]
5183 pub target_hp: ::core::option::Option<u32>,
5184 #[prost(uint32, optional, tag = "6")]
5185 pub target_max_hp: ::core::option::Option<u32>,
5186 #[prost(uint32, optional, tag = "7")]
5187 pub arcana_level: ::core::option::Option<u32>,
5188}
5189#[derive(serde::Serialize, serde::Deserialize)]
5190#[allow(clippy::derive_partial_eq_without_eq)]
5191#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5192pub struct CDotaUserMsgWrArcanaSummary {
5193 #[prost(uint32, optional, tag = "1", default = "16777215")]
5194 pub ehandle: ::core::option::Option<u32>,
5195 #[prost(uint32, optional, tag = "2", default = "16777215")]
5196 pub target_ehandle: ::core::option::Option<u32>,
5197 #[prost(uint32, optional, tag = "3")]
5198 pub arrows_landed: ::core::option::Option<u32>,
5199 #[prost(uint32, optional, tag = "4")]
5200 pub damage_dealt: ::core::option::Option<u32>,
5201 #[prost(uint32, optional, tag = "5")]
5202 pub target_hp: ::core::option::Option<u32>,
5203 #[prost(uint32, optional, tag = "6")]
5204 pub target_max_hp: ::core::option::Option<u32>,
5205 #[prost(uint32, optional, tag = "7")]
5206 pub arcana_level: ::core::option::Option<u32>,
5207 #[prost(bool, optional, tag = "8")]
5208 pub success: ::core::option::Option<bool>,
5209}
5210#[derive(serde::Serialize, serde::Deserialize)]
5211#[allow(clippy::derive_partial_eq_without_eq)]
5212#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5213pub struct CDotaUserMsgEmptyItemSlotAlert {
5214 #[prost(int32, optional, tag = "1", default = "-1")]
5215 pub source_player_id: ::core::option::Option<i32>,
5216 #[prost(int32, optional, tag = "2", default = "-1")]
5217 pub target_player_id: ::core::option::Option<i32>,
5218 #[prost(int32, optional, tag = "3")]
5219 pub slot_index: ::core::option::Option<i32>,
5220 #[prost(int32, optional, tag = "4")]
5221 pub cooldown_seconds: ::core::option::Option<i32>,
5222}
5223#[derive(serde::Serialize, serde::Deserialize)]
5224#[allow(clippy::derive_partial_eq_without_eq)]
5225#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5226pub struct CDotaUserMsgAghsStatusAlert {
5227 #[prost(int32, optional, tag = "1", default = "-1")]
5228 pub source_player_id: ::core::option::Option<i32>,
5229 #[prost(int32, optional, tag = "2", default = "-1")]
5230 pub target_player_id: ::core::option::Option<i32>,
5231 #[prost(int32, optional, tag = "3", default = "-1")]
5232 pub target_entindex: ::core::option::Option<i32>,
5233 #[prost(uint32, optional, tag = "4")]
5234 pub alert_type: ::core::option::Option<u32>,
5235 #[prost(bool, optional, tag = "5")]
5236 pub has_scepter: ::core::option::Option<bool>,
5237 #[prost(bool, optional, tag = "6")]
5238 pub has_shard: ::core::option::Option<bool>,
5239}
5240#[derive(serde::Serialize, serde::Deserialize)]
5241#[allow(clippy::derive_partial_eq_without_eq)]
5242#[derive(Clone, PartialEq, ::prost::Message)]
5243pub struct CDotaUserMsgMutedPlayers {
5244 #[prost(int32, repeated, packed = "false", tag = "1")]
5245 pub text_muted_player_ids: ::prost::alloc::vec::Vec<i32>,
5246 #[prost(int32, repeated, packed = "false", tag = "2")]
5247 pub voice_muted_player_ids: ::prost::alloc::vec::Vec<i32>,
5248}
5249#[derive(serde::Serialize, serde::Deserialize)]
5250#[allow(clippy::derive_partial_eq_without_eq)]
5251#[derive(Clone, PartialEq, ::prost::Message)]
5252pub struct CDotaUserMsgContextualTip {
5253 #[prost(int32, optional, tag = "1")]
5254 pub tip_id: ::core::option::Option<i32>,
5255 #[prost(string, repeated, tag = "2")]
5256 pub referenced_abilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5257 #[prost(string, repeated, tag = "3")]
5258 pub referenced_units: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5259 #[prost(string, repeated, tag = "4")]
5260 pub panorama_classes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5261 #[prost(bool, optional, tag = "5")]
5262 pub force_annotation: ::core::option::Option<bool>,
5263 #[prost(int32, optional, tag = "6")]
5264 pub variant: ::core::option::Option<i32>,
5265 #[prost(int32, optional, tag = "7")]
5266 pub int_param: ::core::option::Option<i32>,
5267 #[prost(int32, optional, tag = "8")]
5268 pub int_param2: ::core::option::Option<i32>,
5269 #[prost(float, optional, tag = "9")]
5270 pub float_param: ::core::option::Option<f32>,
5271 #[prost(float, optional, tag = "10")]
5272 pub float_param2: ::core::option::Option<f32>,
5273 #[prost(string, optional, tag = "11")]
5274 pub string_param: ::core::option::Option<::prost::alloc::string::String>,
5275 #[prost(string, optional, tag = "12")]
5276 pub string_param2: ::core::option::Option<::prost::alloc::string::String>,
5277 #[prost(string, optional, tag = "13")]
5278 pub tip_text_override: ::core::option::Option<::prost::alloc::string::String>,
5279 #[prost(string, optional, tag = "14")]
5280 pub tip_annotation_override: ::core::option::Option<::prost::alloc::string::String>,
5281 #[prost(string, optional, tag = "15")]
5282 pub panorama_snippet: ::core::option::Option<::prost::alloc::string::String>,
5283}
5284#[derive(serde::Serialize, serde::Deserialize)]
5285#[allow(clippy::derive_partial_eq_without_eq)]
5286#[derive(Clone, PartialEq, ::prost::Message)]
5287pub struct CDotaUserMsgChatMessage {
5288 #[prost(int32, optional, tag = "1", default = "-1")]
5289 pub source_player_id: ::core::option::Option<i32>,
5290 #[prost(uint32, optional, tag = "2")]
5291 pub channel_type: ::core::option::Option<u32>,
5292 #[prost(string, optional, tag = "3")]
5293 pub message_text: ::core::option::Option<::prost::alloc::string::String>,
5294}
5295#[derive(serde::Serialize, serde::Deserialize)]
5296#[allow(clippy::derive_partial_eq_without_eq)]
5297#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5298pub struct CDotaUserMsgRockPaperScissorsStarted {
5299 #[prost(int32, optional, tag = "1", default = "-1")]
5300 pub player_id_source: ::core::option::Option<i32>,
5301 #[prost(int32, optional, tag = "2", default = "-1")]
5302 pub player_id_target: ::core::option::Option<i32>,
5303}
5304#[derive(serde::Serialize, serde::Deserialize)]
5305#[allow(clippy::derive_partial_eq_without_eq)]
5306#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5307pub struct CDotaUserMsgRockPaperScissorsFinished {
5308 #[prost(int32, optional, tag = "1", default = "-1")]
5309 pub player_id_1: ::core::option::Option<i32>,
5310 #[prost(int32, optional, tag = "2", default = "-1")]
5311 pub player_id_2: ::core::option::Option<i32>,
5312 #[prost(int32, optional, tag = "3")]
5313 pub player_1_choice: ::core::option::Option<i32>,
5314 #[prost(int32, optional, tag = "4")]
5315 pub player_2_choice: ::core::option::Option<i32>,
5316}
5317#[derive(serde::Serialize, serde::Deserialize)]
5318#[allow(clippy::derive_partial_eq_without_eq)]
5319#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5320pub struct CDotaUserMsgDuelOpponentKilled {
5321 #[prost(int32, optional, tag = "1")]
5322 pub player_id_winner: ::core::option::Option<i32>,
5323 #[prost(int32, optional, tag = "2")]
5324 pub player_id_loser: ::core::option::Option<i32>,
5325}
5326#[derive(serde::Serialize, serde::Deserialize)]
5327#[allow(clippy::derive_partial_eq_without_eq)]
5328#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5329pub struct CDotaUserMsgDuelAccepted {
5330 #[prost(int32, optional, tag = "1")]
5331 pub player_id_1: ::core::option::Option<i32>,
5332 #[prost(int32, optional, tag = "2")]
5333 pub player_id_2: ::core::option::Option<i32>,
5334}
5335#[derive(serde::Serialize, serde::Deserialize)]
5336#[allow(clippy::derive_partial_eq_without_eq)]
5337#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5338pub struct CDotaUserMsgDuelRequested {
5339 #[prost(int32, optional, tag = "1", default = "-1")]
5340 pub player_id_requestor: ::core::option::Option<i32>,
5341}
5342#[derive(serde::Serialize, serde::Deserialize)]
5343#[allow(clippy::derive_partial_eq_without_eq)]
5344#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5345pub struct CDotaUserMsgMuertaReleaseEventAssignedTargetKilled {
5346 #[prost(int32, required, tag = "1", default = "-1")]
5347 pub player_id_killer: i32,
5348 #[prost(int32, required, tag = "2", default = "-1")]
5349 pub player_id_target: i32,
5350 #[prost(int32, required, tag = "3")]
5351 pub points: i32,
5352 #[prost(int32, required, tag = "4")]
5353 pub points_total: i32,
5354 #[prost(bool, required, tag = "5")]
5355 pub last_hit: bool,
5356}
5357#[derive(serde::Serialize, serde::Deserialize)]
5358#[allow(clippy::derive_partial_eq_without_eq)]
5359#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5360pub struct CDotaUserMsgPlayerDraftSuggestPick {
5361 #[prost(int32, optional, tag = "1", default = "-1")]
5362 pub player_id: ::core::option::Option<i32>,
5363 #[prost(int32, optional, tag = "2", default = "-1")]
5364 pub suggestion_player_id: ::core::option::Option<i32>,
5365}
5366#[derive(serde::Serialize, serde::Deserialize)]
5367#[allow(clippy::derive_partial_eq_without_eq)]
5368#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5369pub struct CDotaUserMsgPlayerDraftPick {
5370 #[prost(int32, optional, tag = "1", default = "-1")]
5371 pub player_id_captain: ::core::option::Option<i32>,
5372 #[prost(int32, optional, tag = "2", default = "-1")]
5373 pub player_id_target: ::core::option::Option<i32>,
5374 #[prost(int32, optional, tag = "3")]
5375 pub team: ::core::option::Option<i32>,
5376}
5377#[derive(serde::Serialize, serde::Deserialize)]
5378#[allow(clippy::derive_partial_eq_without_eq)]
5379#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5380pub struct CDotaUserMsgFacetPing {
5381 #[prost(int32, optional, tag = "1", default = "-1")]
5382 pub player_id: ::core::option::Option<i32>,
5383 #[prost(uint32, optional, tag = "2")]
5384 pub facet_strhash: ::core::option::Option<u32>,
5385 #[prost(uint32, optional, tag = "3")]
5386 pub entity_id: ::core::option::Option<u32>,
5387 #[prost(bool, optional, tag = "4")]
5388 pub all_chat: ::core::option::Option<bool>,
5389}
5390#[derive(serde::Serialize, serde::Deserialize)]
5391#[allow(clippy::derive_partial_eq_without_eq)]
5392#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5393pub struct CDotaUserMsgInnatePing {
5394 #[prost(int32, optional, tag = "1", default = "-1")]
5395 pub player_id: ::core::option::Option<i32>,
5396 #[prost(uint32, optional, tag = "2")]
5397 pub entity_id: ::core::option::Option<u32>,
5398 #[prost(bool, optional, tag = "3")]
5399 pub all_chat: ::core::option::Option<bool>,
5400}
5401#[derive(
5402 serde::Serialize,
5403 serde::Deserialize,
5404 Clone,
5405 Copy,
5406 Debug,
5407 PartialEq,
5408 Eq,
5409 Hash,
5410 PartialOrd,
5411 Ord,
5412 ::prost::Enumeration,
5413)]
5414#[repr(i32)]
5415pub enum EDotaUserMessages {
5416 DotaUmAddUnitToSelection = 464,
5417 DotaUmAiDebugLine = 465,
5418 DotaUmChatEvent = 466,
5419 DotaUmCombatHeroPositions = 467,
5420 DotaUmCombatLogData = 468,
5421 DotaUmCombatLogBulkData = 470,
5422 DotaUmCreateLinearProjectile = 471,
5423 DotaUmDestroyLinearProjectile = 472,
5424 DotaUmDodgeTrackingProjectiles = 473,
5425 DotaUmGlobalLightColor = 474,
5426 DotaUmGlobalLightDirection = 475,
5427 DotaUmInvalidCommand = 476,
5428 DotaUmLocationPing = 477,
5429 DotaUmMapLine = 478,
5430 DotaUmMiniKillCamInfo = 479,
5431 DotaUmMinimapDebugPoint = 480,
5432 DotaUmMinimapEvent = 481,
5433 DotaUmNevermoreRequiem = 482,
5434 DotaUmOverheadEvent = 483,
5435 DotaUmSetNextAutobuyItem = 484,
5436 DotaUmSharedCooldown = 485,
5437 DotaUmSpectatorPlayerClick = 486,
5438 DotaUmTutorialTipInfo = 487,
5439 DotaUmUnitEvent = 488,
5440 DotaUmParticleManager = 489,
5441 DotaUmBotChat = 490,
5442 DotaUmHudError = 491,
5443 DotaUmItemPurchased = 492,
5444 DotaUmPing = 493,
5445 DotaUmItemFound = 494,
5446 DotaUmCharacterSpeakConcept = 495,
5447 DotaUmSwapVerify = 496,
5448 DotaUmWorldLine = 497,
5449 DotaUmTournamentDrop = 498,
5450 DotaUmItemAlert = 499,
5451 DotaUmHalloweenDrops = 500,
5452 DotaUmChatWheel = 501,
5453 DotaUmReceivedXmasGift = 502,
5454 DotaUmUpdateSharedContent = 503,
5455 DotaUmTutorialRequestExp = 504,
5456 DotaUmTutorialPingMinimap = 505,
5457 DotaUmGamerulesStateChanged = 506,
5458 DotaUmShowSurvey = 507,
5459 DotaUmTutorialFade = 508,
5460 DotaUmAddQuestLogEntry = 509,
5461 DotaUmSendStatPopup = 510,
5462 DotaUmTutorialFinish = 511,
5463 DotaUmSendRoshanPopup = 512,
5464 DotaUmSendGenericToolTip = 513,
5465 DotaUmSendFinalGold = 514,
5466 DotaUmCustomMsg = 515,
5467 DotaUmCoachHudPing = 516,
5468 DotaUmClientLoadGridNav = 517,
5469 DotaUmTeProjectile = 518,
5470 DotaUmTeProjectileLoc = 519,
5471 DotaUmTeDotaBloodImpact = 520,
5472 DotaUmTeUnitAnimation = 521,
5473 DotaUmTeUnitAnimationEnd = 522,
5474 DotaUmAbilityPing = 523,
5475 DotaUmShowGenericPopup = 524,
5476 DotaUmVoteStart = 525,
5477 DotaUmVoteUpdate = 526,
5478 DotaUmVoteEnd = 527,
5479 DotaUmBoosterState = 528,
5480 DotaUmWillPurchaseAlert = 529,
5481 DotaUmTutorialMinimapPosition = 530,
5482 DotaUmPlayerMmr = 531,
5483 DotaUmAbilitySteal = 532,
5484 DotaUmCourierKilledAlert = 533,
5485 DotaUmEnemyItemAlert = 534,
5486 DotaUmStatsMatchDetails = 535,
5487 DotaUmMiniTaunt = 536,
5488 DotaUmBuyBackStateAlert = 537,
5489 DotaUmSpeechBubble = 538,
5490 DotaUmCustomHeaderMessage = 539,
5491 DotaUmQuickBuyAlert = 540,
5492 DotaUmStatsHeroDetails = 541,
5493 DotaUmPredictionResult = 542,
5494 DotaUmModifierAlert = 543,
5495 DotaUmHpManaAlert = 544,
5496 DotaUmGlyphAlert = 545,
5497 DotaUmBeastChat = 546,
5498 DotaUmSpectatorPlayerUnitOrders = 547,
5499 DotaUmCustomHudElementCreate = 548,
5500 DotaUmCustomHudElementModify = 549,
5501 DotaUmCustomHudElementDestroy = 550,
5502 DotaUmCompendiumState = 551,
5503 DotaUmProjectionAbility = 552,
5504 DotaUmProjectionEvent = 553,
5505 DotaUmCombatLogDataHltv = 554,
5506 DotaUmXpAlert = 555,
5507 DotaUmUpdateQuestProgress = 556,
5508 DotaUmMatchMetadata = 557,
5509 DotaUmMatchDetails = 558,
5510 DotaUmQuestStatus = 559,
5511 DotaUmSuggestHeroPick = 560,
5512 DotaUmSuggestHeroRole = 561,
5513 DotaUmKillcamDamageTaken = 562,
5514 DotaUmSelectPenaltyGold = 563,
5515 DotaUmRollDiceResult = 564,
5516 DotaUmFlipCoinResult = 565,
5517 DotaUmRequestItemSuggestions = 566,
5518 DotaUmTeamCaptainChanged = 567,
5519 DotaUmSendRoshanSpectatorPhase = 568,
5520 DotaUmChatWheelCooldown = 569,
5521 DotaUmDismissAllStatPopups = 570,
5522 DotaUmTeDestroyProjectile = 571,
5523 DotaUmHeroRelicProgress = 572,
5524 DotaUmAbilityDraftRequestAbility = 573,
5525 DotaUmItemSold = 574,
5526 DotaUmDamageReport = 575,
5527 DotaUmSalutePlayer = 576,
5528 DotaUmTipAlert = 577,
5529 DotaUmReplaceQueryUnit = 578,
5530 DotaUmEmptyTeleportAlert = 579,
5531 DotaUmMarsArenaOfBloodAttack = 580,
5532 DotaUmEsArcanaCombo = 581,
5533 DotaUmEsArcanaComboSummary = 582,
5534 DotaUmHighFiveLeftHanging = 583,
5535 DotaUmHighFiveCompleted = 584,
5536 DotaUmShovelUnearth = 585,
5537 DotaEmInvokerSpellCast = 586,
5538 DotaUmRadarAlert = 587,
5539 DotaUmAllStarEvent = 588,
5540 DotaUmTalentTreeAlert = 589,
5541 DotaUmQueuedOrderRemoved = 590,
5542 DotaUmDebugChallenge = 591,
5543 DotaUmOmArcanaCombo = 592,
5544 DotaUmFoundNeutralItem = 593,
5545 DotaUmOutpostCaptured = 594,
5546 DotaUmOutpostGrantedXp = 595,
5547 DotaUmMoveCameraToUnit = 596,
5548 DotaUmPauseMinigameData = 597,
5549 DotaUmVersusScenePlayerBehavior = 598,
5550 DotaUmQoPArcanaSummary = 600,
5551 DotaUmHotPotatoCreated = 601,
5552 DotaUmHotPotatoExploded = 602,
5553 DotaUmWkArcanaProgress = 603,
5554 DotaUmGuildChallengeProgress = 604,
5555 DotaUmWrArcanaProgress = 605,
5556 DotaUmWrArcanaSummary = 606,
5557 DotaUmEmptyItemSlotAlert = 607,
5558 DotaUmAghsStatusAlert = 608,
5559 DotaUmPingConfirmation = 609,
5560 DotaUmMutedPlayers = 610,
5561 DotaUmContextualTip = 611,
5562 DotaUmChatMessage = 612,
5563 DotaUmNeutralCampAlert = 613,
5564 DotaUmRockPaperScissorsStarted = 614,
5565 DotaUmRockPaperScissorsFinished = 615,
5566 DotaUmDuelOpponentKilled = 616,
5567 DotaUmDuelAccepted = 617,
5568 DotaUmDuelRequested = 618,
5569 DotaUmMuertaReleaseEventAssignedTargetKilled = 619,
5570 DotaUmPlayerDraftSuggestPick = 620,
5571 DotaUmPlayerDraftPick = 621,
5572 DotaUmUpdateLinearProjectileCpData = 622,
5573 DotaUmGiftPlayer = 623,
5574 DotaUmFacetPing = 624,
5575 DotaUmInnatePing = 625,
5576}
5577#[derive(
5578 serde::Serialize,
5579 serde::Deserialize,
5580 Clone,
5581 Copy,
5582 Debug,
5583 PartialEq,
5584 Eq,
5585 Hash,
5586 PartialOrd,
5587 Ord,
5588 ::prost::Enumeration,
5589)]
5590#[repr(i32)]
5591pub enum DotaChatMessage {
5592 ChatMessageInvalid = -1,
5593 ChatMessageHeroKill = 0,
5594 ChatMessageHeroDeny = 1,
5595 ChatMessageBarracksKill = 2,
5596 ChatMessageTowerKill = 3,
5597 ChatMessageTowerDeny = 4,
5598 ChatMessageFirstblood = 5,
5599 ChatMessageStreakKill = 6,
5600 ChatMessageBuyback = 7,
5601 ChatMessageAegis = 8,
5602 ChatMessageRoshanKill = 9,
5603 ChatMessageCourierLost = 10,
5604 ChatMessageCourierRespawned = 11,
5605 ChatMessageGlyphUsed = 12,
5606 ChatMessageItemPurchase = 13,
5607 ChatMessageConnect = 14,
5608 ChatMessageDisconnect = 15,
5609 ChatMessageDisconnectWaitForReconnect = 16,
5610 ChatMessageDisconnectTimeRemaining = 17,
5611 ChatMessageDisconnectTimeRemainingPlural = 18,
5612 ChatMessageReconnect = 19,
5613 ChatMessagePlayerLeft = 20,
5614 ChatMessageSafeToLeave = 21,
5615 ChatMessageRunePickup = 22,
5616 ChatMessageRuneBottle = 23,
5617 ChatMessageRuneDeny = 114,
5618 ChatMessageInthebag = 24,
5619 ChatMessageSecretshop = 25,
5620 ChatMessageItemAutopurchased = 26,
5621 ChatMessageItemsCombined = 27,
5622 ChatMessageSuperCreeps = 28,
5623 ChatMessageCantUseActionItem = 29,
5624 ChatMessageCantpause = 31,
5625 ChatMessageNopausesleft = 32,
5626 ChatMessageCantpauseyet = 33,
5627 ChatMessagePaused = 34,
5628 ChatMessageUnpauseCountdown = 35,
5629 ChatMessageUnpaused = 36,
5630 ChatMessageAutoUnpaused = 37,
5631 ChatMessageYoupaused = 38,
5632 ChatMessageCantunpauseteam = 39,
5633 ChatMessageVoiceTextBanned = 41,
5634 ChatMessageSpectatorsWatchingThisGame = 42,
5635 ChatMessageReportReminder = 43,
5636 ChatMessageEconItem = 44,
5637 ChatMessageTaunt = 45,
5638 ChatMessageRandom = 46,
5639 ChatMessageRdTurn = 47,
5640 ChatMessageDropRateBonus = 49,
5641 ChatMessageNoBattlePoints = 50,
5642 ChatMessageDeniedAegis = 51,
5643 ChatMessageInformational = 52,
5644 ChatMessageAegisStolen = 53,
5645 ChatMessageRoshanCandy = 54,
5646 ChatMessageItemGifted = 55,
5647 ChatMessageHeroKillWithGreevil = 56,
5648 ChatMessageHoldoutTowerDestroyed = 57,
5649 ChatMessageHoldoutWallDestroyed = 58,
5650 ChatMessageHoldoutWallFinished = 59,
5651 ChatMessagePlayerLeftLimitedHero = 62,
5652 ChatMessageAbandonLimitedHeroExplanation = 63,
5653 ChatMessageDisconnectLimitedHero = 64,
5654 ChatMessageLowPriorityCompletedExplanation = 65,
5655 ChatMessageRecruitmentDropRateBonus = 66,
5656 ChatMessageFrostivusShiningBoosterActive = 67,
5657 ChatMessagePlayerLeftAfk = 73,
5658 ChatMessagePlayerLeftDisconnectedTooLong = 74,
5659 ChatMessagePlayerAbandoned = 75,
5660 ChatMessagePlayerAbandonedAfk = 76,
5661 ChatMessagePlayerAbandonedDisconnectedTooLong = 77,
5662 ChatMessageWillNotBeScored = 78,
5663 ChatMessageWillNotBeScoredRanked = 79,
5664 ChatMessageWillNotBeScoredNetwork = 80,
5665 ChatMessageWillNotBeScoredNetworkRanked = 81,
5666 ChatMessageCanQuitWithoutAbandon = 82,
5667 ChatMessageRankedGameStillScoredLeaversGetLoss = 83,
5668 ChatMessageAbandonRankedBeforeFirstBloodParty = 84,
5669 ChatMessageCompendiumLevel = 85,
5670 ChatMessageVictoryPredictionStreak = 86,
5671 ChatMessageAssassinAnnounce = 87,
5672 ChatMessageAssassinSuccess = 88,
5673 ChatMessageAssassinDenied = 89,
5674 ChatMessageVictoryPredictionSingleUserConfirm = 90,
5675 ChatMessageEffigyKill = 91,
5676 ChatMessageVoiceTextBannedOverflow = 92,
5677 ChatMessageYearBeastKilled = 93,
5678 ChatMessagePauseCountdown = 94,
5679 ChatMessageCoinsWagered = 95,
5680 ChatMessageHeroNominatedBan = 96,
5681 ChatMessageHeroBanned = 97,
5682 ChatMessageHeroBanCount = 98,
5683 ChatMessageRiverPainted = 99,
5684 ChatMessageScanUsed = 100,
5685 ChatMessageShrineKilled = 101,
5686 ChatMessageWagerTokenSpent = 102,
5687 ChatMessageRankWager = 103,
5688 ChatMessageNewPlayerReminder = 104,
5689 ChatMessageObserverWardKilled = 105,
5690 ChatMessageSentryWardKilled = 106,
5691 ChatMessageItemPlacedInNeutralStash = 107,
5692 ChatMessageHeroChoiceInvalid = 108,
5693 ChatMessageBounty = 109,
5694 ChatMessageAbilityDraftStart = 110,
5695 ChatMessageHeroFoundCandy = 111,
5696 ChatMessageAbilityDraftRandomed = 112,
5697 ChatMessagePrivateCoachConnected = 113,
5698 ChatMessageCantPauseTooEarly = 115,
5699 ChatMessageHeroKillWithPenguin = 116,
5700 ChatMessageMinibossKill = 117,
5701 ChatMessagePlayerInGameBanText = 118,
5702 ChatMessageBannerPlanted = 119,
5703}
5704#[derive(
5705 serde::Serialize,
5706 serde::Deserialize,
5707 Clone,
5708 Copy,
5709 Debug,
5710 PartialEq,
5711 Eq,
5712 Hash,
5713 PartialOrd,
5714 Ord,
5715 ::prost::Enumeration,
5716)]
5717#[repr(i32)]
5718pub enum DotaNoBattlePointsReasons {
5719 NoBattlePointsWrongLobbyType = 1,
5720 NoBattlePointsPracticeBots = 2,
5721 NoBattlePointsCheatsEnabled = 3,
5722 NoBattlePointsLowPriority = 4,
5723}
5724#[derive(
5725 serde::Serialize,
5726 serde::Deserialize,
5727 Clone,
5728 Copy,
5729 Debug,
5730 PartialEq,
5731 Eq,
5732 Hash,
5733 PartialOrd,
5734 Ord,
5735 ::prost::Enumeration,
5736)]
5737#[repr(i32)]
5738pub enum DotaChatInformational {
5739 InfoCoopBattlePointsRules = 1,
5740 InfoFrostivusAbandonReminder = 2,
5741 InfoRankedReminder = 3,
5742 InfoCoopLowPriorityPassiveReminder = 4,
5743 InfoCustomGamePenaltyReminder = 5,
5744}
5745#[derive(
5746 serde::Serialize,
5747 serde::Deserialize,
5748 Clone,
5749 Copy,
5750 Debug,
5751 PartialEq,
5752 Eq,
5753 Hash,
5754 PartialOrd,
5755 Ord,
5756 ::prost::Enumeration,
5757)]
5758#[repr(i32)]
5759pub enum DotaAbilityPingType {
5760 AbilityPingReady = 1,
5761 AbilityPingMana = 2,
5762 AbilityPingCooldown = 3,
5763 AbilityPingEnemy = 4,
5764 AbilityPingUnlearned = 5,
5765 AbilityPingInbackpack = 6,
5766 AbilityPingInstash = 7,
5767 AbilityPingOncourier = 8,
5768 AbilityPingAlly = 9,
5769 AbilityPingLearnReady = 10,
5770 AbilityPingWillLearn = 11,
5771 AbilityPingFutureLearn = 12,
5772 AbilityPingNeutralOffer = 13,
5773 AbilityPingNeutralRequest = 14,
5774 AbilityPingNeutralEquip = 15,
5775 AbilityPingIncourierbackpack = 16,
5776}
5777#[derive(
5778 serde::Serialize,
5779 serde::Deserialize,
5780 Clone,
5781 Copy,
5782 Debug,
5783 PartialEq,
5784 Eq,
5785 Hash,
5786 PartialOrd,
5787 Ord,
5788 ::prost::Enumeration,
5789)]
5790#[repr(i32)]
5791pub enum DotaReplayStateEvent {
5792 GameStart = 1,
5793 StartingHorn = 2,
5794 FirstBlood = 3,
5795 Showcase = 4,
5796 PostGame = 5,
5797 WaitForMap = 6,
5798}
5799#[derive(
5800 serde::Serialize,
5801 serde::Deserialize,
5802 Clone,
5803 Copy,
5804 Debug,
5805 PartialEq,
5806 Eq,
5807 Hash,
5808 PartialOrd,
5809 Ord,
5810 ::prost::Enumeration,
5811)]
5812#[repr(i32)]
5813pub enum EDotaEntityMessages {
5814 DotaUnitSpeech = 0,
5815 DotaUnitSpeechMute = 1,
5816 DotaUnitAddGesture = 2,
5817 DotaUnitRemoveGesture = 3,
5818 DotaUnitRemoveAllGestures = 4,
5819 DotaUnitFadeGesture = 6,
5820 DotaUnitSpeechClientsideRules = 7,
5821}
5822#[derive(
5823 serde::Serialize,
5824 serde::Deserialize,
5825 Clone,
5826 Copy,
5827 Debug,
5828 PartialEq,
5829 Eq,
5830 Hash,
5831 PartialOrd,
5832 Ord,
5833 ::prost::Enumeration,
5834)]
5835#[repr(i32)]
5836pub enum DotaOverheadAlert {
5837 OverheadAlertGold = 0,
5838 OverheadAlertDeny = 1,
5839 OverheadAlertCritical = 2,
5840 OverheadAlertXp = 3,
5841 OverheadAlertBonusSpellDamage = 4,
5842 OverheadAlertMiss = 5,
5843 OverheadAlertDamage = 6,
5844 OverheadAlertEvade = 7,
5845 OverheadAlertBlock = 8,
5846 OverheadAlertBonusPoisonDamage = 9,
5847 OverheadAlertHeal = 10,
5848 OverheadAlertManaAdd = 11,
5849 OverheadAlertManaLoss = 12,
5850 OverheadAlertLastHitEarly = 13,
5851 OverheadAlertLastHitClose = 14,
5852 OverheadAlertLastHitMiss = 15,
5853 OverheadAlertMagicalBlock = 16,
5854 OverheadAlertIncomingDamage = 17,
5855 OverheadAlertOutgoingDamage = 18,
5856 OverheadAlertDisableResist = 19,
5857 OverheadAlertDeath = 20,
5858 OverheadAlertBlocked = 21,
5859 OverheadAlertItemReceived = 22,
5860 OverheadAlertShard = 23,
5861 OverheadAlertDeadlyBlow = 24,
5862 OverheadAlertForceMiss = 25,
5863}
5864#[derive(
5865 serde::Serialize,
5866 serde::Deserialize,
5867 Clone,
5868 Copy,
5869 Debug,
5870 PartialEq,
5871 Eq,
5872 Hash,
5873 PartialOrd,
5874 Ord,
5875 ::prost::Enumeration,
5876)]
5877#[repr(i32)]
5878pub enum DotaRoshanPhase {
5879 KSrspRoshanAlive = 0,
5880 KSrspRoshanBaseTimer = 1,
5881 KSrspRoshanVisibleTimer = 2,
5882}
5883#[derive(
5884 serde::Serialize,
5885 serde::Deserialize,
5886 Clone,
5887 Copy,
5888 Debug,
5889 PartialEq,
5890 Eq,
5891 Hash,
5892 PartialOrd,
5893 Ord,
5894 ::prost::Enumeration,
5895)]
5896#[repr(i32)]
5897pub enum DotaPositionCategory {
5898 DotaPositionNone = 0,
5899 DotaPositionBottomLane = 1,
5900 DotaPositionMidLane = 2,
5901 DotaPositionTopLane = 3,
5902 DotaPositionRadiantJungle = 4,
5903 DotaPositionDireJungle = 5,
5904 DotaPositionRadiantAncients = 6,
5905 DotaPositionDireAncients = 7,
5906 DotaPositionRadiantSecretShop = 8,
5907 DotaPositionDireSecretShop = 9,
5908 DotaPositionRiver = 10,
5909 DotaPositionRoshanPit = 11,
5910 DotaPositionRadiantBase = 12,
5911 DotaPositionDireBase = 13,
5912 DotaPositionFountain = 14,
5913 DotaPositionOther = 15,
5914}
5915#[derive(
5916 serde::Serialize,
5917 serde::Deserialize,
5918 Clone,
5919 Copy,
5920 Debug,
5921 PartialEq,
5922 Eq,
5923 Hash,
5924 PartialOrd,
5925 Ord,
5926 ::prost::Enumeration,
5927)]
5928#[repr(i32)]
5929pub enum DotaAbilityTargetType {
5930 DotaAbilityTargetNone = 0,
5931 DotaAbilityTargetSelf = 1,
5932 DotaAbilityTargetAllyHero = 2,
5933 DotaAbilityTargetAllyCreep = 3,
5934 DotaAbilityTargetEnemyHero = 4,
5935 DotaAbilityTargetEnemyCreep = 5,
5936}
5937#[derive(
5938 serde::Serialize,
5939 serde::Deserialize,
5940 Clone,
5941 Copy,
5942 Debug,
5943 PartialEq,
5944 Eq,
5945 Hash,
5946 PartialOrd,
5947 Ord,
5948 ::prost::Enumeration,
5949)]
5950#[repr(i32)]
5951pub enum EHeroStatType {
5952 KEHeroStatTypeNone = 0,
5953 KEHeroStatTypeAxeTotalDamage = 2000,
5954 KEHeroStatTypeBattleHungerDamage = 2001,
5955 KEHeroStatTypeCounterHelixDamage = 2002,
5956 KEHeroStatTypeCullingBladeDamage = 2003,
5957 KEHeroStatTypeBerserkersCallCastCount = 2004,
5958 KEHeroStatTypeBerserkersCallHeroesHitAverage = 2005,
5959 KEHeroStatTypeBerserkersCallOtherUnitsHit = 2006,
5960 KEHeroStatTypeBerserkersCallHeroAttacksTaken = 2007,
5961 KEHeroStatTypeBerserkersCallOtherAttacksTaken = 2008,
5962 KEHeroStatTypeBattleHungerCastCount = 2009,
5963 KEHeroStatTypeBattleHungerPotentialDuration = 2010,
5964 KEHeroStatTypeBattleHungerAverageDuration = 2011,
5965 KEHeroStatTypeCounterHelixProcCount = 2012,
5966 KEHeroStatTypeCounterHelixHeroProcCount = 2013,
5967 KEHeroStatTypeCounterHelixHeroesHitAverage = 2014,
5968 KEHeroStatTypeCounterHelixOtherUnitsHitCount = 2015,
5969 KEHeroStatTypeCullingBladeCastCount = 2016,
5970 KEHeroStatTypeCullingBladeKillCount = 2017,
5971 KEHeroStatTypeCullingBladeAverageHealthCulled = 2018,
5972 KEHeroStatTypeCullingBladeAverageDamageAvailable = 2019,
5973 KEHeroStatTypeCullingBladeHeroBuffAverage = 2020,
5974}
5975#[derive(
5976 serde::Serialize,
5977 serde::Deserialize,
5978 Clone,
5979 Copy,
5980 Debug,
5981 PartialEq,
5982 Eq,
5983 Hash,
5984 PartialOrd,
5985 Ord,
5986 ::prost::Enumeration,
5987)]
5988#[repr(i32)]
5989pub enum EPlayerVoiceListenState {
5990 KPvlsNone = 0,
5991 KPvlsDeniedChatBanned = 1,
5992 KPvlsDeniedPartner = 2,
5993 KPvlsDeniedHltvTalkerNotSpectator = 3,
5994 KPvlsDeniedHltvNoTalkerPlayerId = 4,
5995 KPvlsDeniedHltvTalkerNotBroadcaster = 5,
5996 KPvlsDeniedTeamSpectator = 6,
5997 KPvlsDeniedStudent = 8,
5998 KPvlsDeniedPrivateCoach = 9,
5999 KPvlsDenied = 64,
6000 KPvlsAllowHltvTalkerIsBroadcaster = 65,
6001 KPvlsAllowCoBroadcaster = 66,
6002 KPvlsAllowAllChat = 67,
6003 KPvlsAllowStudentToCoach = 68,
6004 KPvlsAllowFellowStudent = 69,
6005 KPvlsAllowTalkerIsCoach = 70,
6006 KPvlsAllowCoachHearTeam = 71,
6007 KPvlsAllowSameTeam = 72,
6008 KPvlsAllowShowcase = 73,
6009 KPvlsAllowPrivateCoach = 74,
6010}
6011#[derive(
6012 serde::Serialize,
6013 serde::Deserialize,
6014 Clone,
6015 Copy,
6016 Debug,
6017 PartialEq,
6018 Eq,
6019 Hash,
6020 PartialOrd,
6021 Ord,
6022 ::prost::Enumeration,
6023)]
6024#[repr(i32)]
6025pub enum EProjectionEvent {
6026 EPeFirstBlood = 0,
6027 EPeKillstreakGodlike = 1,
6028}
6029#[derive(serde::Serialize, serde::Deserialize)]
6030#[allow(clippy::derive_partial_eq_without_eq)]
6031#[derive(Clone, PartialEq, ::prost::Message)]
6032pub struct CMsgVDebugGameSessionIdEvent {
6033 #[prost(int32, optional, tag = "1")]
6034 pub clientid: ::core::option::Option<i32>,
6035 #[prost(string, optional, tag = "2")]
6036 pub gamesessionid: ::core::option::Option<::prost::alloc::string::String>,
6037}
6038#[derive(serde::Serialize, serde::Deserialize)]
6039#[allow(clippy::derive_partial_eq_without_eq)]
6040#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6041pub struct CMsgPlaceDecalEvent {
6042 #[prost(message, optional, tag = "1")]
6043 pub position: ::core::option::Option<CMsgVector>,
6044 #[prost(message, optional, tag = "2")]
6045 pub normal: ::core::option::Option<CMsgVector>,
6046 #[prost(message, optional, tag = "3")]
6047 pub saxis: ::core::option::Option<CMsgVector>,
6048 #[prost(uint32, optional, tag = "4")]
6049 pub decalmaterialindex: ::core::option::Option<u32>,
6050 #[prost(uint32, optional, tag = "5")]
6051 pub flags: ::core::option::Option<u32>,
6052 #[prost(fixed32, optional, tag = "6")]
6053 pub color: ::core::option::Option<u32>,
6054 #[prost(float, optional, tag = "7")]
6055 pub width: ::core::option::Option<f32>,
6056 #[prost(float, optional, tag = "8")]
6057 pub height: ::core::option::Option<f32>,
6058 #[prost(float, optional, tag = "9")]
6059 pub depth: ::core::option::Option<f32>,
6060 #[prost(uint32, optional, tag = "10")]
6061 pub entityhandleindex: ::core::option::Option<u32>,
6062 #[prost(fixed32, optional, tag = "11")]
6063 pub skeletoninstancehash: ::core::option::Option<u32>,
6064 #[prost(int32, optional, tag = "12")]
6065 pub boneindex: ::core::option::Option<i32>,
6066 #[prost(bool, optional, tag = "13")]
6067 pub translucenthit: ::core::option::Option<bool>,
6068 #[prost(bool, optional, tag = "14")]
6069 pub is_adjacent: ::core::option::Option<bool>,
6070}
6071#[derive(serde::Serialize, serde::Deserialize)]
6072#[allow(clippy::derive_partial_eq_without_eq)]
6073#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6074pub struct CMsgClearWorldDecalsEvent {
6075 #[prost(uint32, optional, tag = "1")]
6076 pub flagstoclear: ::core::option::Option<u32>,
6077}
6078#[derive(serde::Serialize, serde::Deserialize)]
6079#[allow(clippy::derive_partial_eq_without_eq)]
6080#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6081pub struct CMsgClearEntityDecalsEvent {
6082 #[prost(uint32, optional, tag = "1")]
6083 pub flagstoclear: ::core::option::Option<u32>,
6084}
6085#[derive(serde::Serialize, serde::Deserialize)]
6086#[allow(clippy::derive_partial_eq_without_eq)]
6087#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6088pub struct CMsgClearDecalsForSkeletonInstanceEvent {
6089 #[prost(uint32, optional, tag = "1")]
6090 pub flagstoclear: ::core::option::Option<u32>,
6091 #[prost(uint32, optional, tag = "2")]
6092 pub entityhandleindex: ::core::option::Option<u32>,
6093 #[prost(uint32, optional, tag = "3")]
6094 pub skeletoninstancehash: ::core::option::Option<u32>,
6095}
6096#[derive(serde::Serialize, serde::Deserialize)]
6097#[allow(clippy::derive_partial_eq_without_eq)]
6098#[derive(Clone, PartialEq, ::prost::Message)]
6099pub struct CMsgSource1LegacyGameEventList {
6100 #[prost(message, repeated, tag = "1")]
6101 pub descriptors: ::prost::alloc::vec::Vec<c_msg_source1_legacy_game_event_list::DescriptorT>,
6102}
6103pub mod c_msg_source1_legacy_game_event_list {
6105 #[derive(serde::Serialize, serde::Deserialize)]
6106 #[allow(clippy::derive_partial_eq_without_eq)]
6107 #[derive(Clone, PartialEq, ::prost::Message)]
6108 pub struct KeyT {
6109 #[prost(int32, optional, tag = "1")]
6110 pub r#type: ::core::option::Option<i32>,
6111 #[prost(string, optional, tag = "2")]
6112 pub name: ::core::option::Option<::prost::alloc::string::String>,
6113 }
6114 #[derive(serde::Serialize, serde::Deserialize)]
6115 #[allow(clippy::derive_partial_eq_without_eq)]
6116 #[derive(Clone, PartialEq, ::prost::Message)]
6117 pub struct DescriptorT {
6118 #[prost(int32, optional, tag = "1")]
6119 pub eventid: ::core::option::Option<i32>,
6120 #[prost(string, optional, tag = "2")]
6121 pub name: ::core::option::Option<::prost::alloc::string::String>,
6122 #[prost(message, repeated, tag = "3")]
6123 pub keys: ::prost::alloc::vec::Vec<KeyT>,
6124 }
6125}
6126#[derive(serde::Serialize, serde::Deserialize)]
6127#[allow(clippy::derive_partial_eq_without_eq)]
6128#[derive(Clone, PartialEq, ::prost::Message)]
6129pub struct CMsgSource1LegacyListenEvents {
6130 #[prost(int32, optional, tag = "1")]
6131 pub playerslot: ::core::option::Option<i32>,
6132 #[prost(uint32, repeated, packed = "false", tag = "2")]
6133 pub eventarraybits: ::prost::alloc::vec::Vec<u32>,
6134}
6135#[derive(serde::Serialize, serde::Deserialize)]
6136#[allow(clippy::derive_partial_eq_without_eq)]
6137#[derive(Clone, PartialEq, ::prost::Message)]
6138pub struct CMsgSource1LegacyGameEvent {
6139 #[prost(string, optional, tag = "1")]
6140 pub event_name: ::core::option::Option<::prost::alloc::string::String>,
6141 #[prost(int32, optional, tag = "2")]
6142 pub eventid: ::core::option::Option<i32>,
6143 #[prost(message, repeated, tag = "3")]
6144 pub keys: ::prost::alloc::vec::Vec<c_msg_source1_legacy_game_event::KeyT>,
6145 #[prost(int32, optional, tag = "4")]
6146 pub server_tick: ::core::option::Option<i32>,
6147 #[prost(int32, optional, tag = "5")]
6148 pub passthrough: ::core::option::Option<i32>,
6149}
6150pub mod c_msg_source1_legacy_game_event {
6152 #[derive(serde::Serialize, serde::Deserialize)]
6153 #[allow(clippy::derive_partial_eq_without_eq)]
6154 #[derive(Clone, PartialEq, ::prost::Message)]
6155 pub struct KeyT {
6156 #[prost(int32, optional, tag = "1")]
6157 pub r#type: ::core::option::Option<i32>,
6158 #[prost(string, optional, tag = "2")]
6159 pub val_string: ::core::option::Option<::prost::alloc::string::String>,
6160 #[prost(float, optional, tag = "3")]
6161 pub val_float: ::core::option::Option<f32>,
6162 #[prost(int32, optional, tag = "4")]
6163 pub val_long: ::core::option::Option<i32>,
6164 #[prost(int32, optional, tag = "5")]
6165 pub val_short: ::core::option::Option<i32>,
6166 #[prost(int32, optional, tag = "6")]
6167 pub val_byte: ::core::option::Option<i32>,
6168 #[prost(bool, optional, tag = "7")]
6169 pub val_bool: ::core::option::Option<bool>,
6170 #[prost(uint64, optional, tag = "8")]
6171 pub val_uint64: ::core::option::Option<u64>,
6172 }
6173}
6174#[derive(serde::Serialize, serde::Deserialize)]
6175#[allow(clippy::derive_partial_eq_without_eq)]
6176#[derive(Clone, PartialEq, ::prost::Message)]
6177pub struct CMsgSosStartSoundEvent {
6178 #[prost(int32, optional, tag = "1")]
6179 pub soundevent_guid: ::core::option::Option<i32>,
6180 #[prost(fixed32, optional, tag = "2")]
6181 pub soundevent_hash: ::core::option::Option<u32>,
6182 #[prost(int32, optional, tag = "3", default = "-1")]
6183 pub source_entity_index: ::core::option::Option<i32>,
6184 #[prost(int32, optional, tag = "4")]
6185 pub seed: ::core::option::Option<i32>,
6186 #[prost(bytes = "vec", optional, tag = "5")]
6187 pub packed_params: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6188 #[prost(float, optional, tag = "6")]
6189 pub start_time: ::core::option::Option<f32>,
6190}
6191#[derive(serde::Serialize, serde::Deserialize)]
6192#[allow(clippy::derive_partial_eq_without_eq)]
6193#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6194pub struct CMsgSosStopSoundEvent {
6195 #[prost(int32, optional, tag = "1")]
6196 pub soundevent_guid: ::core::option::Option<i32>,
6197}
6198#[derive(serde::Serialize, serde::Deserialize)]
6199#[allow(clippy::derive_partial_eq_without_eq)]
6200#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6201pub struct CMsgSosStopSoundEventHash {
6202 #[prost(fixed32, optional, tag = "1")]
6203 pub soundevent_hash: ::core::option::Option<u32>,
6204 #[prost(int32, optional, tag = "2", default = "-1")]
6205 pub source_entity_index: ::core::option::Option<i32>,
6206}
6207#[derive(serde::Serialize, serde::Deserialize)]
6208#[allow(clippy::derive_partial_eq_without_eq)]
6209#[derive(Clone, PartialEq, ::prost::Message)]
6210pub struct CMsgSosSetSoundEventParams {
6211 #[prost(int32, optional, tag = "1")]
6212 pub soundevent_guid: ::core::option::Option<i32>,
6213 #[prost(bytes = "vec", optional, tag = "5")]
6214 pub packed_params: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6215}
6216#[derive(serde::Serialize, serde::Deserialize)]
6217#[allow(clippy::derive_partial_eq_without_eq)]
6218#[derive(Clone, PartialEq, ::prost::Message)]
6219pub struct CMsgSosSetLibraryStackFields {
6220 #[prost(fixed32, optional, tag = "1")]
6221 pub stack_hash: ::core::option::Option<u32>,
6222 #[prost(bytes = "vec", optional, tag = "5")]
6223 pub packed_fields: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6224}
6225#[derive(
6226 serde::Serialize,
6227 serde::Deserialize,
6228 Clone,
6229 Copy,
6230 Debug,
6231 PartialEq,
6232 Eq,
6233 Hash,
6234 PartialOrd,
6235 Ord,
6236 ::prost::Enumeration,
6237)]
6238#[repr(i32)]
6239pub enum EBaseGameEvents {
6240 GeVDebugGameSessionIdEvent = 200,
6241 GePlaceDecalEvent = 201,
6242 GeClearWorldDecalsEvent = 202,
6243 GeClearEntityDecalsEvent = 203,
6244 GeClearDecalsForSkeletonInstanceEvent = 204,
6245 GeSource1LegacyGameEventList = 205,
6246 GeSource1LegacyListenEvents = 206,
6247 GeSource1LegacyGameEvent = 207,
6248 GeSosStartSoundEvent = 208,
6249 GeSosStopSoundEvent = 209,
6250 GeSosSetSoundEventParams = 210,
6251 GeSosSetLibraryStackFields = 211,
6252 GeSosStopSoundEventHash = 212,
6253}
6254#[derive(serde::Serialize, serde::Deserialize)]
6255#[allow(clippy::derive_partial_eq_without_eq)]
6256#[derive(Clone, PartialEq, ::prost::Message)]
6257pub struct CClcMsgClientInfo {
6258 #[prost(fixed32, optional, tag = "1")]
6259 pub send_table_crc: ::core::option::Option<u32>,
6260 #[prost(uint32, optional, tag = "2")]
6261 pub server_count: ::core::option::Option<u32>,
6262 #[prost(bool, optional, tag = "3")]
6263 pub is_hltv: ::core::option::Option<bool>,
6264 #[prost(uint32, optional, tag = "5")]
6265 pub friends_id: ::core::option::Option<u32>,
6266 #[prost(string, optional, tag = "6")]
6267 pub friends_name: ::core::option::Option<::prost::alloc::string::String>,
6268}
6269#[derive(serde::Serialize, serde::Deserialize)]
6270#[allow(clippy::derive_partial_eq_without_eq)]
6271#[derive(Clone, PartialEq, ::prost::Message)]
6272pub struct CClcMsgMove {
6273 #[prost(bytes = "vec", optional, tag = "3")]
6274 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6275 #[prost(uint32, optional, tag = "4")]
6276 pub command_number: ::core::option::Option<u32>,
6277 #[prost(uint32, optional, tag = "5")]
6278 pub num_commands: ::core::option::Option<u32>,
6279}
6280#[derive(serde::Serialize, serde::Deserialize)]
6281#[allow(clippy::derive_partial_eq_without_eq)]
6282#[derive(Clone, PartialEq, ::prost::Message)]
6283pub struct CMsgVoiceAudio {
6284 #[prost(
6285 enumeration = "VoiceDataFormatT",
6286 optional,
6287 tag = "1",
6288 default = "VoicedataFormatSteam"
6289 )]
6290 pub format: ::core::option::Option<i32>,
6291 #[prost(bytes = "vec", optional, tag = "2")]
6292 pub voice_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6293 #[prost(int32, optional, tag = "3")]
6294 pub sequence_bytes: ::core::option::Option<i32>,
6295 #[prost(uint32, optional, tag = "4")]
6296 pub section_number: ::core::option::Option<u32>,
6297 #[prost(uint32, optional, tag = "5")]
6298 pub sample_rate: ::core::option::Option<u32>,
6299 #[prost(uint32, optional, tag = "6")]
6300 pub uncompressed_sample_offset: ::core::option::Option<u32>,
6301 #[prost(uint32, optional, tag = "7")]
6302 pub num_packets: ::core::option::Option<u32>,
6303 #[prost(uint32, repeated, tag = "8")]
6304 pub packet_offsets: ::prost::alloc::vec::Vec<u32>,
6305 #[prost(float, optional, tag = "9")]
6306 pub voice_level: ::core::option::Option<f32>,
6307}
6308#[derive(serde::Serialize, serde::Deserialize)]
6309#[allow(clippy::derive_partial_eq_without_eq)]
6310#[derive(Clone, PartialEq, ::prost::Message)]
6311pub struct CClcMsgVoiceData {
6312 #[prost(message, optional, tag = "1")]
6313 pub audio: ::core::option::Option<CMsgVoiceAudio>,
6314 #[prost(fixed64, optional, tag = "2")]
6315 pub xuid: ::core::option::Option<u64>,
6316 #[prost(uint32, optional, tag = "3")]
6317 pub tick: ::core::option::Option<u32>,
6318}
6319#[derive(serde::Serialize, serde::Deserialize)]
6320#[allow(clippy::derive_partial_eq_without_eq)]
6321#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6322pub struct CClcMsgBaselineAck {
6323 #[prost(int32, optional, tag = "1")]
6324 pub baseline_tick: ::core::option::Option<i32>,
6325 #[prost(int32, optional, tag = "2")]
6326 pub baseline_nr: ::core::option::Option<i32>,
6327}
6328#[derive(serde::Serialize, serde::Deserialize)]
6329#[allow(clippy::derive_partial_eq_without_eq)]
6330#[derive(Clone, PartialEq, ::prost::Message)]
6331pub struct CClcMsgListenEvents {
6332 #[prost(fixed32, repeated, packed = "false", tag = "1")]
6333 pub event_mask: ::prost::alloc::vec::Vec<u32>,
6334}
6335#[derive(serde::Serialize, serde::Deserialize)]
6336#[allow(clippy::derive_partial_eq_without_eq)]
6337#[derive(Clone, PartialEq, ::prost::Message)]
6338pub struct CClcMsgRespondCvarValue {
6339 #[prost(int32, optional, tag = "1")]
6340 pub cookie: ::core::option::Option<i32>,
6341 #[prost(int32, optional, tag = "2")]
6342 pub status_code: ::core::option::Option<i32>,
6343 #[prost(string, optional, tag = "3")]
6344 pub name: ::core::option::Option<::prost::alloc::string::String>,
6345 #[prost(string, optional, tag = "4")]
6346 pub value: ::core::option::Option<::prost::alloc::string::String>,
6347}
6348#[derive(serde::Serialize, serde::Deserialize)]
6349#[allow(clippy::derive_partial_eq_without_eq)]
6350#[derive(Clone, PartialEq, ::prost::Message)]
6351pub struct CClcMsgFileCrcCheck {
6352 #[prost(int32, optional, tag = "1")]
6353 pub code_path: ::core::option::Option<i32>,
6354 #[prost(string, optional, tag = "2")]
6355 pub path: ::core::option::Option<::prost::alloc::string::String>,
6356 #[prost(int32, optional, tag = "3")]
6357 pub code_filename: ::core::option::Option<i32>,
6358 #[prost(string, optional, tag = "4")]
6359 pub filename: ::core::option::Option<::prost::alloc::string::String>,
6360 #[prost(fixed32, optional, tag = "5")]
6361 pub crc: ::core::option::Option<u32>,
6362}
6363#[derive(serde::Serialize, serde::Deserialize)]
6364#[allow(clippy::derive_partial_eq_without_eq)]
6365#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6366pub struct CClcMsgLoadingProgress {
6367 #[prost(int32, optional, tag = "1")]
6368 pub progress: ::core::option::Option<i32>,
6369}
6370#[derive(serde::Serialize, serde::Deserialize)]
6371#[allow(clippy::derive_partial_eq_without_eq)]
6372#[derive(Clone, PartialEq, ::prost::Message)]
6373pub struct CClcMsgSplitPlayerConnect {
6374 #[prost(string, optional, tag = "1")]
6375 pub playername: ::core::option::Option<::prost::alloc::string::String>,
6376}
6377#[derive(serde::Serialize, serde::Deserialize)]
6378#[allow(clippy::derive_partial_eq_without_eq)]
6379#[derive(Clone, PartialEq, ::prost::Message)]
6380pub struct CClcMsgClientMessage {
6381 #[prost(int32, optional, tag = "1")]
6382 pub msg_type: ::core::option::Option<i32>,
6383 #[prost(bytes = "vec", optional, tag = "2")]
6384 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6385}
6386#[derive(serde::Serialize, serde::Deserialize)]
6387#[allow(clippy::derive_partial_eq_without_eq)]
6388#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6389pub struct CClcMsgSplitPlayerDisconnect {
6390 #[prost(int32, optional, tag = "1")]
6391 pub slot: ::core::option::Option<i32>,
6392}
6393#[derive(serde::Serialize, serde::Deserialize)]
6394#[allow(clippy::derive_partial_eq_without_eq)]
6395#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6396pub struct CClcMsgServerStatus {
6397 #[prost(bool, optional, tag = "1")]
6398 pub simplified: ::core::option::Option<bool>,
6399}
6400#[derive(serde::Serialize, serde::Deserialize)]
6401#[allow(clippy::derive_partial_eq_without_eq)]
6402#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6403pub struct CClcMsgRequestPause {
6404 #[prost(
6405 enumeration = "RequestPauseT",
6406 optional,
6407 tag = "1",
6408 default = "RpPause"
6409 )]
6410 pub pause_type: ::core::option::Option<i32>,
6411 #[prost(int32, optional, tag = "2")]
6412 pub pause_group: ::core::option::Option<i32>,
6413}
6414#[derive(serde::Serialize, serde::Deserialize)]
6415#[allow(clippy::derive_partial_eq_without_eq)]
6416#[derive(Clone, PartialEq, ::prost::Message)]
6417pub struct CClcMsgCmdKeyValues {
6418 #[prost(bytes = "vec", optional, tag = "1")]
6419 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6420}
6421#[derive(serde::Serialize, serde::Deserialize)]
6422#[allow(clippy::derive_partial_eq_without_eq)]
6423#[derive(Clone, PartialEq, ::prost::Message)]
6424pub struct CClcMsgRconServerDetails {
6425 #[prost(bytes = "vec", optional, tag = "1")]
6426 pub token: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6427}
6428#[derive(serde::Serialize, serde::Deserialize)]
6429#[allow(clippy::derive_partial_eq_without_eq)]
6430#[derive(Clone, PartialEq, ::prost::Message)]
6431pub struct CSvcMsgServerInfo {
6432 #[prost(int32, optional, tag = "1")]
6433 pub protocol: ::core::option::Option<i32>,
6434 #[prost(int32, optional, tag = "2")]
6435 pub server_count: ::core::option::Option<i32>,
6436 #[prost(bool, optional, tag = "3")]
6437 pub is_dedicated: ::core::option::Option<bool>,
6438 #[prost(bool, optional, tag = "4")]
6439 pub is_hltv: ::core::option::Option<bool>,
6440 #[prost(int32, optional, tag = "6")]
6441 pub c_os: ::core::option::Option<i32>,
6442 #[prost(int32, optional, tag = "10")]
6443 pub max_clients: ::core::option::Option<i32>,
6444 #[prost(int32, optional, tag = "11")]
6445 pub max_classes: ::core::option::Option<i32>,
6446 #[prost(int32, optional, tag = "12", default = "-1")]
6447 pub player_slot: ::core::option::Option<i32>,
6448 #[prost(float, optional, tag = "13")]
6449 pub tick_interval: ::core::option::Option<f32>,
6450 #[prost(string, optional, tag = "14")]
6451 pub game_dir: ::core::option::Option<::prost::alloc::string::String>,
6452 #[prost(string, optional, tag = "15")]
6453 pub map_name: ::core::option::Option<::prost::alloc::string::String>,
6454 #[prost(string, optional, tag = "16")]
6455 pub sky_name: ::core::option::Option<::prost::alloc::string::String>,
6456 #[prost(string, optional, tag = "17")]
6457 pub host_name: ::core::option::Option<::prost::alloc::string::String>,
6458 #[prost(string, optional, tag = "18")]
6459 pub addon_name: ::core::option::Option<::prost::alloc::string::String>,
6460 #[prost(message, optional, tag = "19")]
6461 pub game_session_config: ::core::option::Option<CSvcMsgGameSessionConfiguration>,
6462 #[prost(bytes = "vec", optional, tag = "20")]
6463 pub game_session_manifest: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6464}
6465#[derive(serde::Serialize, serde::Deserialize)]
6466#[allow(clippy::derive_partial_eq_without_eq)]
6467#[derive(Clone, PartialEq, ::prost::Message)]
6468pub struct CSvcMsgClassInfo {
6469 #[prost(bool, optional, tag = "1")]
6470 pub create_on_client: ::core::option::Option<bool>,
6471 #[prost(message, repeated, tag = "2")]
6472 pub classes: ::prost::alloc::vec::Vec<csvc_msg_class_info::ClassT>,
6473}
6474pub mod csvc_msg_class_info {
6476 #[derive(serde::Serialize, serde::Deserialize)]
6477 #[allow(clippy::derive_partial_eq_without_eq)]
6478 #[derive(Clone, PartialEq, ::prost::Message)]
6479 pub struct ClassT {
6480 #[prost(int32, optional, tag = "1")]
6481 pub class_id: ::core::option::Option<i32>,
6482 #[prost(string, optional, tag = "3")]
6483 pub class_name: ::core::option::Option<::prost::alloc::string::String>,
6484 }
6485}
6486#[derive(serde::Serialize, serde::Deserialize)]
6487#[allow(clippy::derive_partial_eq_without_eq)]
6488#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6489pub struct CSvcMsgSetPause {
6490 #[prost(bool, optional, tag = "1")]
6491 pub paused: ::core::option::Option<bool>,
6492}
6493#[derive(serde::Serialize, serde::Deserialize)]
6494#[allow(clippy::derive_partial_eq_without_eq)]
6495#[derive(Clone, PartialEq, ::prost::Message)]
6496pub struct CSvcMsgVoiceInit {
6497 #[prost(int32, optional, tag = "1")]
6498 pub quality: ::core::option::Option<i32>,
6499 #[prost(string, optional, tag = "2")]
6500 pub codec: ::core::option::Option<::prost::alloc::string::String>,
6501 #[prost(int32, optional, tag = "3", default = "0")]
6502 pub version: ::core::option::Option<i32>,
6503}
6504#[derive(serde::Serialize, serde::Deserialize)]
6505#[allow(clippy::derive_partial_eq_without_eq)]
6506#[derive(Clone, PartialEq, ::prost::Message)]
6507pub struct CSvcMsgPrint {
6508 #[prost(string, optional, tag = "1")]
6509 pub text: ::core::option::Option<::prost::alloc::string::String>,
6510}
6511#[derive(serde::Serialize, serde::Deserialize)]
6512#[allow(clippy::derive_partial_eq_without_eq)]
6513#[derive(Clone, PartialEq, ::prost::Message)]
6514pub struct CSvcMsgSounds {
6515 #[prost(bool, optional, tag = "1")]
6516 pub reliable_sound: ::core::option::Option<bool>,
6517 #[prost(message, repeated, tag = "2")]
6518 pub sounds: ::prost::alloc::vec::Vec<csvc_msg_sounds::SounddataT>,
6519}
6520pub mod csvc_msg_sounds {
6522 #[derive(serde::Serialize, serde::Deserialize)]
6523 #[allow(clippy::derive_partial_eq_without_eq)]
6524 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6525 pub struct SounddataT {
6526 #[prost(sint32, optional, tag = "1")]
6527 pub origin_x: ::core::option::Option<i32>,
6528 #[prost(sint32, optional, tag = "2")]
6529 pub origin_y: ::core::option::Option<i32>,
6530 #[prost(sint32, optional, tag = "3")]
6531 pub origin_z: ::core::option::Option<i32>,
6532 #[prost(uint32, optional, tag = "4")]
6533 pub volume: ::core::option::Option<u32>,
6534 #[prost(float, optional, tag = "5")]
6535 pub delay_value: ::core::option::Option<f32>,
6536 #[prost(int32, optional, tag = "6")]
6537 pub sequence_number: ::core::option::Option<i32>,
6538 #[prost(int32, optional, tag = "7", default = "-1")]
6539 pub entity_index: ::core::option::Option<i32>,
6540 #[prost(int32, optional, tag = "8")]
6541 pub channel: ::core::option::Option<i32>,
6542 #[prost(int32, optional, tag = "9")]
6543 pub pitch: ::core::option::Option<i32>,
6544 #[prost(int32, optional, tag = "10")]
6545 pub flags: ::core::option::Option<i32>,
6546 #[prost(uint32, optional, tag = "11")]
6547 pub sound_num: ::core::option::Option<u32>,
6548 #[prost(fixed32, optional, tag = "12")]
6549 pub sound_num_handle: ::core::option::Option<u32>,
6550 #[prost(int32, optional, tag = "13")]
6551 pub speaker_entity: ::core::option::Option<i32>,
6552 #[prost(int32, optional, tag = "14")]
6553 pub random_seed: ::core::option::Option<i32>,
6554 #[prost(int32, optional, tag = "15")]
6555 pub sound_level: ::core::option::Option<i32>,
6556 #[prost(bool, optional, tag = "16")]
6557 pub is_sentence: ::core::option::Option<bool>,
6558 #[prost(bool, optional, tag = "17")]
6559 pub is_ambient: ::core::option::Option<bool>,
6560 #[prost(uint32, optional, tag = "18")]
6561 pub guid: ::core::option::Option<u32>,
6562 #[prost(fixed64, optional, tag = "19")]
6563 pub sound_resource_id: ::core::option::Option<u64>,
6564 }
6565}
6566#[derive(serde::Serialize, serde::Deserialize)]
6567#[allow(clippy::derive_partial_eq_without_eq)]
6568#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6569pub struct CSvcMsgPrefetch {
6570 #[prost(int32, optional, tag = "1")]
6571 pub sound_index: ::core::option::Option<i32>,
6572 #[prost(
6573 enumeration = "PrefetchType",
6574 optional,
6575 tag = "2",
6576 default = "PftSound"
6577 )]
6578 pub resource_type: ::core::option::Option<i32>,
6579}
6580#[derive(serde::Serialize, serde::Deserialize)]
6581#[allow(clippy::derive_partial_eq_without_eq)]
6582#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6583pub struct CSvcMsgSetView {
6584 #[prost(int32, optional, tag = "1", default = "-1")]
6585 pub entity_index: ::core::option::Option<i32>,
6586 #[prost(int32, optional, tag = "2", default = "-1")]
6587 pub slot: ::core::option::Option<i32>,
6588}
6589#[derive(serde::Serialize, serde::Deserialize)]
6590#[allow(clippy::derive_partial_eq_without_eq)]
6591#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6592pub struct CSvcMsgFixAngle {
6593 #[prost(bool, optional, tag = "1")]
6594 pub relative: ::core::option::Option<bool>,
6595 #[prost(message, optional, tag = "2")]
6596 pub angle: ::core::option::Option<CMsgQAngle>,
6597}
6598#[derive(serde::Serialize, serde::Deserialize)]
6599#[allow(clippy::derive_partial_eq_without_eq)]
6600#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6601pub struct CSvcMsgCrosshairAngle {
6602 #[prost(message, optional, tag = "1")]
6603 pub angle: ::core::option::Option<CMsgQAngle>,
6604}
6605#[derive(serde::Serialize, serde::Deserialize)]
6606#[allow(clippy::derive_partial_eq_without_eq)]
6607#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6608pub struct CSvcMsgBspDecal {
6609 #[prost(message, optional, tag = "1")]
6610 pub pos: ::core::option::Option<CMsgVector>,
6611 #[prost(int32, optional, tag = "2")]
6612 pub decal_texture_index: ::core::option::Option<i32>,
6613 #[prost(int32, optional, tag = "3", default = "-1")]
6614 pub entity_index: ::core::option::Option<i32>,
6615 #[prost(int32, optional, tag = "4")]
6616 pub model_index: ::core::option::Option<i32>,
6617 #[prost(bool, optional, tag = "5")]
6618 pub low_priority: ::core::option::Option<bool>,
6619}
6620#[derive(serde::Serialize, serde::Deserialize)]
6621#[allow(clippy::derive_partial_eq_without_eq)]
6622#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6623pub struct CSvcMsgSplitScreen {
6624 #[prost(
6625 enumeration = "ESplitScreenMessageType",
6626 optional,
6627 tag = "1",
6628 default = "MsgSplitscreenAdduser"
6629 )]
6630 pub r#type: ::core::option::Option<i32>,
6631 #[prost(int32, optional, tag = "2")]
6632 pub slot: ::core::option::Option<i32>,
6633 #[prost(int32, optional, tag = "3", default = "-1")]
6634 pub player_index: ::core::option::Option<i32>,
6635}
6636#[derive(serde::Serialize, serde::Deserialize)]
6637#[allow(clippy::derive_partial_eq_without_eq)]
6638#[derive(Clone, PartialEq, ::prost::Message)]
6639pub struct CSvcMsgGetCvarValue {
6640 #[prost(int32, optional, tag = "1")]
6641 pub cookie: ::core::option::Option<i32>,
6642 #[prost(string, optional, tag = "2")]
6643 pub cvar_name: ::core::option::Option<::prost::alloc::string::String>,
6644}
6645#[derive(serde::Serialize, serde::Deserialize)]
6646#[allow(clippy::derive_partial_eq_without_eq)]
6647#[derive(Clone, PartialEq, ::prost::Message)]
6648pub struct CSvcMsgMenu {
6649 #[prost(int32, optional, tag = "1")]
6650 pub dialog_type: ::core::option::Option<i32>,
6651 #[prost(bytes = "vec", optional, tag = "2")]
6652 pub menu_key_values: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6653}
6654#[derive(serde::Serialize, serde::Deserialize)]
6655#[allow(clippy::derive_partial_eq_without_eq)]
6656#[derive(Clone, PartialEq, ::prost::Message)]
6657pub struct CSvcMsgUserMessage {
6658 #[prost(int32, optional, tag = "1")]
6659 pub msg_type: ::core::option::Option<i32>,
6660 #[prost(bytes = "vec", optional, tag = "2")]
6661 pub msg_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6662 #[prost(int32, optional, tag = "3")]
6663 pub passthrough: ::core::option::Option<i32>,
6664}
6665#[derive(serde::Serialize, serde::Deserialize)]
6666#[allow(clippy::derive_partial_eq_without_eq)]
6667#[derive(Clone, PartialEq, ::prost::Message)]
6668pub struct CSvcMsgSendTable {
6669 #[prost(bool, optional, tag = "1")]
6670 pub is_end: ::core::option::Option<bool>,
6671 #[prost(string, optional, tag = "2")]
6672 pub net_table_name: ::core::option::Option<::prost::alloc::string::String>,
6673 #[prost(bool, optional, tag = "3")]
6674 pub needs_decoder: ::core::option::Option<bool>,
6675 #[prost(message, repeated, tag = "4")]
6676 pub props: ::prost::alloc::vec::Vec<csvc_msg_send_table::SendpropT>,
6677}
6678pub mod csvc_msg_send_table {
6680 #[derive(serde::Serialize, serde::Deserialize)]
6681 #[allow(clippy::derive_partial_eq_without_eq)]
6682 #[derive(Clone, PartialEq, ::prost::Message)]
6683 pub struct SendpropT {
6684 #[prost(int32, optional, tag = "1")]
6685 pub r#type: ::core::option::Option<i32>,
6686 #[prost(string, optional, tag = "2")]
6687 pub var_name: ::core::option::Option<::prost::alloc::string::String>,
6688 #[prost(int32, optional, tag = "3")]
6689 pub flags: ::core::option::Option<i32>,
6690 #[prost(int32, optional, tag = "4")]
6691 pub priority: ::core::option::Option<i32>,
6692 #[prost(string, optional, tag = "5")]
6693 pub dt_name: ::core::option::Option<::prost::alloc::string::String>,
6694 #[prost(int32, optional, tag = "6")]
6695 pub num_elements: ::core::option::Option<i32>,
6696 #[prost(float, optional, tag = "7")]
6697 pub low_value: ::core::option::Option<f32>,
6698 #[prost(float, optional, tag = "8")]
6699 pub high_value: ::core::option::Option<f32>,
6700 #[prost(int32, optional, tag = "9")]
6701 pub num_bits: ::core::option::Option<i32>,
6702 }
6703}
6704#[derive(serde::Serialize, serde::Deserialize)]
6705#[allow(clippy::derive_partial_eq_without_eq)]
6706#[derive(Clone, PartialEq, ::prost::Message)]
6707pub struct CSvcMsgGameEventList {
6708 #[prost(message, repeated, tag = "1")]
6709 pub descriptors: ::prost::alloc::vec::Vec<csvc_msg_game_event_list::DescriptorT>,
6710}
6711pub mod csvc_msg_game_event_list {
6713 #[derive(serde::Serialize, serde::Deserialize)]
6714 #[allow(clippy::derive_partial_eq_without_eq)]
6715 #[derive(Clone, PartialEq, ::prost::Message)]
6716 pub struct KeyT {
6717 #[prost(int32, optional, tag = "1")]
6718 pub r#type: ::core::option::Option<i32>,
6719 #[prost(string, optional, tag = "2")]
6720 pub name: ::core::option::Option<::prost::alloc::string::String>,
6721 }
6722 #[derive(serde::Serialize, serde::Deserialize)]
6723 #[allow(clippy::derive_partial_eq_without_eq)]
6724 #[derive(Clone, PartialEq, ::prost::Message)]
6725 pub struct DescriptorT {
6726 #[prost(int32, optional, tag = "1")]
6727 pub eventid: ::core::option::Option<i32>,
6728 #[prost(string, optional, tag = "2")]
6729 pub name: ::core::option::Option<::prost::alloc::string::String>,
6730 #[prost(message, repeated, tag = "3")]
6731 pub keys: ::prost::alloc::vec::Vec<KeyT>,
6732 }
6733}
6734#[derive(serde::Serialize, serde::Deserialize)]
6735#[allow(clippy::derive_partial_eq_without_eq)]
6736#[derive(Clone, PartialEq, ::prost::Message)]
6737pub struct CSvcMsgPacketEntities {
6738 #[prost(int32, optional, tag = "1")]
6739 pub max_entries: ::core::option::Option<i32>,
6740 #[prost(int32, optional, tag = "2")]
6741 pub updated_entries: ::core::option::Option<i32>,
6742 #[prost(bool, optional, tag = "3")]
6743 pub legacy_is_delta: ::core::option::Option<bool>,
6744 #[prost(bool, optional, tag = "4")]
6745 pub update_baseline: ::core::option::Option<bool>,
6746 #[prost(int32, optional, tag = "5")]
6747 pub baseline: ::core::option::Option<i32>,
6748 #[prost(int32, optional, tag = "6")]
6749 pub delta_from: ::core::option::Option<i32>,
6750 #[prost(bytes = "vec", optional, tag = "7")]
6751 pub entity_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6752 #[prost(bool, optional, tag = "8")]
6753 pub pending_full_frame: ::core::option::Option<bool>,
6754 #[prost(uint32, optional, tag = "9")]
6755 pub active_spawngroup_handle: ::core::option::Option<u32>,
6756 #[prost(uint32, optional, tag = "10")]
6757 pub max_spawngroup_creationsequence: ::core::option::Option<u32>,
6758 #[prost(uint32, optional, tag = "11")]
6759 pub last_cmd_number_executed: ::core::option::Option<u32>,
6760 #[prost(sint32, optional, tag = "17")]
6761 pub last_cmd_number_recv_delta: ::core::option::Option<i32>,
6762 #[prost(uint32, optional, tag = "12")]
6763 pub server_tick: ::core::option::Option<u32>,
6764 #[prost(bytes = "vec", optional, tag = "13")]
6765 pub serialized_entities: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6766 #[prost(message, optional, tag = "14")]
6767 pub command_queue_info: ::core::option::Option<csvc_msg_packet_entities::CommandQueueInfoT>,
6768 #[prost(message, repeated, tag = "15")]
6769 pub alternate_baselines: ::prost::alloc::vec::Vec<csvc_msg_packet_entities::AlternateBaselineT>,
6770 #[prost(uint32, optional, tag = "16")]
6771 pub has_pvs_vis_bits: ::core::option::Option<u32>,
6772 #[prost(uint32, optional, tag = "18")]
6773 pub last_cmd_recv_margin: ::core::option::Option<u32>,
6774 #[prost(message, optional, tag = "19")]
6775 pub non_transmitted_entities:
6776 ::core::option::Option<csvc_msg_packet_entities::NonTransmittedEntitiesT>,
6777 #[prost(bytes = "vec", optional, tag = "999")]
6778 pub dev_padding: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6779}
6780pub mod csvc_msg_packet_entities {
6782 #[derive(serde::Serialize, serde::Deserialize)]
6783 #[allow(clippy::derive_partial_eq_without_eq)]
6784 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6785 pub struct CommandQueueInfoT {
6786 #[prost(uint32, optional, tag = "1")]
6787 pub commands_queued: ::core::option::Option<u32>,
6788 #[prost(uint32, optional, tag = "3")]
6789 pub starved_command_ticks: ::core::option::Option<u32>,
6790 #[prost(uint32, optional, tag = "5")]
6791 pub discarded_command_ticks: ::core::option::Option<u32>,
6792 }
6793 #[derive(serde::Serialize, serde::Deserialize)]
6794 #[allow(clippy::derive_partial_eq_without_eq)]
6795 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6796 pub struct AlternateBaselineT {
6797 #[prost(int32, optional, tag = "1")]
6798 pub entity_index: ::core::option::Option<i32>,
6799 #[prost(int32, optional, tag = "2")]
6800 pub baseline_index: ::core::option::Option<i32>,
6801 }
6802 #[derive(serde::Serialize, serde::Deserialize)]
6803 #[allow(clippy::derive_partial_eq_without_eq)]
6804 #[derive(Clone, PartialEq, ::prost::Message)]
6805 pub struct NonTransmittedEntitiesT {
6806 #[prost(int32, optional, tag = "1")]
6807 pub header_count: ::core::option::Option<i32>,
6808 #[prost(bytes = "vec", optional, tag = "2")]
6809 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6810 }
6811}
6812#[derive(serde::Serialize, serde::Deserialize)]
6813#[allow(clippy::derive_partial_eq_without_eq)]
6814#[derive(Clone, PartialEq, ::prost::Message)]
6815pub struct CSvcMsgTempEntities {
6816 #[prost(bool, optional, tag = "1")]
6817 pub reliable: ::core::option::Option<bool>,
6818 #[prost(int32, optional, tag = "2")]
6819 pub num_entries: ::core::option::Option<i32>,
6820 #[prost(bytes = "vec", optional, tag = "3")]
6821 pub entity_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6822}
6823#[derive(serde::Serialize, serde::Deserialize)]
6824#[allow(clippy::derive_partial_eq_without_eq)]
6825#[derive(Clone, PartialEq, ::prost::Message)]
6826pub struct CSvcMsgCreateStringTable {
6827 #[prost(string, optional, tag = "1")]
6828 pub name: ::core::option::Option<::prost::alloc::string::String>,
6829 #[prost(int32, optional, tag = "2")]
6830 pub num_entries: ::core::option::Option<i32>,
6831 #[prost(bool, optional, tag = "3")]
6832 pub user_data_fixed_size: ::core::option::Option<bool>,
6833 #[prost(int32, optional, tag = "4")]
6834 pub user_data_size: ::core::option::Option<i32>,
6835 #[prost(int32, optional, tag = "5")]
6836 pub user_data_size_bits: ::core::option::Option<i32>,
6837 #[prost(int32, optional, tag = "6")]
6838 pub flags: ::core::option::Option<i32>,
6839 #[prost(bytes = "vec", optional, tag = "7")]
6840 pub string_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6841 #[prost(int32, optional, tag = "8")]
6842 pub uncompressed_size: ::core::option::Option<i32>,
6843 #[prost(bool, optional, tag = "9")]
6844 pub data_compressed: ::core::option::Option<bool>,
6845 #[prost(bool, optional, tag = "10")]
6846 pub using_varint_bitcounts: ::core::option::Option<bool>,
6847}
6848#[derive(serde::Serialize, serde::Deserialize)]
6849#[allow(clippy::derive_partial_eq_without_eq)]
6850#[derive(Clone, PartialEq, ::prost::Message)]
6851pub struct CSvcMsgUpdateStringTable {
6852 #[prost(int32, optional, tag = "1")]
6853 pub table_id: ::core::option::Option<i32>,
6854 #[prost(int32, optional, tag = "2")]
6855 pub num_changed_entries: ::core::option::Option<i32>,
6856 #[prost(bytes = "vec", optional, tag = "3")]
6857 pub string_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6858}
6859#[derive(serde::Serialize, serde::Deserialize)]
6860#[allow(clippy::derive_partial_eq_without_eq)]
6861#[derive(Clone, PartialEq, ::prost::Message)]
6862pub struct CSvcMsgVoiceData {
6863 #[prost(message, optional, tag = "1")]
6864 pub audio: ::core::option::Option<CMsgVoiceAudio>,
6865 #[prost(int32, optional, tag = "2", default = "-1")]
6866 pub client: ::core::option::Option<i32>,
6867 #[prost(bool, optional, tag = "3")]
6868 pub proximity: ::core::option::Option<bool>,
6869 #[prost(fixed64, optional, tag = "4")]
6870 pub xuid: ::core::option::Option<u64>,
6871 #[prost(int32, optional, tag = "5")]
6872 pub audible_mask: ::core::option::Option<i32>,
6873 #[prost(uint32, optional, tag = "6")]
6874 pub tick: ::core::option::Option<u32>,
6875 #[prost(int32, optional, tag = "7")]
6876 pub passthrough: ::core::option::Option<i32>,
6877}
6878#[derive(serde::Serialize, serde::Deserialize)]
6879#[allow(clippy::derive_partial_eq_without_eq)]
6880#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6881pub struct CSvcMsgPacketReliable {
6882 #[prost(int32, optional, tag = "1")]
6883 pub tick: ::core::option::Option<i32>,
6884 #[prost(int32, optional, tag = "2")]
6885 pub messagessize: ::core::option::Option<i32>,
6886 #[prost(bool, optional, tag = "3")]
6887 pub state: ::core::option::Option<bool>,
6888}
6889#[derive(serde::Serialize, serde::Deserialize)]
6890#[allow(clippy::derive_partial_eq_without_eq)]
6891#[derive(Clone, PartialEq, ::prost::Message)]
6892pub struct CSvcMsgFullFrameSplit {
6893 #[prost(int32, optional, tag = "1")]
6894 pub tick: ::core::option::Option<i32>,
6895 #[prost(int32, optional, tag = "2")]
6896 pub section: ::core::option::Option<i32>,
6897 #[prost(int32, optional, tag = "3")]
6898 pub total: ::core::option::Option<i32>,
6899 #[prost(bytes = "vec", optional, tag = "4")]
6900 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6901}
6902#[derive(serde::Serialize, serde::Deserialize)]
6903#[allow(clippy::derive_partial_eq_without_eq)]
6904#[derive(Clone, PartialEq, ::prost::Message)]
6905pub struct CSvcMsgHltvStatus {
6906 #[prost(string, optional, tag = "1")]
6907 pub master: ::core::option::Option<::prost::alloc::string::String>,
6908 #[prost(int32, optional, tag = "2")]
6909 pub clients: ::core::option::Option<i32>,
6910 #[prost(int32, optional, tag = "3")]
6911 pub slots: ::core::option::Option<i32>,
6912 #[prost(int32, optional, tag = "4")]
6913 pub proxies: ::core::option::Option<i32>,
6914}
6915#[derive(serde::Serialize, serde::Deserialize)]
6916#[allow(clippy::derive_partial_eq_without_eq)]
6917#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6918pub struct CSvcMsgServerSteamId {
6919 #[prost(uint64, optional, tag = "1")]
6920 pub steam_id: ::core::option::Option<u64>,
6921}
6922#[derive(serde::Serialize, serde::Deserialize)]
6923#[allow(clippy::derive_partial_eq_without_eq)]
6924#[derive(Clone, PartialEq, ::prost::Message)]
6925pub struct CSvcMsgCmdKeyValues {
6926 #[prost(bytes = "vec", optional, tag = "1")]
6927 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6928}
6929#[derive(serde::Serialize, serde::Deserialize)]
6930#[allow(clippy::derive_partial_eq_without_eq)]
6931#[derive(Clone, PartialEq, ::prost::Message)]
6932pub struct CSvcMsgRconServerDetails {
6933 #[prost(bytes = "vec", optional, tag = "1")]
6934 pub token: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
6935 #[prost(string, optional, tag = "2")]
6936 pub details: ::core::option::Option<::prost::alloc::string::String>,
6937}
6938#[derive(serde::Serialize, serde::Deserialize)]
6939#[allow(clippy::derive_partial_eq_without_eq)]
6940#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6941pub struct CMsgIpcAddress {
6942 #[prost(fixed64, optional, tag = "1")]
6943 pub computer_guid: ::core::option::Option<u64>,
6944 #[prost(uint32, optional, tag = "2")]
6945 pub process_id: ::core::option::Option<u32>,
6946}
6947#[derive(serde::Serialize, serde::Deserialize)]
6948#[allow(clippy::derive_partial_eq_without_eq)]
6949#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6950pub struct CMsgServerPeer {
6951 #[prost(int32, optional, tag = "1", default = "-1")]
6952 pub player_slot: ::core::option::Option<i32>,
6953 #[prost(fixed64, optional, tag = "2")]
6954 pub steamid: ::core::option::Option<u64>,
6955 #[prost(message, optional, tag = "3")]
6956 pub ipc: ::core::option::Option<CMsgIpcAddress>,
6957 #[prost(bool, optional, tag = "4")]
6958 pub they_hear_you: ::core::option::Option<bool>,
6959 #[prost(bool, optional, tag = "5")]
6960 pub you_hear_them: ::core::option::Option<bool>,
6961 #[prost(bool, optional, tag = "6")]
6962 pub is_listenserver_host: ::core::option::Option<bool>,
6963}
6964#[derive(serde::Serialize, serde::Deserialize)]
6965#[allow(clippy::derive_partial_eq_without_eq)]
6966#[derive(Clone, PartialEq, ::prost::Message)]
6967pub struct CSvcMsgPeerList {
6968 #[prost(message, repeated, tag = "1")]
6969 pub peer: ::prost::alloc::vec::Vec<CMsgServerPeer>,
6970}
6971#[derive(serde::Serialize, serde::Deserialize)]
6972#[allow(clippy::derive_partial_eq_without_eq)]
6973#[derive(Clone, PartialEq, ::prost::Message)]
6974pub struct CSvcMsgClearAllStringTables {
6975 #[prost(string, optional, tag = "1")]
6976 pub mapname: ::core::option::Option<::prost::alloc::string::String>,
6977 #[prost(bool, optional, tag = "3")]
6978 pub create_tables_skipped: ::core::option::Option<bool>,
6979}
6980#[derive(serde::Serialize, serde::Deserialize)]
6981#[allow(clippy::derive_partial_eq_without_eq)]
6982#[derive(Clone, PartialEq, ::prost::Message)]
6983pub struct ProtoFlattenedSerializerFieldT {
6984 #[prost(int32, optional, tag = "1")]
6985 pub var_type_sym: ::core::option::Option<i32>,
6986 #[prost(int32, optional, tag = "2")]
6987 pub var_name_sym: ::core::option::Option<i32>,
6988 #[prost(int32, optional, tag = "3")]
6989 pub bit_count: ::core::option::Option<i32>,
6990 #[prost(float, optional, tag = "4")]
6991 pub low_value: ::core::option::Option<f32>,
6992 #[prost(float, optional, tag = "5")]
6993 pub high_value: ::core::option::Option<f32>,
6994 #[prost(int32, optional, tag = "6")]
6995 pub encode_flags: ::core::option::Option<i32>,
6996 #[prost(int32, optional, tag = "7")]
6997 pub field_serializer_name_sym: ::core::option::Option<i32>,
6998 #[prost(int32, optional, tag = "8")]
6999 pub field_serializer_version: ::core::option::Option<i32>,
7000 #[prost(int32, optional, tag = "9")]
7001 pub send_node_sym: ::core::option::Option<i32>,
7002 #[prost(int32, optional, tag = "10")]
7003 pub var_encoder_sym: ::core::option::Option<i32>,
7004 #[prost(message, repeated, tag = "11")]
7005 pub polymorphic_types:
7006 ::prost::alloc::vec::Vec<proto_flattened_serializer_field_t::PolymorphicFieldT>,
7007 #[prost(int32, optional, tag = "12")]
7008 pub var_serializer_sym: ::core::option::Option<i32>,
7009}
7010pub mod proto_flattened_serializer_field_t {
7012 #[derive(serde::Serialize, serde::Deserialize)]
7013 #[allow(clippy::derive_partial_eq_without_eq)]
7014 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
7015 pub struct PolymorphicFieldT {
7016 #[prost(int32, optional, tag = "1")]
7017 pub polymorphic_field_serializer_name_sym: ::core::option::Option<i32>,
7018 #[prost(int32, optional, tag = "2")]
7019 pub polymorphic_field_serializer_version: ::core::option::Option<i32>,
7020 }
7021}
7022#[derive(serde::Serialize, serde::Deserialize)]
7023#[allow(clippy::derive_partial_eq_without_eq)]
7024#[derive(Clone, PartialEq, ::prost::Message)]
7025pub struct ProtoFlattenedSerializerT {
7026 #[prost(int32, optional, tag = "1")]
7027 pub serializer_name_sym: ::core::option::Option<i32>,
7028 #[prost(int32, optional, tag = "2")]
7029 pub serializer_version: ::core::option::Option<i32>,
7030 #[prost(int32, repeated, packed = "false", tag = "3")]
7031 pub fields_index: ::prost::alloc::vec::Vec<i32>,
7032}
7033#[derive(serde::Serialize, serde::Deserialize)]
7034#[allow(clippy::derive_partial_eq_without_eq)]
7035#[derive(Clone, PartialEq, ::prost::Message)]
7036pub struct CSvcMsgFlattenedSerializer {
7037 #[prost(message, repeated, tag = "1")]
7038 pub serializers: ::prost::alloc::vec::Vec<ProtoFlattenedSerializerT>,
7039 #[prost(string, repeated, tag = "2")]
7040 pub symbols: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7041 #[prost(message, repeated, tag = "3")]
7042 pub fields: ::prost::alloc::vec::Vec<ProtoFlattenedSerializerFieldT>,
7043}
7044#[derive(serde::Serialize, serde::Deserialize)]
7045#[allow(clippy::derive_partial_eq_without_eq)]
7046#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7047pub struct CSvcMsgStopSound {
7048 #[prost(fixed32, optional, tag = "1")]
7049 pub guid: ::core::option::Option<u32>,
7050}
7051#[derive(serde::Serialize, serde::Deserialize)]
7052#[allow(clippy::derive_partial_eq_without_eq)]
7053#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7054pub struct CBidirMsgRebroadcastGameEvent {
7055 #[prost(bool, optional, tag = "1")]
7056 pub posttoserver: ::core::option::Option<bool>,
7057 #[prost(int32, optional, tag = "2")]
7058 pub buftype: ::core::option::Option<i32>,
7059 #[prost(uint32, optional, tag = "3")]
7060 pub clientbitcount: ::core::option::Option<u32>,
7061 #[prost(uint64, optional, tag = "4")]
7062 pub receivingclients: ::core::option::Option<u64>,
7063}
7064#[derive(serde::Serialize, serde::Deserialize)]
7065#[allow(clippy::derive_partial_eq_without_eq)]
7066#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7067pub struct CBidirMsgRebroadcastSource {
7068 #[prost(int32, optional, tag = "1")]
7069 pub eventsource: ::core::option::Option<i32>,
7070}
7071#[derive(serde::Serialize, serde::Deserialize)]
7072#[allow(clippy::derive_partial_eq_without_eq)]
7073#[derive(Clone, PartialEq, ::prost::Message)]
7074pub struct CMsgServerNetworkStats {
7075 #[prost(bool, optional, tag = "1")]
7076 pub dedicated: ::core::option::Option<bool>,
7077 #[prost(int32, optional, tag = "2")]
7078 pub cpu_usage: ::core::option::Option<i32>,
7079 #[prost(int32, optional, tag = "3")]
7080 pub memory_used_mb: ::core::option::Option<i32>,
7081 #[prost(int32, optional, tag = "4")]
7082 pub memory_free_mb: ::core::option::Option<i32>,
7083 #[prost(int32, optional, tag = "5")]
7084 pub uptime: ::core::option::Option<i32>,
7085 #[prost(int32, optional, tag = "6")]
7086 pub spawn_count: ::core::option::Option<i32>,
7087 #[prost(int32, optional, tag = "8")]
7088 pub num_clients: ::core::option::Option<i32>,
7089 #[prost(int32, optional, tag = "9")]
7090 pub num_bots: ::core::option::Option<i32>,
7091 #[prost(int32, optional, tag = "10")]
7092 pub num_spectators: ::core::option::Option<i32>,
7093 #[prost(int32, optional, tag = "11")]
7094 pub num_tv_relays: ::core::option::Option<i32>,
7095 #[prost(float, optional, tag = "12")]
7096 pub fps: ::core::option::Option<f32>,
7097 #[prost(message, repeated, tag = "17")]
7098 pub ports: ::prost::alloc::vec::Vec<c_msg_server_network_stats::Port>,
7099 #[prost(float, optional, tag = "18")]
7100 pub avg_ping_ms: ::core::option::Option<f32>,
7101 #[prost(float, optional, tag = "19")]
7102 pub avg_engine_latency_out: ::core::option::Option<f32>,
7103 #[prost(float, optional, tag = "20")]
7104 pub avg_packets_out: ::core::option::Option<f32>,
7105 #[prost(float, optional, tag = "21")]
7106 pub avg_packets_in: ::core::option::Option<f32>,
7107 #[prost(float, optional, tag = "22")]
7108 pub avg_loss_out: ::core::option::Option<f32>,
7109 #[prost(float, optional, tag = "23")]
7110 pub avg_loss_in: ::core::option::Option<f32>,
7111 #[prost(float, optional, tag = "24")]
7112 pub avg_data_out: ::core::option::Option<f32>,
7113 #[prost(float, optional, tag = "25")]
7114 pub avg_data_in: ::core::option::Option<f32>,
7115 #[prost(uint64, optional, tag = "26")]
7116 pub total_data_in: ::core::option::Option<u64>,
7117 #[prost(uint64, optional, tag = "27")]
7118 pub total_packets_in: ::core::option::Option<u64>,
7119 #[prost(uint64, optional, tag = "28")]
7120 pub total_data_out: ::core::option::Option<u64>,
7121 #[prost(uint64, optional, tag = "29")]
7122 pub total_packets_out: ::core::option::Option<u64>,
7123 #[prost(message, repeated, tag = "30")]
7124 pub players: ::prost::alloc::vec::Vec<c_msg_server_network_stats::Player>,
7125}
7126pub mod c_msg_server_network_stats {
7128 #[derive(serde::Serialize, serde::Deserialize)]
7129 #[allow(clippy::derive_partial_eq_without_eq)]
7130 #[derive(Clone, PartialEq, ::prost::Message)]
7131 pub struct Port {
7132 #[prost(int32, optional, tag = "1")]
7133 pub port: ::core::option::Option<i32>,
7134 #[prost(string, optional, tag = "2")]
7135 pub name: ::core::option::Option<::prost::alloc::string::String>,
7136 }
7137 #[derive(serde::Serialize, serde::Deserialize)]
7138 #[allow(clippy::derive_partial_eq_without_eq)]
7139 #[derive(Clone, PartialEq, ::prost::Message)]
7140 pub struct Player {
7141 #[prost(uint64, optional, tag = "1")]
7142 pub steamid: ::core::option::Option<u64>,
7143 #[prost(string, optional, tag = "2")]
7144 pub remote_addr: ::core::option::Option<::prost::alloc::string::String>,
7145 #[prost(int32, optional, tag = "4")]
7146 pub ping_avg_ms: ::core::option::Option<i32>,
7147 #[prost(float, optional, tag = "5")]
7148 pub packet_loss_pct: ::core::option::Option<f32>,
7149 #[prost(bool, optional, tag = "6")]
7150 pub is_bot: ::core::option::Option<bool>,
7151 #[prost(float, optional, tag = "7")]
7152 pub loss_in: ::core::option::Option<f32>,
7153 #[prost(float, optional, tag = "8")]
7154 pub loss_out: ::core::option::Option<f32>,
7155 #[prost(int32, optional, tag = "9")]
7156 pub engine_latency_ms: ::core::option::Option<i32>,
7157 }
7158}
7159#[derive(serde::Serialize, serde::Deserialize)]
7160#[allow(clippy::derive_partial_eq_without_eq)]
7161#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7162pub struct CSvcMsgHltvReplay {
7163 #[prost(int32, optional, tag = "1")]
7164 pub delay: ::core::option::Option<i32>,
7165 #[prost(int32, optional, tag = "2", default = "-1")]
7166 pub primary_target: ::core::option::Option<i32>,
7167 #[prost(int32, optional, tag = "3")]
7168 pub replay_stop_at: ::core::option::Option<i32>,
7169 #[prost(int32, optional, tag = "4")]
7170 pub replay_start_at: ::core::option::Option<i32>,
7171 #[prost(int32, optional, tag = "5")]
7172 pub replay_slowdown_begin: ::core::option::Option<i32>,
7173 #[prost(int32, optional, tag = "6")]
7174 pub replay_slowdown_end: ::core::option::Option<i32>,
7175 #[prost(float, optional, tag = "7")]
7176 pub replay_slowdown_rate: ::core::option::Option<f32>,
7177 #[prost(int32, optional, tag = "8")]
7178 pub reason: ::core::option::Option<i32>,
7179}
7180#[derive(serde::Serialize, serde::Deserialize)]
7181#[allow(clippy::derive_partial_eq_without_eq)]
7182#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7183pub struct CClcMsgHltvReplay {
7184 #[prost(int32, optional, tag = "1")]
7185 pub request: ::core::option::Option<i32>,
7186 #[prost(float, optional, tag = "2")]
7187 pub slowdown_length: ::core::option::Option<f32>,
7188 #[prost(float, optional, tag = "3")]
7189 pub slowdown_rate: ::core::option::Option<f32>,
7190 #[prost(int32, optional, tag = "4", default = "-1")]
7191 pub primary_target: ::core::option::Option<i32>,
7192 #[prost(float, optional, tag = "5")]
7193 pub event_time: ::core::option::Option<f32>,
7194}
7195#[derive(serde::Serialize, serde::Deserialize)]
7196#[allow(clippy::derive_partial_eq_without_eq)]
7197#[derive(Clone, PartialEq, ::prost::Message)]
7198pub struct CSvcMsgBroadcastCommand {
7199 #[prost(string, optional, tag = "1")]
7200 pub cmd: ::core::option::Option<::prost::alloc::string::String>,
7201}
7202#[derive(serde::Serialize, serde::Deserialize)]
7203#[allow(clippy::derive_partial_eq_without_eq)]
7204#[derive(Clone, PartialEq, ::prost::Message)]
7205pub struct CClcMsgHltvFixupOperatorTick {
7206 #[prost(int32, optional, tag = "1")]
7207 pub tick: ::core::option::Option<i32>,
7208 #[prost(bytes = "vec", optional, tag = "2")]
7209 pub props_data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
7210 #[prost(message, optional, tag = "3")]
7211 pub origin: ::core::option::Option<CMsgVector>,
7212 #[prost(message, optional, tag = "4")]
7213 pub eye_angles: ::core::option::Option<CMsgQAngle>,
7214 #[prost(int32, optional, tag = "5")]
7215 pub observer_mode: ::core::option::Option<i32>,
7216 #[prost(bool, optional, tag = "6")]
7217 pub cameraman_scoreboard: ::core::option::Option<bool>,
7218 #[prost(int32, optional, tag = "7")]
7219 pub observer_target: ::core::option::Option<i32>,
7220 #[prost(message, optional, tag = "8")]
7221 pub view_offset: ::core::option::Option<CMsgVector>,
7222}
7223#[derive(serde::Serialize, serde::Deserialize)]
7224#[allow(clippy::derive_partial_eq_without_eq)]
7225#[derive(Clone, PartialEq, ::prost::Message)]
7226pub struct CSvcMsgHltvFixupOperatorStatus {
7227 #[prost(uint32, optional, tag = "1")]
7228 pub mode: ::core::option::Option<u32>,
7229 #[prost(string, optional, tag = "2")]
7230 pub override_operator_name: ::core::option::Option<::prost::alloc::string::String>,
7231}
7232#[derive(
7233 serde::Serialize,
7234 serde::Deserialize,
7235 Clone,
7236 Copy,
7237 Debug,
7238 PartialEq,
7239 Eq,
7240 Hash,
7241 PartialOrd,
7242 Ord,
7243 ::prost::Enumeration,
7244)]
7245#[repr(i32)]
7246pub enum ClcMessages {
7247 ClcClientInfo = 20,
7248 ClcMove = 21,
7249 ClcVoiceData = 22,
7250 ClcBaselineAck = 23,
7251 ClcListenEvents = 24,
7252 ClcRespondCvarValue = 25,
7253 ClcFileCrcCheck = 26,
7254 ClcLoadingProgress = 27,
7255 ClcSplitPlayerConnect = 28,
7256 ClcClientMessage = 29,
7257 ClcSplitPlayerDisconnect = 30,
7258 ClcServerStatus = 31,
7259 ClcServerPing = 32,
7260 ClcRequestPause = 33,
7261 ClcCmdKeyValues = 34,
7262 ClcRconServerDetails = 35,
7263 ClcHltvReplay = 36,
7264}
7265#[derive(
7266 serde::Serialize,
7267 serde::Deserialize,
7268 Clone,
7269 Copy,
7270 Debug,
7271 PartialEq,
7272 Eq,
7273 Hash,
7274 PartialOrd,
7275 Ord,
7276 ::prost::Enumeration,
7277)]
7278#[repr(i32)]
7279pub enum SvcMessages {
7280 SvcServerInfo = 40,
7281 SvcFlattenedSerializer = 41,
7282 SvcClassInfo = 42,
7283 SvcSetPause = 43,
7284 SvcCreateStringTable = 44,
7285 SvcUpdateStringTable = 45,
7286 SvcVoiceInit = 46,
7287 SvcVoiceData = 47,
7288 SvcPrint = 48,
7289 SvcSounds = 49,
7290 SvcSetView = 50,
7291 SvcClearAllStringTables = 51,
7292 SvcCmdKeyValues = 52,
7293 SvcBspDecal = 53,
7294 SvcSplitScreen = 54,
7295 SvcPacketEntities = 55,
7296 SvcPrefetch = 56,
7297 SvcMenu = 57,
7298 SvcGetCvarValue = 58,
7299 SvcStopSound = 59,
7300 SvcPeerList = 60,
7301 SvcPacketReliable = 61,
7302 SvcHltvStatus = 62,
7303 SvcServerSteamId = 63,
7304 SvcFullFrameSplit = 70,
7305 SvcRconServerDetails = 71,
7306 SvcUserMessage = 72,
7307 SvcHltvReplay = 73,
7308 SvcBroadcastCommand = 74,
7309 SvcHltvFixupOperatorStatus = 75,
7310}
7311#[derive(
7312 serde::Serialize,
7313 serde::Deserialize,
7314 Clone,
7315 Copy,
7316 Debug,
7317 PartialEq,
7318 Eq,
7319 Hash,
7320 PartialOrd,
7321 Ord,
7322 ::prost::Enumeration,
7323)]
7324#[repr(i32)]
7325pub enum VoiceDataFormatT {
7326 VoicedataFormatSteam = 0,
7327 VoicedataFormatEngine = 1,
7328 VoicedataFormatOpus = 2,
7329}
7330#[derive(
7331 serde::Serialize,
7332 serde::Deserialize,
7333 Clone,
7334 Copy,
7335 Debug,
7336 PartialEq,
7337 Eq,
7338 Hash,
7339 PartialOrd,
7340 Ord,
7341 ::prost::Enumeration,
7342)]
7343#[repr(i32)]
7344pub enum RequestPauseT {
7345 RpPause = 0,
7346 RpUnpause = 1,
7347 RpTogglepause = 2,
7348}
7349#[derive(
7350 serde::Serialize,
7351 serde::Deserialize,
7352 Clone,
7353 Copy,
7354 Debug,
7355 PartialEq,
7356 Eq,
7357 Hash,
7358 PartialOrd,
7359 Ord,
7360 ::prost::Enumeration,
7361)]
7362#[repr(i32)]
7363pub enum PrefetchType {
7364 PftSound = 0,
7365}
7366#[derive(
7367 serde::Serialize,
7368 serde::Deserialize,
7369 Clone,
7370 Copy,
7371 Debug,
7372 PartialEq,
7373 Eq,
7374 Hash,
7375 PartialOrd,
7376 Ord,
7377 ::prost::Enumeration,
7378)]
7379#[repr(i32)]
7380pub enum ESplitScreenMessageType {
7381 MsgSplitscreenAdduser = 0,
7382 MsgSplitscreenRemoveuser = 1,
7383}
7384#[derive(
7385 serde::Serialize,
7386 serde::Deserialize,
7387 Clone,
7388 Copy,
7389 Debug,
7390 PartialEq,
7391 Eq,
7392 Hash,
7393 PartialOrd,
7394 Ord,
7395 ::prost::Enumeration,
7396)]
7397#[repr(i32)]
7398pub enum EQueryCvarValueStatus {
7399 ValueIntact = 0,
7400 CvarNotFound = 1,
7401 NotACvar = 2,
7402 CvarProtected = 3,
7403}
7404#[derive(
7405 serde::Serialize,
7406 serde::Deserialize,
7407 Clone,
7408 Copy,
7409 Debug,
7410 PartialEq,
7411 Eq,
7412 Hash,
7413 PartialOrd,
7414 Ord,
7415 ::prost::Enumeration,
7416)]
7417#[repr(i32)]
7418pub enum DialogType {
7419 DialogMsg = 0,
7420 DialogMenu = 1,
7421 DialogText = 2,
7422 DialogEntry = 3,
7423 DialogAskconnect = 4,
7424}
7425#[derive(
7426 serde::Serialize,
7427 serde::Deserialize,
7428 Clone,
7429 Copy,
7430 Debug,
7431 PartialEq,
7432 Eq,
7433 Hash,
7434 PartialOrd,
7435 Ord,
7436 ::prost::Enumeration,
7437)]
7438#[repr(i32)]
7439pub enum SvcMessagesLowFrequency {
7440 SvcDummy = 600,
7441}
7442#[derive(
7443 serde::Serialize,
7444 serde::Deserialize,
7445 Clone,
7446 Copy,
7447 Debug,
7448 PartialEq,
7449 Eq,
7450 Hash,
7451 PartialOrd,
7452 Ord,
7453 ::prost::Enumeration,
7454)]
7455#[repr(i32)]
7456pub enum BidirectionalMessages {
7457 BiRebroadcastGameEvent = 16,
7458 BiRebroadcastSource = 17,
7459 BiGameEvent = 18,
7460}
7461#[derive(
7462 serde::Serialize,
7463 serde::Deserialize,
7464 Clone,
7465 Copy,
7466 Debug,
7467 PartialEq,
7468 Eq,
7469 Hash,
7470 PartialOrd,
7471 Ord,
7472 ::prost::Enumeration,
7473)]
7474#[repr(i32)]
7475pub enum BidirectionalMessagesLowFrequency {
7476 BiRelayInfo = 700,
7477 BiRelayPacket = 701,
7478}
7479#[derive(
7480 serde::Serialize,
7481 serde::Deserialize,
7482 Clone,
7483 Copy,
7484 Debug,
7485 PartialEq,
7486 Eq,
7487 Hash,
7488 PartialOrd,
7489 Ord,
7490 ::prost::Enumeration,
7491)]
7492#[repr(i32)]
7493pub enum ReplayEventTypeT {
7494 ReplayEventCancel = 0,
7495 ReplayEventDeath = 1,
7496 ReplayEventGeneric = 2,
7497 ReplayEventStuckNeedFullUpdate = 3,
7498 ReplayEventVictory = 4,
7499}
7500#[derive(serde::Serialize, serde::Deserialize)]
7501#[allow(clippy::derive_partial_eq_without_eq)]
7502#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7503pub struct CUserMessageAchievementEvent {
7504 #[prost(uint32, optional, tag = "1")]
7505 pub achievement: ::core::option::Option<u32>,
7506}
7507#[derive(serde::Serialize, serde::Deserialize)]
7508#[allow(clippy::derive_partial_eq_without_eq)]
7509#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7510pub struct CUserMessageCloseCaption {
7511 #[prost(fixed32, optional, tag = "1")]
7512 pub hash: ::core::option::Option<u32>,
7513 #[prost(float, optional, tag = "2")]
7514 pub duration: ::core::option::Option<f32>,
7515 #[prost(bool, optional, tag = "3")]
7516 pub from_player: ::core::option::Option<bool>,
7517 #[prost(int32, optional, tag = "4", default = "-1")]
7518 pub ent_index: ::core::option::Option<i32>,
7519}
7520#[derive(serde::Serialize, serde::Deserialize)]
7521#[allow(clippy::derive_partial_eq_without_eq)]
7522#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7523pub struct CUserMessageCloseCaptionDirect {
7524 #[prost(fixed32, optional, tag = "1")]
7525 pub hash: ::core::option::Option<u32>,
7526 #[prost(float, optional, tag = "2")]
7527 pub duration: ::core::option::Option<f32>,
7528 #[prost(bool, optional, tag = "3")]
7529 pub from_player: ::core::option::Option<bool>,
7530 #[prost(int32, optional, tag = "4", default = "-1")]
7531 pub ent_index: ::core::option::Option<i32>,
7532}
7533#[derive(serde::Serialize, serde::Deserialize)]
7534#[allow(clippy::derive_partial_eq_without_eq)]
7535#[derive(Clone, PartialEq, ::prost::Message)]
7536pub struct CUserMessageCloseCaptionPlaceholder {
7537 #[prost(string, optional, tag = "1")]
7538 pub string: ::core::option::Option<::prost::alloc::string::String>,
7539 #[prost(float, optional, tag = "2")]
7540 pub duration: ::core::option::Option<f32>,
7541 #[prost(bool, optional, tag = "3")]
7542 pub from_player: ::core::option::Option<bool>,
7543 #[prost(int32, optional, tag = "4", default = "-1")]
7544 pub ent_index: ::core::option::Option<i32>,
7545}
7546#[derive(serde::Serialize, serde::Deserialize)]
7547#[allow(clippy::derive_partial_eq_without_eq)]
7548#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7549pub struct CUserMessageCurrentTimescale {
7550 #[prost(float, optional, tag = "1")]
7551 pub current: ::core::option::Option<f32>,
7552}
7553#[derive(serde::Serialize, serde::Deserialize)]
7554#[allow(clippy::derive_partial_eq_without_eq)]
7555#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7556pub struct CUserMessageDesiredTimescale {
7557 #[prost(float, optional, tag = "1")]
7558 pub desired: ::core::option::Option<f32>,
7559 #[prost(float, optional, tag = "2")]
7560 pub acceleration: ::core::option::Option<f32>,
7561 #[prost(float, optional, tag = "3")]
7562 pub minblendrate: ::core::option::Option<f32>,
7563 #[prost(float, optional, tag = "4")]
7564 pub blenddeltamultiplier: ::core::option::Option<f32>,
7565}
7566#[derive(serde::Serialize, serde::Deserialize)]
7567#[allow(clippy::derive_partial_eq_without_eq)]
7568#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7569pub struct CUserMessageFade {
7570 #[prost(uint32, optional, tag = "1")]
7571 pub duration: ::core::option::Option<u32>,
7572 #[prost(uint32, optional, tag = "2")]
7573 pub hold_time: ::core::option::Option<u32>,
7574 #[prost(uint32, optional, tag = "3")]
7575 pub flags: ::core::option::Option<u32>,
7576 #[prost(fixed32, optional, tag = "4")]
7577 pub color: ::core::option::Option<u32>,
7578}
7579#[derive(serde::Serialize, serde::Deserialize)]
7580#[allow(clippy::derive_partial_eq_without_eq)]
7581#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7582pub struct CUserMessageShake {
7583 #[prost(uint32, optional, tag = "1")]
7584 pub command: ::core::option::Option<u32>,
7585 #[prost(float, optional, tag = "2")]
7586 pub amplitude: ::core::option::Option<f32>,
7587 #[prost(float, optional, tag = "3")]
7588 pub frequency: ::core::option::Option<f32>,
7589 #[prost(float, optional, tag = "4")]
7590 pub duration: ::core::option::Option<f32>,
7591}
7592#[derive(serde::Serialize, serde::Deserialize)]
7593#[allow(clippy::derive_partial_eq_without_eq)]
7594#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7595pub struct CUserMessageShakeDir {
7596 #[prost(message, optional, tag = "1")]
7597 pub shake: ::core::option::Option<CUserMessageShake>,
7598 #[prost(message, optional, tag = "2")]
7599 pub direction: ::core::option::Option<CMsgVector>,
7600}
7601#[derive(serde::Serialize, serde::Deserialize)]
7602#[allow(clippy::derive_partial_eq_without_eq)]
7603#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7604pub struct CUserMessageWaterShake {
7605 #[prost(uint32, optional, tag = "1")]
7606 pub command: ::core::option::Option<u32>,
7607 #[prost(float, optional, tag = "2")]
7608 pub amplitude: ::core::option::Option<f32>,
7609 #[prost(float, optional, tag = "3")]
7610 pub frequency: ::core::option::Option<f32>,
7611 #[prost(float, optional, tag = "4")]
7612 pub duration: ::core::option::Option<f32>,
7613}
7614#[derive(serde::Serialize, serde::Deserialize)]
7615#[allow(clippy::derive_partial_eq_without_eq)]
7616#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7617pub struct CUserMessageScreenTilt {
7618 #[prost(uint32, optional, tag = "1")]
7619 pub command: ::core::option::Option<u32>,
7620 #[prost(bool, optional, tag = "2")]
7621 pub ease_in_out: ::core::option::Option<bool>,
7622 #[prost(message, optional, tag = "3")]
7623 pub angle: ::core::option::Option<CMsgVector>,
7624 #[prost(float, optional, tag = "4")]
7625 pub duration: ::core::option::Option<f32>,
7626 #[prost(float, optional, tag = "5")]
7627 pub time: ::core::option::Option<f32>,
7628}
7629#[derive(serde::Serialize, serde::Deserialize)]
7630#[allow(clippy::derive_partial_eq_without_eq)]
7631#[derive(Clone, PartialEq, ::prost::Message)]
7632pub struct CUserMessageSayText {
7633 #[prost(int32, optional, tag = "1", default = "-1")]
7634 pub playerindex: ::core::option::Option<i32>,
7635 #[prost(string, optional, tag = "2")]
7636 pub text: ::core::option::Option<::prost::alloc::string::String>,
7637 #[prost(bool, optional, tag = "3")]
7638 pub chat: ::core::option::Option<bool>,
7639}
7640#[derive(serde::Serialize, serde::Deserialize)]
7641#[allow(clippy::derive_partial_eq_without_eq)]
7642#[derive(Clone, PartialEq, ::prost::Message)]
7643pub struct CUserMessageSayText2 {
7644 #[prost(int32, optional, tag = "1", default = "-1")]
7645 pub entityindex: ::core::option::Option<i32>,
7646 #[prost(bool, optional, tag = "2")]
7647 pub chat: ::core::option::Option<bool>,
7648 #[prost(string, optional, tag = "3")]
7649 pub messagename: ::core::option::Option<::prost::alloc::string::String>,
7650 #[prost(string, optional, tag = "4")]
7651 pub param1: ::core::option::Option<::prost::alloc::string::String>,
7652 #[prost(string, optional, tag = "5")]
7653 pub param2: ::core::option::Option<::prost::alloc::string::String>,
7654 #[prost(string, optional, tag = "6")]
7655 pub param3: ::core::option::Option<::prost::alloc::string::String>,
7656 #[prost(string, optional, tag = "7")]
7657 pub param4: ::core::option::Option<::prost::alloc::string::String>,
7658}
7659#[derive(serde::Serialize, serde::Deserialize)]
7660#[allow(clippy::derive_partial_eq_without_eq)]
7661#[derive(Clone, PartialEq, ::prost::Message)]
7662pub struct CUserMessageHudMsg {
7663 #[prost(uint32, optional, tag = "1")]
7664 pub channel: ::core::option::Option<u32>,
7665 #[prost(float, optional, tag = "2")]
7666 pub x: ::core::option::Option<f32>,
7667 #[prost(float, optional, tag = "3")]
7668 pub y: ::core::option::Option<f32>,
7669 #[prost(fixed32, optional, tag = "4")]
7670 pub color1: ::core::option::Option<u32>,
7671 #[prost(fixed32, optional, tag = "5")]
7672 pub color2: ::core::option::Option<u32>,
7673 #[prost(uint32, optional, tag = "6")]
7674 pub effect: ::core::option::Option<u32>,
7675 #[prost(string, optional, tag = "11")]
7676 pub message: ::core::option::Option<::prost::alloc::string::String>,
7677}
7678#[derive(serde::Serialize, serde::Deserialize)]
7679#[allow(clippy::derive_partial_eq_without_eq)]
7680#[derive(Clone, PartialEq, ::prost::Message)]
7681pub struct CUserMessageHudText {
7682 #[prost(string, optional, tag = "1")]
7683 pub message: ::core::option::Option<::prost::alloc::string::String>,
7684}
7685#[derive(serde::Serialize, serde::Deserialize)]
7686#[allow(clippy::derive_partial_eq_without_eq)]
7687#[derive(Clone, PartialEq, ::prost::Message)]
7688pub struct CUserMessageTextMsg {
7689 #[prost(uint32, optional, tag = "1")]
7690 pub dest: ::core::option::Option<u32>,
7691 #[prost(string, repeated, tag = "2")]
7692 pub param: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7693}
7694#[derive(serde::Serialize, serde::Deserialize)]
7695#[allow(clippy::derive_partial_eq_without_eq)]
7696#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7697pub struct CUserMessageGameTitle {}
7698#[derive(serde::Serialize, serde::Deserialize)]
7699#[allow(clippy::derive_partial_eq_without_eq)]
7700#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7701pub struct CUserMessageResetHud {}
7702#[derive(serde::Serialize, serde::Deserialize)]
7703#[allow(clippy::derive_partial_eq_without_eq)]
7704#[derive(Clone, PartialEq, ::prost::Message)]
7705pub struct CUserMessageSendAudio {
7706 #[prost(string, optional, tag = "1")]
7707 pub soundname: ::core::option::Option<::prost::alloc::string::String>,
7708 #[prost(bool, optional, tag = "2")]
7709 pub stop: ::core::option::Option<bool>,
7710}
7711#[derive(serde::Serialize, serde::Deserialize)]
7712#[allow(clippy::derive_partial_eq_without_eq)]
7713#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7714pub struct CUserMessageAudioParameter {
7715 #[prost(uint32, optional, tag = "1")]
7716 pub parameter_type: ::core::option::Option<u32>,
7717 #[prost(uint32, optional, tag = "2")]
7718 pub name_hash_code: ::core::option::Option<u32>,
7719 #[prost(float, optional, tag = "3")]
7720 pub value: ::core::option::Option<f32>,
7721 #[prost(uint32, optional, tag = "4")]
7722 pub int_value: ::core::option::Option<u32>,
7723}
7724#[derive(serde::Serialize, serde::Deserialize)]
7725#[allow(clippy::derive_partial_eq_without_eq)]
7726#[derive(Clone, PartialEq, ::prost::Message)]
7727pub struct CUserMessageVoiceMask {
7728 #[prost(uint32, repeated, packed = "false", tag = "1")]
7729 pub gamerules_masks: ::prost::alloc::vec::Vec<u32>,
7730 #[prost(uint32, repeated, packed = "false", tag = "2")]
7731 pub ban_masks: ::prost::alloc::vec::Vec<u32>,
7732 #[prost(bool, optional, tag = "3")]
7733 pub mod_enable: ::core::option::Option<bool>,
7734}
7735#[derive(serde::Serialize, serde::Deserialize)]
7736#[allow(clippy::derive_partial_eq_without_eq)]
7737#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7738pub struct CUserMessageRequestState {}
7739#[derive(serde::Serialize, serde::Deserialize)]
7740#[allow(clippy::derive_partial_eq_without_eq)]
7741#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7742pub struct CUserMessageRumble {
7743 #[prost(int32, optional, tag = "1")]
7744 pub index: ::core::option::Option<i32>,
7745 #[prost(int32, optional, tag = "2")]
7746 pub data: ::core::option::Option<i32>,
7747 #[prost(int32, optional, tag = "3")]
7748 pub flags: ::core::option::Option<i32>,
7749}
7750#[derive(serde::Serialize, serde::Deserialize)]
7751#[allow(clippy::derive_partial_eq_without_eq)]
7752#[derive(Clone, PartialEq, ::prost::Message)]
7753pub struct CUserMessageSayTextChannel {
7754 #[prost(int32, optional, tag = "1")]
7755 pub player: ::core::option::Option<i32>,
7756 #[prost(int32, optional, tag = "2")]
7757 pub channel: ::core::option::Option<i32>,
7758 #[prost(string, optional, tag = "3")]
7759 pub text: ::core::option::Option<::prost::alloc::string::String>,
7760}
7761#[derive(serde::Serialize, serde::Deserialize)]
7762#[allow(clippy::derive_partial_eq_without_eq)]
7763#[derive(Clone, PartialEq, ::prost::Message)]
7764pub struct CUserMessageColoredText {
7765 #[prost(uint32, optional, tag = "1")]
7766 pub color: ::core::option::Option<u32>,
7767 #[prost(string, optional, tag = "2")]
7768 pub text: ::core::option::Option<::prost::alloc::string::String>,
7769 #[prost(bool, optional, tag = "3")]
7770 pub reset: ::core::option::Option<bool>,
7771 #[prost(int32, optional, tag = "4", default = "-1")]
7772 pub context_player_slot: ::core::option::Option<i32>,
7773 #[prost(int32, optional, tag = "5")]
7774 pub context_value: ::core::option::Option<i32>,
7775 #[prost(int32, optional, tag = "6")]
7776 pub context_team_id: ::core::option::Option<i32>,
7777}
7778#[derive(serde::Serialize, serde::Deserialize)]
7779#[allow(clippy::derive_partial_eq_without_eq)]
7780#[derive(Clone, PartialEq, ::prost::Message)]
7781pub struct CUserMessageItemPickup {
7782 #[prost(string, optional, tag = "1")]
7783 pub itemname: ::core::option::Option<::prost::alloc::string::String>,
7784}
7785#[derive(serde::Serialize, serde::Deserialize)]
7786#[allow(clippy::derive_partial_eq_without_eq)]
7787#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7788pub struct CUserMessageAmmoDenied {
7789 #[prost(uint32, optional, tag = "1")]
7790 pub ammo_id: ::core::option::Option<u32>,
7791}
7792#[derive(serde::Serialize, serde::Deserialize)]
7793#[allow(clippy::derive_partial_eq_without_eq)]
7794#[derive(Clone, PartialEq, ::prost::Message)]
7795pub struct CUserMessageShowMenu {
7796 #[prost(uint32, optional, tag = "1")]
7797 pub validslots: ::core::option::Option<u32>,
7798 #[prost(uint32, optional, tag = "2")]
7799 pub displaytime: ::core::option::Option<u32>,
7800 #[prost(bool, optional, tag = "3")]
7801 pub needmore: ::core::option::Option<bool>,
7802 #[prost(string, optional, tag = "4")]
7803 pub menustring: ::core::option::Option<::prost::alloc::string::String>,
7804}
7805#[derive(serde::Serialize, serde::Deserialize)]
7806#[allow(clippy::derive_partial_eq_without_eq)]
7807#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7808pub struct CUserMessageCreditsMsg {
7809 #[prost(enumeration = "ERollType", optional, tag = "1", default = "RollNone")]
7810 pub rolltype: ::core::option::Option<i32>,
7811 #[prost(float, optional, tag = "2")]
7812 pub logo_length: ::core::option::Option<f32>,
7813}
7814#[derive(serde::Serialize, serde::Deserialize)]
7815#[allow(clippy::derive_partial_eq_without_eq)]
7816#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7817pub struct CEntityMessagePlayJingle {
7818 #[prost(message, optional, tag = "1")]
7819 pub entity_msg: ::core::option::Option<CEntityMsg>,
7820}
7821#[derive(serde::Serialize, serde::Deserialize)]
7822#[allow(clippy::derive_partial_eq_without_eq)]
7823#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7824pub struct CEntityMessageScreenOverlay {
7825 #[prost(bool, optional, tag = "1")]
7826 pub start_effect: ::core::option::Option<bool>,
7827 #[prost(message, optional, tag = "2")]
7828 pub entity_msg: ::core::option::Option<CEntityMsg>,
7829}
7830#[derive(serde::Serialize, serde::Deserialize)]
7831#[allow(clippy::derive_partial_eq_without_eq)]
7832#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7833pub struct CEntityMessageRemoveAllDecals {
7834 #[prost(bool, optional, tag = "1")]
7835 pub remove_decals: ::core::option::Option<bool>,
7836 #[prost(message, optional, tag = "2")]
7837 pub entity_msg: ::core::option::Option<CEntityMsg>,
7838}
7839#[derive(serde::Serialize, serde::Deserialize)]
7840#[allow(clippy::derive_partial_eq_without_eq)]
7841#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7842pub struct CEntityMessagePropagateForce {
7843 #[prost(message, optional, tag = "1")]
7844 pub impulse: ::core::option::Option<CMsgVector>,
7845 #[prost(message, optional, tag = "2")]
7846 pub entity_msg: ::core::option::Option<CEntityMsg>,
7847}
7848#[derive(serde::Serialize, serde::Deserialize)]
7849#[allow(clippy::derive_partial_eq_without_eq)]
7850#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7851pub struct CEntityMessageDoSpark {
7852 #[prost(message, optional, tag = "1")]
7853 pub origin: ::core::option::Option<CMsgVector>,
7854 #[prost(int32, optional, tag = "2", default = "-1")]
7855 pub entityindex: ::core::option::Option<i32>,
7856 #[prost(float, optional, tag = "3")]
7857 pub radius: ::core::option::Option<f32>,
7858 #[prost(fixed32, optional, tag = "4")]
7859 pub color: ::core::option::Option<u32>,
7860 #[prost(uint32, optional, tag = "5")]
7861 pub beams: ::core::option::Option<u32>,
7862 #[prost(float, optional, tag = "6")]
7863 pub thick: ::core::option::Option<f32>,
7864 #[prost(float, optional, tag = "7")]
7865 pub duration: ::core::option::Option<f32>,
7866 #[prost(message, optional, tag = "8")]
7867 pub entity_msg: ::core::option::Option<CEntityMsg>,
7868}
7869#[derive(serde::Serialize, serde::Deserialize)]
7870#[allow(clippy::derive_partial_eq_without_eq)]
7871#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7872pub struct CEntityMessageFixAngle {
7873 #[prost(bool, optional, tag = "1")]
7874 pub relative: ::core::option::Option<bool>,
7875 #[prost(message, optional, tag = "2")]
7876 pub angle: ::core::option::Option<CMsgQAngle>,
7877 #[prost(message, optional, tag = "3")]
7878 pub entity_msg: ::core::option::Option<CEntityMsg>,
7879}
7880#[derive(serde::Serialize, serde::Deserialize)]
7881#[allow(clippy::derive_partial_eq_without_eq)]
7882#[derive(Clone, PartialEq, ::prost::Message)]
7883pub struct CUserMessageCameraTransition {
7884 #[prost(uint32, optional, tag = "1")]
7885 pub camera_type: ::core::option::Option<u32>,
7886 #[prost(float, optional, tag = "2")]
7887 pub duration: ::core::option::Option<f32>,
7888 #[prost(message, optional, tag = "3")]
7889 pub params_data_driven:
7890 ::core::option::Option<c_user_message_camera_transition::TransitionDataDriven>,
7891}
7892pub mod c_user_message_camera_transition {
7894 #[derive(serde::Serialize, serde::Deserialize)]
7895 #[allow(clippy::derive_partial_eq_without_eq)]
7896 #[derive(Clone, PartialEq, ::prost::Message)]
7897 pub struct TransitionDataDriven {
7898 #[prost(string, optional, tag = "1")]
7899 pub filename: ::core::option::Option<::prost::alloc::string::String>,
7900 #[prost(int32, optional, tag = "2", default = "-1")]
7901 pub attach_ent_index: ::core::option::Option<i32>,
7902 #[prost(float, optional, tag = "3")]
7903 pub duration: ::core::option::Option<f32>,
7904 }
7905}
7906#[derive(serde::Serialize, serde::Deserialize)]
7907#[allow(clippy::derive_partial_eq_without_eq)]
7908#[derive(Clone, PartialEq, ::prost::Message)]
7909pub struct CUserMsgParticleManager {
7910 #[prost(
7911 enumeration = "ParticleMessage",
7912 required,
7913 tag = "1",
7914 default = "GameParticleManagerEventCreate"
7915 )]
7916 pub r#type: i32,
7917 #[prost(uint32, required, tag = "2")]
7918 pub index: u32,
7919 #[prost(message, optional, tag = "3")]
7920 pub release_particle_index:
7921 ::core::option::Option<c_user_msg_particle_manager::ReleaseParticleIndex>,
7922 #[prost(message, optional, tag = "4")]
7923 pub create_particle: ::core::option::Option<c_user_msg_particle_manager::CreateParticle>,
7924 #[prost(message, optional, tag = "5")]
7925 pub destroy_particle: ::core::option::Option<c_user_msg_particle_manager::DestroyParticle>,
7926 #[prost(message, optional, tag = "6")]
7927 pub destroy_particle_involving:
7928 ::core::option::Option<c_user_msg_particle_manager::DestroyParticleInvolving>,
7929 #[prost(message, optional, tag = "7")]
7930 pub update_particle:
7931 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleObsolete>,
7932 #[prost(message, optional, tag = "8")]
7933 pub update_particle_fwd:
7934 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleFwdObsolete>,
7935 #[prost(message, optional, tag = "9")]
7936 pub update_particle_orient:
7937 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleOrientObsolete>,
7938 #[prost(message, optional, tag = "10")]
7939 pub update_particle_fallback:
7940 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleFallback>,
7941 #[prost(message, optional, tag = "11")]
7942 pub update_particle_offset:
7943 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleOffset>,
7944 #[prost(message, optional, tag = "12")]
7945 pub update_particle_ent: ::core::option::Option<c_user_msg_particle_manager::UpdateParticleEnt>,
7946 #[prost(message, optional, tag = "14")]
7947 pub update_particle_should_draw:
7948 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleShouldDraw>,
7949 #[prost(message, optional, tag = "15")]
7950 pub update_particle_set_frozen:
7951 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleSetFrozen>,
7952 #[prost(message, optional, tag = "16")]
7953 pub change_control_point_attachment:
7954 ::core::option::Option<c_user_msg_particle_manager::ChangeControlPointAttachment>,
7955 #[prost(message, optional, tag = "17")]
7956 pub update_entity_position:
7957 ::core::option::Option<c_user_msg_particle_manager::UpdateEntityPosition>,
7958 #[prost(message, optional, tag = "18")]
7959 pub set_particle_fow_properties:
7960 ::core::option::Option<c_user_msg_particle_manager::SetParticleFoWProperties>,
7961 #[prost(message, optional, tag = "19")]
7962 pub set_particle_text: ::core::option::Option<c_user_msg_particle_manager::SetParticleText>,
7963 #[prost(message, optional, tag = "20")]
7964 pub set_particle_should_check_fow:
7965 ::core::option::Option<c_user_msg_particle_manager::SetParticleShouldCheckFoW>,
7966 #[prost(message, optional, tag = "21")]
7967 pub set_control_point_model:
7968 ::core::option::Option<c_user_msg_particle_manager::SetControlPointModel>,
7969 #[prost(message, optional, tag = "22")]
7970 pub set_control_point_snapshot:
7971 ::core::option::Option<c_user_msg_particle_manager::SetControlPointSnapshot>,
7972 #[prost(message, optional, tag = "23")]
7973 pub set_texture_attribute:
7974 ::core::option::Option<c_user_msg_particle_manager::SetTextureAttribute>,
7975 #[prost(message, optional, tag = "24")]
7976 pub set_scene_object_generic_flag:
7977 ::core::option::Option<c_user_msg_particle_manager::SetSceneObjectGenericFlag>,
7978 #[prost(message, optional, tag = "25")]
7979 pub set_scene_object_tint_and_desat:
7980 ::core::option::Option<c_user_msg_particle_manager::SetSceneObjectTintAndDesat>,
7981 #[prost(message, optional, tag = "26")]
7982 pub destroy_particle_named:
7983 ::core::option::Option<c_user_msg_particle_manager::DestroyParticleNamed>,
7984 #[prost(message, optional, tag = "27")]
7985 pub particle_skip_to_time:
7986 ::core::option::Option<c_user_msg_particle_manager::ParticleSkipToTime>,
7987 #[prost(message, optional, tag = "28")]
7988 pub particle_can_freeze: ::core::option::Option<c_user_msg_particle_manager::ParticleCanFreeze>,
7989 #[prost(message, optional, tag = "29")]
7990 pub set_named_value_context:
7991 ::core::option::Option<c_user_msg_particle_manager::SetParticleNamedValueContext>,
7992 #[prost(message, optional, tag = "30")]
7993 pub update_particle_transform:
7994 ::core::option::Option<c_user_msg_particle_manager::UpdateParticleTransform>,
7995 #[prost(message, optional, tag = "31")]
7996 pub particle_freeze_transition_override:
7997 ::core::option::Option<c_user_msg_particle_manager::ParticleFreezeTransitionOverride>,
7998 #[prost(message, optional, tag = "32")]
7999 pub freeze_particle_involving:
8000 ::core::option::Option<c_user_msg_particle_manager::FreezeParticleInvolving>,
8001 #[prost(message, optional, tag = "33")]
8002 pub add_modellist_override_element:
8003 ::core::option::Option<c_user_msg_particle_manager::AddModellistOverrideElement>,
8004 #[prost(message, optional, tag = "34")]
8005 pub clear_modellist_override:
8006 ::core::option::Option<c_user_msg_particle_manager::ClearModellistOverride>,
8007 #[prost(message, optional, tag = "35")]
8008 pub create_physics_sim: ::core::option::Option<c_user_msg_particle_manager::CreatePhysicsSim>,
8009 #[prost(message, optional, tag = "36")]
8010 pub destroy_physics_sim: ::core::option::Option<c_user_msg_particle_manager::DestroyPhysicsSim>,
8011}
8012pub mod c_user_msg_particle_manager {
8014 #[derive(serde::Serialize, serde::Deserialize)]
8015 #[allow(clippy::derive_partial_eq_without_eq)]
8016 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8017 pub struct ReleaseParticleIndex {}
8018 #[derive(serde::Serialize, serde::Deserialize)]
8019 #[allow(clippy::derive_partial_eq_without_eq)]
8020 #[derive(Clone, PartialEq, ::prost::Message)]
8021 pub struct CreateParticle {
8022 #[prost(fixed64, optional, tag = "1")]
8023 pub particle_name_index: ::core::option::Option<u64>,
8024 #[prost(int32, optional, tag = "2")]
8025 pub attach_type: ::core::option::Option<i32>,
8026 #[prost(uint32, optional, tag = "3", default = "16777215")]
8027 pub entity_handle: ::core::option::Option<u32>,
8028 #[prost(uint32, optional, tag = "4", default = "16777215")]
8029 pub entity_handle_for_modifiers: ::core::option::Option<u32>,
8030 #[prost(bool, optional, tag = "5")]
8031 pub apply_voice_ban_rules: ::core::option::Option<bool>,
8032 #[prost(int32, optional, tag = "6")]
8033 pub team_behavior: ::core::option::Option<i32>,
8034 #[prost(string, optional, tag = "7")]
8035 pub control_point_configuration: ::core::option::Option<::prost::alloc::string::String>,
8036 #[prost(bool, optional, tag = "8")]
8037 pub cluster: ::core::option::Option<bool>,
8038 #[prost(float, optional, tag = "9")]
8039 pub endcap_time: ::core::option::Option<f32>,
8040 }
8041 #[derive(serde::Serialize, serde::Deserialize)]
8042 #[allow(clippy::derive_partial_eq_without_eq)]
8043 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8044 pub struct DestroyParticle {
8045 #[prost(bool, optional, tag = "1")]
8046 pub destroy_immediately: ::core::option::Option<bool>,
8047 }
8048 #[derive(serde::Serialize, serde::Deserialize)]
8049 #[allow(clippy::derive_partial_eq_without_eq)]
8050 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8051 pub struct DestroyParticleInvolving {
8052 #[prost(bool, optional, tag = "1")]
8053 pub destroy_immediately: ::core::option::Option<bool>,
8054 #[prost(uint32, optional, tag = "3", default = "16777215")]
8055 pub entity_handle: ::core::option::Option<u32>,
8056 }
8057 #[derive(serde::Serialize, serde::Deserialize)]
8058 #[allow(clippy::derive_partial_eq_without_eq)]
8059 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8060 pub struct DestroyParticleNamed {
8061 #[prost(fixed64, optional, tag = "1")]
8062 pub particle_name_index: ::core::option::Option<u64>,
8063 #[prost(uint32, optional, tag = "2", default = "16777215")]
8064 pub entity_handle: ::core::option::Option<u32>,
8065 #[prost(bool, optional, tag = "3")]
8066 pub destroy_immediately: ::core::option::Option<bool>,
8067 #[prost(bool, optional, tag = "4")]
8068 pub play_endcap: ::core::option::Option<bool>,
8069 }
8070 #[derive(serde::Serialize, serde::Deserialize)]
8071 #[allow(clippy::derive_partial_eq_without_eq)]
8072 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8073 pub struct UpdateParticleObsolete {
8074 #[prost(int32, optional, tag = "1")]
8075 pub control_point: ::core::option::Option<i32>,
8076 #[prost(message, optional, tag = "2")]
8077 pub position: ::core::option::Option<super::CMsgVector>,
8078 }
8079 #[derive(serde::Serialize, serde::Deserialize)]
8080 #[allow(clippy::derive_partial_eq_without_eq)]
8081 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8082 pub struct UpdateParticleFwdObsolete {
8083 #[prost(int32, optional, tag = "1")]
8084 pub control_point: ::core::option::Option<i32>,
8085 #[prost(message, optional, tag = "2")]
8086 pub forward: ::core::option::Option<super::CMsgVector>,
8087 }
8088 #[derive(serde::Serialize, serde::Deserialize)]
8089 #[allow(clippy::derive_partial_eq_without_eq)]
8090 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8091 pub struct UpdateParticleOrientObsolete {
8092 #[prost(int32, optional, tag = "1")]
8093 pub control_point: ::core::option::Option<i32>,
8094 #[prost(message, optional, tag = "2")]
8095 pub forward: ::core::option::Option<super::CMsgVector>,
8096 #[prost(message, optional, tag = "3")]
8097 pub deprecated_right: ::core::option::Option<super::CMsgVector>,
8098 #[prost(message, optional, tag = "4")]
8099 pub up: ::core::option::Option<super::CMsgVector>,
8100 #[prost(message, optional, tag = "5")]
8101 pub left: ::core::option::Option<super::CMsgVector>,
8102 }
8103 #[derive(serde::Serialize, serde::Deserialize)]
8104 #[allow(clippy::derive_partial_eq_without_eq)]
8105 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8106 pub struct UpdateParticleTransform {
8107 #[prost(int32, optional, tag = "1")]
8108 pub control_point: ::core::option::Option<i32>,
8109 #[prost(message, optional, tag = "2")]
8110 pub position: ::core::option::Option<super::CMsgVector>,
8111 #[prost(message, optional, tag = "3")]
8112 pub orientation: ::core::option::Option<super::CMsgQuaternion>,
8113 #[prost(float, optional, tag = "4")]
8114 pub interpolation_interval: ::core::option::Option<f32>,
8115 }
8116 #[derive(serde::Serialize, serde::Deserialize)]
8117 #[allow(clippy::derive_partial_eq_without_eq)]
8118 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8119 pub struct UpdateParticleFallback {
8120 #[prost(int32, optional, tag = "1")]
8121 pub control_point: ::core::option::Option<i32>,
8122 #[prost(message, optional, tag = "2")]
8123 pub position: ::core::option::Option<super::CMsgVector>,
8124 }
8125 #[derive(serde::Serialize, serde::Deserialize)]
8126 #[allow(clippy::derive_partial_eq_without_eq)]
8127 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8128 pub struct UpdateParticleOffset {
8129 #[prost(int32, optional, tag = "1")]
8130 pub control_point: ::core::option::Option<i32>,
8131 #[prost(message, optional, tag = "2")]
8132 pub origin_offset: ::core::option::Option<super::CMsgVector>,
8133 #[prost(message, optional, tag = "3")]
8134 pub angle_offset: ::core::option::Option<super::CMsgQAngle>,
8135 }
8136 #[derive(serde::Serialize, serde::Deserialize)]
8137 #[allow(clippy::derive_partial_eq_without_eq)]
8138 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8139 pub struct UpdateParticleEnt {
8140 #[prost(int32, optional, tag = "1")]
8141 pub control_point: ::core::option::Option<i32>,
8142 #[prost(uint32, optional, tag = "2", default = "16777215")]
8143 pub entity_handle: ::core::option::Option<u32>,
8144 #[prost(int32, optional, tag = "3")]
8145 pub attach_type: ::core::option::Option<i32>,
8146 #[prost(int32, optional, tag = "4")]
8147 pub attachment: ::core::option::Option<i32>,
8148 #[prost(message, optional, tag = "5")]
8149 pub fallback_position: ::core::option::Option<super::CMsgVector>,
8150 #[prost(bool, optional, tag = "6")]
8151 pub include_wearables: ::core::option::Option<bool>,
8152 #[prost(message, optional, tag = "7")]
8153 pub offset_position: ::core::option::Option<super::CMsgVector>,
8154 #[prost(message, optional, tag = "8")]
8155 pub offset_angles: ::core::option::Option<super::CMsgQAngle>,
8156 }
8157 #[derive(serde::Serialize, serde::Deserialize)]
8158 #[allow(clippy::derive_partial_eq_without_eq)]
8159 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8160 pub struct UpdateParticleSetFrozen {
8161 #[prost(bool, optional, tag = "1")]
8162 pub set_frozen: ::core::option::Option<bool>,
8163 #[prost(float, optional, tag = "2")]
8164 pub transition_duration: ::core::option::Option<f32>,
8165 }
8166 #[derive(serde::Serialize, serde::Deserialize)]
8167 #[allow(clippy::derive_partial_eq_without_eq)]
8168 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8169 pub struct UpdateParticleShouldDraw {
8170 #[prost(bool, optional, tag = "1")]
8171 pub should_draw: ::core::option::Option<bool>,
8172 }
8173 #[derive(serde::Serialize, serde::Deserialize)]
8174 #[allow(clippy::derive_partial_eq_without_eq)]
8175 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8176 pub struct ChangeControlPointAttachment {
8177 #[prost(int32, optional, tag = "1")]
8178 pub attachment_old: ::core::option::Option<i32>,
8179 #[prost(int32, optional, tag = "2")]
8180 pub attachment_new: ::core::option::Option<i32>,
8181 #[prost(uint32, optional, tag = "3", default = "16777215")]
8182 pub entity_handle: ::core::option::Option<u32>,
8183 }
8184 #[derive(serde::Serialize, serde::Deserialize)]
8185 #[allow(clippy::derive_partial_eq_without_eq)]
8186 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8187 pub struct UpdateEntityPosition {
8188 #[prost(uint32, optional, tag = "1", default = "16777215")]
8189 pub entity_handle: ::core::option::Option<u32>,
8190 #[prost(message, optional, tag = "2")]
8191 pub position: ::core::option::Option<super::CMsgVector>,
8192 }
8193 #[derive(serde::Serialize, serde::Deserialize)]
8194 #[allow(clippy::derive_partial_eq_without_eq)]
8195 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8196 pub struct SetParticleFoWProperties {
8197 #[prost(int32, optional, tag = "1")]
8198 pub fow_control_point: ::core::option::Option<i32>,
8199 #[prost(int32, optional, tag = "2")]
8200 pub fow_control_point2: ::core::option::Option<i32>,
8201 #[prost(float, optional, tag = "3")]
8202 pub fow_radius: ::core::option::Option<f32>,
8203 }
8204 #[derive(serde::Serialize, serde::Deserialize)]
8205 #[allow(clippy::derive_partial_eq_without_eq)]
8206 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8207 pub struct SetParticleShouldCheckFoW {
8208 #[prost(bool, optional, tag = "1")]
8209 pub check_fow: ::core::option::Option<bool>,
8210 }
8211 #[derive(serde::Serialize, serde::Deserialize)]
8212 #[allow(clippy::derive_partial_eq_without_eq)]
8213 #[derive(Clone, PartialEq, ::prost::Message)]
8214 pub struct SetControlPointModel {
8215 #[prost(int32, optional, tag = "1")]
8216 pub control_point: ::core::option::Option<i32>,
8217 #[prost(string, optional, tag = "2")]
8218 pub model_name: ::core::option::Option<::prost::alloc::string::String>,
8219 }
8220 #[derive(serde::Serialize, serde::Deserialize)]
8221 #[allow(clippy::derive_partial_eq_without_eq)]
8222 #[derive(Clone, PartialEq, ::prost::Message)]
8223 pub struct SetControlPointSnapshot {
8224 #[prost(int32, optional, tag = "1")]
8225 pub control_point: ::core::option::Option<i32>,
8226 #[prost(string, optional, tag = "2")]
8227 pub snapshot_name: ::core::option::Option<::prost::alloc::string::String>,
8228 }
8229 #[derive(serde::Serialize, serde::Deserialize)]
8230 #[allow(clippy::derive_partial_eq_without_eq)]
8231 #[derive(Clone, PartialEq, ::prost::Message)]
8232 pub struct SetParticleText {
8233 #[prost(string, optional, tag = "1")]
8234 pub text: ::core::option::Option<::prost::alloc::string::String>,
8235 }
8236 #[derive(serde::Serialize, serde::Deserialize)]
8237 #[allow(clippy::derive_partial_eq_without_eq)]
8238 #[derive(Clone, PartialEq, ::prost::Message)]
8239 pub struct SetTextureAttribute {
8240 #[prost(string, optional, tag = "1")]
8241 pub attribute_name: ::core::option::Option<::prost::alloc::string::String>,
8242 #[prost(string, optional, tag = "2")]
8243 pub texture_name: ::core::option::Option<::prost::alloc::string::String>,
8244 }
8245 #[derive(serde::Serialize, serde::Deserialize)]
8246 #[allow(clippy::derive_partial_eq_without_eq)]
8247 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8248 pub struct SetSceneObjectGenericFlag {
8249 #[prost(bool, optional, tag = "1")]
8250 pub flag_value: ::core::option::Option<bool>,
8251 }
8252 #[derive(serde::Serialize, serde::Deserialize)]
8253 #[allow(clippy::derive_partial_eq_without_eq)]
8254 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8255 pub struct SetSceneObjectTintAndDesat {
8256 #[prost(fixed32, optional, tag = "1")]
8257 pub tint: ::core::option::Option<u32>,
8258 #[prost(float, optional, tag = "2")]
8259 pub desat: ::core::option::Option<f32>,
8260 }
8261 #[derive(serde::Serialize, serde::Deserialize)]
8262 #[allow(clippy::derive_partial_eq_without_eq)]
8263 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8264 pub struct ParticleSkipToTime {
8265 #[prost(float, optional, tag = "1")]
8266 pub skip_to_time: ::core::option::Option<f32>,
8267 }
8268 #[derive(serde::Serialize, serde::Deserialize)]
8269 #[allow(clippy::derive_partial_eq_without_eq)]
8270 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8271 pub struct ParticleCanFreeze {
8272 #[prost(bool, optional, tag = "1")]
8273 pub can_freeze: ::core::option::Option<bool>,
8274 }
8275 #[derive(serde::Serialize, serde::Deserialize)]
8276 #[allow(clippy::derive_partial_eq_without_eq)]
8277 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8278 pub struct ParticleFreezeTransitionOverride {
8279 #[prost(float, optional, tag = "1")]
8280 pub freeze_transition_override: ::core::option::Option<f32>,
8281 }
8282 #[derive(serde::Serialize, serde::Deserialize)]
8283 #[allow(clippy::derive_partial_eq_without_eq)]
8284 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8285 pub struct FreezeParticleInvolving {
8286 #[prost(bool, optional, tag = "1")]
8287 pub set_frozen: ::core::option::Option<bool>,
8288 #[prost(float, optional, tag = "2")]
8289 pub transition_duration: ::core::option::Option<f32>,
8290 #[prost(uint32, optional, tag = "3", default = "16777215")]
8291 pub entity_handle: ::core::option::Option<u32>,
8292 }
8293 #[derive(serde::Serialize, serde::Deserialize)]
8294 #[allow(clippy::derive_partial_eq_without_eq)]
8295 #[derive(Clone, PartialEq, ::prost::Message)]
8296 pub struct AddModellistOverrideElement {
8297 #[prost(string, optional, tag = "1")]
8298 pub model_name: ::core::option::Option<::prost::alloc::string::String>,
8299 #[prost(float, optional, tag = "2")]
8300 pub spawn_probability: ::core::option::Option<f32>,
8301 #[prost(uint32, optional, tag = "3")]
8302 pub groupid: ::core::option::Option<u32>,
8303 }
8304 #[derive(serde::Serialize, serde::Deserialize)]
8305 #[allow(clippy::derive_partial_eq_without_eq)]
8306 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8307 pub struct ClearModellistOverride {
8308 #[prost(uint32, optional, tag = "1")]
8309 pub groupid: ::core::option::Option<u32>,
8310 }
8311 #[derive(serde::Serialize, serde::Deserialize)]
8312 #[allow(clippy::derive_partial_eq_without_eq)]
8313 #[derive(Clone, PartialEq, ::prost::Message)]
8314 pub struct SetParticleNamedValueContext {
8315 #[prost(message, repeated, tag = "1")]
8316 pub float_values:
8317 ::prost::alloc::vec::Vec<set_particle_named_value_context::FloatContextValue>,
8318 #[prost(message, repeated, tag = "2")]
8319 pub vector_values:
8320 ::prost::alloc::vec::Vec<set_particle_named_value_context::VectorContextValue>,
8321 #[prost(message, repeated, tag = "3")]
8322 pub transform_values:
8323 ::prost::alloc::vec::Vec<set_particle_named_value_context::TransformContextValue>,
8324 #[prost(message, repeated, tag = "4")]
8325 pub ehandle_values:
8326 ::prost::alloc::vec::Vec<set_particle_named_value_context::EHandleContext>,
8327 }
8328 pub mod set_particle_named_value_context {
8330 #[derive(serde::Serialize, serde::Deserialize)]
8331 #[allow(clippy::derive_partial_eq_without_eq)]
8332 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8333 pub struct FloatContextValue {
8334 #[prost(uint32, optional, tag = "1")]
8335 pub value_name_hash: ::core::option::Option<u32>,
8336 #[prost(float, optional, tag = "2")]
8337 pub value: ::core::option::Option<f32>,
8338 }
8339 #[derive(serde::Serialize, serde::Deserialize)]
8340 #[allow(clippy::derive_partial_eq_without_eq)]
8341 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8342 pub struct VectorContextValue {
8343 #[prost(uint32, optional, tag = "1")]
8344 pub value_name_hash: ::core::option::Option<u32>,
8345 #[prost(message, optional, tag = "2")]
8346 pub value: ::core::option::Option<super::super::CMsgVector>,
8347 }
8348 #[derive(serde::Serialize, serde::Deserialize)]
8349 #[allow(clippy::derive_partial_eq_without_eq)]
8350 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8351 pub struct TransformContextValue {
8352 #[prost(uint32, optional, tag = "1")]
8353 pub value_name_hash: ::core::option::Option<u32>,
8354 #[prost(message, optional, tag = "2")]
8355 pub angles: ::core::option::Option<super::super::CMsgQAngle>,
8356 #[prost(message, optional, tag = "3")]
8357 pub translation: ::core::option::Option<super::super::CMsgVector>,
8358 }
8359 #[derive(serde::Serialize, serde::Deserialize)]
8360 #[allow(clippy::derive_partial_eq_without_eq)]
8361 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8362 pub struct EHandleContext {
8363 #[prost(uint32, optional, tag = "1")]
8364 pub value_name_hash: ::core::option::Option<u32>,
8365 #[prost(uint32, optional, tag = "2", default = "16777215")]
8366 pub ent_index: ::core::option::Option<u32>,
8367 }
8368 }
8369 #[derive(serde::Serialize, serde::Deserialize)]
8370 #[allow(clippy::derive_partial_eq_without_eq)]
8371 #[derive(Clone, PartialEq, ::prost::Message)]
8372 pub struct CreatePhysicsSim {
8373 #[prost(string, optional, tag = "1")]
8374 pub prop_group_name: ::core::option::Option<::prost::alloc::string::String>,
8375 }
8376 #[derive(serde::Serialize, serde::Deserialize)]
8377 #[allow(clippy::derive_partial_eq_without_eq)]
8378 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
8379 pub struct DestroyPhysicsSim {}
8380}
8381#[derive(serde::Serialize, serde::Deserialize)]
8382#[allow(clippy::derive_partial_eq_without_eq)]
8383#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8384pub struct CUserMsgHudError {
8385 #[prost(int32, optional, tag = "1")]
8386 pub order_id: ::core::option::Option<i32>,
8387}
8388#[derive(serde::Serialize, serde::Deserialize)]
8389#[allow(clippy::derive_partial_eq_without_eq)]
8390#[derive(Clone, PartialEq, ::prost::Message)]
8391pub struct CUserMsgCustomGameEvent {
8392 #[prost(string, optional, tag = "1")]
8393 pub event_name: ::core::option::Option<::prost::alloc::string::String>,
8394 #[prost(bytes = "vec", optional, tag = "2")]
8395 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
8396}
8397#[derive(serde::Serialize, serde::Deserialize)]
8398#[allow(clippy::derive_partial_eq_without_eq)]
8399#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8400pub struct CUserMessageHapticsManagerPulse {
8401 #[prost(int32, optional, tag = "1")]
8402 pub hand_id: ::core::option::Option<i32>,
8403 #[prost(float, optional, tag = "2")]
8404 pub effect_amplitude: ::core::option::Option<f32>,
8405 #[prost(float, optional, tag = "3")]
8406 pub effect_frequency: ::core::option::Option<f32>,
8407 #[prost(float, optional, tag = "4")]
8408 pub effect_duration: ::core::option::Option<f32>,
8409}
8410#[derive(serde::Serialize, serde::Deserialize)]
8411#[allow(clippy::derive_partial_eq_without_eq)]
8412#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8413pub struct CUserMessageHapticsManagerEffect {
8414 #[prost(int32, optional, tag = "1")]
8415 pub hand_id: ::core::option::Option<i32>,
8416 #[prost(uint32, optional, tag = "2")]
8417 pub effect_name_hash_code: ::core::option::Option<u32>,
8418 #[prost(float, optional, tag = "3")]
8419 pub effect_scale: ::core::option::Option<f32>,
8420}
8421#[derive(serde::Serialize, serde::Deserialize)]
8422#[allow(clippy::derive_partial_eq_without_eq)]
8423#[derive(Clone, PartialEq, ::prost::Message)]
8424pub struct CUserMessageAnimStateGraphState {
8425 #[prost(int32, optional, tag = "1")]
8426 pub entity_index: ::core::option::Option<i32>,
8427 #[prost(bytes = "vec", optional, tag = "2")]
8428 pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
8429}
8430#[derive(serde::Serialize, serde::Deserialize)]
8431#[allow(clippy::derive_partial_eq_without_eq)]
8432#[derive(Clone, PartialEq, ::prost::Message)]
8433pub struct CUserMessageUpdateCssClasses {
8434 #[prost(int32, optional, tag = "1")]
8435 pub target_world_panel: ::core::option::Option<i32>,
8436 #[prost(string, optional, tag = "2")]
8437 pub css_classes: ::core::option::Option<::prost::alloc::string::String>,
8438 #[prost(bool, optional, tag = "3")]
8439 pub is_add: ::core::option::Option<bool>,
8440}
8441#[derive(serde::Serialize, serde::Deserialize)]
8442#[allow(clippy::derive_partial_eq_without_eq)]
8443#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8444pub struct CUserMessageServerFrameTime {
8445 #[prost(float, optional, tag = "1")]
8446 pub frame_time: ::core::option::Option<f32>,
8447}
8448#[derive(serde::Serialize, serde::Deserialize)]
8449#[allow(clippy::derive_partial_eq_without_eq)]
8450#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8451pub struct CUserMessageLagCompensationError {
8452 #[prost(float, optional, tag = "1")]
8453 pub distance: ::core::option::Option<f32>,
8454}
8455#[derive(serde::Serialize, serde::Deserialize)]
8456#[allow(clippy::derive_partial_eq_without_eq)]
8457#[derive(Clone, PartialEq, ::prost::Message)]
8458pub struct CUserMessageRequestDllStatus {
8459 #[prost(string, optional, tag = "1")]
8460 pub dll_action: ::core::option::Option<::prost::alloc::string::String>,
8461 #[prost(bool, optional, tag = "2")]
8462 pub full_report: ::core::option::Option<bool>,
8463}
8464#[derive(serde::Serialize, serde::Deserialize)]
8465#[allow(clippy::derive_partial_eq_without_eq)]
8466#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8467pub struct CUserMessageRequestUtilAction {
8468 #[prost(int32, optional, tag = "2")]
8469 pub util1: ::core::option::Option<i32>,
8470 #[prost(int32, optional, tag = "3")]
8471 pub util2: ::core::option::Option<i32>,
8472 #[prost(int32, optional, tag = "4")]
8473 pub util3: ::core::option::Option<i32>,
8474 #[prost(int32, optional, tag = "5")]
8475 pub util4: ::core::option::Option<i32>,
8476 #[prost(int32, optional, tag = "6")]
8477 pub util5: ::core::option::Option<i32>,
8478}
8479#[derive(serde::Serialize, serde::Deserialize)]
8480#[allow(clippy::derive_partial_eq_without_eq)]
8481#[derive(Clone, PartialEq, ::prost::Message)]
8482pub struct CUserMessageUtilMsgResponse {
8483 #[prost(fixed32, optional, tag = "1")]
8484 pub crc: ::core::option::Option<u32>,
8485 #[prost(int32, optional, tag = "2")]
8486 pub item_count: ::core::option::Option<i32>,
8487 #[prost(fixed32, optional, tag = "3")]
8488 pub crc2: ::core::option::Option<u32>,
8489 #[prost(int32, optional, tag = "4")]
8490 pub item_count2: ::core::option::Option<i32>,
8491 #[prost(int32, repeated, packed = "false", tag = "5")]
8492 pub crc_part: ::prost::alloc::vec::Vec<i32>,
8493 #[prost(int32, repeated, packed = "false", tag = "6")]
8494 pub crc_part2: ::prost::alloc::vec::Vec<i32>,
8495 #[prost(int32, optional, tag = "7")]
8496 pub client_timestamp: ::core::option::Option<i32>,
8497 #[prost(int32, optional, tag = "8")]
8498 pub platform: ::core::option::Option<i32>,
8499 #[prost(message, repeated, tag = "9")]
8500 pub itemdetails: ::prost::alloc::vec::Vec<c_user_message_util_msg_response::ItemDetail>,
8501 #[prost(int32, optional, tag = "10")]
8502 pub itemgroup: ::core::option::Option<i32>,
8503 #[prost(int32, optional, tag = "11")]
8504 pub total_count: ::core::option::Option<i32>,
8505 #[prost(int32, optional, tag = "12")]
8506 pub total_count2: ::core::option::Option<i32>,
8507}
8508pub mod c_user_message_util_msg_response {
8510 #[derive(serde::Serialize, serde::Deserialize)]
8511 #[allow(clippy::derive_partial_eq_without_eq)]
8512 #[derive(Clone, PartialEq, ::prost::Message)]
8513 pub struct ItemDetail {
8514 #[prost(int32, optional, tag = "1")]
8515 pub index: ::core::option::Option<i32>,
8516 #[prost(int32, optional, tag = "2")]
8517 pub hash: ::core::option::Option<i32>,
8518 #[prost(int32, optional, tag = "3")]
8519 pub crc: ::core::option::Option<i32>,
8520 #[prost(string, optional, tag = "4")]
8521 pub name: ::core::option::Option<::prost::alloc::string::String>,
8522 }
8523}
8524#[derive(serde::Serialize, serde::Deserialize)]
8525#[allow(clippy::derive_partial_eq_without_eq)]
8526#[derive(Clone, PartialEq, ::prost::Message)]
8527pub struct CUserMessageDllStatus {
8528 #[prost(string, optional, tag = "1")]
8529 pub file_report: ::core::option::Option<::prost::alloc::string::String>,
8530 #[prost(string, optional, tag = "2")]
8531 pub command_line: ::core::option::Option<::prost::alloc::string::String>,
8532 #[prost(uint32, optional, tag = "3")]
8533 pub total_files: ::core::option::Option<u32>,
8534 #[prost(uint32, optional, tag = "4")]
8535 pub process_id: ::core::option::Option<u32>,
8536 #[prost(int32, optional, tag = "5")]
8537 pub osversion: ::core::option::Option<i32>,
8538 #[prost(uint64, optional, tag = "6")]
8539 pub client_time: ::core::option::Option<u64>,
8540 #[prost(message, repeated, tag = "7")]
8541 pub diagnostics: ::prost::alloc::vec::Vec<c_user_message_dll_status::CvDiagnostic>,
8542 #[prost(message, repeated, tag = "8")]
8543 pub modules: ::prost::alloc::vec::Vec<c_user_message_dll_status::CModule>,
8544}
8545pub mod c_user_message_dll_status {
8547 #[derive(serde::Serialize, serde::Deserialize)]
8548 #[allow(clippy::derive_partial_eq_without_eq)]
8549 #[derive(Clone, PartialEq, ::prost::Message)]
8550 pub struct CvDiagnostic {
8551 #[prost(uint32, optional, tag = "1")]
8552 pub id: ::core::option::Option<u32>,
8553 #[prost(uint32, optional, tag = "2")]
8554 pub extended: ::core::option::Option<u32>,
8555 #[prost(uint64, optional, tag = "3")]
8556 pub value: ::core::option::Option<u64>,
8557 #[prost(string, optional, tag = "4")]
8558 pub string_value: ::core::option::Option<::prost::alloc::string::String>,
8559 }
8560 #[derive(serde::Serialize, serde::Deserialize)]
8561 #[allow(clippy::derive_partial_eq_without_eq)]
8562 #[derive(Clone, PartialEq, ::prost::Message)]
8563 pub struct CModule {
8564 #[prost(uint64, optional, tag = "1")]
8565 pub base_addr: ::core::option::Option<u64>,
8566 #[prost(string, optional, tag = "2")]
8567 pub name: ::core::option::Option<::prost::alloc::string::String>,
8568 #[prost(uint32, optional, tag = "3")]
8569 pub size: ::core::option::Option<u32>,
8570 #[prost(uint32, optional, tag = "4")]
8571 pub timestamp: ::core::option::Option<u32>,
8572 }
8573}
8574#[derive(serde::Serialize, serde::Deserialize)]
8575#[allow(clippy::derive_partial_eq_without_eq)]
8576#[derive(Clone, Copy, PartialEq, ::prost::Message)]
8577pub struct CUserMessageRequestInventory {
8578 #[prost(int32, optional, tag = "1")]
8579 pub inventory: ::core::option::Option<i32>,
8580 #[prost(int32, optional, tag = "2")]
8581 pub offset: ::core::option::Option<i32>,
8582 #[prost(int32, optional, tag = "3")]
8583 pub options: ::core::option::Option<i32>,
8584}
8585#[derive(serde::Serialize, serde::Deserialize)]
8586#[allow(clippy::derive_partial_eq_without_eq)]
8587#[derive(Clone, PartialEq, ::prost::Message)]
8588pub struct CUserMessageInventoryResponse {
8589 #[prost(fixed32, optional, tag = "1")]
8590 pub crc: ::core::option::Option<u32>,
8591 #[prost(int32, optional, tag = "2")]
8592 pub item_count: ::core::option::Option<i32>,
8593 #[prost(int32, optional, tag = "5")]
8594 pub osversion: ::core::option::Option<i32>,
8595 #[prost(int32, optional, tag = "6")]
8596 pub perf_time: ::core::option::Option<i32>,
8597 #[prost(int32, optional, tag = "7")]
8598 pub client_timestamp: ::core::option::Option<i32>,
8599 #[prost(int32, optional, tag = "8")]
8600 pub platform: ::core::option::Option<i32>,
8601 #[prost(message, repeated, tag = "9")]
8602 pub inventories: ::prost::alloc::vec::Vec<c_user_message_inventory_response::InventoryDetail>,
8603 #[prost(message, repeated, tag = "10")]
8604 pub inventories2: ::prost::alloc::vec::Vec<c_user_message_inventory_response::InventoryDetail>,
8605 #[prost(message, repeated, tag = "14")]
8606 pub inventories3: ::prost::alloc::vec::Vec<c_user_message_inventory_response::InventoryDetail>,
8607 #[prost(int32, optional, tag = "11")]
8608 pub inv_type: ::core::option::Option<i32>,
8609 #[prost(int32, optional, tag = "12")]
8610 pub build_version: ::core::option::Option<i32>,
8611 #[prost(int32, optional, tag = "13")]
8612 pub instance: ::core::option::Option<i32>,
8613 #[prost(int64, optional, tag = "15")]
8614 pub start_time: ::core::option::Option<i64>,
8615}
8616pub mod c_user_message_inventory_response {
8618 #[derive(serde::Serialize, serde::Deserialize)]
8619 #[allow(clippy::derive_partial_eq_without_eq)]
8620 #[derive(Clone, PartialEq, ::prost::Message)]
8621 pub struct InventoryDetail {
8622 #[prost(int32, optional, tag = "1")]
8623 pub index: ::core::option::Option<i32>,
8624 #[prost(int64, optional, tag = "2")]
8625 pub primary: ::core::option::Option<i64>,
8626 #[prost(int64, optional, tag = "3")]
8627 pub offset: ::core::option::Option<i64>,
8628 #[prost(int64, optional, tag = "4")]
8629 pub first: ::core::option::Option<i64>,
8630 #[prost(int64, optional, tag = "5")]
8631 pub base: ::core::option::Option<i64>,
8632 #[prost(string, optional, tag = "6")]
8633 pub name: ::core::option::Option<::prost::alloc::string::String>,
8634 #[prost(string, optional, tag = "7")]
8635 pub base_name: ::core::option::Option<::prost::alloc::string::String>,
8636 #[prost(int32, optional, tag = "8")]
8637 pub base_detail: ::core::option::Option<i32>,
8638 #[prost(int32, optional, tag = "9")]
8639 pub base_time: ::core::option::Option<i32>,
8640 #[prost(int32, optional, tag = "10")]
8641 pub base_hash: ::core::option::Option<i32>,
8642 }
8643}
8644#[derive(serde::Serialize, serde::Deserialize)]
8645#[allow(clippy::derive_partial_eq_without_eq)]
8646#[derive(Clone, PartialEq, ::prost::Message)]
8647pub struct CUserMessageRequestDiagnostic {
8648 #[prost(message, repeated, tag = "1")]
8649 pub diagnostics: ::prost::alloc::vec::Vec<c_user_message_request_diagnostic::Diagnostic>,
8650}
8651pub mod c_user_message_request_diagnostic {
8653 #[derive(serde::Serialize, serde::Deserialize)]
8654 #[allow(clippy::derive_partial_eq_without_eq)]
8655 #[derive(Clone, PartialEq, ::prost::Message)]
8656 pub struct Diagnostic {
8657 #[prost(int32, optional, tag = "1")]
8658 pub index: ::core::option::Option<i32>,
8659 #[prost(int64, optional, tag = "2")]
8660 pub offset: ::core::option::Option<i64>,
8661 #[prost(int32, optional, tag = "3")]
8662 pub param: ::core::option::Option<i32>,
8663 #[prost(int32, optional, tag = "4")]
8664 pub length: ::core::option::Option<i32>,
8665 #[prost(int32, optional, tag = "5")]
8666 pub r#type: ::core::option::Option<i32>,
8667 #[prost(int64, optional, tag = "6")]
8668 pub base: ::core::option::Option<i64>,
8669 #[prost(int64, optional, tag = "7")]
8670 pub range: ::core::option::Option<i64>,
8671 #[prost(int64, optional, tag = "8")]
8672 pub extent: ::core::option::Option<i64>,
8673 #[prost(int64, optional, tag = "9")]
8674 pub detail: ::core::option::Option<i64>,
8675 #[prost(string, optional, tag = "10")]
8676 pub name: ::core::option::Option<::prost::alloc::string::String>,
8677 #[prost(string, optional, tag = "11")]
8678 pub alias: ::core::option::Option<::prost::alloc::string::String>,
8679 #[prost(bytes = "vec", optional, tag = "12")]
8680 pub vardetail: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
8681 #[prost(int32, optional, tag = "13")]
8682 pub context: ::core::option::Option<i32>,
8683 }
8684}
8685#[derive(serde::Serialize, serde::Deserialize)]
8686#[allow(clippy::derive_partial_eq_without_eq)]
8687#[derive(Clone, PartialEq, ::prost::Message)]
8688pub struct CUserMessageDiagnosticResponse {
8689 #[prost(message, repeated, tag = "1")]
8690 pub diagnostics: ::prost::alloc::vec::Vec<c_user_message_diagnostic_response::Diagnostic>,
8691 #[prost(int32, optional, tag = "2")]
8692 pub build_version: ::core::option::Option<i32>,
8693 #[prost(int32, optional, tag = "3")]
8694 pub instance: ::core::option::Option<i32>,
8695 #[prost(int64, optional, tag = "4")]
8696 pub start_time: ::core::option::Option<i64>,
8697 #[prost(int32, optional, tag = "5")]
8698 pub osversion: ::core::option::Option<i32>,
8699 #[prost(int32, optional, tag = "6")]
8700 pub platform: ::core::option::Option<i32>,
8701}
8702pub mod c_user_message_diagnostic_response {
8704 #[derive(serde::Serialize, serde::Deserialize)]
8705 #[allow(clippy::derive_partial_eq_without_eq)]
8706 #[derive(Clone, PartialEq, ::prost::Message)]
8707 pub struct Diagnostic {
8708 #[prost(int32, optional, tag = "1")]
8709 pub index: ::core::option::Option<i32>,
8710 #[prost(int64, optional, tag = "2")]
8711 pub offset: ::core::option::Option<i64>,
8712 #[prost(int32, optional, tag = "3")]
8713 pub param: ::core::option::Option<i32>,
8714 #[prost(int32, optional, tag = "4")]
8715 pub length: ::core::option::Option<i32>,
8716 #[prost(bytes = "vec", optional, tag = "5")]
8717 pub detail: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
8718 #[prost(int64, optional, tag = "6")]
8719 pub base: ::core::option::Option<i64>,
8720 #[prost(int64, optional, tag = "7")]
8721 pub range: ::core::option::Option<i64>,
8722 #[prost(int32, optional, tag = "8")]
8723 pub r#type: ::core::option::Option<i32>,
8724 #[prost(string, optional, tag = "10")]
8725 pub name: ::core::option::Option<::prost::alloc::string::String>,
8726 #[prost(string, optional, tag = "11")]
8727 pub alias: ::core::option::Option<::prost::alloc::string::String>,
8728 #[prost(bytes = "vec", optional, tag = "12")]
8729 pub backup: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
8730 #[prost(int32, optional, tag = "13")]
8731 pub context: ::core::option::Option<i32>,
8732 #[prost(int64, optional, tag = "14")]
8733 pub control: ::core::option::Option<i64>,
8734 #[prost(int64, optional, tag = "15")]
8735 pub augment: ::core::option::Option<i64>,
8736 #[prost(int64, optional, tag = "16")]
8737 pub placebo: ::core::option::Option<i64>,
8738 }
8739}
8740#[derive(serde::Serialize, serde::Deserialize)]
8741#[allow(clippy::derive_partial_eq_without_eq)]
8742#[derive(Clone, PartialEq, ::prost::Message)]
8743pub struct CUserMessageExtraUserData {
8744 #[prost(int32, optional, tag = "1")]
8745 pub item: ::core::option::Option<i32>,
8746 #[prost(int64, optional, tag = "2")]
8747 pub value1: ::core::option::Option<i64>,
8748 #[prost(int64, optional, tag = "3")]
8749 pub value2: ::core::option::Option<i64>,
8750 #[prost(bytes = "vec", repeated, tag = "4")]
8751 pub detail1: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
8752 #[prost(bytes = "vec", repeated, tag = "5")]
8753 pub detail2: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
8754}
8755#[derive(serde::Serialize, serde::Deserialize)]
8756#[allow(clippy::derive_partial_eq_without_eq)]
8757#[derive(Clone, PartialEq, ::prost::Message)]
8758pub struct CUserMessageNotifyResponseFound {
8759 #[prost(int32, optional, tag = "1", default = "-1")]
8760 pub ent_index: ::core::option::Option<i32>,
8761 #[prost(string, optional, tag = "2")]
8762 pub rule_name: ::core::option::Option<::prost::alloc::string::String>,
8763 #[prost(string, optional, tag = "3")]
8764 pub response_value: ::core::option::Option<::prost::alloc::string::String>,
8765 #[prost(string, optional, tag = "4")]
8766 pub response_concept: ::core::option::Option<::prost::alloc::string::String>,
8767 #[prost(message, repeated, tag = "5")]
8768 pub criteria: ::prost::alloc::vec::Vec<c_user_message_notify_response_found::Criteria>,
8769}
8770pub mod c_user_message_notify_response_found {
8772 #[derive(serde::Serialize, serde::Deserialize)]
8773 #[allow(clippy::derive_partial_eq_without_eq)]
8774 #[derive(Clone, PartialEq, ::prost::Message)]
8775 pub struct Criteria {
8776 #[prost(uint32, optional, tag = "1")]
8777 pub name_symbol: ::core::option::Option<u32>,
8778 #[prost(string, optional, tag = "2")]
8779 pub value: ::core::option::Option<::prost::alloc::string::String>,
8780 }
8781}
8782#[derive(serde::Serialize, serde::Deserialize)]
8783#[allow(clippy::derive_partial_eq_without_eq)]
8784#[derive(Clone, PartialEq, ::prost::Message)]
8785pub struct CUserMessagePlayResponseConditional {
8786 #[prost(int32, optional, tag = "1", default = "-1")]
8787 pub ent_index: ::core::option::Option<i32>,
8788 #[prost(int32, repeated, packed = "false", tag = "2")]
8789 pub player_slots: ::prost::alloc::vec::Vec<i32>,
8790 #[prost(string, optional, tag = "3")]
8791 pub response: ::core::option::Option<::prost::alloc::string::String>,
8792 #[prost(message, optional, tag = "4")]
8793 pub ent_origin: ::core::option::Option<CMsgVector>,
8794}
8795#[derive(
8796 serde::Serialize,
8797 serde::Deserialize,
8798 Clone,
8799 Copy,
8800 Debug,
8801 PartialEq,
8802 Eq,
8803 Hash,
8804 PartialOrd,
8805 Ord,
8806 ::prost::Enumeration,
8807)]
8808#[repr(i32)]
8809pub enum EBaseUserMessages {
8810 UmAchievementEvent = 101,
8811 UmCloseCaption = 102,
8812 UmCloseCaptionDirect = 103,
8813 UmCurrentTimescale = 104,
8814 UmDesiredTimescale = 105,
8815 UmFade = 106,
8816 UmGameTitle = 107,
8817 UmHudMsg = 110,
8818 UmHudText = 111,
8819 UmColoredText = 113,
8820 UmRequestState = 114,
8821 UmResetHud = 115,
8822 UmRumble = 116,
8823 UmSayText = 117,
8824 UmSayText2 = 118,
8825 UmSayTextChannel = 119,
8826 UmShake = 120,
8827 UmShakeDir = 121,
8828 UmWaterShake = 122,
8829 UmTextMsg = 124,
8830 UmScreenTilt = 125,
8831 UmVoiceMask = 128,
8832 UmSendAudio = 130,
8833 UmItemPickup = 131,
8834 UmAmmoDenied = 132,
8835 UmShowMenu = 134,
8836 UmCreditsMsg = 135,
8837 UmCloseCaptionPlaceholder = 142,
8838 UmCameraTransition = 143,
8839 UmAudioParameter = 144,
8840 UmParticleManager = 145,
8841 UmHudError = 146,
8842 UmCustomGameEvent = 148,
8843 UmAnimGraphUpdate = 149,
8844 UmHapticsManagerPulse = 150,
8845 UmHapticsManagerEffect = 151,
8846 UmCommandQueueState = 152,
8847 UmUpdateCssClasses = 153,
8848 UmServerFrameTime = 154,
8849 UmLagCompensationError = 155,
8850 UmRequestDllStatus = 156,
8851 UmRequestUtilAction = 157,
8852 UmUtilActionResponse = 158,
8853 UmDllStatusResponse = 159,
8854 UmRequestInventory = 160,
8855 UmInventoryResponse = 161,
8856 UmRequestDiagnostic = 162,
8857 UmDiagnosticResponse = 163,
8858 UmExtraUserData = 164,
8859 UmNotifyResponseFound = 165,
8860 UmPlayResponseConditional = 166,
8861 UmMaxBase = 200,
8862}
8863#[derive(
8864 serde::Serialize,
8865 serde::Deserialize,
8866 Clone,
8867 Copy,
8868 Debug,
8869 PartialEq,
8870 Eq,
8871 Hash,
8872 PartialOrd,
8873 Ord,
8874 ::prost::Enumeration,
8875)]
8876#[repr(i32)]
8877pub enum EBaseEntityMessages {
8878 EmPlayJingle = 136,
8879 EmScreenOverlay = 137,
8880 EmRemoveAllDecals = 138,
8881 EmPropagateForce = 139,
8882 EmDoSpark = 140,
8883 EmFixAngle = 141,
8884}
8885#[derive(
8886 serde::Serialize,
8887 serde::Deserialize,
8888 Clone,
8889 Copy,
8890 Debug,
8891 PartialEq,
8892 Eq,
8893 Hash,
8894 PartialOrd,
8895 Ord,
8896 ::prost::Enumeration,
8897)]
8898#[repr(i32)]
8899pub enum ERollType {
8900 RollNone = -1,
8901 RollStats = 0,
8902 RollCredits = 1,
8903 RollLateJoinLogo = 2,
8904 RollOuttro = 3,
8905}
8906#[derive(
8907 serde::Serialize,
8908 serde::Deserialize,
8909 Clone,
8910 Copy,
8911 Debug,
8912 PartialEq,
8913 Eq,
8914 Hash,
8915 PartialOrd,
8916 Ord,
8917 ::prost::Enumeration,
8918)]
8919#[repr(i32)]
8920pub enum ParticleMessage {
8921 GameParticleManagerEventCreate = 0,
8922 GameParticleManagerEventUpdate = 1,
8923 GameParticleManagerEventUpdateForward = 2,
8924 GameParticleManagerEventUpdateOrientation = 3,
8925 GameParticleManagerEventUpdateFallback = 4,
8926 GameParticleManagerEventUpdateEnt = 5,
8927 GameParticleManagerEventUpdateOffset = 6,
8928 GameParticleManagerEventDestroy = 7,
8929 GameParticleManagerEventDestroyInvolving = 8,
8930 GameParticleManagerEventRelease = 9,
8931 GameParticleManagerEventLatency = 10,
8932 GameParticleManagerEventShouldDraw = 11,
8933 GameParticleManagerEventFrozen = 12,
8934 GameParticleManagerEventChangeControlPointAttachment = 13,
8935 GameParticleManagerEventUpdateEntityPosition = 14,
8936 GameParticleManagerEventSetFowProperties = 15,
8937 GameParticleManagerEventSetText = 16,
8938 GameParticleManagerEventSetShouldCheckFow = 17,
8939 GameParticleManagerEventSetControlPointModel = 18,
8940 GameParticleManagerEventSetControlPointSnapshot = 19,
8941 GameParticleManagerEventSetTextureAttribute = 20,
8942 GameParticleManagerEventSetSceneObjectGenericFlag = 21,
8943 GameParticleManagerEventSetSceneObjectTintAndDesat = 22,
8944 GameParticleManagerEventDestroyNamed = 23,
8945 GameParticleManagerEventSkipToTime = 24,
8946 GameParticleManagerEventCanFreeze = 25,
8947 GameParticleManagerEventSetNamedValueContext = 26,
8948 GameParticleManagerEventUpdateTransform = 27,
8949 GameParticleManagerEventFreezeTransitionOverride = 28,
8950 GameParticleManagerEventFreezeInvolving = 29,
8951 GameParticleManagerEventAddModellistOverrideElement = 30,
8952 GameParticleManagerEventClearModellistOverride = 31,
8953 GameParticleManagerEventCreatePhysicsSim = 32,
8954 GameParticleManagerEventDestroyPhysicsSim = 33,
8955}
8956#[derive(
8957 serde::Serialize,
8958 serde::Deserialize,
8959 Clone,
8960 Copy,
8961 Debug,
8962 PartialEq,
8963 Eq,
8964 Hash,
8965 PartialOrd,
8966 Ord,
8967 ::prost::Enumeration,
8968)]
8969#[repr(i32)]
8970pub enum EHapticPulseType {
8971 VrHandHapticPulseLight = 0,
8972 VrHandHapticPulseMedium = 1,
8973 VrHandHapticPulseStrong = 2,
8974}