-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontingency.fgd
270 lines (220 loc) · 14.2 KB
/
contingency.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
//-------------------------------------------------------------------------
//
// Contingency - CUSTOM HAMMER FGD
//
//-------------------------------------------------------------------------
@include "base.fgd"
@include "hl2mp.fgd"
@PointClass base(Targetname) iconsprite("editor/scripted_sentence.vmt") = contingency_configuration :
"A simple point entity that can be used to define optional map features of Contingency."
[
spawnflags(Flags) =
[
// By default, a map supports all waves
// If none of these flags are selected, the game will assume all waves are supported to prevent the breaking of any game logic
// Also, a warning message will be displayed in all players' consoles each wave as a reminder that the map isn't configured properly
//1 : "Allow headcrab waves" : 1
16 : "Allow antlion waves" : 1
32 : "Allow zombie waves" : 1
64 : "Allow Combine waves" : 1
]
InterimPhaseLength(integer) : "Interim Phase Length" : 60 : "Defines the length of all interim phases (in seconds)"
// By default, a map allows players' radar displays
AllowRadars(choices) : "Allow Radar Displays" : 1 : "If enabled, players will be allowed to toggle and use their radar displays." =
[
0 : "No"
1 : "Yes"
]
MaxPropsPerPlayer(integer) : "Max Props Per Player" : 50 : "Defines the maximum amount of props a player is allowed to have in the world at any given time."
StartingCredits(integer) : "Starting Credits" : 3 : "Defines the amount of credits players are given when they spawn for the first time during a game."
MaxLivingNPCs(integer) : "Global Max Live NPCs" : 30 : "Defines the maximum amount of non-support wave NPCs allowed to be in the world at any given time."
// By default, a server's wave multipliers are not manipulated or modified in any way
//HeadcrabWaveMultiplierOffset(float) : "Headcrab Wave Multiplier Offset" : 0 : "Defines an offset for the server's headcrab wave multiplier. For example, if the server's multiplier is 2, defining 1 here will make the multiplier 3. Negative numbers are supported, but could easily break something."
AntlionWaveMultiplierOffset(float) : "Antlion Wave Multiplier Offset" : 0 : "Defines an offset for the server's antlion wave multiplier. For example, if the server's multiplier is 2, defining 1 here will make the multiplier 3. Negative numbers are supported, but could easily break something."
ZombieWaveMultiplierOffset(float) : "Zombie Wave Multiplier Offset" : 0 : "Defines an offset for the server's zombie wave multiplier. For example, if the server's multiplier is 2, defining 1 here will make the multiplier 3. Negative numbers are supported, but could easily break something."
CombineWaveMultiplierOffset(float) : "Combine Wave Multiplier Offset" : 0 : "Defines an offset for the server's Combine wave multiplier. For example, if the server's multiplier is 2, defining 1 here will make the multiplier 3. Negative numbers are supported, but could easily break something."
// Outputs
output OnInterimPhaseBegin(void) : "Fired when an interim phase begins (usually if not always corresponds with the ending of a combat phase)."
output OnCombatPhaseBegin(void) : "Fired when a combat phase begins (usually if not always corresponds with the ending of an interim phase)."
]
////////////////////////
// WAVE SYSTEM / NPCs //
////////////////////////
@PointClass base(Targetname, Angles, RenderFields, DamageFilter, ResponseContext, Shadow) iconsprite("editor/npc_maker.vmt") = contingency_wave_spawnpoint :
"Used to spawn certain types of waves of NPCs during a combat phase."
[
StartDisabled(choices) : "Start Disabled" : 0 =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) =
[
// Only in npc__maker, npc_template_maker uses flag from template NPC
64 : "Do Not Drop" : 0
128 : "Don't Spawn While Visible" : 0
// Headcrabs
//1024 : "Can Spawn Headcrabs" : 1
//2048 : "Can Spawn Fast Headcrabs" : 1
//4096 : "Can Spawn Poison Headcrabs" : 1
// Antlions
8192 : "Can Spawn Antlions" : 1
// Zombies
1024 : "Can Spawn Headcrabs" : 1
2048 : "Can Spawn Fast Headcrabs" : 1
4096 : "Can Spawn Poison Headcrabs" : 1
16384 : "Can Spawn Zombies" : 1
32768 : "Can Spawn Zombie Torsos" : 1
65536 : "Can Spawn Fast Zombies" : 1
131072 : "Can Spawn Poison Zombies" : 1
// Combine
262144 : "Can Spawn Combine Soldiers" : 1
524288 : "Can Spawn Combine Metrocops" : 1
1048576 : "Can Spawn Combine Scanners" : 1
2097152 : "Can Spawn Combine Manhacks" : 1
4194304 : "Can Spawn Combine Stalkers" : 1
]
MaxPlayerDistance(float) : "Max Player Distance" : -1 : "Defines the maximum distance away from the nearest player at which this spawner will continue to spawn NPCs. In other words, this spawner will not spawn NPCs for as long as the nearest player is further away than the distance specified here. Set to -1 to disable functionality."
SpawnFrequency(string) : "Frequency" : "-1" : "How often (in seconds) a new NPC will be spawned. If set to -1, a new NPC will be made when the last NPC dies."
MaxLiveChildren(integer) : "Max Live NPCs" : -1 : "Maximum number of live children allowed at any one time (new ones will not be made until one dies). If set to -1, no limit is applied."
NPCSquadname(string) : "Childrens' Squad Name" : "contingency"
rallyPointName(string) : "Rally Point Name" : "" : "(OPTIONAL) Name of the contingency_rallypoint entity that NPCs should move to when they spawn."
// Outputs
output OnSpawnNPC(string) : "Fired when an NPC is spawned. The activator is the NPC, and the string is the name of the NPC."
output OnAllLiveChildrenDead(void) : "Fired when all spawned children have died. This does not mean the spawned is exhausted, so a new child may be spawned any time after this (unless the maker is disabled)."
// Inputs
input Spawn(void) : "Spawns an NPC."
input Toggle(void) : "Toggles the spawner enabled/disabled state."
input Enable(void) : "Enables the spawner."
input Disable(void) : "Disables the spawner."
input SetMaxLiveChildren(integer) : "Sets the maximum number of NPCs that can be alive at any one time from this spawner."
input SetSpawnFrequency(float) : "Sets how often (in seconds) a new NPC will be spawned."
]
@PointClass base(Targetname, Angles, RenderFields, DamageFilter, ResponseContext, Shadow) iconsprite("editor/npc_maker.vmt") = contingency_support_spawnpoint :
"Used to spawn support NPCs during an interim phase."
[
StartDisabled(choices) : "Start Disabled" : 0 =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) =
[
// Only in npc__maker, npc_template_maker uses flag from template NPC
64 : "Do Not Drop" : 0
128 : "Don't Spawn While Visible" : 0
]
MaxPlayerDistance(float) : "Max Player Distance" : -1 : "Defines the maximum distance away from the nearest player at which this spawner will continue to spawn NPCs. In other words, this spawner will not spawn NPCs for as long as the nearest player is further away than the distance specified here. Set to -1 to disable functionality."
SpawnFrequency(string) : "Frequency" : "-1" : "How often (in seconds) a new NPC will be spawned. If set to -1, a new NPC will be made when the last NPC dies."
MaxLiveChildren(integer) : "Max Live NPCs" : -1 : "Maximum number of live children allowed at any one time (new ones will not be made until one dies). If set to -1, no limit is applied."
NPCSquadname(string) : "Childrens' Squad Name" : "contingency_support"
rallyPointName(string) : "Rally Point Name" : "" : "(OPTIONAL) Name of a contingency_rallypoint entity that NPCs should move to upon spawning."
// Outputs
output OnSpawnNPC(string) : "Fired when an NPC is spawned. The activator is the NPC, and the string is the name of the NPC."
output OnAllLiveChildrenDead(void) : "Fired when all spawned children have died. This does not mean the spawned is exhausted, so a new child may be spawned any time after this (unless the maker is disabled)."
// Inputs
input Spawn(void) : "Spawns an NPC."
input Toggle(void) : "Toggles the spawner enabled/disabled state."
input Enable(void) : "Enables the spawner."
input Disable(void) : "Disables the spawner."
input SetMaxLiveChildren(integer) : "Sets the maximum number of NPCs that can be alive at any one time from this spawner."
input SetSpawnFrequency(float) : "Sets how often (in seconds) a new NPC will be spawned."
]
@PointClass base(Targetname, Angles, RenderFields, DamageFilter, ResponseContext, Shadow) iconsprite("editor/npc_maker.vmt") = contingency_boss_spawnpoint :
"Used to spawn boss NPCs during a combat phase."
[
StartDisabled(choices) : "Start Disabled" : 0 =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) =
[
// Only in npc__maker, npc_template_maker uses flag from template NPC
64 : "Do Not Drop" : 0
128 : "Don't Spawn While Visible" : 0
]
MaxPlayerDistance(float) : "Max Player Distance" : -1 : "Defines the maximum distance away from the nearest player at which this spawner will continue to spawn NPCs. In other words, this spawner will not spawn NPCs for as long as the nearest player is further away than the distance specified here. Set to -1 to disable functionality."
SpawnFrequency(string) : "Frequency" : "-1" : "How often (in seconds) a new NPC will be spawned. If set to -1, a new NPC will be made when the last NPC dies."
MaxLiveChildren(integer) : "Max Live NPCs" : -1 : "Maximum number of live children allowed at any one time (new ones will not be made until one dies). If set to -1, no limit is applied."
NPCSquadname(string) : "Childrens' Squad Name" : "contingency"
BossNPCType(choices) : "Boss NPC Type" : "npc_antlionguard" : "Defines the specific type of boss NPC to spawn from this spawner." =
[
"npc_antlionguard" : "Antlion Guard (Antlion Waves ONLY)"
]
BossSpawnFrequency(integer) : "Boss NPC Spawn Frequency" : 5 : "Defines how frequently boss NPCs may be spawned from this spawner using 'every x number of waves' logic, where x is whatever positive, non-zero integer you choose to define here. Whether or not a boss NPC is actually spawned when it should is determined by the game logic."
rallyPointName(string) : "Rally Point Name" : "" : "(OPTIONAL) Name of the contingency_rallypoint entity that NPCs should move to when they spawn."
// Outputs
output OnSpawnNPC(string) : "Fired when an NPC is spawned. The activator is the NPC, and the string is the name of the NPC."
output OnAllLiveChildrenDead(void) : "Fired when all spawned children have died. This does not mean the spawned is exhausted, so a new child may be spawned any time after this (unless the maker is disabled)."
// Inputs
input Spawn(void) : "Spawns an NPC."
input Toggle(void) : "Toggles the spawner enabled/disabled state."
input Enable(void) : "Enables the spawner."
input Disable(void) : "Disables the spawner."
input SetMaxLiveChildren(integer) : "Sets the maximum number of NPCs that can be alive at any one time from this spawner."
input SetSpawnFrequency(float) : "Sets how often (in seconds) a new NPC will be spawned."
]
@NPCClass base(Parentname, BaseNPC) size(-16 -16 -16, 16 16 16) color(255 150 0) = npc_enemyfinder : "EnemyFinder"
[
squadname(String) : "Squad Name" : "contingency" : "NPCs that are in the same squad (i.e. have matching squad names) will share information about enemies, and will take turns attacking and covering each other."
wakeradius(float) : "Wake Radius" : 99999 : "Auto-wake if player within this distance"
wakesquad(choices) : "Wake Squad" : 1 : "Wake all of the NPCs squadmates if the NPC is woken" =
[
0 : "No"
1 : "Yes"
]
spawnflags(flags) =
[
65536 : "Check Visibility" : 1
131072 : "APC Visibility checks" : 0
262144 : "Short memory" : 0
524288 : "Can be an enemy" : 0
]
FieldOfView(string) : "FieldOfView" : "-1.0" : "How far to look (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)"
MinSearchDist(integer) : "Min Search Dist" : 0
MaxSearchDist(integer) : "Max Search Dist" : 99999
freepass_timetotrigger(float) : "Player pass issue time" : 0 : "Amount of time an enemy is hidden after which a 'free pass' on reaquire is granted"
freepass_duration(float) : "Player pass duration" : 0 : "After granted 'free pass', the amount of time a target is allowed before reaquire"
freepass_movetolerance(float) : "Player pass move tolerance" : 120 : "After granted 'free pass', the distance the target is allowed to move before reaquire"
freepass_refillrate(float) : "Player pass refill rate" : "0.5" : "After free pass begins expiring, how much the time the target gets back for every second they hide again"
freepass_peektime(float) : "Player pass peek time" : 0 : "How long targets in cover are allowed to peek without penalty"
StartOn(choices) : "Start On" : 1 =
[
0 : "No"
1 : "Yes"
]
// Inputs
input TurnOn(void) : "Turn on: Look for enemies"
input TurnOff(void) : "Turn off: Stop looking for enemies"
output OnLostEnemies(void) : "Fires when the enemy finder has no enemies."
output OnAcquireEnemies(void) : "Fires when the enemy finder acquires enemies."
]
@PointClass base(Targetname, Angles) studio( "models/combine_turrets/floor_turret.mdl" ) = npc_turret_floor : "Turret"
[
spawnflags(Flags) =
[
32 : "Autostart" : 0
64 : "Start Inactive" : 0
128 : "Fast Retire" : 0
256 : "Out of Ammo" : 0
]
// Inputs
input Toggle(void) : "Toggle - If open, close. If closed, open."
input Enable(void) : "Enable the turret."
input Disable(void) : "Disable the turret."
input DepleteAmmo(void) : "Depletes all the ammo from a turret, causing it to dry-fire."
input RestoreAmmo(void) : "Restores ammo to a turret, allowing it to fire live rounds again."
input SelfDestruct(void) : "Causes the turret to warn and then explode."
// Outputs
output OnDeploy(void) : "Turret is becoming active and dangerous."
output OnRetire(void) : "Turret is becoming inactive and harmless."
]
@PointClass base(Targetname) iconsprite("editor/bullseye.vmt") = contingency_rallypoint :
"An optional rally point for wave and support wave spawners that can be used to force NPCs to move towards this point entity's origin upon spawning."
[
]
/////////////
// WEAPONS //
/////////////
@PointClass base(Weapon) studio("models/weapons/w_rocket_launcher.mdl") = weapon_nyangun : "NYAN GUN" []