-
Notifications
You must be signed in to change notification settings - Fork 5
/
SEP2.fgd
5857 lines (5851 loc) · 458 KB
/
SEP2.fgd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//To install this FGD:
//1. Open Hammer.
//2. Click 'Tools'.
//3. Click 'Options'.
//4. Select the files in the 'Game Data files' window and press 'Remove' to remove it from Hammer (the files will still exist on your computer, so you can put them back at any time).
//5. Click 'Add' and browse to this file's location on your computer.
//Submit queries here: https://github.com/Pinsplash/SEFGD Even if you just have a question, it may help me improve this FGD.
//Wanna help me out? Search "TODO:" in this file.
//Derivatives are allowed to be made and distributed.
@mapsize(-16384, 16384)
@MaterialExclusion //Texture folders to not load. You can remove everything from this list if you want, but you probably won't ever use these, they'll make more clutter in Hammer's texture browser, and you'll probably be better off making your own brush/sprite/whatever-friendly versions of them anyway.
[
"animated_wallpanels"
"backpack"
"br_debris"
"console"
"debug"
// "detail" //detail sprites. doesn't seem to break anything if excluded but I can see it happening
// "editor" //can't exclude editor because editor/wireframe is needed by Hammer itself
"engine"
"hud"
"logo"
"paint"
"paintblobs"
// "particle" //not excluded since some entity defaults use textures in here
"skybox" //skies. trust me, it's easier to view them on VDC
"traincar_interior" //Super 8 teaser
// "vgui" //vgui_slideshow_display uses this folder
"voice"
]
@AutoVisGroup = "Custom" //Custom visgroups under the auto tab
[
"AI"
[
"ai_relationship"
"npc_bullseye"
]
"Gameplay Helpers"// color(0 255 0)
[
"func_noportal_volume"
"func_portal_bumper"
"func_portal_orientation"
"info_placement_helper"
"linked_portal_door"
"logic_autosave"
"player_loadsaved"
"prop_indicator_panel"
"trigger_autosave"
"trigger_hurt"
]
"Interactive things"
[
"func_breakable"
"func_breakable_surf"
"func_button"
"func_door"
"func_door_rotating"
"func_fish_pool"
"func_guntarget"
"func_rot_button"
"func_weight_button"
"momentary_rot_button"
"prop_door_rotating"
]
"Lighting & Light FX"// color(160 240 37)
[
"env_lightglow"
"env_particlelight"
"env_projectedtexture"
"env_tonemap_controller"
"info_lighting"
"info_no_dynamic_shadow"
"light"
"light_directional"
"light_dynamic"
"light_environment"
"light_spot"
"point_spotlight"
"shadow_control"
"sunlight_shadow_control"
]
"Logic"// color(248 155 0)
[
"ai_script_conditions"
"env_entity_maker"
"env_firesensor"
"env_firesource"
"env_global"
"env_player_surface_trigger"
"filter_activator_class"
"filter_activator_context"
"filter_activator_mass_greater"
"filter_activator_model"
"filter_activator_name"
"filter_activator_team"
"filter_damage_type"
"filter_enemy"
"filter_multi"
"filter_player_held"
"func_portal_detector"
"func_portalled"
"game_ui"
"info_game_event_proxy"
"info_landmark"
"info_landmark_entry"
"info_landmark_exit"
"info_player_ping_detector"
"logic_achievement"
"logic_auto"
"logic_branch"
"logic_branch_listener"
"logic_case"
"logic_compare"
"logic_coop_manager"
"logic_eventlistener"
"logic_multicompare"
"logic_playerproxy"
"logic_random_outputs"
"logic_register_activator"
"logic_relay"
"logic_script"
"logic_timer"
"math_colorblend"
"math_counter"
"math_remap"
"npc_enemyfinder"
"point_anglesensor"
"point_angularvelocitysensor"
"point_broadcastclientcommand"
"point_changelevel"
"point_clientcommand"
"point_entity_finder"
"point_proximity_sensor"
"point_servercommand"
"point_template"
"point_velocitysensor"
"trigger_hierarchy"
"trigger_look"
"trigger_multiple"
"trigger_once"
"trigger_ping_detector"
"trigger_playerteam"
"trigger_proximity"
]
"Misc"
[
"env_entity_dissolver"
"env_entity_igniter"
"env_portal_path_track"
"func_brush"
"func_instance"
"func_instance_io_proxy"
"func_instance_origin"
"func_instance_parms"
"func_proprrespawnzone"
"func_tank"
"func_wall"
"func_wall_toggle"
"hammer_updateignorelist"
"info_null"
"info_target"
"info_target_instructor_hint"
"info_teleport_destination"
"path_corner"
"path_track"
"point_devshot_camera"
"point_enable_motion_fixup"
"point_futbol_shooter"
"point_playermoveconstraint"
"point_teleport"
"prop_exploding_futbol"
"trigger_changelevel"
"trigger_physics_trap"
"trigger_playermovement"
"trigger_remove"
"trigger_teleport"
"trigger_transition"
"trigger_weapon_strip"
]
"Moving things"
[
"func_button"
"func_door"
"func_door_rotating"
"func_guntarget"
"func_movelinear"
"func_platrot"
"func_physbox"
"func_physbox_multiplayer"
"func_rot_button"
"func_rotating"
"func_tanktrain"
"func_trackautochange"
"func_trackchange"
"func_tracktrain"
"func_train"
"func_water_analog"
"momentary_rot_button"
"prop_door_rotating"
"prop_physics"
"prop_physics_multiplayer"
"prop_physics_override"
"prop_physics_paintable"
"prop_physics_respawnable"
"prop_ragdoll"
"prop_sphere"
]
"Optimization"// color(0 180 0)
[
"env_detail_controller"
"func_areaportal"
"func_areaportalwindow"
"func_detail"
"func_lod"
"func_occluder"
"func_viscluster"
"game_gib_manager"
"game_weapon_manager"
]
"Physics"// color(255 0 255)
[
"env_physexplosion"
"env_physimpact"
"env_wind"
"func_clip_vphysics"
"func_conveyor"
"func_physbox"
"func_physbox_multiplayer"
"func_weight_button"
"info_constraint_anchor"
"info_mass_center"
"logic_collision_pair"
"logic_measure_movement"
"phys_ballsocket"
"phys_constraint"
"phys_constraintsystem"
"phys_convert"
"phys_hinge"
"phys_keepupright"
"phys_lengthconstraint"
"phys_magnet"
"phys_motor"
"phys_pulleyconstraint"
"phys_ragdollconstraint"
"phys_slideconstraint"
"phys_spring"
"phys_thruster"
"phys_torque"
"physics_cannister"
"physics_prop_statue"
"point_push"
"prop_physics"
"prop_physics_multiplayer"
"prop_physics_override"
"prop_physics_paintable"
"prop_physics_respawnable"
"prop_ragdoll"
"prop_sphere"
"target_changegravity"
"trigger_gravity"
"trigger_impact"
"trigger_push"
"trigger_vphysics_motion"
"trigger_wind"
]
"Player Spawns"
[
"info_coop_spawn"
"info_player_start"
]
"Scripting"// color(0 255 255)
[
"ai_npc_eventresponsesystem"
"env_explosion"
"env_fade"
"env_portal_credits"
"env_speaker"
"logic_choreographed_scene"
"logic_playmovie"
"logic_timescale"
"player_speedmod"
"player_weaponstrip"
"point_hurt"
"point_viewcontrol"
"point_viewcontrol_multiplayer"
"point_viewproxy"
"prop_vehicle_choreo_generic"
"scripted_sequence"
"skybox_swapper"
"vehicle_viewcontroller"
]
"Sound"// color(0 0 255)
[
"ambient_generic"
"env_microphone"
"env_soundscape"
"env_soundscape_proxy"
"env_soundscape_triggerable"
"trigger_soundscape"
]
"Test Elements"// color(0 255 0)
[
"env_portal_laser"
"futbol_catcher"
"hot_potato"
"hot_potato_catcher"
"hot_potato_spawner"
"info_paint_sprayer"
"npc_portal_turret_floor"
"npc_security_camera"
"paint_sphere"
"point_energy_ball_launcher"
"point_laser_target"
"prop_button"
"prop_floor_ball_button"
"prop_floor_button"
"prop_floor_cube_button"
"prop_glass_futbol"
"prop_laser_catcher"
"prop_laser_relay"
"prop_monster_box"
"prop_paint_bomb"
"prop_portal"
"prop_testchamber_door"
"prop_tractor_beam"
"prop_under_button"
"prop_under_floor_button"
"prop_wall_projector"
"prop_weighted_cube"
"trigger_catapult"
"trigger_paint_cleanser"
"trigger_portal_cleanser"
"weapon_portalgun"
]
"Visual"// color(255 203 11)
[
"beam_spotlight"
"color_correction"
"cycler"
"env_ambient_light"
"env_ar2explosion"
"env_beam"
"env_blood"
"env_bubbles"
"env_citadel_energy_core"
"env_cubemap"
"env_dustpuff"
"env_dusttrail"
"env_embers"
"env_fire"
"env_fire_trail"
"env_fog_controller"
"env_funnel"
"env_gunfire"
"env_instructor_hint"
"env_laser"
"env_lightrail_endpoint"
"env_screenoverlay"
"env_shake"
"env_shooter"
"env_smokestack"
"env_smoketrail"
"env_spark"
"env_splash"
"env_sporeexplosion"
"env_sprite"
"env_sprite_clientside"
"env_sprite_oriented"
"env_spritetrail"
"env_steam"
"env_sun"
"env_texturetoggle"
"env_viewpunch"
"env_zoom"
"fog_volume"
"func_detail_blocker"
"func_dustcloud"
"func_dustmotes"
"func_fish_pool"
"func_illusionary"
"func_monitor"
"func_smokevolume"
"game_text"
"info_camera_link"
"info_overlay"
"info_overlay_transition"
"info_particle_system"
"info_projecteddecal"
"infodecal"
"keyframe_rope"
"material_modify_control"
"move_rope"
"point_camera"
"point_message"
"point_posecontroller"
"point_tesla"
"prop_detail"
"prop_dynamic"
"prop_dynamic_ornament"
"prop_dynamic_override"
"prop_static"
"script_intro"
"sky_camera"
"spark_shower"
"trigger_tonemap"
"vgui_movie_display"
"vgui_neurotoxin_countdown"
"vgui_screen"
"vgui_slideshow_display"
]
]
//SE BASE SPECIAL CLASSES
@BaseClass = Angles
[
angles(angle) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "This entity's orientation in the world. Pitch is rotation around the object's Y axis (looking up or down), yaw is rotation around the object's Z axis (looking left and right), roll is rotation around the object's X axis (similar to a person doing cartwheels)."
input SetLocalAngles(string) : "Sets Pitch Yaw Roll."
]
@BaseClass = DamageFilter
[
damagefilter(filterclass) : "Damage Filter Name" : : "When this entity receives damage, it will filter by this entity."
input SetDamageFilter(target_destination) : "Sets Damage Filter."
]
@BaseClass = EnableDisable
[
StartDisabled(boolean) : "Start Disabled" : 0 : "Stay inactive until Enabled."
input Enable(void) : "Makes the entity active."
input Disable(void) : "Makes the entity inactive."
]
@BaseClass = FadeKeys
[
fademindist(float) : "Start Fade Distance" : -1 : "Distance at which the entity starts fading. If less than 0, the entity will disappear instantly when the End Fade Distance is hit. The value will scale appropriately if the entity is in a 3D Skybox."
fademaxdist(float) : "End Fade Distance" : 0 : "Distance at which the entity ends fading. If less than 0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox."
]
//Many entities force a particular model, so keeping this in CBaseAnimating wouldn't be the most intuitive...
@BaseClass = Model
[
model(studio) : "World Model" : : "A path to a .mdl."
]
@BaseClass = Origin
[
origin(origin) : "Origin (X Y Z)" : : "The point in the world that acts as sort of center of the entity. Rotating entities typically rotate around their origin. Changing the origin with AddOutput or SetLocalOrigin usually results in the entity moving."
]
@BaseClass = Parent
[
parentname(target_destination) : "Parent" : : "Specifies a movement parent. An entity with a parent will be forced to maintain its current position relative to the specified entity. Child entities cannot be moved in any other way and will intersect with other solid objects if they must. Parented entities will forward Use inputs to their parent.\n" +
"An attachment point for this entity to follow can be specified by putting its name after the parent entity's name, separated by a comma. View attachment points ingame with ent_attachments.\n" +
"Entities which aren't intended to be parented may not function correctly. phys_constraint can be used as an alternative to parenting."
input SetParent(target_destination) : "Sets Parent."
input SetParentAttachment(string) : "Teleports this entity to a specific attachment point on its Parent and moves identically to that attachment point."
input SetParentAttachmentMaintainOffset(string) : "Same as SetParentAttachment, but the entity is not teleported and instead keeps its current position and angles, until the attachment moves."
input ClearParent(void) : "Sets the Parent keyvalue to be blank, removing this entity from any hierarchy."
]
@BaseClass = Reflection
[
drawinfastreflection(boolean) : "Render in Fast Reflections" : 1 : "Makes the entity be rendered in reflections from water materials using $reflectonlymarkedentities."
input EnableDrawInFastReflection(void) : "Sets Render in Fast Reflections to true."
input DisableDrawInFastReflection(void) : "Sets Render in Fast Reflections to false."
]
@BaseClass = RenderMode
[
rendermode(choices) : "Render Mode" : 0 : "A special rendering mode to use on this entity. (https://developer.valvesoftware.com/wiki/Render_Modes)" =
[
0 : "Normal"
1 : "Color"
2 : "Texture"
3 : "Glow"
4 : "Solid/Alphatest"
5 : "Additive"
7 : "Additive Fractional Frame"
8 : "Alpha Add"
9 : "World Space Glow"
10 : "Don't Render"
]
]
@BaseClass = RenderAmount
[
renderamt(integer) : "Render Amount/Transparency" : 255 : "Transparency amount. Requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible."
input Alpha(integer) : "Sets Render Amount/Transparency."
]
@BaseClass = RenderColor
[
rendercolor(color255) : "Render Color (R G B)" : "255 255 255" : "Color channel filter to add to this entity's texture(s)."
input Color(color255) : "Sets Render Color."
]
@BaseClass base(RenderAmount,RenderColor) = RenderAlphaColor
[
]
@BaseClass base(RenderMode,RenderAmount,RenderColor) = RenderFields
[
]
@BaseClass = Skin
[
skin(integer) : "Skin" : 0 : "Some models have multiple skins. This value selects from the index, starting with 0."
input Skin(integer) : "Sets Skin."
]
@BaseClass = SystemLevel
[
mincpulevel(choices) : "Minimum CPU Level" : 1 : "A user with the 'effect detail' setting below this level will not see this object." =
[
1 : "Low"
2 : "Medium"
3 : "High"
]
maxcpulevel(choices) : "Maximum CPU Level" : 3 : "A user with the 'effect detail' setting above this level will not see this object." =
[
1 : "Low"
2 : "Medium"
3 : "High"
]
mingpulevel(choices) : "Minimum GPU Level" : 1 : "A user with the 'shader detail' setting below this level will not see this object." =
[
1 : "Low"
2 : "Medium"
3 : "High"
4 : "Very High"
]
maxgpulevel(choices) : "Maximum GPU Level" : 4 : "A user with the 'shader detail' setting above this level will not see this object." =
[
1 : "Low"
2 : "Medium"
3 : "High"
4 : "Very High"
]
]
@BaseClass = Toggle
[
input Toggle(void) : "If on, turn off. If off, turn on."
]
//I don't want these on doors.
@BaseClass = DynamicPropAnimations
[
DefaultAnim(string) : "Default Animation" : : "The animation this prop will play when not doing a random or forced animation."
RandomAnimation(boolean) : "Randomly Animate" : 0 : "Makes the prop randomly select and play animations at intervals defined by the Min/Max Random Anim Time keyvalues. In between the random animations, it will revert to playing the Default Animation."
MinAnimTime(float) : "Min Random Anim Time" : : "Minimum time between random animations."
MaxAnimTime(float) : "Max Random Anim Time" : : "Maximum time between random animations."
HoldAnimation(boolean) : "Hold Animation" : 0 : "If set, the prop will not loop its animation, but hold the last frame."
input SetAnimation(string) : "Forces the prop to play the specified animation."
input SetDefaultAnimation(string) : "Sets Default Animation."
input SetPlaybackRate(float) : "Sets the framerate at which animations are played."
output OnAnimationBegun(void) : "Fired when an animation begins."
output OnAnimationDone(void) : "Fired when an animation finishes."
]
@BaseClass base(Reflection,Parent,RenderAmount,RenderMode) = VisibleBrush
[
_minlight(float) : "Minimum Light" : 0 : "Minimum amount of light to hit this brush. 0 is none, 1 is 'fullbright'. Useful because the lightmaps will not update as the entity moves."
disableflashlight(boolean) : "Disable Flashlight" : 0 : "Adds EF_NOFLASHLIGHT to this entity. (No shadows cast when lit by env_projectedtexture.)"
shadowdepthnocache(choices) : "Projected Texture Cache" : 0 : "Tells env_projectedtextures if this object's shadow needs to be updated every frame, or if it's static and the data for it can be cached (thereby saving some resources)." =
[
0 : "Default"
1 : "No cache - render every frame (adds EF_SHADOWDEPTH_NOCACHE)"
2 : "Cache it - render only once"
]
vrad_brush_cast_shadows(choices) : "Static Shadow" : 0 : "Determines if this entity will cast a static shadow." =
[
0 : "No static shadow"
1 : "Cast static shadow"
]
CollisionGroup(choices) : "Collision Group" : 0 : "Sometimes, prop_door_rotating will incorrectly think a brush entity blocks it from opening or closing. Before using this keyvalue, you should try to move the brush away from the door. If that's not possible, make the brush into two entities with this piece being a small sliver close to the door and set this keyvalue to Debris. Some things will be able to move through this brush entity, so try to keep it as small as possible. The door should only require you to make the sliver 8 units wide at most." =
[
0 : "Normal"
1 : "Debris"
]
input EnableDraw(void) : "Removes EF_NODRAW from the entity."
input DisableDraw(void) : "Applies EF_NODRAW to the entity. Note that this is different than Render Mode 10."
input RemovePaint(void) : "Removes gel."
]
//SE BASE CLASSES
@BaseClass = CBaseEntity
[
targetname(target_source) : "Name" : : "The name that other entities refer to this entity by. TIP: avoid naming an entity the same thing as any classname to avoid issues with code that tries searching by targetname *and* classname."
globalname(string) : "Global Entity Name" : : "Name by which this entity is linked to another entity in the map. When a new round begins, entities in the next round with Global Entity Names matching entities in the previous will copy the previous entity's state. TODO: Describe what this is useful for, especially in multiplayer..."
hammerid(integer) : "Hammer ID" : : "An ID (usually) automatically assigned to this entity by Hammer. Used by some debugging commands, such as ent_keyvalue. Entities spawned at run-time are not assigned any Hammer ID."
vscripts(scriptlist) : "Entity Scripts" : : "VScript files the entity should execute after the world has completely loaded and all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions."
thinkfunction(string) : "Script think function" : : "Name of a function in this entity's scripts which will be called automatically ten times a second for the duration of the script. It can be used to create timers or to simulate autonomous behavior. The return value (if present) will set the time until the next call. Expensive operations in this function can cause performance problems."
ResponseContext(string) : "Response Contexts" : : "Pre-defined response system contexts for this entity. https://developer.valvesoftware.com/wiki/Response_System Usually only NPCs respond this, but any entity can make use of it with filter_activator_context. Format is key:value,key:value,..."
input Kill(void) : "Removes this entity and any entities parented to it from the world."
input KillHierarchy(void) : "Functions the same as Kill, although this entity and any entities parented to it are killed on the same frame. TODO: Cases where this is needed?"
input AddOutput(string) : "Changes a keyvalue or adds an I/O connection on this entity. Not all keyvalues will work with this input as they require special handling.\n" +
"Keyvalue format: <key> <value>\n" +
"IO format: <output name> <targetname>:<input name>:<parameter>:<delay>:<fire once>\n" +
"The parameter can be left blank, but do not omit either ':' surrounding it or the game will think the delay is the parameter! <fire once> is whether the IO event can be fired again. Put 0 to allow infinite refires, put 1 to make it only fire once ever."
input FireUser1(string) : "Fires the OnUser1 output. Bug: These inputs can pass a string parameter, but do nothing with it. If the input is sent from an output that automatically passes a non-string parameter (such as OnLessThan from logic_compare) the input will fail to send because the parameters types are incompatible. To work around this, place any placeholder text in the parameter box."
input FireUser2(string) : "Fires the OnUser2 output."
input FireUser3(string) : "Fires the OnUser3 output."
input FireUser4(string) : "Fires the OnUser4 output."
input RunScriptFile(script) : "Executes a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity."
input RunScriptCode(string) : "Executes a VScript function in the scope of the entity receiving the input. String quotation may be needed when fired via console. Never try to pass string parameters to a script function with this input. It will minorly corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor."
input SetLocalOrigin(string) : "Sends this entity to a spot in the map if not parented to anything. If the entity is parented to something, it will be offset from the parent by this amount."
input AddContext(string) : "Adds to the entity's list of Response Contexts. Format is key:value,key:value,..."
input RemoveContext(string) : "Removes a context from this entity's list. The name should match the key of an existing context."
input ClearContext(void) : "Removes all contexts from this entity's list."
output OnUser1(void) : "Fires in response to the FireUser1 input."
output OnUser2(void) : "Fires in response to the FireUser2 input."
output OnUser3(void) : "Fires in response to the FireUser3 input."
output OnUser4(void) : "Fires in response to the FireUser4 input."
]
@BaseClass base(CBaseEntity,Parent,Angles,FadeKeys,RenderFields,SystemLevel,Reflection) = CBaseAnimating
[
body(integer) : "Body Group" : 0 : "Sets the the active $bodygroup."
playbackrate(float) : "Playback Rate" : : "A multiplier of the speed at which the current animation will be played, negative values are accepted. The model will go back to its regular animation speed once its current one finishes."
cycle(float) : "Cycle" : : "How far along the model is through playing its current animation, as a range from 0-1. This can be changed with AddOutput."
LightingOrigin(target_destination) : "Lighting Origin" : : "An entity from which to sample lighting instead of the entity's origin. It cannot be any internal entity, including info_lighting."
fadescale(float) : "Fade Scale" : 1 : "If specified in the worldspawn, or if the game is running below DirectX 8, entities will fade out even if the Start/End Fade Distance keyvalues aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out farther away, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also $noforcedfade."
modelscale(float) : "Model Scale" : 1 : "A multiplier for the size of the model. Negative values are accepted. Does not scale the individual pieces that make up physics meshes, but will scale the distances between them."
SuppressAnimSounds(boolean) : "No Animation Sounds" : 0 : "Silences sounds linked to animations."
shadowdepthnocache(choices) : "Projected Texture Cache" : 0 : "Tells env_projectedtextures if this object's shadow needs to be updated every frame, or if it's static and the data for it can be cached (thereby saving some resources)." =
[
0 : "Default"
1 : "No cache - render every frame (adds EF_SHADOWDEPTH_NOCACHE)"
2 : "Cache it - render only once"
]
disableflashlight(boolean) : "Disable Flashlight" : 0 : "Adds EF_NOFLASHLIGHT to this entity. (No shadows cast when lit by env_projectedtexture.)"
input SetBodyGroup(integer) : "Sets the Body Group keyvalue."
input Ignite(void) : "Makes the entity catch on fire indefinitely."
input IgniteLifetime(float) : "Makes the entity catch on fire for a given amount of time."
input BecomeRagdoll(void) : "Kills the entity and creates a client-side ragdoll from the model. The model must have $collisionjoints, otherwise it may cause bugs. See also: phys_convert."
input SetLightingOrigin(target_destination) : "Sets Lighting Origin."
input EnableDamageForces(void) : "Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done)."
input DisableDamageForces(void) : "Prevents the entity from being pushed by damage done to it."
input EnableShadow(void) : "Adds _rt_shadows shadows to the entity."
input DisableShadow(void) : "Removes _rt_shadows shadows from the entity."
input EnableDraw(void) : "Removes EF_NODRAW from the entity."
input DisableDraw(void) : "Applies EF_NODRAW to the entity. Note that this is different than Render Mode 10."
input EnableReceivingFlashlight(void) : "Makes it so that the entity is lit by env_projectedtextures."
input DisableReceivingFlashlight(void) : "Prevents the entity from being lit by env_projectedtextures. The shadow made by the projected texture will still cast."
output OnIgnite(void) : "Fired when the entity catches fire, such as from an env_entity_igniter or the Ignite inputs."
output OnFizzled(void) : "Fired when this entity is fizzled by a fizzler or any other means."
]
@BaseClass base(CBaseEntity,VisibleBrush,DamageFilter,Origin) = CBaseButton
[
spawnflags(flags) =
[
1 : "Don't move" : 0
32 : "Toggle - Button can be sent back to its original position at any time. Otherwise, only when Delay Before Reset is over." : 0
256 : "Touch Activates - OnPressed fires when players physically bump into the button." : 0
512 : "Damage Activates - OnPressed fires when the entity is hit. Does not affect OnDamaged." : 0
1024 : "Use Activates - OnPressed fires when the entity is +used." : 1
2048 : "Starts locked" : 0
]
speed(integer) : "Speed" : : "The speed that the button moves, in units per second or degrees per second if rotating."
wait(integer) : "Delay Before Reset (-1 stay)" : : "Amount of time in seconds after the button has moved to the pressed position before it returns to the starting position. Once it has returned, it can be used again. If the value is set to -1, the button never returns."
sounds(choices) : "Press Sound 1" : 0 : "Sound to play when pressed and unlocked." =
[
0 : "None"
2 : "Access denied 1"
8 : "Access denied 2"
10 : "Access denied 3"
11 : "Access denied 4"
3 : "Access granted"
9 : "Beep 1"
15 : "Beep 2"
16 : "Beep 3"
17 : "Beep 4"
18 : "Beep 5"
19 : "Beep 6"
34 : "Beep 7"
40 : "Combine lock 1"
41 : "Combine lock 2"
42 : "Combine lock 3"
43 : "Combine lock 4"
45 : "Combine lock 5"
47 : "Combine lock 6"
12 : "Door locked"
13 : "Door opened"
1 : "Light hum"
5 : "Machine 1"
6 : "Machine 2"
4 : "Moving parts 1"
21 : "Moving parts 2"
22 : "Moving parts 3"
23 : "Moving parts 4"
24 : "Moving parts 5"
25 : "Moving parts 6"
26 : "Moving parts 7"
27 : "Moving parts 8"
28 : "Moving parts 9"
]
unlocked_sound(choices) : "Press Sound 2" : 0 : "Sound played when the button is pressed while unlocked. If set, the sound that plays alternates between this and Press Sound 1, even if the first one is set to None." =
[
0 : "None"
2 : "Access denied 1"
8 : "Access denied 2"
10 : "Access denied 3"
11 : "Access denied 4"
3 : "Access granted"
9 : "Beep 1"
15 : "Beep 2"
16 : "Beep 3"
17 : "Beep 4"
18 : "Beep 5"
19 : "Beep 6"
34 : "Beep 7"
40 : "Combine lock 1"
41 : "Combine lock 2"
42 : "Combine lock 3"
43 : "Combine lock 4"
45 : "Combine lock 5"
47 : "Combine lock 6"
12 : "Door locked"
13 : "Door opened"
1 : "Light hum"
5 : "Machine 1"
6 : "Machine 2"
4 : "Moving parts 1"
21 : "Moving parts 2"
22 : "Moving parts 3"
23 : "Moving parts 4"
24 : "Moving parts 5"
25 : "Moving parts 6"
26 : "Moving parts 7"
27 : "Moving parts 8"
28 : "Moving parts 9"
]
locked_sound(choices) : "Locked Sound" : 2 : "Sound played when the player tries to use the button, and fails because it's locked." =
[
0 : "None"
2 : "Access denied 1"
8 : "Access denied 2"
10 : "Access denied 3"
11 : "Access denied 4"
3 : "Access granted"
9 : "Beep 1"
15 : "Beep 2"
16 : "Beep 3"
17 : "Beep 4"
18 : "Beep 5"
19 : "Beep 6"
34 : "Beep 7"
40 : "Combine lock 1"
41 : "Combine lock 2"
42 : "Combine lock 3"
43 : "Combine lock 4"
45 : "Combine lock 5"
47 : "Combine lock 6"
12 : "Door locked"
13 : "Door opened"
1 : "Light hum"
5 : "Machine 1"
6 : "Machine 2"
4 : "Moving parts 1"
21 : "Moving parts 2"
22 : "Moving parts 3"
23 : "Moving parts 4"
24 : "Moving parts 5"
25 : "Moving parts 6"
26 : "Moving parts 7"
27 : "Moving parts 8"
28 : "Moving parts 9"
]
input Lock(void) : "Locks the button, preventing it from functioning."
input Unlock(void) : "Unlocks the button, allowing it to function."
input Press(void) : "Activates the button as if it was pressed."
input PressIn(void) : "Activates the button as if it was pressed, sending it to the pressed position."
input PressOut(void) : "Unpresses the button, sending it to the unpressed position."
output OnDamaged(void) : "Fires when the button is damaged."
output OnPressed(void) : "Fires when the button is pressed."
output OnUseLocked(void) : "Fires when the button is pressed but locked."
output OnIn(void) : "Fires when the button reaches the in/pressed position."
output OnOut(void) : "Fires when the button reaches the out/released position."
]
@BaseClass base(CBaseAnimating) = CBaseCombatCharacter
[
physdamagescale(float) : "Physics Impact Damage Scale" : : "Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics."
input PhysDamageScale(float) : "Sets Physics Impact Damage Scale."
]
@BaseClass base(CBaseAnimating) = CBaseCombatWeapon
[
spawnflags(flags) =
[
1 : "Start constrained - Makes the weapon not move." : 0
]
input HideWeapon(void) : "If the weapon is being held by someone, hides the weapon's first person viewmodel. The weapon will reappear if they switch weapons."
output OnPlayerPickup(void) : "Fires when a player enter this weapon's pickup zone."
output OnCacheInteraction(void) : "Fires when a player picks up the weapon in any way."
]
@BaseClass base(CBaseEntity,VisibleBrush,Origin) = CBaseDoor
[
spawnflags(flags) =
[
4 : "Non-solid to Player (not compatible with Ignore Debris as that also sets a collision group)" : 0
8 : "Passable - Door is solid to nothing at all." : 0
32 : "Toggle - Door can be closed by +use even if Delay Before Reset is not over." : 0
256 : "Use Opens" : 1
1024 : "Touch Opens - When player touches the door, counts as an attempt to open it." : 0
2048 : "Starts locked" : 0
4096 : "Door Silent" : 0
65536 : "If closing, allow Use to reopen." : 0
]
wait(integer) : "Delay Before Reset (-1 stay)" : 1 : "Amount of time in seconds after the door has moved to the open position before it returns to the closed position. Once it has returned, it can be used again. If the value is set to -1, the door never returns."
speed(integer) : "Speed" : 200 : "The speed that the door moves, in units per second or degrees per second if rotating."
noise1(sound) : "Start Sound" : : "Sound to play when the door starts moving. If Start Close Sound is specified, this sound only plays when the door starts opening."
noise2(sound) : "Stop Sound" : : "Sound to play when the door stops moving. If Stop Close Sound is specified, this sound only plays when the door starts closing."
startclosesound(sound) : "Start Close Sound" : : "Sound to play when the door starts closing."
closesound(sound) : "Stop Close Sound" : : "Sound to play when the door stops closing."
locked_sound(sound) : "Locked Sound" : : "Sound played when the player tries to open the door, and fails because it's locked."
unlocked_sound(sound) : "Unlocked Sound" : : "Sound played when door is pressed and unlocked."
chainstodoor(target_destination) : "Linked Door" : : "Passes the door's +use inputs and touch events onto a different door, so it also is activated."
forceclosed(boolean) : "Force Closed" : 0 : "Damages things that block the door. (Or attempts to push it out, if the blocker is an umdamageable physics object.) Useful for doors that have to close even if the player tries to block them with objects. Requires Blocking Damage be set to a non-zero value."
dmg(float) : "Blocking Damage" : 1 : "Amount of damage done to entities that block the movement of this door, per tick. Requires Force Closed to be set to Yes."
spawnpos(choices) : "Spawn Position" : 0 : "The door will spawn in this position. Does NOT change what positions are considered 'open' or 'closed'." =
[
0 : "Closed"
1 : "Open"
]
loopmovesound(boolean) : "Loop Moving Sound?" : 0 : "Makes the door's Start Sound loop until the door finishes moving. BUG: If an already-looping sound is played with this enabled, it can continue forever. Further attempts to open or close the door will only add another looping sample to the noise."
ignoredebris(boolean) : "Ignore Debris" : 0 : "Changes the door's collision group to COLLISION_GROUP_INTERACTIVE, which ignores debris objects. Not compatible with the Non-solid to Player spawnflag as it also sets a collision group."
input Open(void) : "Opens door."
input Close(void) : "Closes door."
input Toggle(void) : "Opens door if closed, closes door if open."
input Lock(void) : "Prevents door from opening or closing."
input Unlock(void) : "Allows door to operate as normal."
input SetSpeed(float) : "Sets Speed."
input Use(void) : "Simulates a player using the door (acts mostly the same as the other inputs)."
output OnClose(void) : "Fires when the door starts to close."
output OnOpen(void) : "Fires when the door starts to open."
output OnFullyClosed(void) : "Fires when the door finishes closing. Reversed if Start Open flag is set."
output OnFullyOpen(void) : "Fires when the door finishes opening. Reversed if Start Open flag is set."
output OnBlockedClosing(void) : "Fires when the door has been blocked from closing. Activator is whatever blocks the door."
output OnBlockedOpening(void) : "Fires when the door has been blocked from opening. Activator is whatever blocks the door."
output OnUnblockedClosing(void) : "Fires when the door is no longer blocked from closing."
output OnUnblockedOpening(void) : "Fires when the door is no longer blocked from opening."
output OnLockedUse(void) : "Fires when the player tries to open the door but fails because it is locked."
]
//Out of alphabetical order here because the FGD parser is big dummy
@BaseClass base(Model,CBaseAnimating,DamageFilter) = CBreakableProp
[
spawnflags(flags) =
[
16 : "Break on Touch" : 0
32 : "Break on Pressure (breaks whenever put under any pressure e.g. being stood on)" : 0
]
solid(choices) : "Collisions" : 6 : "Method of collision for this entity." =
[
0 : "None"
2 : "Bounding Box"
6 : "VPhysics"
]
ExplodeDamage(float) : "Explosion Damage" : 0 : "If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage. See also Explosion Radius."
ExplodeRadius(float) : "Explosion Radius" : 0 : "If non-zero, when this entity breaks it will create an explosion with a radius of the specified amount. See also Explosion Damage."
minhealthdmg(integer) : "Min Damage to Hurt" : : "If a single hit to the object doesn't do at least this much damage, the prop won't take any of the damage from that hit."
PerformanceMode(choices) : "Performance Mode" : 0 : "Used to limit the amount of gibs produced when this entity breaks, for performance reasons." =
[
0 : "Normal"
1 : "No Gibs"
3 : "Reduced gibs"
]
PressureDelay(float) : "Pressure Delay" : 0 : "Seconds to delay breaking from pressure if Break on Pressure is checked. Allows creaking/groaning sounds to play."
physdamagescale(float) : "Physics Impact Damage Scale" : 1 : "Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics."
input physdamagescale(float) : "Sets Physics Impact Damage Scale."
input Break(void) : "Breaks the prop."
input SetHealth(integer) : "Sets a new value for the prop's health. If the prop's health reaches zero it will break. Works even if not using an _override entity."
input AddHealth(integer) : "Adds health to the prop."
input RemoveHealth(integer) : "Removes health from the prop."
output OnBreak(void) : "Fired when this object breaks. !Activator is whatever breaks the object."
output OnHealthChanged(float) : "Fired whenever the health of the prop has increased or decreased. Automatically puts the new health amount as a decimal percent (e.g. 45% = 0.45) as the input parameter, unless overridden by the mapper."
]
@BaseClass base(CBaseAnimating,DamageFilter) = CBreakablePropNoModelKV
[
spawnflags(flags) =
[
16 : "Break on Touch" : 0
32 : "Break on Pressure (breaks whenever put under any pressure e.g. being stood on)" : 0
]
ExplodeDamage(float) : "Explosion Damage" : 0 : "If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage. See also Explosion Radius."
ExplodeRadius(float) : "Explosion Radius" : 0 : "If non-zero, when this entity breaks it will create an explosion with a radius of the specified amount. See also Explosion Damage."
minhealthdmg(integer) : "Min Damage to Hurt" : : "If a single hit to the object doesn't do at least this much damage, the prop won't take any of the damage from that hit."
PerformanceMode(choices) : "Performance Mode" : 0 : "Used to limit the amount of gibs produced when this entity breaks, for performance reasons." =
[
0 : "Normal"
1 : "No Gibs"
3 : "Reduced gibs"
]
PressureDelay(float) : "Pressure Delay" : 0 : "Seconds to delay breaking from pressure if Break on Pressure is checked. Allows creaking/groaning sounds to play."
physdamagescale(float) : "Physics Impact Damage Scale" : 1 : "Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics."
input physdamagescale(float) : "Sets Physics Impact Damage Scale."
input Break(void) : "Breaks the prop."
input SetHealth(integer) : "Sets a new value for the prop's health. If the prop's health reaches zero it will break. Works even if not using an _override entity."
input AddHealth(integer) : "Adds health to the prop."
input RemoveHealth(integer) : "Removes health from the prop."
output OnBreak(void) : "Fired when this object breaks. !Activator is whatever breaks the object."
output OnHealthChanged(float) : "Fired whenever the health of the prop has increased or decreased. Automatically puts the new health amount as a decimal percent (e.g. 45% = 0.45) as the input parameter, unless overridden by the mapper."
]
@BaseClass base(CBreakableProp) = CDynamicProp
[
spawnflags(flags) =
[
64 : "Use Hitboxes for Renderbox TODO: Does this REALLY do that?" : 0
128 : "TODO: 'No VPhysics'" : 0
256 : "Start with collision disabled" : 0
]
StartDisabled(boolean) : "Start Disabled" : 0 : "Makes the prop invisible but solid. It can be made visible with the Enable input."
DisableBoneFollowers(boolean) : "Disable Bone Followers" : 0 : "Disables generation of phys_bone_followers for each piece of the model if it's using $collisionjoints. phys_bone_followers can quickly eat up the edict count, so this keyvalue can be very helpful in freeing resources. Disabling this will make the model lose solidity aside from a small box, which can be disabled by setting the 'Start with collision disabled' flag."
LagCompensate(boolean) : "Lag Compensation" : 0 : "Make the entity be lag compensated. https://developer.valvesoftware.com/wiki/Lag_compensation Should be used very sparingly! TODO: Confirm this actually works."
AnimateEveryFrame(boolean) : "Animate Every Frame" : 0 : "Force this prop to animate every frame. TODO: When should this be used?"
input TurnOff(void) : "Hides the prop, by adding EF_NODRAW."
input TurnOn(void) : "Shows the prop, by removing EF_NODRAW."
input EnableCollision(void) : "Makes the prop solid."
input DisableCollision(void) : "Makes the prop non-solid."
input SetAnimationNoReset(string) : "Force the prop to play an animation unless the prop is already playing the animation. The parameter should be the name of the animation."
input BecomeRagdoll(void) : "Makes the prop use ragdoll physics. TODO: Works?"
input FadeAndKill(void) : "Makes the prop fade to transparency then disappear completely."
]
@BaseClass base(CBaseAnimating) = CBaseProjector
[
StartEnabled(boolean) : "Start Enabled" : 1 : "Makes the entity start on."
DisableHelper(boolean) : "Disable Placement Helper" : 0 : "Makes the entity not attempt to help players place their portal correctly. Use this if you wish to use your own info_placement_helper."
input Enable(void) : "Makes the entity active."
input Disable(void) : "Makes the entity inactive."
]
@BaseClass base(CDynamicProp) = CBasePropDoor
[
spawnflags(flags) =
[
2048 : "Starts locked - Cannot be opened or closed until Unlocked." : 0
4096 : "Door silent - Door does not play sounds. All sounds can be controlled with keyvalues." : 0
32768 : "Ignore player +use" : 0
]
speed(float) : "Speed" : 300 : "How fast the door moves, in world units per second (or degrees per second, if the door rotates)."
hardware(choices) : "Hardware Type" : 1 : "Sets the model's $bodygroup. The opening/closing sounds may also change." =
[
0 : "None"
1 : "Lever (door knob)"
2 : "Push bar"
3 : "Keypad"
]
returndelay(float) : "Delay Before close" : -1 : "Amount of time, in seconds, after the door has opened before it closes. If the value is set to -1, the door never closes itself."
soundmoveoverride(sound) : "Moving Sound" : : "Sound to play when the door starts to close or open, even when changing direction while opening or closing. Doors may have default sounds which play depending on the model."
soundopenoverride(sound) : "Fully Open Sound" : : "Sound to play when the door finishes opening."
soundcloseoverride(sound) : "Fully Closed Sound" : : "Sound to play when the door finishes closing."
soundlockedoverride(sound) : "Locked Sound" : : "Sound played when the player tries to open the door, and fails because it's locked."
soundunlockedoverride(sound) : "Unlocked Sound" : : "Sound to play when the door is used while not currently moving."
slavename(target_destination) : "Slave Name" : : "Targetname of another door that should open and close whenever this one does."
forceclosed(boolean) : "Force Closed" : 1 : "If set, this door will close even if something is blocking it. The door will attempt to break or shove the object out of the way."
input Open(void) : "If not already open, opens the door."
input OpenAwayFrom(target_destination) : "If not already open, opens the door away from the specified entity (to avoid hitting that entity)."
input Close(void) : "If not already open, closes the door."
input Toggle(void) : "If open, close. If closed, open."
input Use(void) : "Like Toggle, opens or closes the door. The difference is that this input will behave more like it was opened by a real person (special sounds, lever animation, etc). OnLockedUse will fire if applicable."
input Lock(void) : "Makes the door unable to be opened or closed."
input Unlock(void) : "Makes the door openable and closable."
output OnOpen(void) : "Fires when the door begins to open."
output OnClose(void) : "Fires when the door begins to close."
output OnFullyOpen(void) : "Fires when the door is finished opening."
output OnFullyClosed(void) : "Fires when the door is finished closing."
output OnBlockedOpening(void) : "Fires when the door is blocked while opening. !activator is whatever blocks the door."
output OnBlockedClosing(void) : "Fires when the door is blocked while closing. !activator is whatever blocks the door."
output OnUnblockedOpening(void) : "Fires when the door is no longer being blocked while opening."
output OnUnblockedClosing(void) : "Fires when the door is no longer being blocked while closing."
output OnLockedUse(void) : "Fires when the player attempts to open or close the door, but fails because it's locked."
]
@BaseClass base(CBaseEntity) = CBaseFilter
[
Negated(choices) : "Filter mode" : 0 : "If set to Allow, only entities who match the criteria will pass the filter." =
[
0 : "Allow entities that match criteria"
1 : "Disallow entities that match criteria"
]
input TestActivator(void) : "Tests if the !activator of this input meets the criteria, then and fires either OnPass or OnFail. Changing Filter mode will affect which output is fired."
output OnPass(void) : "Fires when TestActivator is sent and the !activator is allowed by the criteria."
output OnFail(void) : "Fires when TestActivator is sent and the !activator is not allowed by the criteria."
]
@BaseClass base(CBaseEntity,EnableDisable,Toggle,Origin,Parent) = CBaseTrigger
[
spawnflags(flags) =
[
1 : "Clients (players) may trigger." : 1
2 : "NPCs may trigger." : 0
8 : "Physics Objects may trigger." : 0
64 : "Everything (not including physics debris) may trigger." : 0
1024 : "Physics debris may trigger. Debris objects are usually small and not solid to players." : 0
]
filtername(filterclass) : "Filter Name" : : "A filter entity (such as filter_activator_name) to test potential activators against."
input TouchTest(void) : "For testing if something is currently touching the trigger. Fires either the OnTouching or OnNotTouching output."
input StartTouch(void) : "Fires the OnStartTouch output."
input EndTouch(void) : "Fires the OnEndTouch output."
output OnStartTouch(void) : "Fired when a valid entity starts touching this trigger."
output OnStartTouchAll(void) : "Fired when a valid entity starts touching this trigger, and no other entities are already touching it. If there are any other entities touching the trigger when a new one begins to touch, only OnStartTouch will fire."
output OnEndTouch(void) : "Fired when a valid entity stops touching this trigger. WARNING: If the !activator of this output is a player who disconnected, any entity trying to see what the activator was can cause a crash."
output OnEndTouchAll(void) : "Fired when ALL valid entities stop touching this trigger."
output OnTouching(void) : "Fired if something is currently touching this trigger when sent TouchTest."
output OnNotTouching(void) : "Fired if nothing is currently touching this trigger when sent TouchTest."
]
@BaseClass base(CBaseEntity,Parent,EnableDisable,Toggle) = CBaseVPhysicsTrigger
[
spawnflags(flags) =
[
1 : "Clients (players) may trigger." : 1
2 : "NPCs may trigger." : 0
8 : "Physics Objects may trigger." : 0
64 : "Everything (not including physics debris) may trigger." : 0
1024 : "Physics debris may trigger. Debris objects are usually small and not solid to players." : 0
4096 : "Can move (through parenting)" : 0
]
filtername(filterclass) : "Filter Name" : : "A filter entity to test potential activators against."
]
@BaseClass base(CBaseEntity,Parent,RenderAlphaColor) = CBeam
[