VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
EventTypes.hpp
Go to the documentation of this file.
1// Generated by `voltmod framework eventgen` from the game's .gameevents files. Do not edit.
2
3#pragma once
4
9#include <cstdint>
10#include <string>
11#include <string_view>
12
13namespace VoltMod
14{
15
16// Every game event, decoded once in From(). A player the event is about is `Slot`, any other is
17// `<Key>Slot`; both are -1 when absent. `GameEvents::On` drops an event whose `Slot` is not a
18// valid slot.
19
21{
22 static constexpr std::string_view EventName = "achievement_earned";
23 int PlayerSlot = -1; ///< entindex of the player
24 int Achievement = 0; ///< achievement ID
26};
27
29{
30 static constexpr std::string_view EventName = "achievement_earned_local";
31 int Achievement = 0; ///< achievement ID
32 int Splitscreenplayer = 0; ///< splitscreen ID
34};
35
37{
38 static constexpr std::string_view EventName = "achievement_event";
39 std::string AchievementName; ///< non-localized name of achievement
40 int CurVal = 0; ///< # of steps toward achievement
41 int MaxVal = 0; ///< total # of steps in achievement
43};
44
46{
47 static constexpr std::string_view EventName = "achievement_info_loaded";
49};
50
52{
53 static constexpr std::string_view EventName = "achievement_write_failed";
55};
56
58{
59 static constexpr std::string_view EventName = "add_bullet_hit_marker";
60 int Slot = -1;
61 int Bone = 0;
62 int PosX = 0;
63 int PosY = 0;
64 int PosZ = 0;
65 int AngX = 0;
66 int AngY = 0;
67 int AngZ = 0;
68 int StartX = 0;
69 int StartY = 0;
70 int StartZ = 0;
71 bool Hit = false;
73};
74
76{
77 static constexpr std::string_view EventName = "add_player_sonar_icon";
78 int Slot = -1;
79 float PosX = 0.0f;
80 float PosY = 0.0f;
81 float PosZ = 0.0f;
83};
84
86{
87 static constexpr std::string_view EventName = "ammo_pickup";
88 int Slot = -1;
89 std::string Item; ///< either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
90 int Index = 0; ///< the weapon entindex
91 static AmmoPickup From(IGameEvent& e);
92};
93
95{
96 static constexpr std::string_view EventName = "ammo_refill";
97 int Slot = -1;
98 bool Success = false;
99 static AmmoRefill From(IGameEvent& e);
100};
101
103{
104 static constexpr std::string_view EventName = "announce_phase_end";
106};
107
109{
110 static constexpr std::string_view EventName = "begin_new_match";
112};
113
115{
116 static constexpr std::string_view EventName = "bomb_abortdefuse";
117 int Slot = -1; ///< player who was defusing
119};
120
122{
123 static constexpr std::string_view EventName = "bomb_abortplant";
124 int Slot = -1; ///< player who is planting the bomb
125 int Site = 0; ///< bombsite index
127};
128
130{
131 static constexpr std::string_view EventName = "bomb_beep";
132 int Entindex = 0; ///< c4 entity
133 static BombBeep From(IGameEvent& e);
134};
135
137{
138 static constexpr std::string_view EventName = "bomb_begindefuse";
139 int Slot = -1; ///< player who is defusing
140 bool Haskit = false;
142};
143
145{
146 static constexpr std::string_view EventName = "bomb_beginplant";
147 int Slot = -1; ///< player who is planting the bomb
148 int Site = 0; ///< bombsite index
150};
151
153{
154 static constexpr std::string_view EventName = "bomb_defused";
155 int Slot = -1; ///< player who defused the bomb
156 int Site = 0; ///< bombsite index
157 int C4 = 0;
158 static BombDefused From(IGameEvent& e);
159};
160
162{
163 static constexpr std::string_view EventName = "bomb_dropped";
164 int Slot = -1; ///< player who dropped the bomb
165 int Entindex = 0;
166 static BombDropped From(IGameEvent& e);
167};
168
170{
171 static constexpr std::string_view EventName = "bomb_exploded";
172 int Slot = -1; ///< player who planted the bomb
173 int Site = 0; ///< bombsite index
174 int C4 = 0;
175 static BombExploded From(IGameEvent& e);
176};
177
179{
180 static constexpr std::string_view EventName = "bomb_pickup";
181 // skipped: userid: player_pawn
182 static BombPickup From(IGameEvent& e);
183};
184
186{
187 static constexpr std::string_view EventName = "bomb_planted";
188 int Slot = -1; ///< player who planted the bomb
189 int Site = 0; ///< bombsite index
190 int C4 = 0;
191 static BombPlanted From(IGameEvent& e);
192};
193
195{
196 static constexpr std::string_view EventName = "bonus_updated";
197 int Numadvanced = 0;
198 int Numbronze = 0;
199 int Numsilver = 0;
200 int Numgold = 0;
201 static BonusUpdated From(IGameEvent& e);
202};
203
205{
206 static constexpr std::string_view EventName = "bot_takeover";
207 int Slot = -1;
208 int BotidSlot = -1;
209 float P = 0.0f;
210 float Y = 0.0f;
211 float R = 0.0f;
212 static BotTakeover From(IGameEvent& e);
213};
214
216{
217 static constexpr std::string_view EventName = "break_breakable";
218 int Entindex = 0;
219 int Material = 0; ///< BREAK_GLASS, BREAK_WOOD, etc
220 // skipped: userid: player_pawn
222};
223
225{
226 static constexpr std::string_view EventName = "break_prop";
227 int Entindex = 0;
228 // skipped: userid: player_pawn
229 static BreakProp From(IGameEvent& e);
230};
231
233{
234 static constexpr std::string_view EventName = "broken_breakable";
235 int Entindex = 0;
236 int Material = 0; ///< BREAK_GLASS, BREAK_WOOD, etc
237 // skipped: userid: player_pawn
239};
240
242{
243 static constexpr std::string_view EventName = "bullet_damage";
244 int VictimSlot = -1; ///< player index who was hurt
245 int AttackerSlot = -1; ///< player index who attacked
246 float Distance = 0.0f; ///< how far the bullet travelled before it hit the player
247 float DamageDirX = 0.0f; ///< direction vector of the bullet
248 float DamageDirY = 0.0f; ///< direction vector of the bullet
249 float DamageDirZ = 0.0f; ///< direction vector of the bullet
250 int NumPenetrations = 0; ///< how many surfaces were penetrated
251 bool NoScope = false; ///< was the shooter noscoped?
252 bool InAir = false; ///< was the shooter jumping?
253 float ShootAngX = 0.0f; ///< shoot angle x
254 float ShootAngY = 0.0f; ///< shoot angle y
255 float ShootAngZ = 0.0f; ///< shoot angle z
256 float AimPunchX = 0.0f; ///< aim punch x
257 float AimPunchY = 0.0f; ///< aim punch y
258 float AimPunchZ = 0.0f; ///< aim punch z
259 int AttackTickCount = 0; ///< attack tick
260 float AttackTickFrac = 0.0f; ///< attack frac
261 int RenderTickCount = 0; ///< render tick
262 float RenderTickFrac = 0.0f; ///< render frac
263 float InaccuracyTotal = 0.0f; ///< total inaccuracy
264 float InaccuracyMove = 0.0f; ///< move inaccuracy
265 float InaccuracyAir = 0.0f; ///< air inaccuracy
266 float RecoilIndex = 0.0f; ///< recoil index. Yes this is really a float.
267 int Type = 0; ///< lag compensation type
268 static BulletDamage From(IGameEvent& e);
269};
270
272{
273 static constexpr std::string_view EventName = "buymenu_close";
274 int Slot = -1;
275 static BuymenuClose From(IGameEvent& e);
276};
277
279{
280 static constexpr std::string_view EventName = "buymenu_open";
281 static BuymenuOpen From(IGameEvent& e);
282};
283
285{
286 static constexpr std::string_view EventName = "buytime_ended";
287 static BuytimeEnded From(IGameEvent& e);
288};
289
291{
292 static constexpr std::string_view EventName = "cart_updated";
293 static CartUpdated From(IGameEvent& e);
294};
295
297{
298 static constexpr std::string_view EventName = "choppers_incoming_warning";
299 bool Global = false;
301};
302
304{
305 static constexpr std::string_view EventName = "client_disconnect";
307};
308
310{
311 static constexpr std::string_view EventName = "client_loadout_changed";
313};
314
316{
317 static constexpr std::string_view EventName = "clientside_lesson_closed";
318 std::string LessonName;
320};
321
323{
324 static constexpr std::string_view EventName = "clientside_reload_custom_econ";
325 std::string Steamid;
327};
328
330{
331 static constexpr std::string_view EventName = "cs_game_disconnected";
333};
334
336{
337 static constexpr std::string_view EventName = "cs_intermission";
339};
340
342{
343 static constexpr std::string_view EventName = "cs_match_end_restart";
345};
346
348{
349 static constexpr std::string_view EventName = "cs_pre_restart";
350 static CsPreRestart From(IGameEvent& e);
351};
352
354{
355 static constexpr std::string_view EventName = "cs_prev_next_spectator";
356 bool Next = false;
358};
359
361{
362 static constexpr std::string_view EventName = "cs_round_final_beep";
364};
365
367{
368 static constexpr std::string_view EventName = "cs_round_start_beep";
370};
371
373{
374 static constexpr std::string_view EventName = "cs_win_panel_match";
376};
377
379{
380 static constexpr std::string_view EventName = "cs_win_panel_round";
381 bool ShowTimerDefend = false;
382 bool ShowTimerAttack = false;
383 int TimerTime = 0;
384 int FinalEvent = 0; ///< define in cs_gamerules.h
385 std::string FunfactToken;
391};
392
394{
395 static constexpr std::string_view EventName = "decoy_detonate";
396 int Slot = -1;
397 int Entityid = 0;
398 float X = 0.0f;
399 float Y = 0.0f;
400 float Z = 0.0f;
402};
403
405{
406 static constexpr std::string_view EventName = "decoy_firing";
407 int Slot = -1;
408 int Entityid = 0;
409 float X = 0.0f;
410 float Y = 0.0f;
411 float Z = 0.0f;
412 static DecoyFiring From(IGameEvent& e);
413};
414
416{
417 static constexpr std::string_view EventName = "decoy_started";
418 int Entityid = 0;
419 float X = 0.0f;
420 float Y = 0.0f;
421 float Z = 0.0f;
422 // skipped: userid: player_pawn
423 static DecoyStarted From(IGameEvent& e);
424};
425
427{
428 static constexpr std::string_view EventName = "defuser_dropped";
429 int Entityid = 0; ///< defuser's entity ID
431};
432
434{
435 static constexpr std::string_view EventName = "defuser_pickup";
436 int Entityid = 0; ///< defuser's entity ID
437 int Slot = -1; ///< player who picked up the defuser
439};
440
442{
443 static constexpr std::string_view EventName = "demo_skip";
444 int PlaybackTick = 0; ///< current playback tick
445 int SkiptoTick = 0; ///< tick we're going to
446 // skipped: user_message_list: local
447 // skipped: dota_hero_chase_list: local
448 static DemoSkip From(IGameEvent& e);
449};
450
452{
453 static constexpr std::string_view EventName = "demo_start";
454 // skipped: dota_combatlog_list: local
455 // skipped: dota_hero_chase_list: local
456 // skipped: dota_pick_hero_list: local
457 static DemoStart From(IGameEvent& e);
458};
459
461{
462 static constexpr std::string_view EventName = "demo_stop";
463 static DemoStop From(IGameEvent& e);
464};
465
467{
468 static constexpr std::string_view EventName = "difficulty_changed";
471 std::string StrDifficulty; ///< new difficulty as string
473};
474
476{
477 static constexpr std::string_view EventName = "dm_bonus_weapon_start";
478 int Time = 0; ///< The length of time that this bonus lasts
479 int Pos = 0; ///< Loadout position of the bonus weapon
481};
482
484{
485 static constexpr std::string_view EventName = "door_break";
486 int Entindex = 0;
487 int Dmgstate = 0;
488 static DoorBreak From(IGameEvent& e);
489};
490
492{
493 static constexpr std::string_view EventName = "door_close";
494 bool Checkpoint = false; ///< Is the door a checkpoint door
495 // skipped: userid: player_pawn
496 static DoorClose From(IGameEvent& e);
497};
498
500{
501 static constexpr std::string_view EventName = "door_closed";
502 int Entindex = 0;
503 // skipped: userid: player_pawn
504 static DoorClosed From(IGameEvent& e);
505};
506
508{
509 static constexpr std::string_view EventName = "door_moving";
510 int Slot = -1;
511 int Entindex = 0;
512 static DoorMoving From(IGameEvent& e);
513};
514
516{
517 static constexpr std::string_view EventName = "door_open";
518 int Entindex = 0;
519 // skipped: userid: player_pawn
520 static DoorOpen From(IGameEvent& e);
521};
522
524{
525 static constexpr std::string_view EventName = "drone_above_roof";
526 int Slot = -1;
527 int Cargo = 0;
529};
530
532{
533 static constexpr std::string_view EventName = "drone_cargo_detached";
534 int Slot = -1;
535 int Cargo = 0;
536 bool Delivered = false;
538};
539
541{
542 static constexpr std::string_view EventName = "drone_dispatched";
543 int Slot = -1;
544 int Priority = 0;
545 // skipped: drone_dispatched: its name DroneDispatched is taken
547};
548
550{
551 static constexpr std::string_view EventName = "dronegun_attack";
552 int Slot = -1;
554};
555
557{
558 static constexpr std::string_view EventName = "drop_rate_modified";
560};
561
563{
564 static constexpr std::string_view EventName = "dynamic_shadow_light_changed";
566};
567
569{
570 static constexpr std::string_view EventName = "dz_item_interaction";
571 int Slot = -1; ///< player entindex
572 int Subject = 0; ///< crate entindex
573 std::string Type; ///< type of crate (metal, wood, or paradrop)
575};
576
578{
579 static constexpr std::string_view EventName = "enable_restart_voting";
580 bool Enable = false;
582};
583
585{
586 static constexpr std::string_view EventName = "endmatch_cmm_start_reveal_items";
588};
589
591{
592 static constexpr std::string_view EventName = "endmatch_mapvote_selecting_map";
593 int Count = 0; ///< Number of "ties"
594 int Slot1 = 0;
595 int Slot2 = 0;
596 int Slot3 = 0;
597 int Slot4 = 0;
598 int Slot5 = 0;
599 int Slot6 = 0;
600 int Slot7 = 0;
601 int Slot8 = 0;
602 int Slot9 = 0;
603 int Slot10 = 0;
605};
606
608{
609 static constexpr std::string_view EventName = "enter_bombzone";
610 int Slot = -1;
611 bool Hasbomb = false;
612 bool Isplanted = false;
614};
615
617{
618 static constexpr std::string_view EventName = "enter_buyzone";
619 int Slot = -1;
620 bool Canbuy = false;
621 static EnterBuyzone From(IGameEvent& e);
622};
623
625{
626 static constexpr std::string_view EventName = "enter_rescue_zone";
627 int Slot = -1;
629};
630
632{
633 static constexpr std::string_view EventName = "entity_killed";
637 int Damagebits = 0;
638 static EntityKilled From(IGameEvent& e);
639};
640
642{
643 static constexpr std::string_view EventName = "entity_visible";
644 int Slot = -1; ///< The player who sees the entity
645 int Subject = 0; ///< Entindex of the entity they see
646 std::string Classname; ///< Classname of the entity they see
647 std::string Entityname; ///< name of the entity they see
649};
650
652{
653 static constexpr std::string_view EventName = "event_ticket_modified";
655};
656
658{
659 static constexpr std::string_view EventName = "exit_bombzone";
660 int Slot = -1;
661 bool Hasbomb = false;
662 bool Isplanted = false;
663 static ExitBombzone From(IGameEvent& e);
664};
665
667{
668 static constexpr std::string_view EventName = "exit_buyzone";
669 int Slot = -1;
670 bool Canbuy = false;
671 static ExitBuyzone From(IGameEvent& e);
672};
673
675{
676 static constexpr std::string_view EventName = "exit_rescue_zone";
677 int Slot = -1;
679};
680
682{
683 static constexpr std::string_view EventName = "finale_start";
684 int Rushes = 0;
685 static FinaleStart From(IGameEvent& e);
686};
687
689{
690 static constexpr std::string_view EventName = "firstbombs_incoming_warning";
691 bool Global = false;
693};
694
696{
697 static constexpr std::string_view EventName = "flare_ignite_npc";
698 int Entindex = 0; ///< entity ignited
700};
701
703{
704 static constexpr std::string_view EventName = "flashbang_detonate";
705 int Slot = -1;
706 int Entityid = 0;
707 float X = 0.0f;
708 float Y = 0.0f;
709 float Z = 0.0f;
711};
712
713/** a game ended */
715{
716 static constexpr std::string_view EventName = "game_end";
717 int Winner = 0; ///< winner team/user id
718 static GameEnd From(IGameEvent& e);
719};
720
721/** sent when a new game is started */
723{
724 static constexpr std::string_view EventName = "game_init";
725 static GameInit From(IGameEvent& e);
726};
727
728/** a message send by game logic to everyone */
730{
731 static constexpr std::string_view EventName = "game_message";
732 int Target = 0; ///< 0 = console, 1 = HUD
733 std::string Text; ///< the message text
734 static GameMessage From(IGameEvent& e);
735};
736
737/** send when new map is completely loaded */
739{
740 static constexpr std::string_view EventName = "game_newmap";
741 std::string Mapname; ///< map name
742 static GameNewmap From(IGameEvent& e);
743};
744
746{
747 static constexpr std::string_view EventName = "game_phase_changed";
748 int NewPhase = 0;
750};
751
752/** a new game starts */
754{
755 static constexpr std::string_view EventName = "game_start";
756 int Roundslimit = 0; ///< max round
757 int Timelimit = 0; ///< time limit
758 int Fraglimit = 0; ///< frag limit
759 std::string Objective; ///< round objective
760 static GameStart From(IGameEvent& e);
761};
762
764{
765 static constexpr std::string_view EventName = "gameinstructor_draw";
767};
768
770{
771 static constexpr std::string_view EventName = "gameinstructor_nodraw";
773};
774
776{
777 static constexpr std::string_view EventName = "gameui_hidden";
778 static GameuiHidden From(IGameEvent& e);
779};
780
782{
783 static constexpr std::string_view EventName = "gc_connected";
784 static GcConnected From(IGameEvent& e);
785};
786
788{
789 static constexpr std::string_view EventName = "gg_killed_enemy";
790 int VictimidSlot = -1; ///< user ID who died
791 int AttackeridSlot = -1; ///< user ID who killed
792 int Dominated = 0; ///< did killer dominate victim with this kill
793 int Revenge = 0; ///< did killer get revenge on victim with this kill
794 bool Bonus = false; ///< did killer kill with a bonus weapon?
796};
797
799{
800 static constexpr std::string_view EventName = "grenade_bounce";
801 int Slot = -1;
803};
804
806{
807 static constexpr std::string_view EventName = "grenade_thrown";
808 int Slot = -1;
809 std::string Weapon; ///< weapon name used
811};
812
814{
815 static constexpr std::string_view EventName = "guardian_wave_restart";
817};
818
820{
821 static constexpr std::string_view EventName = "hegrenade_detonate";
822 int Slot = -1;
823 int Entityid = 0;
824 float X = 0.0f;
825 float Y = 0.0f;
826 float Z = 0.0f;
828};
829
831{
832 static constexpr std::string_view EventName = "helicopter_grenade_punt_miss";
834};
835
837{
838 static constexpr std::string_view EventName = "hide_deathpanel";
840};
841
842/** a spectator/player is a cameraman */
844{
845 static constexpr std::string_view EventName = "hltv_cameraman";
846 int Slot = -1; ///< camera man entity index
848};
849
851{
852 static constexpr std::string_view EventName = "hltv_changed_mode";
853 int Oldmode = 0;
854 int Newmode = 0;
855 int ObsTarget = 0;
857};
858
859/** shot of a single entity */
861{
862 static constexpr std::string_view EventName = "hltv_chase";
863 int Target1Slot = -1; ///< primary traget index
864 int Target2Slot = -1; ///< secondary traget index or 0
865 int Distance = 0; ///< camera distance
866 int Theta = 0; ///< view angle horizontal
867 int Phi = 0; ///< view angle vertical
868 int Inertia = 0; ///< camera inertia
869 int Ineye = 0; ///< diretcor suggests to show ineye
870 static HltvChase From(IGameEvent& e);
871};
872
873/** a HLTV chat msg sent by spectators */
875{
876 static constexpr std::string_view EventName = "hltv_chat";
877 std::string Text;
878 uint64_t SteamID = 0; ///< steam id
879 static HltvChat From(IGameEvent& e);
880};
881
882/** show from fixed view */
884{
885 static constexpr std::string_view EventName = "hltv_fixed";
886 int Posx = 0; ///< camera position in world
887 int Posy = 0;
888 int Posz = 0;
889 int Theta = 0; ///< camera angles
890 int Phi = 0;
891 int Offset = 0;
892 float Fov = 0.0f;
893 int TargetSlot = -1; ///< follow this player
894 static HltvFixed From(IGameEvent& e);
895};
896
897/** a HLTV message send by moderators */
899{
900 static constexpr std::string_view EventName = "hltv_message";
901 std::string Text;
902 static HltvMessage From(IGameEvent& e);
903};
904
905/** a camera ranking */
907{
908 static constexpr std::string_view EventName = "hltv_rank_camera";
909 int Index = 0; ///< fixed camera index
910 float Rank = 0.0f; ///< ranking, how interesting is this camera view
911 int TargetSlot = -1; ///< best/closest target entity
913};
914
915/** an entity ranking */
917{
918 static constexpr std::string_view EventName = "hltv_rank_entity";
919 int Slot = -1; ///< player slot
920 float Rank = 0.0f; ///< ranking, how interesting is this entity to view
921 int TargetSlot = -1; ///< best/closest target entity
923};
924
926{
927 static constexpr std::string_view EventName = "hltv_replay";
928 int Delay = 0; ///< number of seconds in killer replay delay
929 int Reason = 0; ///< reason for replay (ReplayEventType_t)
930 static HltvReplay From(IGameEvent& e);
931};
932
934{
935 static constexpr std::string_view EventName = "hltv_replay_status";
936 int Reason = 0; ///< reason for hltv replay status change ()
938};
939
940/** general HLTV status */
942{
943 static constexpr std::string_view EventName = "hltv_status";
944 int Clients = 0; ///< number of HLTV spectators
945 int Slots = 0; ///< number of HLTV slots
946 int Proxies = 0; ///< number of HLTV proxies
947 std::string Master; ///< disptach master IP:port
948 static HltvStatus From(IGameEvent& e);
949};
950
952{
953 static constexpr std::string_view EventName = "hltv_title";
954 std::string Text;
955 static HltvTitle From(IGameEvent& e);
956};
957
959{
960 static constexpr std::string_view EventName = "hltv_versioninfo";
961 int Version = 0;
963};
964
966{
967 static constexpr std::string_view EventName = "hostage_call_for_help";
968 int Hostage = 0; ///< hostage entity index
970};
971
973{
974 static constexpr std::string_view EventName = "hostage_follows";
975 int Slot = -1; ///< player who touched the hostage
976 int Hostage = 0; ///< hostage entity index
978};
979
981{
982 static constexpr std::string_view EventName = "hostage_hurt";
983 int Slot = -1; ///< player who hurt the hostage
984 int Hostage = 0; ///< hostage entity index
985 static HostageHurt From(IGameEvent& e);
986};
987
989{
990 static constexpr std::string_view EventName = "hostage_killed";
991 int Slot = -1; ///< player who killed the hostage
992 int Hostage = 0; ///< hostage entity index
994};
995
997{
998 static constexpr std::string_view EventName = "hostage_rescued";
999 int Slot = -1; ///< player who rescued the hostage
1000 int Hostage = 0; ///< hostage entity index
1001 int Site = 0; ///< rescue site index
1003};
1004
1006{
1007 static constexpr std::string_view EventName = "hostage_rescued_all";
1009};
1010
1012{
1013 static constexpr std::string_view EventName = "hostage_stops_following";
1014 int Slot = -1; ///< player who rescued the hostage
1015 int Hostage = 0; ///< hostage entity index
1017};
1018
1020{
1021 static constexpr std::string_view EventName = "hostname_changed";
1022 std::string Hostname;
1024};
1025
1027{
1028 static constexpr std::string_view EventName = "inferno_expire";
1029 int Entityid = 0;
1030 float X = 0.0f;
1031 float Y = 0.0f;
1032 float Z = 0.0f;
1033 static InfernoExpire From(IGameEvent& e);
1034};
1035
1037{
1038 static constexpr std::string_view EventName = "inferno_extinguish";
1039 int Entityid = 0;
1040 float X = 0.0f;
1041 float Y = 0.0f;
1042 float Z = 0.0f;
1044};
1045
1047{
1048 static constexpr std::string_view EventName = "inferno_startburn";
1049 int Entityid = 0;
1050 float X = 0.0f;
1051 float Y = 0.0f;
1052 float Z = 0.0f;
1054};
1055
1057{
1058 static constexpr std::string_view EventName = "inspect_weapon";
1059 int Slot = -1;
1060 static InspectWeapon From(IGameEvent& e);
1061};
1062
1064{
1065 static constexpr std::string_view EventName = "instructor_close_lesson";
1066 int Slot = -1; ///< The player who this lesson is intended for
1067 std::string HintName; ///< Name of the lesson to start. Must match instructor_lesson.txt
1069};
1070
1071/** create a hint using data supplied entirely by the server/map. Intended for hints to smooth playtests before content
1072 * is ready to make the hint unneccessary. NOT INTENDED AS A SHIPPABLE CRUTCH */
1074{
1075 static constexpr std::string_view EventName = "instructor_server_hint_create";
1076 int Slot = -1; ///< user ID of the player that triggered the hint
1077 std::string HintName; ///< what to name the hint. For referencing it again later (e.g. a kill command for the hint
1078 ///< instead of a timeout)
1079 std::string HintReplaceKey; ///< type name so that messages of the same type will replace each other
1080 int HintTarget = 0; ///< entity id that the hint should display at
1081 int HintActivatorUseridSlot = -1; ///< userid id of the activator
1082 int HintTimeout = 0; ///< how long in seconds until the hint automatically times out, 0 = never
1083 std::string HintIconOnscreen; ///< the hint icon to use when the hint is onscreen. e.g. "icon_alert_red"
1084 std::string HintIconOffscreen; ///< the hint icon to use when the hint is offscreen. e.g. "icon_alert"
1085 std::string HintCaption; ///< the hint caption. e.g. "#ThisIsDangerous"
1086 std::string HintActivatorCaption; ///< the hint caption that only the activator sees e.g. "#YouPushedItGood"
1087 std::string HintColor; ///< the hint color in "r,g,b" format where each component is 0-255
1088 float HintIconOffset = 0.0f; ///< how far on the z axis to offset the hint from entity origin
1089 float HintRange = 0.0f; ///< range before the hint is culled
1090 int HintFlags = 0; ///< hint flags
1091 std::string HintBinding; ///< bindings to use when use_binding is the onscreen icon
1092 std::string HintGamepadBinding; ///< gamepad bindings to use when use_binding is the onscreen icon
1093 bool HintAllowNodrawTarget = false; ///< if false, the hint will dissappear if the target entity is invisible
1094 bool HintNooffscreen = false; ///< if true, the hint will not show when outside the player view
1095 bool HintForcecaption = false; ///< if true, the hint caption will show even if the hint is occluded
1096 bool HintLocalPlayerOnly = false; ///< if true, only the local player will see the hint
1098};
1099
1100/** destroys a server/map created hint */
1102{
1103 static constexpr std::string_view EventName = "instructor_server_hint_stop";
1104 std::string HintName; ///< The hint to stop. Will stop ALL hints with this name
1106};
1107
1109{
1110 static constexpr std::string_view EventName = "instructor_start_lesson";
1111 int Slot = -1; ///< The player who this lesson is intended for
1112 std::string HintName; ///< Name of the lesson to start. Must match instructor_lesson.txt
1113 int HintTarget = 0; ///< entity id that the hint should display at. Leave empty if controller target
1118};
1119
1121{
1122 static constexpr std::string_view EventName = "inventory_updated";
1124};
1125
1127{
1128 static constexpr std::string_view EventName = "item_equip";
1129 int Slot = -1;
1130 std::string Item; ///< either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
1131 int Defindex = 0;
1132 bool Canzoom = false;
1133 bool Hassilencer = false;
1134 bool Issilenced = false;
1135 bool Hastracers = false;
1136 int Weptype = 0;
1137 bool Ispainted = false;
1138 static ItemEquip From(IGameEvent& e);
1139};
1140
1142{
1143 static constexpr std::string_view EventName = "item_pickup";
1144 int Slot = -1;
1145 std::string Item; ///< either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
1146 bool Silent = false;
1147 int Defindex = 0;
1148 static ItemPickup From(IGameEvent& e);
1149};
1150
1152{
1153 static constexpr std::string_view EventName = "item_pickup_failed";
1154 int Slot = -1;
1155 std::string Item;
1156 int Reason = 0;
1157 int Limit = 0;
1159};
1160
1162{
1163 static constexpr std::string_view EventName = "item_pickup_slerp";
1164 int Slot = -1;
1165 int Index = 0;
1166 int Behavior = 0;
1168};
1169
1171{
1172 static constexpr std::string_view EventName = "item_purchase";
1173 int Slot = -1;
1175 int Loadout = 0;
1176 std::string Weapon;
1177 static ItemPurchase From(IGameEvent& e);
1178};
1179
1181{
1182 static constexpr std::string_view EventName = "item_remove";
1183 int Slot = -1;
1184 std::string Item; ///< either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
1185 int Defindex = 0;
1186 static ItemRemove From(IGameEvent& e);
1187};
1188
1190{
1191 static constexpr std::string_view EventName = "item_schema_initialized";
1193};
1194
1196{
1197 static constexpr std::string_view EventName = "jointeam_failed";
1198 int Slot = -1;
1199 int Reason = 0; ///< 0 = team_full
1201};
1202
1204{
1205 static constexpr std::string_view EventName = "local_player_controller_team";
1207};
1208
1210{
1211 static constexpr std::string_view EventName = "local_player_pawn_changed";
1213};
1214
1216{
1217 static constexpr std::string_view EventName = "local_player_team";
1219};
1220
1222{
1223 static constexpr std::string_view EventName = "loot_crate_opened";
1224 int Slot = -1; ///< player entindex
1225 std::string Type; ///< type of crate (metal, wood, or paradrop)
1227};
1228
1230{
1231 static constexpr std::string_view EventName = "loot_crate_visible";
1232 int Slot = -1; ///< player entindex
1233 int Subject = 0; ///< crate entindex
1234 std::string Type; ///< type of crate (metal, wood, or paradrop)
1236};
1237
1239{
1240 static constexpr std::string_view EventName = "map_shutdown";
1241 static MapShutdown From(IGameEvent& e);
1242};
1243
1245{
1246 static constexpr std::string_view EventName = "map_transition";
1247 static MapTransition From(IGameEvent& e);
1248};
1249
1251{
1252 static constexpr std::string_view EventName = "match_end_conditions";
1253 int Frags = 0;
1254 int MaxRounds = 0;
1255 int WinRounds = 0;
1256 int Time = 0;
1258};
1259
1261{
1262 static constexpr std::string_view EventName = "material_default_complete";
1264};
1265
1267{
1268 static constexpr std::string_view EventName = "mb_input_lock_cancel";
1270};
1271
1273{
1274 static constexpr std::string_view EventName = "mb_input_lock_success";
1276};
1277
1279{
1280 static constexpr std::string_view EventName = "molotov_detonate";
1281 int Slot = -1;
1282 float X = 0.0f;
1283 float Y = 0.0f;
1284 float Z = 0.0f;
1286};
1287
1289{
1290 static constexpr std::string_view EventName = "nav_blocked";
1291 int Area = 0;
1292 bool Blocked = false;
1293 static NavBlocked From(IGameEvent& e);
1294};
1295
1297{
1298 static constexpr std::string_view EventName = "nav_generate";
1299 static NavGenerate From(IGameEvent& e);
1300};
1301
1302/** a game event, name may be 32 characters long */
1304{
1305 static constexpr std::string_view EventName = "nextlevel_changed";
1306 std::string Nextlevel;
1307 std::string Mapgroup;
1308 std::string Skirmishmode;
1310};
1311
1313{
1314 static constexpr std::string_view EventName = "open_crate_instr";
1315 int Slot = -1; ///< player entindex
1316 int Subject = 0; ///< crate entindex
1317 std::string Type; ///< type of crate (metal, wood, or paradrop)
1319};
1320
1322{
1323 static constexpr std::string_view EventName = "other_death";
1324 int Otherid = 0; ///< other entity ID who died
1325 std::string Othertype; ///< other entity type
1326 int Attacker = 0; ///< user ID who killed
1327 std::string Weapon; ///< weapon name killer used
1328 std::string WeaponItemid; ///< inventory item id of weapon killer used
1329 std::string WeaponFauxitemid; ///< faux item id of weapon killer used
1331 bool Headshot = false; ///< singals a headshot
1332 int Penetrated = 0; ///< number of objects shot penetrated before killing target
1333 bool Noscope = false; ///< kill happened without a scope, used for death notice icon
1334 bool Thrusmoke = false; ///< hitscan weapon went through smoke grenade
1335 bool Attackerblind = false; ///< attacker was blind from flashbang
1336 static OtherDeath From(IGameEvent& e);
1337};
1338
1340{
1341 static constexpr std::string_view EventName = "parachute_deploy";
1342 int Slot = -1;
1344};
1345
1347{
1348 static constexpr std::string_view EventName = "parachute_pickup";
1349 int Slot = -1;
1351};
1352
1354{
1355 static constexpr std::string_view EventName = "physgun_pickup";
1356 // skipped: target: ehandle
1357 static PhysgunPickup From(IGameEvent& e);
1358};
1359
1361{
1362 static constexpr std::string_view EventName = "player_activate";
1363 int Slot = -1; ///< user ID on server
1365};
1366
1368{
1369 static constexpr std::string_view EventName = "player_avenged_teammate";
1373};
1374
1376{
1377 static constexpr std::string_view EventName = "player_blind";
1378 int Slot = -1;
1379 int AttackerSlot = -1; ///< user ID who threw the flash
1380 int Entityid = 0; ///< the flashbang going off
1381 float BlindDuration = 0.0f;
1382 static PlayerBlind From(IGameEvent& e);
1383};
1384
1386{
1387 static constexpr std::string_view EventName = "player_changename";
1388 int Slot = -1; ///< user ID on server
1389 std::string Oldname; ///< players old (current) name
1390 std::string Newname; ///< players new name
1392};
1393
1394/** a public player chat */
1396{
1397 static constexpr std::string_view EventName = "player_chat";
1398 bool Teamonly = false; ///< true if team only chat
1399 int Userid = 0; ///< chatting player
1400 std::string Text; ///< chat text
1401 static PlayerChat From(IGameEvent& e);
1402};
1403
1404/** a new client connected */
1406{
1407 static constexpr std::string_view EventName = "player_connect";
1408 std::string Name; ///< player name
1409 int Slot = -1; ///< user ID on server (unique on server)
1410 std::string Networkid; ///< player network (i.e steam) id
1411 uint64_t Xuid = 0; ///< steam id
1412 bool Bot = false;
1413 static PlayerConnect From(IGameEvent& e);
1414};
1415
1416/** player has sent final message in the connection sequence */
1418{
1419 static constexpr std::string_view EventName = "player_connect_full";
1420 int Slot = -1; ///< user ID on server (unique on server)
1422};
1423
1424/** a game event, name may be 32 characters long */
1426{
1427 static constexpr std::string_view EventName = "player_death";
1428 int Slot = -1; ///< user who died
1429 int AttackerSlot = -1; ///< player who killed
1430 int AssisterSlot = -1; ///< player who assisted in the kill
1431 bool Assistedflash = false; ///< assister helped with a flash
1432 std::string Weapon; ///< weapon name killer used
1433 std::string WeaponItemid; ///< inventory item id of weapon killer used
1434 std::string WeaponFauxitemid; ///< faux item id of weapon killer used
1436 bool Headshot = false; ///< singals a headshot
1437 int Dominated = 0; ///< did killer dominate victim with this kill
1438 int Revenge = 0; ///< did killer get revenge on victim with this kill
1439 int Wipe = 0; ///< is the kill resulting in squad wipe
1440 int Penetrated = 0; ///< number of objects shot penetrated before killing target
1441 bool Noreplay = false; ///< if replay data is unavailable, this will be present and set to false
1442 bool Noscope = false; ///< kill happened without a scope, used for death notice icon
1443 bool Thrusmoke = false; ///< hitscan weapon went through smoke grenade
1444 bool Attackerblind = false; ///< attacker was blind from flashbang
1445 float Distance = 0.0f; ///< distance to victim in meters
1446 int DmgHealth = 0; ///< damage done to health
1447 int DmgArmor = 0; ///< damage done to armor
1449 bool Attackerinair = false; ///< attacker was in midair
1450 static PlayerDeath From(IGameEvent& e);
1451};
1452
1454{
1455 static constexpr std::string_view EventName = "player_decal";
1456 // skipped: userid: player_pawn
1457 static PlayerDecal From(IGameEvent& e);
1458};
1459
1460/** a client was disconnected */
1462{
1463 static constexpr std::string_view EventName = "player_disconnect";
1464 int Slot = -1; ///< user ID on server
1465 int Reason = 0; ///< see networkdisconnect enum protobuf
1466 std::string Name; ///< player name
1467 std::string Networkid; ///< player network (i.e steam) id
1468 uint64_t Xuid = 0; ///< steam id
1469 int PlayerID = 0;
1470 bool EverFullyConnected = false; ///< Was the player ever fully connected?
1472};
1473
1475{
1476 static constexpr std::string_view EventName = "player_falldamage";
1477 int Slot = -1;
1478 float Damage = 0.0f;
1480};
1481
1483{
1484 static constexpr std::string_view EventName = "player_footstep";
1485 int Slot = -1;
1487};
1488
1490{
1491 static constexpr std::string_view EventName = "player_full_update";
1492 int Slot = -1; ///< user ID on server
1493 int Count = 0; ///< Number of this full update
1495};
1496
1498{
1499 static constexpr std::string_view EventName = "player_given_c4";
1500 int Slot = -1; ///< user ID who received the c4
1501 static PlayerGivenC4 From(IGameEvent& e);
1502};
1503
1505{
1506 static constexpr std::string_view EventName = "player_hintmessage";
1507 std::string Hintmessage; ///< localizable string of a hint
1509};
1510
1512{
1513 static constexpr std::string_view EventName = "player_hurt";
1514 int Slot = -1; ///< player index who was hurt
1515 int AttackerSlot = -1; ///< player index who attacked
1516 int Health = 0; ///< remaining health points
1517 int Armor = 0; ///< remaining armor points
1518 std::string Weapon; ///< weapon name attacker used, if not the world
1519 int DmgHealth = 0; ///< damage done to health
1520 int DmgArmor = 0; ///< damage done to armor
1522 static PlayerHurt From(IGameEvent& e);
1523};
1524
1525/** a player changed his name */
1527{
1528 static constexpr std::string_view EventName = "player_info";
1529 std::string Name; ///< player name
1530 int Slot = -1; ///< user ID on server (unique on server)
1531 uint64_t Steamid = 0; ///< player network (i.e steam) id
1532 bool Bot = false; ///< true if player is a AI bot
1533 static PlayerInfo From(IGameEvent& e);
1534};
1535
1537{
1538 static constexpr std::string_view EventName = "player_jump";
1539 int Slot = -1;
1540 static PlayerJump From(IGameEvent& e);
1541};
1542
1544{
1545 static constexpr std::string_view EventName = "player_ping";
1546 int Slot = -1;
1547 int Entityid = 0;
1548 float X = 0.0f;
1549 float Y = 0.0f;
1550 float Z = 0.0f;
1551 bool Urgent = false;
1552 static PlayerPing From(IGameEvent& e);
1553};
1554
1556{
1557 static constexpr std::string_view EventName = "player_ping_stop";
1558 int Entityid = 0;
1560};
1561
1563{
1564 static constexpr std::string_view EventName = "player_radio";
1565 int Slot = -1;
1566 // skipped: slot: its name Slot is taken
1567 static PlayerRadio From(IGameEvent& e);
1568};
1569
1571{
1572 static constexpr std::string_view EventName = "player_reset_vote";
1573 int Slot = -1;
1574 bool Vote = false;
1576};
1577
1578/** players scores changed */
1580{
1581 static constexpr std::string_view EventName = "player_score";
1582 int Slot = -1; ///< user ID on server
1583 int Kills = 0; ///< # of kills
1584 int Deaths = 0; ///< # of deaths
1585 int Score = 0; ///< total game score
1586 static PlayerScore From(IGameEvent& e);
1587};
1588
1589/** player shoot his weapon */
1591{
1592 static constexpr std::string_view EventName = "player_shoot";
1593 int Slot = -1; ///< user ID on server
1594 int Weapon = 0; ///< weapon ID
1595 int Mode = 0; ///< weapon mode
1596 static PlayerShoot From(IGameEvent& e);
1597};
1598
1600{
1601 static constexpr std::string_view EventName = "player_sound";
1602 int Slot = -1;
1603 int Radius = 0;
1604 float Duration = 0.0f;
1605 bool Step = false;
1606 static PlayerSound From(IGameEvent& e);
1607};
1608
1609/** player spawned in game */
1611{
1612 static constexpr std::string_view EventName = "player_spawn";
1613 int Slot = -1;
1614 static PlayerSpawn From(IGameEvent& e);
1615};
1616
1618{
1619 static constexpr std::string_view EventName = "player_spawned";
1620 int Slot = -1;
1621 bool Inrestart = false; ///< true if restart is pending
1622 static PlayerSpawned From(IGameEvent& e);
1623};
1624
1626{
1627 static constexpr std::string_view EventName = "player_stats_updated";
1628 bool Forceupload = false;
1630};
1631
1632/** player change his team */
1634{
1635 static constexpr std::string_view EventName = "player_team";
1636 int Slot = -1; ///< player
1639 bool Disconnect = false; ///< team change because player disconnects
1640 bool Silent = false;
1641 bool Isbot = false; ///< true if player is a bot
1642 static PlayerTeam From(IGameEvent& e);
1643};
1644
1646{
1647 static constexpr std::string_view EventName = "ragdoll_dissolved";
1648 int Entindex = 0;
1650};
1651
1652/** read user titledata from profile */
1654{
1655 static constexpr std::string_view EventName = "read_game_titledata";
1656 int ControllerId = 0; ///< Controller id of user
1658};
1659
1661{
1662 static constexpr std::string_view EventName = "repost_xbox_achievements";
1663 int Splitscreenplayer = 0; ///< splitscreen ID
1665};
1666
1667/** reset user titledata; do not automatically write profile */
1669{
1670 static constexpr std::string_view EventName = "reset_game_titledata";
1671 int ControllerId = 0; ///< Controller id of user
1673};
1674
1676{
1677 static constexpr std::string_view EventName = "round_announce_final";
1679};
1680
1682{
1683 static constexpr std::string_view EventName = "round_announce_last_round_half";
1685};
1686
1688{
1689 static constexpr std::string_view EventName = "round_announce_match_point";
1691};
1692
1694{
1695 static constexpr std::string_view EventName = "round_announce_match_start";
1697};
1698
1700{
1701 static constexpr std::string_view EventName = "round_announce_warmup";
1703};
1704
1706{
1707 static constexpr std::string_view EventName = "round_end";
1708 int Winner = 0; ///< winner team/user i
1709 int Reason = 0; ///< reson why team won
1710 std::string Message; ///< end round message
1711 int Legacy = 0; ///< server-generated legacy value
1712 int PlayerCount = 0; ///< total number of players alive at the end of round, used for statistics gathering,
1713 ///< computed on the server in the event client is in replay when receiving this message
1714 int Nomusic = 0; ///< if set, don't play round end music, because action is still on-going
1715 static RoundEnd From(IGameEvent& e);
1716};
1717
1719{
1720 static constexpr std::string_view EventName = "round_end_upload_stats";
1722};
1723
1725{
1726 static constexpr std::string_view EventName = "round_freeze_end";
1728};
1729
1731{
1732 static constexpr std::string_view EventName = "round_mvp";
1733 int Slot = -1;
1734 int Reason = 0;
1735 int Value = 0;
1737 int Nomusic = 0;
1738 int Musickitid = 0;
1739 static RoundMvp From(IGameEvent& e);
1740};
1741
1743{
1744 static constexpr std::string_view EventName = "round_officially_ended";
1746};
1747
1748/** sent after all other round restart actions */
1750{
1751 static constexpr std::string_view EventName = "round_poststart";
1753};
1754
1755/** sent before all other round restart actions */
1757{
1758 static constexpr std::string_view EventName = "round_prestart";
1759 static RoundPrestart From(IGameEvent& e);
1760};
1761
1763{
1764 static constexpr std::string_view EventName = "round_start";
1765 int Timelimit = 0; ///< round time limit in seconds
1766 int Fraglimit = 0; ///< frag limit in seconds
1767 std::string Objective; ///< round objective
1768 static RoundStart From(IGameEvent& e);
1769};
1770
1772{
1773 static constexpr std::string_view EventName = "round_start_post_nav";
1775};
1776
1778{
1779 static constexpr std::string_view EventName = "round_start_pre_entity";
1781};
1782
1784{
1785 static constexpr std::string_view EventName = "round_time_warning";
1787};
1788
1790{
1791 static constexpr std::string_view EventName = "seasoncoin_levelup";
1792 int Slot = -1;
1793 int Category = 0;
1794 int Rank = 0;
1796};
1797
1798/** a server console var has changed */
1800{
1801 static constexpr std::string_view EventName = "server_cvar";
1802 std::string Cvarname; ///< cvar name, eg "mp_roundtime"
1803 std::string Cvarvalue; ///< new cvar value
1804 static ServerCvar From(IGameEvent& e);
1805};
1806
1807/** a generic server message */
1809{
1810 static constexpr std::string_view EventName = "server_message";
1811 std::string Text; ///< the message text
1812 static ServerMessage From(IGameEvent& e);
1813};
1814
1815/** server is about to be shut down */
1817{
1818 static constexpr std::string_view EventName = "server_pre_shutdown";
1819 std::string Reason; ///< reason why server is about to be shut down
1821};
1822
1823/** server shut down */
1825{
1826 static constexpr std::string_view EventName = "server_shutdown";
1827 std::string Reason; ///< reason why server was shut down
1829};
1830
1831/** send once a server starts */
1833{
1834 static constexpr std::string_view EventName = "server_spawn";
1835 std::string Hostname; ///< public host name
1836 std::string Address; ///< hostame, IP or DNS name
1837 int Port = 0; ///< server port
1838 std::string Game; ///< game dir
1839 std::string Mapname; ///< map name
1840 std::string Addonname; ///< addon name
1841 int Maxplayers = 0; ///< max players
1842 std::string Os; ///< WIN32, LINUX
1843 bool Dedicated = false; ///< true if dedicated server
1844 bool Password = false; ///< true if password protected
1845 static ServerSpawn From(IGameEvent& e);
1846};
1847
1849{
1850 static constexpr std::string_view EventName = "set_instructor_group_enabled";
1851 std::string Group;
1852 int Enabled = 0;
1854};
1855
1857{
1858 static constexpr std::string_view EventName = "sfuievent";
1859 std::string Action;
1860 std::string Data;
1861 int Slot = 0;
1862 static Sfuievent From(IGameEvent& e);
1863};
1864
1866{
1867 static constexpr std::string_view EventName = "show_deathpanel";
1868 int VictimSlot = -1; ///< endindex of the one who was killed
1870 int HitsTaken = 0;
1872 int HitsGiven = 0;
1874 // skipped: killer: ehandle
1876};
1877
1879{
1880 static constexpr std::string_view EventName = "show_survival_respawn_status";
1881 std::string LocToken;
1882 int Duration = 0;
1883 int Slot = -1;
1885};
1886
1888{
1889 static constexpr std::string_view EventName = "silencer_detach";
1890 int Slot = -1;
1892};
1893
1895{
1896 static constexpr std::string_view EventName = "silencer_off";
1897 int Slot = -1;
1898 static SilencerOff From(IGameEvent& e);
1899};
1900
1902{
1903 static constexpr std::string_view EventName = "silencer_on";
1904 int Slot = -1;
1905 static SilencerOn From(IGameEvent& e);
1906};
1907
1909{
1910 static constexpr std::string_view EventName = "smoke_beacon_paradrop";
1911 int Slot = -1;
1912 int Paradrop = 0;
1914};
1915
1917{
1918 static constexpr std::string_view EventName = "smokegrenade_detonate";
1919 int Slot = -1;
1920 int Entityid = 0;
1921 float X = 0.0f;
1922 float Y = 0.0f;
1923 float Z = 0.0f;
1925};
1926
1928{
1929 static constexpr std::string_view EventName = "smokegrenade_expired";
1930 int Slot = -1;
1931 int Entityid = 0;
1932 float X = 0.0f;
1933 float Y = 0.0f;
1934 float Z = 0.0f;
1936};
1937
1939{
1940 static constexpr std::string_view EventName = "spec_mode_updated";
1941 int Slot = -1; ///< entindex of the player
1943};
1944
1946{
1947 static constexpr std::string_view EventName = "spec_target_updated";
1948 int Slot = -1; ///< spectating player
1949 // skipped: target: ehandle
1951};
1952
1954{
1955 static constexpr std::string_view EventName = "start_halftime";
1956 static StartHalftime From(IGameEvent& e);
1957};
1958
1960{
1961 static constexpr std::string_view EventName = "start_vote";
1962 int Slot = -1;
1963 int Type = 0;
1965 static StartVote From(IGameEvent& e);
1966};
1967
1969{
1970 static constexpr std::string_view EventName = "store_pricesheet_updated";
1972};
1973
1975{
1976 static constexpr std::string_view EventName = "survival_announce_phase";
1977 int Phase = 0; ///< The phase #
1979};
1980
1982{
1983 static constexpr std::string_view EventName = "survival_no_respawns_final";
1984 int Slot = -1;
1986};
1987
1989{
1990 static constexpr std::string_view EventName = "survival_no_respawns_warning";
1991 int Slot = -1;
1993};
1994
1996{
1997 static constexpr std::string_view EventName = "survival_paradrop_break";
1998 int Entityid = 0;
2000};
2001
2003{
2004 static constexpr std::string_view EventName = "survival_paradrop_spawn";
2005 int Entityid = 0;
2007};
2008
2010{
2011 static constexpr std::string_view EventName = "survival_teammate_respawn";
2012 int Slot = -1;
2014};
2015
2017{
2018 static constexpr std::string_view EventName = "switch_team";
2019 int NumPlayers = 0; ///< number of active players on both T and CT
2020 int NumSpectators = 0; ///< number of spectators
2021 int AvgRank = 0; ///< average rank of human players
2024 static SwitchTeam From(IGameEvent& e);
2025};
2026
2028{
2029 static constexpr std::string_view EventName = "tagrenade_detonate";
2030 int Slot = -1;
2031 int Entityid = 0;
2032 float X = 0.0f;
2033 float Y = 0.0f;
2034 float Z = 0.0f;
2036};
2037
2038/** info about team */
2040{
2041 static constexpr std::string_view EventName = "team_info";
2042 int Teamid = 0; ///< unique team id
2043 std::string Teamname; ///< team name eg "Team Blue"
2044 static TeamInfo From(IGameEvent& e);
2045};
2046
2048{
2049 static constexpr std::string_view EventName = "team_intro_end";
2050 static TeamIntroEnd From(IGameEvent& e);
2051};
2052
2054{
2055 static constexpr std::string_view EventName = "team_intro_start";
2057};
2058
2059/** team score changed */
2061{
2062 static constexpr std::string_view EventName = "team_score";
2063 int Teamid = 0; ///< team id
2064 int Score = 0; ///< total team score
2065 static TeamScore From(IGameEvent& e);
2066};
2067
2069{
2070 static constexpr std::string_view EventName = "teamchange_pending";
2071 int Slot = -1;
2072 int Toteam = 0;
2074};
2075
2076/** emits a sound to everyone on a team */
2078{
2079 static constexpr std::string_view EventName = "teamplay_broadcast_audio";
2081 std::string Sound; ///< name of the sound to emit
2083};
2084
2085/** round restart */
2087{
2088 static constexpr std::string_view EventName = "teamplay_round_start";
2089 bool FullReset = false; ///< is this a full reset of the map
2091};
2092
2094{
2095 static constexpr std::string_view EventName = "tournament_reward";
2096 int Defindex = 0;
2098 int Accountid = 0;
2100};
2101
2103{
2104 static constexpr std::string_view EventName = "trial_time_expired";
2105 int Slot = -1; ///< player whose time has expired
2107};
2108
2110{
2111 static constexpr std::string_view EventName = "ugc_file_download_finished";
2112 uint64_t Hcontent = 0; ///< id of this specific content (may be image or map)
2114};
2115
2117{
2118 static constexpr std::string_view EventName = "ugc_file_download_start";
2119 uint64_t Hcontent = 0; ///< id of this specific content (may be image or map)
2120 uint64_t PublishedFileId = 0; ///< id of the associated content package
2122};
2123
2125{
2126 static constexpr std::string_view EventName = "ugc_map_download_error";
2128 int ErrorCode = 0;
2130};
2131
2133{
2134 static constexpr std::string_view EventName = "ugc_map_info_received";
2137};
2138
2140{
2141 static constexpr std::string_view EventName = "ugc_map_unsubscribed";
2144};
2145
2147{
2148 static constexpr std::string_view EventName = "update_matchmaking_stats";
2150};
2151
2152/** fired when achievements/stats are downloaded from Steam or XBox Live */
2154{
2155 static constexpr std::string_view EventName = "user_data_downloaded";
2157};
2158
2160{
2161 static constexpr std::string_view EventName = "vip_escaped";
2162 int Slot = -1; ///< player who was the VIP
2163 static VipEscaped From(IGameEvent& e);
2164};
2165
2167{
2168 static constexpr std::string_view EventName = "vip_killed";
2169 int Slot = -1; ///< player who was the VIP
2170 int AttackerSlot = -1; ///< user ID who killed the VIP
2171 static VipKilled From(IGameEvent& e);
2172};
2173
2175{
2176 static constexpr std::string_view EventName = "vote_cast";
2177 int VoteOption = 0; ///< which option the player voted on
2179 int Slot = -1; ///< player who voted
2180 static VoteCast From(IGameEvent& e);
2181};
2182
2184{
2185 static constexpr std::string_view EventName = "vote_cast_no";
2187 int Entityid = 0; ///< entity id of the voter
2188 static VoteCastNo From(IGameEvent& e);
2189};
2190
2192{
2193 static constexpr std::string_view EventName = "vote_cast_yes";
2195 int Entityid = 0; ///< entity id of the voter
2196 static VoteCastYes From(IGameEvent& e);
2197};
2198
2200{
2201 static constexpr std::string_view EventName = "vote_changed";
2208 static VoteChanged From(IGameEvent& e);
2209};
2210
2212{
2213 static constexpr std::string_view EventName = "vote_ended";
2214 static VoteEnded From(IGameEvent& e);
2215};
2216
2218{
2219 static constexpr std::string_view EventName = "vote_failed";
2221 static VoteFailed From(IGameEvent& e);
2222};
2223
2225{
2226 static constexpr std::string_view EventName = "vote_options";
2227 int Count = 0; ///< Number of options - up to MAX_VOTE_OPTIONS
2228 std::string Option1;
2229 std::string Option2;
2230 std::string Option3;
2231 std::string Option4;
2232 std::string Option5;
2233 static VoteOptions From(IGameEvent& e);
2234};
2235
2237{
2238 static constexpr std::string_view EventName = "vote_passed";
2239 std::string Details;
2240 std::string Param1;
2242 static VotePassed From(IGameEvent& e);
2243};
2244
2246{
2247 static constexpr std::string_view EventName = "vote_started";
2248 std::string Issue;
2249 std::string Param1;
2251 int Initiator = 0; ///< entity id of the player who initiated the vote
2252 static VoteStarted From(IGameEvent& e);
2253};
2254
2256{
2257 static constexpr std::string_view EventName = "warmup_end";
2258 static WarmupEnd From(IGameEvent& e);
2259};
2260
2262{
2263 static constexpr std::string_view EventName = "weapon_fire";
2264 int Slot = -1;
2265 std::string Weapon; ///< weapon name used
2266 bool Silenced = false; ///< is weapon silenced
2267 static WeaponFire From(IGameEvent& e);
2268};
2269
2271{
2272 static constexpr std::string_view EventName = "weapon_fire_on_empty";
2273 int Slot = -1;
2274 std::string Weapon; ///< weapon name used
2276};
2277
2279{
2280 static constexpr std::string_view EventName = "weapon_reload";
2281 int Slot = -1;
2282 static WeaponReload From(IGameEvent& e);
2283};
2284
2286{
2287 static constexpr std::string_view EventName = "weapon_zoom";
2288 int Slot = -1;
2289 static WeaponZoom From(IGameEvent& e);
2290};
2291
2293{
2294 static constexpr std::string_view EventName = "weapon_zoom_rifle";
2295 int Slot = -1;
2297};
2298
2300{
2301 static constexpr std::string_view EventName = "weaponhud_selection";
2302 int Slot = -1; ///< Player who this event applies to
2303 int Mode = 0; ///< EWeaponHudSelectionMode (switch / pickup / drop)
2304 int Entindex = 0; ///< Weapon entity index
2306};
2307
2308/** write user titledata in profile */
2310{
2311 static constexpr std::string_view EventName = "write_game_titledata";
2312 int ControllerId = 0; ///< Controller id of user
2314};
2315
2317{
2318 static constexpr std::string_view EventName = "write_profile_data";
2320};
2321
2322} // namespace VoltMod
Every entity's damage, from CBaseEntity::TakeDamageOld, and a way to deal it.
Definition Damage.hpp:80
The game's yes/no vote panel (F1/F2), with the ballots counted here.
Definition Vote.hpp:69
ErrorCode
Why an operation did not produce a value.
Definition Result.hpp:22
static std::string ReadFile(const std::filesystem::path &path)
Definition Loader.cpp:56
static AchievementEarnedLocal From(IGameEvent &e)
int Splitscreenplayer
splitscreen ID
static constexpr std::string_view EventName
int PlayerSlot
entindex of the player
static constexpr std::string_view EventName
int Achievement
achievement ID
static AchievementEarned From(IGameEvent &e)
static AchievementEvent From(IGameEvent &e)
int MaxVal
total # of steps in achievement
static constexpr std::string_view EventName
std::string AchievementName
non-localized name of achievement
static constexpr std::string_view EventName
static AchievementInfoLoaded From(IGameEvent &e)
static AchievementWriteFailed From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static AddBulletHitMarker From(IGameEvent &e)
static AddPlayerSonarIcon From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Item
either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
static constexpr std::string_view EventName
int Index
the weapon entindex
static AmmoPickup From(IGameEvent &e)
static AmmoRefill From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static AnnouncePhaseEnd From(IGameEvent &e)
static constexpr std::string_view EventName
static BeginNewMatch From(IGameEvent &e)
int Slot
player who was defusing
static constexpr std::string_view EventName
static BombAbortdefuse From(IGameEvent &e)
int Slot
player who is planting the bomb
int Site
bombsite index
static BombAbortplant From(IGameEvent &e)
static constexpr std::string_view EventName
int Entindex
c4 entity
static BombBeep From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
player who is defusing
static BombBegindefuse From(IGameEvent &e)
static constexpr std::string_view EventName
static BombBeginplant From(IGameEvent &e)
static constexpr std::string_view EventName
int Site
bombsite index
int Slot
player who is planting the bomb
int Slot
player who defused the bomb
static BombDefused From(IGameEvent &e)
static constexpr std::string_view EventName
int Site
bombsite index
int Slot
player who dropped the bomb
static constexpr std::string_view EventName
static BombDropped From(IGameEvent &e)
static BombExploded From(IGameEvent &e)
int Site
bombsite index
int Slot
player who planted the bomb
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static BombPickup From(IGameEvent &e)
static constexpr std::string_view EventName
int Site
bombsite index
static BombPlanted From(IGameEvent &e)
int Slot
player who planted the bomb
static constexpr std::string_view EventName
static BonusUpdated From(IGameEvent &e)
static BotTakeover From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static BreakBreakable From(IGameEvent &e)
int Material
BREAK_GLASS, BREAK_WOOD, etc.
static BreakProp From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
int Material
BREAK_GLASS, BREAK_WOOD, etc.
static BrokenBreakable From(IGameEvent &e)
float InaccuracyAir
air inaccuracy
int RenderTickCount
render tick
float ShootAngZ
shoot angle z
int NumPenetrations
how many surfaces were penetrated
float DamageDirZ
direction vector of the bullet
static constexpr std::string_view EventName
float InaccuracyTotal
total inaccuracy
static BulletDamage From(IGameEvent &e)
float Distance
how far the bullet travelled before it hit the player
float DamageDirY
direction vector of the bullet
float AimPunchX
aim punch x
float AimPunchZ
aim punch z
int Type
lag compensation type
float AttackTickFrac
attack frac
float ShootAngX
shoot angle x
float DamageDirX
direction vector of the bullet
bool InAir
was the shooter jumping?
float RecoilIndex
recoil index. Yes this is really a float.
int AttackerSlot
player index who attacked
float AimPunchY
aim punch y
float ShootAngY
shoot angle y
float RenderTickFrac
render frac
int AttackTickCount
attack tick
int VictimSlot
player index who was hurt
float InaccuracyMove
move inaccuracy
bool NoScope
was the shooter noscoped?
static constexpr std::string_view EventName
static BuymenuClose From(IGameEvent &e)
static constexpr std::string_view EventName
static BuymenuOpen From(IGameEvent &e)
static constexpr std::string_view EventName
static BuytimeEnded From(IGameEvent &e)
static constexpr std::string_view EventName
static CartUpdated From(IGameEvent &e)
static ChoppersIncomingWarning From(IGameEvent &e)
static constexpr std::string_view EventName
static ClientDisconnect From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static ClientLoadoutChanged From(IGameEvent &e)
static ClientsideLessonClosed From(IGameEvent &e)
static constexpr std::string_view EventName
static ClientsideReloadCustomEcon From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static CsGameDisconnected From(IGameEvent &e)
static constexpr std::string_view EventName
static CsIntermission From(IGameEvent &e)
static constexpr std::string_view EventName
static CsMatchEndRestart From(IGameEvent &e)
static CsPreRestart From(IGameEvent &e)
static constexpr std::string_view EventName
static CsPrevNextSpectator From(IGameEvent &e)
static constexpr std::string_view EventName
static CsRoundFinalBeep From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static CsRoundStartBeep From(IGameEvent &e)
static CsWinPanelMatch From(IGameEvent &e)
static constexpr std::string_view EventName
int FinalEvent
define in cs_gamerules.h
static constexpr std::string_view EventName
static CsWinPanelRound From(IGameEvent &e)
static constexpr std::string_view EventName
static DecoyDetonate From(IGameEvent &e)
static DecoyFiring From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static DecoyStarted From(IGameEvent &e)
static constexpr std::string_view EventName
static DefuserDropped From(IGameEvent &e)
int Entityid
defuser's entity ID
static DefuserPickup From(IGameEvent &e)
int Entityid
defuser's entity ID
int Slot
player who picked up the defuser
static constexpr std::string_view EventName
static DemoSkip From(IGameEvent &e)
static constexpr std::string_view EventName
int SkiptoTick
tick we're going to
int PlaybackTick
current playback tick
static constexpr std::string_view EventName
static DemoStart From(IGameEvent &e)
static DemoStop From(IGameEvent &e)
static constexpr std::string_view EventName
std::string StrDifficulty
new difficulty as string
static constexpr std::string_view EventName
static DifficultyChanged From(IGameEvent &e)
static DmBonusWeaponStart From(IGameEvent &e)
int Pos
Loadout position of the bonus weapon.
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static DoorBreak From(IGameEvent &e)
bool Checkpoint
Is the door a checkpoint door.
static DoorClose From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static DoorClosed From(IGameEvent &e)
static DoorMoving From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static DoorOpen From(IGameEvent &e)
static DroneAboveRoof From(IGameEvent &e)
static constexpr std::string_view EventName
static DroneCargoDetached From(IGameEvent &e)
static constexpr std::string_view EventName
static DroneDispatched From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static DronegunAttack From(IGameEvent &e)
static constexpr std::string_view EventName
static DropRateModified From(IGameEvent &e)
static constexpr std::string_view EventName
static DynamicShadowLightChanged From(IGameEvent &e)
int Subject
crate entindex
static DzItemInteraction From(IGameEvent &e)
int Slot
player entindex
std::string Type
type of crate (metal, wood, or paradrop)
static constexpr std::string_view EventName
static EnableRestartVoting From(IGameEvent &e)
static constexpr std::string_view EventName
static EndmatchCmmStartRevealItems From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static EndmatchMapvoteSelectingMap From(IGameEvent &e)
static constexpr std::string_view EventName
static EnterBombzone From(IGameEvent &e)
static EnterBuyzone From(IGameEvent &e)
static constexpr std::string_view EventName
static EnterRescueZone From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static EntityKilled From(IGameEvent &e)
int Subject
Entindex of the entity they see.
static EntityVisible From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
The player who sees the entity.
std::string Entityname
name of the entity they see
std::string Classname
Classname of the entity they see.
static constexpr std::string_view EventName
static EventTicketModified From(IGameEvent &e)
static ExitBombzone From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static ExitBuyzone From(IGameEvent &e)
static ExitRescueZone From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static FinaleStart From(IGameEvent &e)
static FirstbombsIncomingWarning From(IGameEvent &e)
static constexpr std::string_view EventName
int Entindex
entity ignited
static FlareIgniteNpc From(IGameEvent &e)
static constexpr std::string_view EventName
static FlashbangDetonate From(IGameEvent &e)
static constexpr std::string_view EventName
static GameEnd From(IGameEvent &e)
static constexpr std::string_view EventName
int Winner
winner team/user id
static GameInit From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Text
the message text
int Target
0 = console, 1 = HUD
static constexpr std::string_view EventName
static GameMessage From(IGameEvent &e)
static GameNewmap From(IGameEvent &e)
std::string Mapname
map name
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static GamePhaseChanged From(IGameEvent &e)
static GameStart From(IGameEvent &e)
std::string Objective
round objective
int Fraglimit
frag limit
static constexpr std::string_view EventName
int Roundslimit
max round
int Timelimit
time limit
static GameinstructorDraw From(IGameEvent &e)
static constexpr std::string_view EventName
static GameinstructorNodraw From(IGameEvent &e)
static constexpr std::string_view EventName
static GameuiHidden From(IGameEvent &e)
static constexpr std::string_view EventName
static GcConnected From(IGameEvent &e)
static constexpr std::string_view EventName
static GgKilledEnemy From(IGameEvent &e)
bool Bonus
did killer kill with a bonus weapon?
int AttackeridSlot
user ID who killed
int VictimidSlot
user ID who died
int Dominated
did killer dominate victim with this kill
static constexpr std::string_view EventName
int Revenge
did killer get revenge on victim with this kill
static GrenadeBounce From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Weapon
weapon name used
static constexpr std::string_view EventName
static GrenadeThrown From(IGameEvent &e)
static constexpr std::string_view EventName
static GuardianWaveRestart From(IGameEvent &e)
static HegrenadeDetonate From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static HelicopterGrenadePuntMiss From(IGameEvent &e)
static HideDeathpanel From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
int Slot
camera man entity index
static HltvCameraman From(IGameEvent &e)
static HltvChangedMode From(IGameEvent &e)
static constexpr std::string_view EventName
int Ineye
diretcor suggests to show ineye
int Distance
camera distance
static HltvChase From(IGameEvent &e)
int Target2Slot
secondary traget index or 0
int Phi
view angle vertical
int Inertia
camera inertia
int Target1Slot
primary traget index
int Theta
view angle horizontal
static constexpr std::string_view EventName
static HltvChat From(IGameEvent &e)
static constexpr std::string_view EventName
uint64_t SteamID
steam id
int Theta
camera angles
static constexpr std::string_view EventName
int TargetSlot
follow this player
static HltvFixed From(IGameEvent &e)
int Posx
camera position in world
static constexpr std::string_view EventName
static HltvMessage From(IGameEvent &e)
int TargetSlot
best/closest target entity
float Rank
ranking, how interesting is this camera view
static constexpr std::string_view EventName
static HltvRankCamera From(IGameEvent &e)
int Index
fixed camera index
static HltvRankEntity From(IGameEvent &e)
static constexpr std::string_view EventName
int TargetSlot
best/closest target entity
float Rank
ranking, how interesting is this entity to view
static constexpr std::string_view EventName
int Reason
reason for hltv replay status change ()
static HltvReplayStatus From(IGameEvent &e)
int Delay
number of seconds in killer replay delay
static HltvReplay From(IGameEvent &e)
int Reason
reason for replay (ReplayEventType_t)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static HltvStatus From(IGameEvent &e)
int Slots
number of HLTV slots
std::string Master
disptach master IP:port
int Proxies
number of HLTV proxies
int Clients
number of HLTV spectators
static HltvTitle From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static HltvVersioninfo From(IGameEvent &e)
static HostageCallForHelp From(IGameEvent &e)
int Hostage
hostage entity index
static constexpr std::string_view EventName
int Hostage
hostage entity index
static constexpr std::string_view EventName
static HostageFollows From(IGameEvent &e)
int Slot
player who touched the hostage
static constexpr std::string_view EventName
static HostageHurt From(IGameEvent &e)
int Slot
player who hurt the hostage
int Hostage
hostage entity index
static constexpr std::string_view EventName
static HostageKilled From(IGameEvent &e)
int Slot
player who killed the hostage
int Hostage
hostage entity index
static HostageRescuedAll From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
player who rescued the hostage
static HostageRescued From(IGameEvent &e)
int Site
rescue site index
static constexpr std::string_view EventName
int Hostage
hostage entity index
static constexpr std::string_view EventName
int Hostage
hostage entity index
int Slot
player who rescued the hostage
static HostageStopsFollowing From(IGameEvent &e)
static HostnameChanged From(IGameEvent &e)
static constexpr std::string_view EventName
static InfernoExpire From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static InfernoExtinguish From(IGameEvent &e)
static constexpr std::string_view EventName
static InfernoStartburn From(IGameEvent &e)
static constexpr std::string_view EventName
static InspectWeapon From(IGameEvent &e)
std::string HintName
Name of the lesson to start. Must match instructor_lesson.txt.
int Slot
The player who this lesson is intended for.
static constexpr std::string_view EventName
static InstructorCloseLesson From(IGameEvent &e)
std::string HintIconOffscreen
the hint icon to use when the hint is offscreen. e.g. "icon_alert"
std::string HintIconOnscreen
the hint icon to use when the hint is onscreen. e.g. "icon_alert_red"
int Slot
user ID of the player that triggered the hint
bool HintLocalPlayerOnly
if true, only the local player will see the hint
std::string HintBinding
bindings to use when use_binding is the onscreen icon
bool HintNooffscreen
if true, the hint will not show when outside the player view
int HintTarget
entity id that the hint should display at
std::string HintCaption
the hint caption. e.g. "#ThisIsDangerous"
bool HintForcecaption
if true, the hint caption will show even if the hint is occluded
std::string HintActivatorCaption
the hint caption that only the activator sees e.g. "#YouPushedItGood"
static constexpr std::string_view EventName
std::string HintGamepadBinding
gamepad bindings to use when use_binding is the onscreen icon
int HintTimeout
how long in seconds until the hint automatically times out, 0 = never
std::string HintReplaceKey
type name so that messages of the same type will replace each other
static InstructorServerHintCreate From(IGameEvent &e)
bool HintAllowNodrawTarget
if false, the hint will dissappear if the target entity is invisible
int HintActivatorUseridSlot
userid id of the activator
float HintRange
range before the hint is culled
float HintIconOffset
how far on the z axis to offset the hint from entity origin
std::string HintColor
the hint color in "r,g,b" format where each component is 0-255
std::string HintName
The hint to stop. Will stop ALL hints with this name.
static InstructorServerHintStop From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
The player who this lesson is intended for.
static InstructorStartLesson From(IGameEvent &e)
static constexpr std::string_view EventName
std::string HintName
Name of the lesson to start. Must match instructor_lesson.txt.
int HintTarget
entity id that the hint should display at. Leave empty if controller target
static InventoryUpdated From(IGameEvent &e)
static constexpr std::string_view EventName
static ItemEquip From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Item
either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
static ItemPickupFailed From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static ItemPickupSlerp From(IGameEvent &e)
std::string Item
either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
static ItemPickup From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static ItemPurchase From(IGameEvent &e)
std::string Item
either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
static constexpr std::string_view EventName
static ItemRemove From(IGameEvent &e)
static ItemSchemaInitialized From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
int Reason
0 = team_full
static JointeamFailed From(IGameEvent &e)
static LocalPlayerControllerTeam From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static LocalPlayerPawnChanged From(IGameEvent &e)
static constexpr std::string_view EventName
static LocalPlayerTeam From(IGameEvent &e)
static LootCrateOpened From(IGameEvent &e)
int Slot
player entindex
std::string Type
type of crate (metal, wood, or paradrop)
static constexpr std::string_view EventName
int Slot
player entindex
static LootCrateVisible From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Type
type of crate (metal, wood, or paradrop)
int Subject
crate entindex
static MapShutdown From(IGameEvent &e)
static constexpr std::string_view EventName
static MapTransition From(IGameEvent &e)
static constexpr std::string_view EventName
static MatchEndConditions From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static MaterialDefaultComplete From(IGameEvent &e)
static constexpr std::string_view EventName
static MbInputLockCancel From(IGameEvent &e)
static constexpr std::string_view EventName
static MbInputLockSuccess From(IGameEvent &e)
static MolotovDetonate From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static NavBlocked From(IGameEvent &e)
static constexpr std::string_view EventName
static NavGenerate From(IGameEvent &e)
static NextlevelChanged From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static OpenCrateInstr From(IGameEvent &e)
std::string Type
type of crate (metal, wood, or paradrop)
int Subject
crate entindex
int Slot
player entindex
bool Noscope
kill happened without a scope, used for death notice icon
bool Thrusmoke
hitscan weapon went through smoke grenade
std::string WeaponItemid
inventory item id of weapon killer used
std::string WeaponOriginalownerXuid
std::string Weapon
weapon name killer used
int Otherid
other entity ID who died
int Attacker
user ID who killed
static constexpr std::string_view EventName
bool Attackerblind
attacker was blind from flashbang
int Penetrated
number of objects shot penetrated before killing target
std::string WeaponFauxitemid
faux item id of weapon killer used
bool Headshot
singals a headshot
static OtherDeath From(IGameEvent &e)
std::string Othertype
other entity type
static ParachuteDeploy From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static ParachutePickup From(IGameEvent &e)
static constexpr std::string_view EventName
static PhysgunPickup From(IGameEvent &e)
static constexpr std::string_view EventName
static PlayerActivate From(IGameEvent &e)
int Slot
user ID on server
static PlayerAvengedTeammate From(IGameEvent &e)
static constexpr std::string_view EventName
int AttackerSlot
user ID who threw the flash
static PlayerBlind From(IGameEvent &e)
static constexpr std::string_view EventName
int Entityid
the flashbang going off
static PlayerChangename From(IGameEvent &e)
int Slot
user ID on server
std::string Oldname
players old (current) name
static constexpr std::string_view EventName
std::string Newname
players new name
std::string Text
chat text
static PlayerChat From(IGameEvent &e)
int Userid
chatting player
bool Teamonly
true if team only chat
static constexpr std::string_view EventName
static constexpr std::string_view EventName
int Slot
user ID on server (unique on server)
static PlayerConnectFull From(IGameEvent &e)
std::string Networkid
player network (i.e steam) id
uint64_t Xuid
steam id
static constexpr std::string_view EventName
std::string Name
player name
int Slot
user ID on server (unique on server)
static PlayerConnect From(IGameEvent &e)
int Penetrated
number of objects shot penetrated before killing target
bool Attackerinair
attacker was in midair
bool Noscope
kill happened without a scope, used for death notice icon
bool Attackerblind
attacker was blind from flashbang
std::string WeaponOriginalownerXuid
bool Thrusmoke
hitscan weapon went through smoke grenade
int Dominated
did killer dominate victim with this kill
bool Headshot
singals a headshot
int DmgHealth
damage done to health
std::string Weapon
weapon name killer used
int Slot
user who died
int Wipe
is the kill resulting in squad wipe
static PlayerDeath From(IGameEvent &e)
std::string WeaponItemid
inventory item id of weapon killer used
int AttackerSlot
player who killed
int Revenge
did killer get revenge on victim with this kill
bool Noreplay
if replay data is unavailable, this will be present and set to false
static constexpr std::string_view EventName
float Distance
distance to victim in meters
VoltMod::HitGroup Hitgroup
hitgroup that was damaged
std::string WeaponFauxitemid
faux item id of weapon killer used
int DmgArmor
damage done to armor
int AssisterSlot
player who assisted in the kill
bool Assistedflash
assister helped with a flash
static PlayerDecal From(IGameEvent &e)
static constexpr std::string_view EventName
static PlayerDisconnect From(IGameEvent &e)
int Reason
see networkdisconnect enum protobuf
std::string Networkid
player network (i.e steam) id
static constexpr std::string_view EventName
std::string Name
player name
int Slot
user ID on server
bool EverFullyConnected
Was the player ever fully connected?
static constexpr std::string_view EventName
static PlayerFalldamage From(IGameEvent &e)
static constexpr std::string_view EventName
static PlayerFootstep From(IGameEvent &e)
int Slot
user ID on server
static PlayerFullUpdate From(IGameEvent &e)
int Count
Number of this full update.
static constexpr std::string_view EventName
static PlayerGivenC4 From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
user ID who received the c4
static PlayerHintmessage From(IGameEvent &e)
std::string Hintmessage
localizable string of a hint
static constexpr std::string_view EventName
int AttackerSlot
player index who attacked
static constexpr std::string_view EventName
int Slot
player index who was hurt
static PlayerHurt From(IGameEvent &e)
int DmgArmor
damage done to armor
std::string Weapon
weapon name attacker used, if not the world
int Armor
remaining armor points
int Health
remaining health points
VoltMod::HitGroup Hitgroup
hitgroup that was damaged
int DmgHealth
damage done to health
int Slot
user ID on server (unique on server)
uint64_t Steamid
player network (i.e steam) id
static PlayerInfo From(IGameEvent &e)
static constexpr std::string_view EventName
bool Bot
true if player is a AI bot
std::string Name
player name
static PlayerJump From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static PlayerPingStop From(IGameEvent &e)
static PlayerPing From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static PlayerRadio From(IGameEvent &e)
static PlayerResetVote From(IGameEvent &e)
static constexpr std::string_view EventName
static PlayerScore From(IGameEvent &e)
int Slot
user ID on server
int Score
total game score
static constexpr std::string_view EventName
int Mode
weapon mode
static constexpr std::string_view EventName
int Slot
user ID on server
static PlayerShoot From(IGameEvent &e)
static PlayerSound From(IGameEvent &e)
static constexpr std::string_view EventName
static PlayerSpawn From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static PlayerSpawned From(IGameEvent &e)
bool Inrestart
true if restart is pending
static PlayerStatsUpdated From(IGameEvent &e)
static constexpr std::string_view EventName
bool Isbot
true if player is a bot
static PlayerTeam From(IGameEvent &e)
bool Disconnect
team change because player disconnects
VoltMod::Team Oldteam
old team id
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static RagdollDissolved From(IGameEvent &e)
static constexpr std::string_view EventName
static ReadGameTitledata From(IGameEvent &e)
int ControllerId
Controller id of user.
static constexpr std::string_view EventName
int Splitscreenplayer
splitscreen ID
static RepostXboxAchievements From(IGameEvent &e)
static constexpr std::string_view EventName
static ResetGameTitledata From(IGameEvent &e)
int ControllerId
Controller id of user.
static constexpr std::string_view EventName
static RoundAnnounceFinal From(IGameEvent &e)
static RoundAnnounceLastRoundHalf From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundAnnounceMatchPoint From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundAnnounceMatchStart From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundAnnounceWarmup From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundEndUploadStats From(IGameEvent &e)
static constexpr std::string_view EventName
int Winner
winner team/user i
static constexpr std::string_view EventName
static RoundEnd From(IGameEvent &e)
std::string Message
end round message
int Nomusic
if set, don't play round end music, because action is still on-going
int Reason
reson why team won
int Legacy
server-generated legacy value
static RoundFreezeEnd From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundMvp From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static RoundOfficiallyEnded From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundPoststart From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundPrestart From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundStartPostNav From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundStartPreEntity From(IGameEvent &e)
std::string Objective
round objective
int Timelimit
round time limit in seconds
static constexpr std::string_view EventName
int Fraglimit
frag limit in seconds
static RoundStart From(IGameEvent &e)
static constexpr std::string_view EventName
static RoundTimeWarning From(IGameEvent &e)
static constexpr std::string_view EventName
static SeasoncoinLevelup From(IGameEvent &e)
std::string Cvarname
cvar name, eg "mp_roundtime"
static ServerCvar From(IGameEvent &e)
std::string Cvarvalue
new cvar value
static constexpr std::string_view EventName
static ServerMessage From(IGameEvent &e)
static constexpr std::string_view EventName
std::string Text
the message text
std::string Reason
reason why server is about to be shut down
static constexpr std::string_view EventName
static ServerPreShutdown From(IGameEvent &e)
static constexpr std::string_view EventName
static ServerShutdown From(IGameEvent &e)
std::string Reason
reason why server was shut down
std::string Addonname
addon name
static constexpr std::string_view EventName
std::string Mapname
map name
bool Password
true if password protected
std::string Os
WIN32, LINUX.
std::string Game
game dir
std::string Hostname
public host name
int Port
server port
static ServerSpawn From(IGameEvent &e)
std::string Address
hostame, IP or DNS name
bool Dedicated
true if dedicated server
int Maxplayers
max players
static constexpr std::string_view EventName
static SetInstructorGroupEnabled From(IGameEvent &e)
static Sfuievent From(IGameEvent &e)
static constexpr std::string_view EventName
int VictimSlot
endindex of the one who was killed
static ShowDeathpanel From(IGameEvent &e)
static constexpr std::string_view EventName
static ShowSurvivalRespawnStatus From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static SilencerDetach From(IGameEvent &e)
static constexpr std::string_view EventName
static SilencerOff From(IGameEvent &e)
static SilencerOn From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static SmokeBeaconParadrop From(IGameEvent &e)
static SmokegrenadeDetonate From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static SmokegrenadeExpired From(IGameEvent &e)
int Slot
entindex of the player
static constexpr std::string_view EventName
static SpecModeUpdated From(IGameEvent &e)
static constexpr std::string_view EventName
static SpecTargetUpdated From(IGameEvent &e)
int Slot
spectating player
static StartHalftime From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static StartVote From(IGameEvent &e)
static StorePricesheetUpdated From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static SurvivalAnnouncePhase From(IGameEvent &e)
static constexpr std::string_view EventName
static SurvivalNoRespawnsFinal From(IGameEvent &e)
static constexpr std::string_view EventName
static SurvivalNoRespawnsWarning From(IGameEvent &e)
static constexpr std::string_view EventName
static SurvivalParadropBreak From(IGameEvent &e)
static constexpr std::string_view EventName
static SurvivalParadropSpawn From(IGameEvent &e)
static SurvivalTeammateRespawn From(IGameEvent &e)
static constexpr std::string_view EventName
static SwitchTeam From(IGameEvent &e)
static constexpr std::string_view EventName
int AvgRank
average rank of human players
int NumPlayers
number of active players on both T and CT
int NumSpectators
number of spectators
static constexpr std::string_view EventName
static TagrenadeDetonate From(IGameEvent &e)
std::string Teamname
team name eg "Team Blue"
static TeamInfo From(IGameEvent &e)
int Teamid
unique team id
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static TeamIntroEnd From(IGameEvent &e)
static TeamIntroStart From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static TeamScore From(IGameEvent &e)
int Score
total team score
static TeamchangePending From(IGameEvent &e)
static constexpr std::string_view EventName
static TeamplayBroadcastAudio From(IGameEvent &e)
std::string Sound
name of the sound to emit
static constexpr std::string_view EventName
bool FullReset
is this a full reset of the map
static TeamplayRoundStart From(IGameEvent &e)
static constexpr std::string_view EventName
static TournamentReward From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
player whose time has expired
static TrialTimeExpired From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static UgcFileDownloadFinished From(IGameEvent &e)
uint64_t Hcontent
id of this specific content (may be image or map)
static UgcFileDownloadStart From(IGameEvent &e)
uint64_t PublishedFileId
id of the associated content package
uint64_t Hcontent
id of this specific content (may be image or map)
static constexpr std::string_view EventName
static UgcMapDownloadError From(IGameEvent &e)
static constexpr std::string_view EventName
static UgcMapInfoReceived From(IGameEvent &e)
static constexpr std::string_view EventName
static UgcMapUnsubscribed From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static UpdateMatchmakingStats From(IGameEvent &e)
static UserDataDownloaded From(IGameEvent &e)
static constexpr std::string_view EventName
int Slot
player who was the VIP
static constexpr std::string_view EventName
static VipEscaped From(IGameEvent &e)
int AttackerSlot
user ID who killed the VIP
int Slot
player who was the VIP
static constexpr std::string_view EventName
static VipKilled From(IGameEvent &e)
int Entityid
entity id of the voter
static VoteCastNo From(IGameEvent &e)
static constexpr std::string_view EventName
int Entityid
entity id of the voter
static VoteCastYes From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static VoteCast From(IGameEvent &e)
int Slot
player who voted
int VoteOption
which option the player voted on
static VoteChanged From(IGameEvent &e)
static constexpr std::string_view EventName
static VoteEnded From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static VoteFailed From(IGameEvent &e)
int Count
Number of options - up to MAX_VOTE_OPTIONS.
static constexpr std::string_view EventName
static VoteOptions From(IGameEvent &e)
static constexpr std::string_view EventName
static VotePassed From(IGameEvent &e)
static VoteStarted From(IGameEvent &e)
int Initiator
entity id of the player who initiated the vote
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static WarmupEnd From(IGameEvent &e)
static constexpr std::string_view EventName
static WeaponFireOnEmpty From(IGameEvent &e)
std::string Weapon
weapon name used
static WeaponFire From(IGameEvent &e)
static constexpr std::string_view EventName
bool Silenced
is weapon silenced
std::string Weapon
weapon name used
static WeaponReload From(IGameEvent &e)
static constexpr std::string_view EventName
static constexpr std::string_view EventName
static WeaponZoomRifle From(IGameEvent &e)
static WeaponZoom From(IGameEvent &e)
static constexpr std::string_view EventName
int Entindex
Weapon entity index.
static WeaponhudSelection From(IGameEvent &e)
int Slot
Player who this event applies to.
int Mode
EWeaponHudSelectionMode (switch / pickup / drop)
static constexpr std::string_view EventName
static WriteGameTitledata From(IGameEvent &e)
static constexpr std::string_view EventName
int ControllerId
Controller id of user.
static WriteProfileData From(IGameEvent &e)
static constexpr std::string_view EventName