Added ability to disable bosses using logic_classunlock

-Added Key "bossesenabled"
-added input "setbossesenabled"
-Updated FGD with above changed
-Cleaned up FGD
This commit is contained in:
Ben 2014-11-10 13:28:36 +00:00
parent 6af66c30a5
commit 66fead7e96
2 changed files with 260 additions and 212 deletions

View file

@ -2,6 +2,7 @@ ENT.Type = "point"
function ENT:Initialize() function ENT:Initialize()
self.Class = self.Class or 1 self.Class = self.Class or 1
self.BossesEnabled = GAMEMODE.BossZombies
end end
function ENT:Think() function ENT:Think()
@ -50,6 +51,8 @@ function ENT:AcceptInput(name, activator, caller, args)
v.IsDefault = nil v.IsDefault = nil
end end
end end
elseif name == "setbossesenabled" then
self:KeyValue("BossesEnabled",args)
end end
end end
@ -57,6 +60,10 @@ function ENT:KeyValue(key, value)
key = string.lower(key) key = string.lower(key)
if key == "class" then if key == "class" then
self.Class = value or self.Class self.Class = value or self.Class
elseif key == "bossesenabled" then
local enabled = tonumber(value) == 1
self.BossesEnabled = enabled
GAMEMODE.BossZombies = enabled
elseif string.sub(key, 1, 2) == "on" then elseif string.sub(key, 1, 2) == "on" then
self:AddOnOutput(key, value) self:AddOnOutput(key, value)
end end

View file

@ -1,23 +1,26 @@
/////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// NoXiousNet Zombie Survival FGD - Last Edit by Benjy (29th October 2014) // // NoXiousNet Zombie Survival FGD - Last Edit by Benjy (10th November 2014) //
// If there are any bugs with this file, or any additions that need to be made // // If there are any bugs with this file, or any additions that need to be made //
// make a post at: http://www.noxiousnet.com/forums/index.php?topic=14910 // // make a post at: http://www.noxiousnet.com/forums/index.php?topic=14910 //
/////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@include "base.fgd" @include "base.fgd"
@include "halflife2.fgd" @include "halflife2.fgd"
@include "hl2mp.fgd" @include "hl2mp.fgd"
/////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// Gamemode - Brush Entities ////////////////////////////////////////////////////// // Gamemode - Brush Entities /////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@SolidClass base(Targetname) = func_noair : "ZS: Anyone inside this brush requires air" @SolidClass base(Targetname) = func_noair : "ZS: Anyone inside this brush requires air"
[ [
// Keys
enabled(choices) : "Enabled" : 0 : "Enable the brush entity." = enabled(choices) : "Enabled" : 0 : "Enable the brush entity." =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs
input enable(void) : "Enable the entity." input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity." input disable(void) : "Disable the entity."
input toggle(void) : "Toggle the entity." input toggle(void) : "Toggle the entity."
@ -25,6 +28,7 @@
@SolidClass base(Targetname) = trigger_zombieclass : "ZS: You can directly control the changing of classes with this." @SolidClass base(Targetname) = trigger_zombieclass : "ZS: You can directly control the changing of classes with this."
[ [
// Keys
enabled(choices) : "Enabled" : 0 : "Enable the brush entity." = enabled(choices) : "Enabled" : 0 : "Enable the brush entity." =
[ [
1 : "Yes" 1 : "Yes"
@ -52,7 +56,7 @@
"chem zombie" : "Chem Zombie" "chem zombie" : "Chem Zombie"
"nightmare" : "Nightmare" "nightmare" : "Nightmare"
"puke pus" : "Puke Pus" "puke pus" : "Puke Pus"
"the tickle monster": "The Tickle Monster" "the tickle monster" : "The Tickle Monster"
"shade" : "Shade" "shade" : "Shade"
"bonemesh" : "Bonemesh" "bonemesh" : "Bonemesh"
"the butcher" : "The Butcher" "the butcher" : "The Butcher"
@ -82,7 +86,7 @@
"chem zombie" : "Chem Zombie" "chem zombie" : "Chem Zombie"
"nightmare" : "Nightmare" "nightmare" : "Nightmare"
"puke pus" : "Puke Pus" "puke pus" : "Puke Pus"
"the tickle monster": "The Tickle Monster" "the tickle monster" : "The Tickle Monster"
"shade" : "Shade" "shade" : "Shade"
"bonemesh" : "Bonemesh" "bonemesh" : "Bonemesh"
"the butcher" : "The Butcher" "the butcher" : "The Butcher"
@ -90,7 +94,7 @@
"gore child" : "Gore Child" "gore child" : "Gore Child"
"giga gore child" : "Giga Gore Child" "giga gore child" : "Giga Gore Child"
] ]
touchdeathclass(choices): "On Touch Respawn Class" : "zombie" : "Any living zombie touching the brush will be set to this class name on death." = touchdeathclass(choices) : "On Touch Respawn Class" : "zombie" : "Any living zombie touching the brush will be set to this class name on death." =
[ [
"crow" : "Crow" "crow" : "Crow"
"will o' wisp" : "Will O' Wisp" "will o' wisp" : "Will O' Wisp"
@ -112,7 +116,7 @@
"chem zombie" : "Chem Zombie" "chem zombie" : "Chem Zombie"
"nightmare" : "Nightmare" "nightmare" : "Nightmare"
"puke pus" : "Puke Pus" "puke pus" : "Puke Pus"
"the tickle monster": "The Tickle Monster" "the tickle monster" : "The Tickle Monster"
"shade" : "Shade" "shade" : "Shade"
"bonemesh" : "Bonemesh" "bonemesh" : "Bonemesh"
"the butcher" : "The Butcher" "the butcher" : "The Butcher"
@ -142,7 +146,7 @@
"chem zombie" : "Chem Zombie" "chem zombie" : "Chem Zombie"
"nightmare" : "Nightmare" "nightmare" : "Nightmare"
"puke pus" : "Puke Pus" "puke pus" : "Puke Pus"
"the tickle monster": "The Tickle Monster" "the tickle monster" : "The Tickle Monster"
"shade" : "Shade" "shade" : "Shade"
"bonemesh" : "Bonemesh" "bonemesh" : "Bonemesh"
"the butcher" : "The Butcher" "the butcher" : "The Butcher"
@ -160,6 +164,7 @@
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input enable(void) : "Enable the entity." input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity." input disable(void) : "Disable the entity."
@ -174,23 +179,23 @@
@SolidClass base(Targetname) = trigger_bossclass : "ZS: A zombie that touches this brush" @SolidClass base(Targetname) = trigger_bossclass : "ZS: A zombie that touches this brush"
[ [
// Keys
enabled(choices) : "Enabled" : 0 : "Enable the brush entity." = enabled(choices) : "Enabled" : 0 : "Enable the brush entity." =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
silent(choices) : "Silent" : 0 : "If yes then then the server does not announce that a player has become the new boss." = silent(choices) : "Silent" : 0 : "If yes then then the server does not announce that a player has become the new boss." =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
instantchange(choices) : "Change Instantly?" : 1 : "If yes then anyone who gets swapped will instantly be changed right on the spot." = instantchange(choices) : "Change Instantly?" : 1 : "If yes then anyone who gets swapped will instantly be changed right on the spot." =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input enable(void) : "Enable the entity." input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity." input disable(void) : "Disable the entity."
@ -198,6 +203,7 @@
input setsilent(integer) : "Set Silent keyvalue. <boolean>" input setsilent(integer) : "Set Silent keyvalue. <boolean>"
input setinstantchange(integer) : "Set Change Instantly keyvalue. <boolean>" input setinstantchange(integer) : "Set Change Instantly keyvalue. <boolean>"
input spawnboss(void) : "Spawns the boss using the zombie with the highest score" input spawnboss(void) : "Spawns the boss using the zombie with the highest score"
// Outputs // Outputs
output OnBossTouched(void) : "Set when a boss starts touching the brush. Is not fired when a zombie becomes a boss in this volume." output OnBossTouched(void) : "Set when a boss starts touching the brush. Is not fired when a zombie becomes a boss in this volume."
] ]
@ -208,11 +214,13 @@
@BaseClass base(Targetname) = ZSSpawn @BaseClass base(Targetname) = ZSSpawn
[ [
// Keys
disabled(choices) : "Disabled" : 0 : "If disabled, players cannot spawn here." = disabled(choices) : "Disabled" : 0 : "If disabled, players cannot spawn here." =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input enable(void) : "Enable the spawn point." input enable(void) : "Enable the spawn point."
input disable(void) : "Disable the spawn point." input disable(void) : "Disable the spawn point."
@ -237,24 +245,27 @@
@PointClass base(Targetname) = logic_beats : "ZS: Allows you to turn beats (the ambient music) on or off." @PointClass base(Targetname) = logic_beats : "ZS: Allows you to turn beats (the ambient music) on or off."
[ [
// Keys
enabled(choices) : "Enabled" : 1 : "Allows ZS beats" = enabled(choices) : "Enabled" : 1 : "Allows ZS beats" =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input enable(void) : "Enables beats." input enable(void) : "Enables beats."
input disable(void) : "Disables beats." input disable(void) : "Disables beats."
// Outputs
] ]
@PointClass base(Targetname) = logic_dynamicspawning : "ZS: Allows you to control dynamic spawning." @PointClass base(Targetname) = logic_dynamicspawning : "ZS: Allows you to control dynamic spawning."
[ [
// Keys
enabled(choices) : "Enabled" : 1 : "Should dynamic spawning be on?" = enabled(choices) : "Enabled" : 1 : "Should dynamic spawning be on?" =
[ [
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input enable(void) : "Enable dynamic spawning." input enable(void) : "Enable dynamic spawning."
input disable(void) : "Disable dynamic spawning." input disable(void) : "Disable dynamic spawning."
@ -262,12 +273,15 @@
@PointClass base(Origin) iconsprite("particles/smokey") sphere( radius ) = zombiegasses : "ZS: Manually place a point for the zombies' noxious gases." @PointClass base(Origin) iconsprite("particles/smokey") sphere( radius ) = zombiegasses : "ZS: Manually place a point for the zombies' noxious gases."
[ [
// Keys
radius(integer) : "Radius" : 250 : "Radius that this can damage humans/heal zombies." radius(integer) : "Radius" : 250 : "Radius that this can damage humans/heal zombies."
] ]
@PointClass base(Targetname) = logic_pickupdrop : "ZS: Controls events when players pickup or drop things." @PointClass base(Targetname) = logic_pickupdrop : "ZS: Controls events when players pickup or drop things."
[ [
// Keys
EntityToWatch(target_destination) : "Entity to Watch" : " " : "Name of the entity to watch (for outputs)." EntityToWatch(target_destination) : "Entity to Watch" : " " : "Name of the entity to watch (for outputs)."
// Inputs // Inputs
input ForceDrop(string) : "Forces the dropping of something that's picked up by a human." input ForceDrop(string) : "Forces the dropping of something that's picked up by a human."
input DisablePickup(string) : "Disables human pickups for the specified entity. Does not force dropping if currently carried, use the above input." input DisablePickup(string) : "Disables human pickups for the specified entity. Does not force dropping if currently carried, use the above input."
@ -322,14 +336,18 @@
@PointClass base(Targetname) = logic_startingloadout : "ZS: Allows you to control what people start with." @PointClass base(Targetname) = logic_startingloadout : "ZS: Allows you to control what people start with."
[ [
// Keys
startingloadout(string) : "Starting Loadout" : "worth" : "Sets the starting load out for all new humans. This is a comma-separated list of entity classes which is then separated by colons. For example: weapon_zs_peashooter:1,weapon_zs_axe:1,item_ammo_pistol:2 would give everyone a peashooter, an axe, and spawn two boxes of pistol ammo on them. It also accepts none for absolutely no starting items and worth for using the worth menu (default)." startingloadout(string) : "Starting Loadout" : "worth" : "Sets the starting load out for all new humans. This is a comma-separated list of entity classes which is then separated by colons. For example: weapon_zs_peashooter:1,weapon_zs_axe:1,item_ammo_pistol:2 would give everyone a peashooter, an axe, and spawn two boxes of pistol ammo on them. It also accepts none for absolutely no starting items and worth for using the worth menu (default)."
// Inputs // Inputs
input setstartingloadout(string) : "Sets the keyvalue" input setstartingloadout(string) : "Sets the keyvalue"
] ]
@PointClass base(Targetname) = logic_worth : "ZS: Allows you to control Worth." @PointClass base(Targetname) = logic_worth : "ZS: Allows you to control Worth."
[ [
// Keys
startingworth(integer) : "Starting Worth" : 100 : "The amount of Worth to start with. Use 0 to disable Worth." startingworth(integer) : "Starting Worth" : 100 : "The amount of Worth to start with. Use 0 to disable Worth."
// Inputs // Inputs
input setstartingworth(integer) : "Sets the amount of worth to start with." input setstartingworth(integer) : "Sets the amount of worth to start with."
] ]
@ -350,6 +368,7 @@
@PointClass base(Targetname) = logic_pickups : "ZS: Allows you to control how much stuff people can pickup in the map. Only things placed by the mapper work with this system. Stuff from dead humans doesn't count." @PointClass base(Targetname) = logic_pickups : "ZS: Allows you to control how much stuff people can pickup in the map. Only things placed by the mapper work with this system. Stuff from dead humans doesn't count."
[ [
// Keys
maxweaponpickups(integer) : "Max Weapon Pickups" : 5 : "How many weapons a player can pickup from the map." maxweaponpickups(integer) : "Max Weapon Pickups" : 5 : "How many weapons a player can pickup from the map."
maxammopickups(integer) : "Max Ammo Pickups" : 5 : "How many ammo boxes a player can pickup from the map." maxammopickups(integer) : "Max Ammo Pickups" : 5 : "How many ammo boxes a player can pickup from the map."
maxflashlightpickups(integer) : "Max Flashlight Pickups" : 5 : "How many flashlight batteries a player can pickup from the map." maxflashlightpickups(integer) : "Max Flashlight Pickups" : 5 : "How many flashlight batteries a player can pickup from the map."
@ -358,6 +377,7 @@
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs // Inputs
input setmaxweaponpickups(integer) : "Set the number of weapons a player can pickup from the map." input setmaxweaponpickups(integer) : "Set the number of weapons a player can pickup from the map."
input setmaxammopickups(integer) : "Set the number of ammo boxes a player can pickup from the map." input setmaxammopickups(integer) : "Set the number of ammo boxes a player can pickup from the map."
@ -367,16 +387,26 @@
@PointClass base(Targetname) = logic_classunlock : "ZS: Allows you to control class unlocks." @PointClass base(Targetname) = logic_classunlock : "ZS: Allows you to control class unlocks."
[ [
// Keys
class(string) : "Class" : "zombie" : "Sets the name of the class to watch for any outputs." class(string) : "Class" : "zombie" : "Sets the name of the class to watch for any outputs."
bossesenabled(choices) : "Enable Bosses" : 1 : "When enabled, bosses spawn at wave end as normal." =
[
1 : "Yes"
0 : "No"
]
// Inputs // Inputs
input unlockclass(string) : "Forces a class to be unlocked." input unlockclass(string) : "Forces a class to be unlocked."
input lockclass(string) : "Forces a class to be locked." input lockclass(string) : "Forces a class to be locked."
input setbossesenabled(integer) : "Enables or disables boss zombies."
// Outputs // Outputs
output OnClassUnlocked(void) : "Called when the class we're watching's class is unlocked by the game. This output isn't called if the class is unlocked by any logic_classunlock entities, only by the game." output OnClassUnlocked(void) : "Called when the class we're watching's class is unlocked by the game. This output isn't called if the class is unlocked by any logic_classunlock entities, only by the game."
] ]
@PointClass studio("models/crossbow_bolt.mdl") base(Targetname) = prop_nail : "ZS: Allows you to manually place nails." @PointClass studio("models/crossbow_bolt.mdl") base(Targetname) = prop_nail : "ZS: Allows you to manually place nails."
[ [
// Keys
healthoverride(integer) : "Health Override" : 210 : "Sets the nail's maximum health to a specific number." healthoverride(integer) : "Health Override" : 210 : "Sets the nail's maximum health to a specific number."
healthmultiplier(float) : "Health Multiply" : 1 : "Multiply the nail's default maximum health by this number." healthmultiplier(float) : "Health Multiply" : 1 : "Multiply the nail's default maximum health by this number."
unremovable(choices) : "Unremovable" : 0 : "Set to yes to make this nail unremovable by players." = unremovable(choices) : "Unremovable" : 0 : "Set to yes to make this nail unremovable by players." =
@ -384,6 +414,8 @@
1 : "Yes" 1 : "Yes"
0 : "No" 0 : "No"
] ]
// Inputs
input sethealth(integer) : "Sets the nail's remaining health." input sethealth(integer) : "Sets the nail's remaining health."
input attachto(string) : "Parent to this entity." input attachto(string) : "Parent to this entity."
input nailto(string) : "Nail to this entity. Use attachto first and then this to weld the two. Use 'worldspawn' here to weld to the world." input nailto(string) : "Nail to this entity. Use attachto first and then this to weld the two. Use 'worldspawn' here to weld to the world."
@ -394,6 +426,7 @@
@PointClass studio("models/Items/BoxMRounds.mdl") base(Targetname, Angles) = prop_ammo : "ZS: Game Specific Ammo." @PointClass studio("models/Items/BoxMRounds.mdl") base(Targetname, Angles) = prop_ammo : "ZS: Game Specific Ammo."
[ [
// Keys
ammotype(choices) : "Ammo Type" : "pistol" : "Ammo type this entity becomes" = ammotype(choices) : "Ammo Type" : "pistol" : "Ammo type this entity becomes" =
[ [
"pistol" : "Pistol" "pistol" : "Pistol"
@ -414,13 +447,16 @@
] ]
amount(integer) : "Amount" : 0 : "Amount of ammo that collecting this item gives" amount(integer) : "Amount" : 0 : "Amount of ammo that collecting this item gives"
] ]
@PointClass studio("models/weapons/w_irifle.mdl") base(Targetname, Angles) = prop_weapon : "ZS: Game Specific Weapon." @PointClass studio("models/weapons/w_irifle.mdl") base(Targetname, Angles) = prop_weapon : "ZS: Game Specific Weapon."
[ [
// Keys
weapontype(string) : "weapon_type" : "weapon_zs_m4" : "Weapon type this entity becomes" weapontype(string) : "weapon_type" : "weapon_zs_m4" : "Weapon type this entity becomes"
] ]
@PointClass base(Targetname) sphere( range ) = point_worldhint : "ZS: Allows you to create 3D hints and information tags." @PointClass base(Targetname) sphere( range ) = point_worldhint : "ZS: Allows you to create 3D hints and information tags."
[ [
// Keys
hint(string) : "Hint" : " " : "The hint to display." hint(string) : "Hint" : " " : "The hint to display."
viewer(choices) : "Seen By" : 0 : "The team that can view us." = viewer(choices) : "Seen By" : 0 : "The team that can view us." =
[ [
@ -430,6 +466,7 @@
"4" : "Humans" "4" : "Humans"
] ]
range(integer) : "Range" : 0 : "The range from the player's camera we must be in to see this hint. It can also be 0 for infinite." range(integer) : "Range" : 0 : "The range from the player's camera we must be in to see this hint. It can also be 0 for infinite."
// Inputs // Inputs
input sethint(string) : "Sets the hint to display." input sethint(string) : "Sets the hint to display."
input setviewer(integer) : "Sets the team that can view us. Use 0 for everyone, -1 for no one (inactive), 3 for zombie, and 4 for human." input setviewer(integer) : "Sets the team that can view us. Use 0 for everyone, -1 for no one (inactive), 3 for zombie, and 4 for human."
@ -438,22 +475,16 @@
@PointClass base(Targetname) = prop_playergib : "ZS: Allows you to manually place gibs." @PointClass base(Targetname) = prop_playergib : "ZS: Allows you to manually place gibs."
[ [
// "models/gibs/HGIBS.mdl" // Keys
// "models/gibs/HGIBS_spine.mdl"
// "models/gibs/HGIBS_rib.mdl"
// "models/gibs/HGIBS_scapula.mdl"
// "models/gibs/antlion_gib_medium_2.mdl"
// "models/gibs/Antlion_gib_Large_1.mdl"
// "models/gibs/Strider_Gib4.mdl"
gibtype(choices) : "Gib Type" : 1 : "Overrides the gib's type." = gibtype(choices) : "Gib Type" : 1 : "Overrides the gib's type." =
[ [
1 : "Skull" 1 : "Skull" // "models/gibs/HGIBS.mdl"
2 : "Spine" 2 : "Spine" // "models/gibs/HGIBS_spine.mdl"
3 : "Rib" 3 : "Rib" // "models/gibs/HGIBS_rib.mdl"
4 : "Scapula" 4 : "Scapula" // "models/gibs/HGIBS_scapula.mdl"
7 : "Small Chunk" 7 : "Small Chunk" // "models/gibs/antlion_gib_medium_2.mdl"
5 : "Medium Chunk" 5 : "Medium Chunk" // "models/gibs/Antlion_gib_Large_1.mdl"
6 : "Large Chunk" 6 : "Large Chunk" // "models/gibs/Strider_Gib4.mdl"
] ]
lifetime(integer) : "Lifetime" : 0 : "Overrides how long for this gib should live. 0 for never automatically remove." lifetime(integer) : "Lifetime" : 0 : "Overrides how long for this gib should live. 0 for never automatically remove."
] ]
@ -463,6 +494,7 @@
// Inputs // Inputs
input win(void) : "Humans win the game, map over." input win(void) : "Humans win the game, map over."
input lose(void) : "Humans lose the game, map over." input lose(void) : "Humans lose the game, map over."
// Outputs // Outputs
output onwin(void) : "Called when humans win even if not by this entity." output onwin(void) : "Called when humans win even if not by this entity."
output onlose(void) : "Called when humans lose even if not by this entity." output onlose(void) : "Called when humans lose even if not by this entity."
@ -470,7 +502,9 @@
@PointClass base(Targetname) = logic_infliction : "ZS: Watches for the specified infliction level." @PointClass base(Targetname) = logic_infliction : "ZS: Watches for the specified infliction level."
[ [
// Keys
infliction(float) : "Infliction" : "0.5" : "Defines infliction to watch for (float between 0.0 - 1.0)." infliction(float) : "Infliction" : "0.5" : "Defines infliction to watch for (float between 0.0 - 1.0)."
// Outputs // Outputs
output OnInflictionReached(void) : "Called when the specified infliction level has been reached." output OnInflictionReached(void) : "Called when the specified infliction level has been reached."
output OnLastHuman(void) : "Called when there is one person alive. !caller and !activator are both the last human's entity." output OnLastHuman(void) : "Called when there is one person alive. !caller and !activator are both the last human's entity."
@ -478,7 +512,9 @@
@PointClass base(Targetname) = logic_waves : "ZS: Watches for the start of the specified wave." @PointClass base(Targetname) = logic_waves : "ZS: Watches for the start of the specified wave."
[ [
// Keys
wave(integer) : "Wave" : 1 : "Any On* outputs will watch for this wave. Use -1 for all waves." wave(integer) : "Wave" : 1 : "Any On* outputs will watch for this wave. Use -1 for all waves."
// Inputs // Inputs
input AdvanceWave(void) : "Advances to the next wave and sets the wave to active." input AdvanceWave(void) : "Advances to the next wave and sets the wave to active."
input EndWave(void) : "Sets the time that the wave ends to this very moment." input EndWave(void) : "Sets the time that the wave ends to this very moment."
@ -487,6 +523,7 @@
input SetWaves(integer) : "Sets the total amount of waves to the number specified. Don't worry about class unlocks, the gamemode does not use the max waves value directly." input SetWaves(integer) : "Sets the total amount of waves to the number specified. Don't worry about class unlocks, the gamemode does not use the max waves value directly."
input SetWaveStart(integer) : "Sets the time that the wave will start to TimeNow + <time>. You should use this instead of delayed entity inputs." input SetWaveStart(integer) : "Sets the time that the wave will start to TimeNow + <time>. You should use this instead of delayed entity inputs."
input SetWaveEnd(integer) : "Sets the time that the wave will end to TimeNow + <time>. You should use this instead of delayed entity inputs." input SetWaveEnd(integer) : "Sets the time that the wave will end to TimeNow + <time>. You should use this instead of delayed entity inputs."
// Outputs // Outputs
output OnWaveStart(void) : "Called when the specified wave has started." output OnWaveStart(void) : "Called when the specified wave has started."
output OnWaveEnd(void) : "Called when the specified wave has ended." output OnWaveEnd(void) : "Called when the specified wave has ended."
@ -494,6 +531,7 @@
@PointClass base(Targetname) = point_zsmessage : "ZS: Custom message that is displayed with the specified message." @PointClass base(Targetname) = point_zsmessage : "ZS: Custom message that is displayed with the specified message."
[ [
// Keys
team(choices) : "Team" : "all" : "Filter which team gets the message." = team(choices) : "Team" : "all" : "Filter which team gets the message." =
[ [
"zombie" : "Zombies" "zombie" : "Zombies"
@ -501,6 +539,8 @@
"private" : "Activator Only" "private" : "Activator Only"
"all" : "All" "all" : "All"
] ]
// Inputs
input message(string) : "What to display. Supports the markup library." input message(string) : "What to display. Supports the markup library."
input sethumanhudmessage(string) : "Set a message to display in the human wave hud." input sethumanhudmessage(string) : "Set a message to display in the human wave hud."
input setzombiehudmessage(string) : "Set a message to display in the zombie wave hud." input setzombiehudmessage(string) : "Set a message to display in the zombie wave hud."
@ -517,6 +557,7 @@
@PointClass base(Targetname) = info_gamehud : "ZS: Allows you to control a custom message that appears on the wave HUD for each team. Can be used to display objectives or other information." @PointClass base(Targetname) = info_gamehud : "ZS: Allows you to control a custom message that appears on the wave HUD for each team. Can be used to display objectives or other information."
[ [
// Keys
message(string) : "Message" : " " : "The hint to display." message(string) : "Message" : " " : "The hint to display."
viewer(choices) : "Seen By" : 0 : "The team that can view us." = viewer(choices) : "Seen By" : 0 : "The team that can view us." =
[ [
@ -525,12 +566,12 @@
"3" : "Zombies" "3" : "Zombies"
"4" : "Humans" "4" : "Humans"
] ]
// Inputs // Inputs
input setmessage(string) : "Sets the hint to display." input setmessage(string) : "Sets the hint to display."
input setviewer(integer) : "Sets the team that can view us. Use 0 for everyone, -1 for no one (inactive), 3 for zombie, and 4 for human." input setviewer(integer) : "Sets the team that can view us. Use 0 for everyone, -1 for no one (inactive), 3 for zombie, and 4 for human."
] ]
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Worth Weapons + Items /////////////////////////////////////////////// // Gamemode - Worth Weapons + Items ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
@ -741,7 +782,7 @@
"A hunting rifle that deals high amount of damage at the cost of slow reload speed. " [] "A hunting rifle that deals high amount of damage at the cost of slow reload speed. " []
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Crafting Weapons //|||||//////////////////////////////////////////// // Gamemode - Crafting Weapons ////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
@PointClass base(Weapon) studio("models/props_c17/oildrum001_explosive.mdl") = weapon_zs_megamasher : "Craftable Weapon.\n"+ @PointClass base(Weapon) studio("models/props_c17/oildrum001_explosive.mdl") = weapon_zs_megamasher : "Craftable Weapon.\n"+