-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathleft4dead2_updated.fgd
1560 lines (1303 loc) · 69 KB
/
left4dead2_updated.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
//
// Entities for Left 4 Dead
//
@include "base.fgd"
@SolidClass base(func_brush) = func_block_charge : "Chargers will not charge through this brush"
[
]
@PointClass base(Targetname) = info_ambient_mob_start : "potential starting location for an ambient mob"
[
]
@PointClass base(Targetname) = info_ambient_mob_end : "end location for an ambient mob"
[
]
@PointClass base(Targetname) = info_ambient_mob : "Universal ambient mob start/end (use with care)"
[
]
@PointClass base(Targetname, Angles, Parentname) studioprop() = info_item_position :
"An entity that represents a possible item location in a map. Scripts can"+
"search for these entities and use them to spawn objects for different game modes"
[
model(studio) : "Helper Model"
group(integer) : "Group" : 0 : "Group Number"
rarity(choices) : "Rarity" : 0 : "Item rarity at this location" =
[
0 : "Common"
1 : "Occasional"
2 : "Scarce"
]
input SetGroup(integer) : "Set the group number."
input SetRarity(integer) : "Set the rarity."
replace01(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace02(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn groupe that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace03(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace04(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace05(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace06(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace07(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace08(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace09(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
replace10(string) : "Replace" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of the spawn group that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0"
]
@PointClass base(Targetname) studio("models/survivors/survivor_biker.mdl") = info_l4d1_survivor_spawn : "Spawn a L4D1 survivor"
[
character(choices) : "Character" : 5 : "Which survivor to spawn here" =
[
4 : "Bill"
5 : "Zoey"
6 : "Francis"
7 : "Louis"
]
input SpawnSurvivor(void) : "Spawn the survivor"
]
@PointClass base(Targetname) = env_airstrike_indoors : "Airstrike effect for indoors (crumbling ceiling)"
[
height(choices) : "Effect Height" : -1 : "Specifies which animation sequence to use for this effect. (Distance from floor to ceiling)" =
[
-1: "Automatic"
0: "128 inches"
1: "144 inches"
2: "152 inches"
3: "160 inches"
4: "190 inches"
5: "300 inches"
6: "320 inches"
]
input DoEffect(void) : "Do the effect one time"
]
@PointClass base(Targetname, Angles, Parentname) studio() = env_airstrike_outdoors : "Airstrike effect for outdoors (exploding roof, ground)"
[
model(studio) : "Model" : "models/props_destruction/general_dest_roof_set.mdl" : "Model name"
modelgroup(target_destination) : "Animation group" : "" : "Targetname of one or multiple dynamic_props to choreograph along with our sequence."
sequence1(string) : "Random sequence 1" : "" : "Sequence for the model to play when the effect begins."
sequence2(string) : "Random sequence 2" : "" : "Sequence for the model to play when the effect begins."
input DoEffect(void) : "Do the effect one time"
]
@PointClass base(Targetname,Angles,Parentname) studioprop("models/editor/camera.mdl") = point_viewcontrol_multiplayer :
"A camera entity that controls all players' views. While it's active, the players will see out of the camera."
[
fov(float) : "Field of view" : "90" : "Player FOV"
fov_rate(float) : "Seconds to reach FOV target" : "1.0" : "Amount of time it should take to reach the specified FOV"
target_entity(target_destination): "Target Entity" : "" : "Entity to move to. (End of move will match origin and angles)."
interp_time(float) : "Seconds to reach target entity" : "1.0" : "Amount of time it should take to reach the target entity's origin and angles."
spawnflags(flags) =
[
1: "Disable when move finished" : 1
2: "Set FOV" : 0
]
// Inputs
input Enable(void) : "Enable the point_viewcontrol_multiplayer, and start controlling the players' view."
input Disable(void) : "Disable the point_viewcontrol_multiplayer, and stop controlling the players' view."
input StartMovement(void) : "Start the movement to the target entity."
]
@PointClass base(Targetname,Angles,Parentname) studioprop("models/editor/camera.mdl") = point_viewcontrol_survivor :
"A camera entity that controls the player's view. Travels from camera position to a first-person view on input."
[
fov(float) : "Field of view" : "90" : "Player FOV (if Set FOV spawnflag is set)"
fov_rate(float) : "Seconds to reach FOV target" : "1.0" : "Amount of time it should take to reach the specified FOV"
spawnflags(flags) =
[
1: "Disable when move finished" : 1
2: "Set FOV" : 0
]
// Inputs
input Enable(string) : "Enable the point_viewcontrol, and start controlling the player's view. Pass a survivor name to control that survivor's view.(ie '!zoey')"
input Disable(void) : "Disable the point_viewcontrol, and stop controlling the player's view."
input StartMovement(void) : "Start the movement to first-person view."
]
@PointClass base(Targetname,Angles,Parentname) studioprop("models/editor/camera.mdl") = point_deathfall_camera :
"A camera entity that players falling to their deaths look through."
[
fov(float) : "Field of view" : "90" : "Player FOV"
fov_rate(float) : "Seconds to reach FOV target" : "1.0" : "Amount of time it should take to reach the specified FOV"
]
//-------------------------------------------------------------------------
//
// Logic Entities
//
//-------------------------------------------------------------------------
@PointClass color(0 0 255) base(Targetname) iconsprite("editor/choreo_scene.vmt") = logic_choreographed_scene :
"Manages a choreographed scene of one or more actors."
[
// Keys
SceneFile(scene) : "Scene file"
// Links
target1(target_destination) : "Target 1"
target2(target_destination) : "Target 2"
target3(target_destination) : "Target 3"
target4(target_destination) : "Target 4"
target5(target_destination) : "Target 5"
target6(target_destination) : "Target 6"
target7(target_destination) : "Target 7"
target8(target_destination) : "Target 8"
busyactor(choices) : "If an Actor is talking..." : 1 : "What to do if an actor this scene needs is already talking when this scene is told to start." =
[
0: "Start immediately"
1: "Wait for actor to finish"
2: "Interrupt at next interrupt event"
3: "Cancel at next interrupt event"
]
// Inputs
input Start(void) : "Starts playback of the scene file"
input Pause(void) : "Pauses playback of the scene file"
input Resume(void) : "Resumes playback of the scene if it has been paused"
input Cancel(void) : "Cancels playback of the scene"
input CancelAtNextInterrupt(void) : "Cancels playback of the scene at the next interrupt event in the scene."
input PitchShift(float) : "Multiplies the the pitch"
input InterjectResponse(string) : "Finds an actor who can respond to the specified concept string while the scene continues playing"
input StopWaitingForActor(void) : "Stop waiting on an actor to stop talking."
// Outputs
output OnStart(void) : "The scene has started"
output OnCompletion(void) : "The scene has completed"
output OnCanceled(void) : "The scene has been canceled"
output OnTrigger1(void) : "Scene trigger 1"
output OnTrigger2(void) : "Scene trigger 2"
output OnTrigger3(void) : "Scene trigger 3"
output OnTrigger4(void) : "Scene trigger 4"
output OnTrigger5(void) : "Scene trigger 5"
output OnTrigger6(void) : "Scene trigger 6"
output OnTrigger7(void) : "Scene trigger 7"
output OnTrigger8(void) : "Scene trigger 8"
output OnTrigger9(void) : "Scene trigger 9"
output OnTrigger10(void) : "Scene trigger 10"
output OnTrigger11(void) : "Scene trigger 11"
output OnTrigger12(void) : "Scene trigger 12"
output OnTrigger13(void) : "Scene trigger 13"
output OnTrigger14(void) : "Scene trigger 14"
output OnTrigger15(void) : "Scene trigger 15"
output OnTrigger16(void) : "Scene trigger 16"
onplayerdeath(choices) : "On player death" : 0 : "What should this entity do if the player dies" =
[
0 : "Do Nothing"
1 : "Cancel Script and return to AI"
]
]
@PointClass color(0 0 255) base(Targetname) iconsprite("editor/choreo_manager.vmt") = logic_scene_list_manager :
"Manages a list of logic_choreographed_scene entities. Store choreo scenes in them in order that they will be played by other inputs. Whenever a scene plays, the manager will remove all scenes before that one in the list. The name of another logic_scene_list_manager can be entered in a slot instead of an invididual scene, which will cause all scenes in that manager to be removed when a later scene in this list is played."
[
scene0(target_destination) : "Scene 1" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene1(target_destination) : "Scene 2" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene2(target_destination) : "Scene 3" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene3(target_destination) : "Scene 4" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene4(target_destination) : "Scene 5" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene5(target_destination) : "Scene 6" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene6(target_destination) : "Scene 7" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene7(target_destination) : "Scene 8" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene8(target_destination) : "Scene 9" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene9(target_destination) : "Scene 10" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene10(target_destination) : "Scene 11" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene11(target_destination) : "Scene 12" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene12(target_destination) : "Scene 13" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene13(target_destination) : "Scene 14" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene14(target_destination) : "Scene 15" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
scene15(target_destination) : "Scene 16" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager."
// Inputs
input Shutdown(void) : "Remove the manager and all scenes referenced by it (and all scenes referenced by logic_scene_list_manager's embedded in this one)."
]
@PointClass base(BaseNPC, Parentname, RenderFields, Shadow) studio() = generic_actor : "Generic Actor NPC"
[
model(studio) : "Model"
hull_name(choices) : "Hull type" : "Human" =
[
"HUMAN_HULL" : "Human"
"WIDE_HUMAN_HULL" : "Wide"
"TINY_HULL" : "Tiny"
"MEDIUM_HULL" : "Medium"
"LARGE_HULL" : "Large"
]
]
@PointClass base(prop_dynamic) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_car_glass :
"This class is the same as prop_dynamic, with a car alarm."
[
]
@PointClass base(prop_physics, EnableDisable) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_car_alarm :
"This class is the same as prop_physics, with a car alarm."
[
output OnCarAlarmStart(void) : "Car alarm should go off"
output OnCarAlarmEnd(void) : "Car alarm has shut off"
output OnCarAlarmChirpStart(void) : ""
output OnCarAlarmChirpEnd(void) : ""
]
@SolidClass = func_ladder :
"Ladder. Players will be able to freely along one side of this brush, as if it was a ladder. " +
"If you are using a model prop for the visual representation of the ladder in the map, " +
"apply the toolsinvisibleladder material to the climbable side of the func_ladder brush."
[
]
@SolidClass base(Trigger) = trigger_auto_crouch : "Allows players touching the trigger to auto-crouch."
[
]
@SolidClass base(Trigger) = trigger_active_weapon_detect : "Fires output when touched by a player that has a specific weapon active"
[
weaponclassname(string) : "Weapon To Detect" : "weapon_dieselcan" : "weapon classname that player must have active"
output OnTouchedActiveWeapon(void) : "Touched a player who has our weapon active"
]
@PointClass base(Targetname) = player_weaponstrip : "Removes weapons from the player"
[
input Strip(void) : "Removes all weapons."
//input StripWeaponsAndSuit(void) : "Removes all weapons and the suit."
input StripActiveWeapon(void) : "Removes the active weapon."
input StripWeaponByClassname(string) : "Removes a weapon by classname, eg 'weapon_dieselcan'"
]
@BaseClass = NavBlocker
[
input BlockNav(string) : "Starts blocking nav areas."
input UnblockNav(void) : "Stops blocking nav areas."
teamToBlock(choices) : "Team(s) to block" : -1 : "Team(s) this entity should block" =
[
-1 : "Everyone"
2 : "Survivors"
3 : "Infected"
]
affectsFlow(choices) : "Affects Flow?" : 0 : "Does this func_nav_blocker block flow in the level? Only func_nav_blockers with this enabled will cause flow recomputation on blocking/unblocking." =
[
0 : "No"
1 : "Yes"
]
]
@SolidClass base(Targetname, NavBlocker) = func_nav_blocker : "A brush entity that can block nav areas touching its AABB."
[
]
//@PointClass obb(boxmins, boxmaxs) base(Targetname, Angles, NavBlocker) = point_nav_blocker : "A point entity that can block nav areas touching its AABB."
//[
// boxmins(vector) : "Mins" : "-8 -8 -8"
// boxmaxs(vector) : "Maxs" : "8 8 8"
//]
@SolidClass base(Targetname, EnableDisable) = func_nav_avoidance_obstacle : "A brush entity that tells bots to avoid nav areas touching its AABB."
[
]
@BaseClass = NavAttributeRegion
[
spawnFlags(flags) =
[
2: "Empty (no wanderers)" : 0
32: "Battlestation" : 0
64: "Finale" : 0
128: "Mission Start" : 0
256: "Battlefield" : 0
1024: "Not Clearable" : 0
2048: "Checkpoint" : 0
4096: "Obscured" : 0
8192: "No mobs" : 0
32768: "Rescue Vehicle" : 0
65536: "Rescue Closet" : 0
524288: "No Threat" : 0
1048576: "Lying down" : 0
]
precise(choices) : "Precise" : 0 =
[
0 : "Off"
1 : "On"
]
crouch(choices) : "Crouch" : 0 =
[
0 : "Off"
1 : "On"
]
stairs(choices) : "Stairs" : 0 =
[
0 : "Off"
1 : "On"
]
remove_attributes(integer) : "Remove Attributes" : 0 : "Should remove attributes from nav areas instead of applying them?"
tank_only(choices) : "Tank Only" : 0 =
[
0 : "Off"
1 : "On"
]
mob_only(choices) : "Mob Only" : 0 =
[
0 : "Off"
1 : "On"
]
// Inputs
input ApplyNavAttributes(void) : "Applies the nav attributes."
]
@SolidClass base(Targetname,NavAttributeRegion) = func_nav_attribute_region : "A brush entity that holds attributes to be applied to regions of nav areas during generation."
[
]
@PointClass wirebox(mins, maxs) base(Targetname,NavAttributeRegion) = point_nav_attribute_region : "A point entity that holds attributes to be applied to regions of nav areas during generation."
[
mins(vector) : "Mins" : "-4 -128 -80"
maxs(vector) : "Maxs" : "4 128 80"
]
@SolidClass base(Targetname, Parentname, Origin, RenderFields) = func_elevator :
"A brush entity that moves vertically."
[
top(vecline) : "Top floor position"
bottom(vecline) : "Bottom floor position"
speed(integer) : "Speed" : 100 : "The speed that the elevator moves, in inches per second."
acceleration(integer) : "Acceleration" : 100 : "The acceleration at which the elevator approaches its target speed, in inches per second per second."
blockdamage(float) : "Block Damage" : 0 : "The amount of damage to do to any entity that blocks the elevator, per frame."
startsound(sound) : "Sound played when the elevator starts moving."
stopsound(sound) : "Sound played when the elevator stops moving."
disablesound(sound) : "Sound played when the elevator is disabled."
// Inputs
input MoveToFloor(string) : "Start the elevator moving to the specified floor."
input Disable(void) : "Stops the elevator and prevents it from moving again."
input SetMaxSpeed(float) : "Set the max speed of the elevator."
// Outputs
output OnReachedTop(string) : "Fired when the brush reaches the top."
output OnReachedBottom(string) : "Fired when the brush reaches the bottom."
]
@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/info_target.vmt") = info_elevator_floor :
"Elevator floor height target."
[
// Outputs
output OnReachedFloor(void) : "Fired when an elevator reaches this floor."
]
@PointClass base(Targetname) = logic_director_query : "Allows firing of output based on the Director's state"
[
minAngerRange( integer ) : "Min Anger Range" : 1 : "Min remapping range of anger"
maxAngerRange( integer ) : "Max Anger Range" : 10 : "Max remapping range of anger"
noise( choices ) : "Noise" : 0 : "How noisy do you want the anger result?" =
[
0 : "'Pure' anger value. No noise."
25 : "Some noise"
50 : "Average mix of random and absolute"
75 : "Much noise"
100 : "Complete noise"
]
// Inputs
input HowAngry(void) : "Ask the director to tell this query how angry it is"
// Outputs
output OutAnger(integer) : "A HowAngry input will cause this output to fire with the anger value remapped."
output On20SecondsToMob(void) : "Fires 20 seconds before a mob is spawned."
output On60SecondsToMob(void) : "Fires 60 seconds before a mob is spawned."
]
@PointClass base(Targetname) = info_director
[
// Inputs
input PanicEvent(void) : "Fired when a major event happens that the director should know about."
input ScriptedPanicEvent(string) : "Fired when a custom panic event wants to happen."
input ForcePanicEvent(void) : "Trigger a panic event, no matter what else is going on."
input EndCustomScriptedStage(void) : "End a custom scripted stage."
input ForceSurvivorPositions(void) : "Make each survivor stand at an info_survivor_position."
input ReleaseSurvivorPositions(void) : "Allow survivors to move freely again."
input FireConceptToAny(string) : "Fire a speech concept to any survivor that is capable of speaking it."
input IncrementTeamScore(integer) : "Increment a team's score. (2=survivors, 3=infected)"
input StartIntro(void) : "Fire when the intro starts."
input FinishIntro(void) : "Fire when the intro ends."
input BeginScript(string) : "Begin a director script"
input EndScript(void) : "End a director script"
// Journaling inputs
input CreateNewJournal(string) : "Create a new journal"
input WriteToJournal(string) : "Add a task to the I/O Journal"
input ExecuteJournal(string) : "Execute all tasks in the specified journal"
input EnableTankFrustration(void) : "Can be used to enable the tank frustration meter."
input DisableTankFrustration(void) : "Can be used to disable the tank frustration meter."
// Outputs
output OnGameplayStart(void) : "Fired when a map loads, all players join and gameplay begins."
output OnCustomPanicStageFinished(void) : "Fired when each stage of a custom panic event or custom finale finishes."
output OnPanicEventFinished(void) : "Fired when a panic event is finished."
output OnTeamScored(void) : "Fired when a team places a scavenge item in the scavenge goal."
output OnScavengeRoundStart(void) : "Fired when a scavenge round starts."
output OnScavengeOvertimeStart(void) : "Timer has run out and game went into overtime."
output OnScavengeOvertimeCancel(void) : "Time was added to the clock, ending overtime."
output OnScavengeTimerExpired(void) : "Time has run out, game did not enter overtime."
output OnScavengeIntensityChanged(Integer) : "Intensity level has changed. 1 = highest intensity, decreases as number gets larger."
output OnUserDefinedScriptEvent1(void) : "generic user defined event fired from a squirrel script"
output OnUserDefinedScriptEvent2(void) : "generic user defined event fired from a squirrel script"
output OnUserDefinedScriptEvent3(void) : "generic user defined event fired from a squirrel script"
output OnUserDefinedScriptEvent4(void) : "generic user defined event fired from a squirrel script"
]
@PointClass base(Targetname) iconsprite("editor/info_game_event_proxy.vmt") = info_game_event_proxy
[
event_name(string) : "Name of the event to generate"
range(float) : "Range" : "50" : "How near the player must be to determine visibility. THIS IS IN FEET"
spawnflags(flags) =
[
1: "Fire Automatically When First Seen" : 0
]
// Inputs
input GenerateGameEvent(void) : "Generate my game event. (This entity is sent as the SUBJECT)"
]
@PointClass base(Targetname) = game_scavenge_progress_display
[
Max(float) : "Max" : "0" : "Number of items to collect."
// Inputs
input TurnOn(void) : "Turn the display on."
input TurnOff(void) : "Turn the display off."
input SetTotalItems(integer) : "Set the target (or total) number of scavenge itmes."
]
@SolidClass base( Targetname, EnableDisable ) = fog_volume : "An entity to control the fog in the map."
[
FogName(target_destination) : "Fog Name" : : "The name of the fog entity associated with this volume."
PostProcessName(target_destination) : "Postprocess Name" : : "The name of the postprocess entity associated with this volume."
ColorCorrectionName(target_destination) : "ColorCorrection Name" : : "The name of the color_correction entity associated with this volume."
]
@FilterClass base(BaseFilter) iconsprite("editor/filter_team.vmt") = filter_activator_team :
"A filter that filters by the team of the activator."
[
filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+
"team number matches the given team will pass the filter. If the filter mode is Disallow, "+
"all entities EXCEPT those whose team number matches the given team will pass the filter." =
[
2 : "Survivor"
3 : "Infected"
]
]
@FilterClass base(BaseFilter) iconsprite("editor/filter_team.vmt") = filter_activator_infected_class :
"A filter that filters by the activator's infected class."
[
filterinfectedclass(choices) : "Filter Infected Class" : 2 : "The infected class to filter by. If the filter mode is Allow, only entities whose "+
"class matches the given team will pass the filter. If the filter mode is Disallow, "+
"all entities EXCEPT those whose class matches the given team will pass the filter." =
[
1 : "Smoker"
2 : "Boomer"
3 : "Hunter"
4 : "Spitter"
5 : "Jockey"
6 : "Charger"
8 : "Tank"
]
]
@FilterClass base(BaseFilter) = filter_melee_damage :
"A damage filter that filters by the damage, allowing only melee damage. damagetype specifies which types of melee damage are allowed"
[
damagetype(choices) : "Damage type" : 64 : "The damage type to filter by. Allows the specified damage type." =
[
0 : "All Melee Damage"
4 : "only SLASH"
128 : "only CLUB"
]
]
@FilterClass base(BaseFilter) = filter_health :
"A damage filter that filters based on if the entity causing the damage has adrenaline active or not."
[
adrenalinepresence(choices) : "Adrenaline presence" : 1 : "Allows this state of adrenaline on the attacker to pass the filter." =
[
0 : "only inactive"
1 : "only active"
]
healthmin(integer) : "Min Health" : 0 : "The lower bound on player health that will pass this filter (inclusive)."
healthmax(integer) : "Max Health" : 100 : "The upper bound on player health that will pass this filter (inclusive)."
]
@PointClass base(prop_dynamic_base,EnableDisable) studioprop("models/w_models/weapons/w_minigun.mdl") = prop_minigun : "A mounted gun players can +USE"
[
model(studio) : "World model" : "models/w_models/weapons/w_minigun.mdl"
MaxYaw(float) : "Max yaw" : "90" : "Max yaw the gun can be turned."
MaxPitch(float) : "Max pitch" : "60" : "Max pitch the gun can be depressed."
MinPitch(float) : "Min pitch" : "-30" : "Min pitch the gun can be raised."
// Outputs
output OnFireStart(void) : "Fired when the minigun has spun up and is starting firing."
output OnFireStop(void) : "Fired when the minigun has stopped firing."
]
@PointClass base(prop_dynamic_base,EnableDisable) studioprop("models/w_models/weapons/50cal.mdl") = prop_mounted_machine_gun: "50 caliber mounted gun (+USE)"
[
model(studio) : "World model" : "models/w_models/weapons/50cal.mdl"
MaxYaw(float) : "Max yaw" : "90" : "Max yaw the gun can be turned."
MaxPitch(float) : "Max pitch" : "60" : "Max pitch the gun can be depressed."
MinPitch(float) : "Min pitch" : "-30" : "Min pitch the gun can be raised."
// Outputs
output OnFireStart(void) : "Fired when the machine gun has starting firing."
output OnFireStop(void) : "Fired when the machine gun has stopped firing."
]
@PointClass base(prop_dynamic_base,EnableDisable) studioprop() = prop_health_cabinet : "Health Cabinet"
[
model(studio) : "World model" : "models/props_interiors/medicalcabinet02.mdl"
HealthCount(integer) : "Number of pain pills" : 1 : "Number of pain pills/first aid kits inside (1-4)"
]
@PointClass base(Targetname, Angles, Parentname) color(255 100 100) studio("models/survivors/survivor_coach.mdl") = info_survivor_position : "A point where survivors are placed when escaping the finale"
[
Order(integer) : "Order" : 1 : "Index of spot based on order people got on board. (1-4)"
SurvivorName(string) : "Survivor Name" : "" : "Force this survivor to use this position (Zoey, Louis, etc.)"
SurvivorIntroSequence(string) : "Survivor Intro Sequence" : "" : "Sequence to play when the intro starts"
GameMode(string) : "Game Mode" : "" : "Use this position for a particular game mode only (coop,versus,survival,scavenge)"
SurvivorConcept(string) : "Survivor Concept" : "" : "Response rule concept to play when survivor is moved here"
HideWeapons(choices) : "Hide Weapons" : 0 : "Hide Survivor's weapon while locked to this position." =
[
0 : "No"
1 : "Yes"
]
// Inputs
input SetViewControl(string) : "If a survivor is assigned to this position, set his view to a point_viewcontrol"
]
@PointClass base(Targetname, PlayerClass, Angles) studio("models/survivors/survivor_coach.mdl") = info_survivor_rescue : "Survivor rescue point"
[
rescueEyePos(vecline) : "Eye position of survivors waiting for rescue"
model(studio) : "World model" : "models/editor/playerstart.mdl"
]
@PointClass base(Targetname, Angles, EnableDisable) studioprop() = trigger_finale : "Finale Trigger"
[
model(studio) : "World model" : "models/props_misc/german_radio.mdl"
disableshadows(choices) : "Disable Shadows" : 0 : "Used to disable dynamic shadows on this entity." =
[
0 : "No"
1 : "Yes"
]
FirstUseDelay(float) : "First Use Delay" : "0" : "For two-part finale starts, delays this many seconds before allowing another +use."
UseDelay(float) : "Use Delay" : "0" : "Starts the finale this many seconds after a +use."
type(choices) : "Finale Type" : 0 : "Specifies which style of finale to trigger" =
[
0 : "Standard"
1 : "Gauntlet"
2 : "Custom"
4 : "Scavenge"
]
ScriptFile(string) : "Script File"
VersusTravelCompletion(float) : "Versus Travel" : "0.2" : "How much of the versus score is attained through travel to the finale ( not valid in gauntlet finale )"
IsSacrificeFinale(choices) : "Is Sacrifice Finale" : 0 : "If true, one survivor has to be available to perform some action outside the escape vehicle." =
[
0 : "No"
1 : "Yes"
]
input FinaleEscapeFinished(void) : "Give the survivors a victory."
input FinaleEscapeForceSurvivorPositions(void) : "Make the survivors stand still on the escape vehicle."
input FinaleEscapeVehicleReadyForSurvivors(void) : "Make survivors say something about how the vehicle has stopped now."
input ForceFinaleStart(void) : "Start the finale now."
input GauntletStopPanic(void) : "Move the gauntlet finale state out of continuous panic mode"
input AdvanceFinaleState(void) : "Increments the finale state"
input SacrificeEscapeFailed(void) : "Indicates the survivors failed the escape requirements"
input SacrificeEscapeSucceeded(void) : "Indicates the surviors met the escape requirements"
input SacrificePlayerBeginsRun(void) : "A player ( !Activator ) has committed to the sacrifice run"
output FinaleEscapeStarted(void) : "Fired when the survivors should start their escape."
output FinaleWon(void) : "Fired when the survivors win the finale."
output FinaleLost(void) : "Fired when the survivors lose the finale."
output FirstUseStart(void) : "Fired when a player uses the trigger the first time."
output UseStart(void) : "Fired when a player uses the trigger to start the finale."
output FinaleStart(void) : "Fired when the finale starts."
output FinalePause(void) : "Fired during the pause between each finale wave."
output EscapeVehicleLeaving(void) : "Fired when the escape vehicle starts to leave."
]
@PointClass base(Targetname, Angles) studioprop() = trigger_standoff : "Standoff Trigger"
[
model(studio) : "World model" : "models/props_misc/german_radio.mdl"
spawnflags(flags) =
[
512: "Diable +use" : 0
]
disableshadows(choices) : "Disable Shadows" : 0 : "Used to disable dynamic shadows on this entity." =
[
0 : "No"
1 : "Yes"
]
UseDuration(float) : "Use Duration" : "0" : "Seconds a survivor must +use the trigger to start the finale (0 is instantaneous)."
UseDelay(float) : "Use Delay" : "0" : "Starts the finale this many seconds after a +use."
input FinaleEscapeFinished(void) : "Give the survivors a victory."
input FinaleEscapeForceSurvivorPositions(void) : "Make the survivors stand still on the escape vehicle."
input FinaleEscapeVehicleReadyForSurvivors(void) : "Make survivors say something about how the vehicle has stopped now."
input ForceFinaleStart(void) : "Start the finale now."
output FinaleEscapeStarted(void) : "Fired when the survivors should start their escape."
output FinaleWon(void) : "Fired when the survivors win the finale."
output FinaleLost(void) : "Fired when the survivors lose the finale."
output UseStart(void) : "Fired when a duration-based +use starts."
output UseCancel(void) : "Fired when a duration-based +use is stopped early."
output FinaleStart(void) : "Fired when the finale starts."
output FinalePause(void) : "Fired during the pause between each finale wave."
output EscapeVehicleLeaving(void) : "Fired when the escape vehicle starts to leave."
]
@SolidClass = info_changelevel :
"An entity that marks a level change.\n" +
"Place an info_landmark in both maps that marks the 'same' location in each map.\n"+
"TIPS & TRICKS: To fire events in the next level, use the OnLevelChange output to turn on "+
"an env_global in the current level. Create an logic_auto in the next level that checks "+
"for the state set by the env_global.\n\n"+
"To control which entities go through the level transition, create one or more info_transitions and "+
"give them the same name as the landmark. Any entities within the info_transition(s) will go to the next map."
[
targetname(target_source) : "Name"
map(string) : "New Map Name"
landmark(target_destination) : "Landmark Name"
spawnflags(flags) =
[
2: "Disable Touch" : 0
4: "To Previous Chapter" : 0
]
// Outputs
output OnChangeLevel(void) : "Fired when the level changes."
]
@PointClass base(prop_door_rotating) studioprop() = prop_door_rotating_checkpoint :
"An entity used to place a special checkpoint door in the world."
[
]
@PointClass base(Targetname, Angles, Parentname, Angles) studio("models/infected/common_male01.mdl") = info_zombie_spawn :
"An entity used to spawn a zombie"
[
population(string) : "Population" : "default" : "Zombie population to choose among."
offer_tank(choices) : "Offer Spawned Tank to PZs" : 0 =
[
0: "No"
1: "Yes"
]
input SpawnZombie(void) : "Spawn a zombie now."
input StartleZombie(string) : "Startle the zombie (witches only). Optionally pass the name of a survivor to attack."
// Outputs
output OnSpawnNormal(void) : "Fired when the spawner creates a normal infected."
output OnSpawnSmoker(void) : "Fired when the spawner creates a Smoker."
output OnSpawnBoomer(void) : "Fired when the spawner creates a Boomer."
output OnSpawnHunter(void) : "Fired when the spawner creates a Hunter."
output OnSpawnSpitter(void) : "Fired when the spawner creates a Spitter."
output OnSpawnJockey(void) : "Fired when the spawner creates a Jockey."
output OnSpawnCharger(void) : "Fired when the spawner creates a Charger."
output OnSpawnWitch(void) : "Fired when the spawner creates a Witch."
output OnSpawnTank(void) : "Fired when the spawner creates a Tank."
]
@PointClass base(Targetname, Angles, Parentname, EnableDisable) = info_zombie_border :
"No zombies will spawn behind this entity."
[
]
@PointClass base(Origin,Targetname) = info_remarkable : "An object in the world such that characters seeing it will speak a TLK_REMARK concept"
[
contextsubject(string) : "Subject context" : "" : "Text to put in the SUBJECT context of the TLK_REMARK fired upon sighting this object."
]
//--------------------------------------------------------------------------------------------------------
// Weapons
@BaseClass color(0 0 200) base(Targetname, Angles) = Weapon
[
output OnPlayerPickup(void) : "Fires when the player picks up this weapon"
]
@BaseClass color(0 0 200) base(Parentname, Global, Targetname, Angles, Studiomodel) = WeaponSpawnSingle
[
weaponskin(integer) : "Weapon Skin" : -1 : "Some weapons have multiple versions of their textures, called skins. Set this to a number other than -1 to make the given weapon use that skin instead of the default."
glowrange(float) : "Glow Range" : 0 : "Set a custom glow range for this spawner. 0 means use the default range."
solid(choices) : "Collisions" : 6 =
[
0: "Not Solid"
2: "Use Bounding Box"
6: "Use VPhysics"
]
spawnflags(Flags) =
[
1 : "Enable Physics" : 0
2 : "Must Exist" : 0
8 : "Infinite items (overrides count)" : 0
]
]
@BaseClass color(0 0 200) base(WeaponSpawnSingle) = WeaponSpawn
[
count(integer) : "Count" : 5 : "Max number of weapons given before disappearing."
spawnflags(Flags) =
[
4 : "Absorb any dropped weapon type" : 0
]
]
// Left4Dead Guns -----------
@PointClass base(Targetname,Angles) = weapon_item_spawn
[
weaponskin(integer) : "Weapon Skin" : -1 : "Some weapons have multiple versions of their textures, called skins. Set this to a number other than -1 to make the given weapon use that skin instead of the default."
glowrange(float) : "Glow Range" : 0 : "Set a custom glow range for this spawner. 0 means use the default range."
item1(integer) : "Ammo pile" : 0
item2(integer) : "First aid kit" : 0
item3(integer) : "Molotov Cocktail" : 0
item4(integer) : "Pain Pills" : 0
item5(integer) : "Pipe Bomb" : 0
item6(integer) : "Oxygen Tank" : 0
item7(integer) : "Propane Tank" : 0
item8(integer) : "Gasoline Can" : 0
//item9(integer) : "" : 0 // These keys may be set in maps, beware if re-using them. Instead make a new itemN
//item10(integer) : "" : 0
item11(integer) : "Adrenaline" : 0
item12(integer) : "Defibrillator" : 0
item13(integer) : "Boomer Bile" : 0
//item14(integer) : "" : 0
//item15(integer) : "" : 0
item16(integer) : "Chainsaw" : 0
item17(integer) : "Grenade Launcher" : 0
item18(integer) : "M60 Machinegun" : 0
melee_weapon(string) : "Melee Weapon" : "" : "Options: 'Any' or a comma-delimited string of melee weapon script names. Leave blank for none."
spawnflags(Flags) =
[
1 : "Enable Physics on spawned item" : 0
2 : "Spawned Item Must Exist" : 0
8 : "Infinite Items" : 0
]
]
@PointClass base(Targetname) = upgrade_spawn
[
laser_sight(integer) : "Laser Sight" : 1
upgradepack_incendiary(integer) : "UpgradePack - Incendiary" : 1
upgradepack_explosive(integer) : "UpgradePack - Explosive" : 1
spawnflags(Flags) =
[
1 : "Enable Physics on spawned item" : 0
2 : "Spawned Item Must Exist" : 0
]
]
@PointClass base(Targetname,Angles) studioprop("models/props/terror/exploding_ammo.mdl") = upgrade_ammo_explosive
[
count(integer) : "Count" : 4 : "Max number of upgrades given before disappearing."
]
@PointClass base(Targetname,Angles) studioprop("models/props/terror/incendiary_ammo.mdl") = upgrade_ammo_incendiary
[
count(integer) : "Count" : 4 : "Max number of upgrades given before disappearing."
]
@PointClass base(Targetname,Angles) studioprop("models/w_models/Weapons/w_laser_sights.mdl") = upgrade_laser_sight []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_pistol_a.mdl") = weapon_pistol_spawn : "Pistols" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_desert_eagle.mdl") = weapon_pistol_magnum_spawn : "Magnum Pistol" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_smg_uzi.mdl") = weapon_smg_spawn : "Submachinegun" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_shotgun.mdl") = weapon_pumpshotgun_spawn : "Pump Shotgun" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_autoshot_m4super.mdl") = weapon_autoshotgun_spawn : "Auto Shotgun" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_rifle_m16a2.mdl") = weapon_rifle_spawn : "Assault Rifle" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_sniper_mini14.mdl") = weapon_hunting_rifle_spawn : "Hunting Rifle" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_smg_a.mdl") = weapon_smg_silenced_spawn : "MicroUZI" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_pumpshotgun_A.mdl") = weapon_shotgun_chrome_spawn : "Chrome Shotgun" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_shotgun_spas.mdl") = weapon_shotgun_spas_spawn : "SPAS Shotgun" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_rifle_B.mdl") = weapon_rifle_desert_spawn : "Desert Rifle" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_rifle_ak47.mdl") = weapon_rifle_ak47_spawn : "AK47" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_sniper_military.mdl") = weapon_sniper_military_spawn : "Military Sniper Rifle" []
@PointClass base(WeaponSpawn) studioprop("models/weapons/melee/w_chainsaw.mdl") = weapon_chainsaw_spawn : "Chainsaw" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/weapons/w_grenade_launcher.mdl") = weapon_grenade_launcher_spawn : "Grenade Launcher" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_m60.mdl") = weapon_rifle_m60_spawn : "M60 Machinegun" []
// CSS Guns
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_smg_mp5.mdl") = weapon_smg_mp5_spawn : "MP5" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_rifle_sg552.mdl") = weapon_rifle_sg552_spawn : "SG552" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_sniper_awp.mdl") = weapon_sniper_awp_spawn : "AWP Sniper" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_sniper_scout.mdl") = weapon_sniper_scout_spawn : "Scout Sniper" []
// Grenades -----------------
@PointClass base(WeaponSpawn) studioprop("models/w_models/weapons/w_eq_pipebomb.mdl") = weapon_pipe_bomb_spawn : "Pipe Bomb" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/weapons/w_eq_molotov.mdl") = weapon_molotov_spawn : "Molotov" []
@PointClass base(WeaponSpawn) studioprop("models/w_models/weapons/w_eq_bile_flask.mdl") = weapon_vomitjar_spawn : "Vomit Jar" []
// Items ------------------
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_Medkit.mdl") = weapon_first_aid_kit_spawn : "First Aid Kit" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_painpills.mdl") = weapon_pain_pills_spawn : "Painkillers" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_adrenaline.mdl") = weapon_adrenaline_spawn : "Adrenaline" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_defibrillator.mdl") = weapon_defibrillator_spawn : "Defibrillator" []
@PointClass base(WeaponSpawnSingle) studioprop("models/props_junk/gascan001a.mdl") = weapon_gascan_spawn : "Gas Can" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_incendiary_ammopack.mdl") = weapon_upgradepack_incendiary_spawn : "Upgrade Pack - Incendiary" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_explosive_ammopack.mdl") = weapon_upgradepack_explosive_spawn : "Upgrade Pack - Explosive" []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_eq_Medkit.mdl") = weapon_first_aid_kit : "Physics First Aid Kit - This entity is intended to be used in scripted events where a single item needs to spawned with physics active." []
@PointClass base(WeaponSpawnSingle) studioprop("models/w_models/weapons/w_grenade_launcher.mdl") = weapon_grenade_launcher : "Grenade Launcher - This entity is intended to be used in scripted events where a single item needs to spawned with physics active." []
// Melee --------------------
@PointClass base(WeaponSpawn) studioprop() = weapon_melee_spawn : "Melee Weapon"
[
melee_weapon(string) : "Melee Weapon" : "any" : "Options: 'Any' or a comma-delimited string of melee weapon script names. Leave blank for none."
model(studio) : "Model" : "models/weapons/melee/w_fireaxe.mdl" : "Helper Model"
]
// Scavenge Mode --------------------
@PointClass base(WeaponSpawnSingle) studioprop("models/props_junk/gascan001a.mdl") = weapon_scavenge_item_spawn : "Scavenge Item"
[
glowstate(choices) : "Initial Glow State" : 3 =
[
0: "OFF"
3: "ON"
]
input SpawnItem(void) : "Spawn an instance of a scavenge mode item."
input TurnGlowsOn(void) : "All current and future spawned items should glow."
input TurnGlowsOff(void) : "All current and future spawned items should not glow."
output OnItemPickedUp(void) : "Fired when this spawner's scavenge item is picked up by a player."
]
@PointClass base(Origin,Targetname) = point_prop_use_target : "A use target for carried props. Triggers the prop's use behavior."
[
spawnflags(Flags) =
[
1 : "Useable by Gas Can" : 1
2 : "Useable by Cola Bottles" : 0
]
nozzle(target_destination) : "Gas nozzle" : : "The name of the prop_dynamic gas nozzle for this use_target (scavenge mode)."
input Activate(void) : "Activate the use target."
input Deactivate(void) : "Deactivate the use target."
output OnUseStarted(void) : "Fired when a player starts using this target."
output OnUseCancelled(void) : "Fired when a player use is cancelled."
output OnUseFinished(void) : "Fired when a player use is complete."
]
@PointClass base(WeaponSpawn) studioprop("models/w_models/Weapons/w_rifle_m16a2.mdl") = weapon_spawn : "Configurable Weapon Spawner"
[
weapon_selection(choices) : "Selection" : "any_primary" : "Spawn the selected weapon or weapon category" =
[
"any" : "Any primary or secondary weapon"
"any_pistol" : "Any Pistol"
// specific pistols
"weapon_pistol" : "Pistol"
"weapon_pistol_magnum" : "Magnum Pistol"
"any_primary" : "Any Primary Weapon"
"tier1_any" : "Any tier 1 primary"
"tier2_any" : "Any tier 2 primary"
"any_smg" : "Any tier 1 SMG"
"any_rifle" : "Any tier 2 Rifle"
"any_sniper_rifle" : "Any tier 2 Sniper Rifle"
"any_shotgun" : "Any Shotgun"
"tier1_shotgun" : "Any tier 1 Shotgun"
"tier2_shotgun" : "Any tier 2 Shotgun"
// specific primary weapons
"weapon_smg" : "SMG"
"weapon_smg_silenced" : "Silenced SMG"
"weapon_pumpshotgun" : "Pump Shotgun"
"weapon_shotgun_chrome" : "Chrome Shotgun"
"weapon_autoshotgun" : "Auto Shotgun"
"weapon_shotgun_spas" : "SPAS Shotgun"
"weapon_rifle" : "M4 Rifle"
"weapon_rifle_desert" : "Desert Rifle"
"weapon_rifle_ak47" : "AK47"
"weapon_hunting_rifle" : "Hunting Rifle"
"weapon_sniper_military" : "Sniper Military"
// specific css weapons
"weapon_smg_mp5" : "MP5"
"weapon_rifle_sg552" : "SG552"
"weapon_sniper_awp" : "Sniper AWP"
"weapon_sniper_scout" : "Sniper Scout"
]
spawn_without_director(choices) : "Spawn instantly without director" : 0 : "Bypass the proximity checks that make nearby weapons be the same tier / not the same weapon" =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) =
[