zombiesurvival-evolved/gamemodes/zombiesurvival/zombiesurvival.fgd
2016-01-22 23:36:36 +00:00

993 lines
54 KiB
Text

//////////////////////////////////////////////////////////////////////////////////
// NoXiousNet Zombie Survival FGD //
// 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 //
//////////////////////////////////////////////////////////////////////////////////
@include "base.fgd"
@include "halflife2.fgd"
@include "hl2mp.fgd"
//////////////////////////////////////////////////////////////////////////////////
// Gamemode - Brush Entities /////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
@SolidClass base(Targetname) = func_noair : "ZS: Anyone inside this brush requires air"
[
// Keys
enabled(choices) : "Enabled" : 0 : "Enable the brush entity." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity."
input seton(integer) : "Enable or Disable the entity."
]
@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." =
[
1 : "Yes"
0 : "No"
]
touchclass(choices) : "On Touch Class" : "zombie" : "Any living zombie touching the brush will be set to this class name." =
[
"will o' wisp" : "Will O' Wisp"
"zombie" : "Zombie"
"classic Zombie" : "Classic Zombie"
"fresh dead" : "Fresh Dead"
"shadow lurker" : "Shadow Lurker"
"zombie legs" : "Zombie Legs"
"zombie torso" : "Zombie Torso"
"flesh creeper" : "Flesh Creeper"
"headcrab" : "Headcrab"
"fast headcrab" : "Fast Headcrab"
"poison headcrab" : "Poison Headcrab"
"ghoul" : "Ghoul"
"wraith" : "Wraith"
"bloated zombie" : "Bloated Zombie"
"fast zombie" : "Fast Zombie"
"fast zombie legs" : "Fast Zombie Legs"
"poison zombie" : "Poison Zombie"
"chem zombie" : "Chem Zombie"
"ass kicker" : "Ass Kicker"
"doom crab" : "Doom Crab"
"nightmare" : "Nightmare"
"puke pus" : "Puke Pus"
"the tickle monster" : "The Tickle Monster"
"shade" : "Shade"
"bonemesh" : "Bonemesh"
"the butcher" : "The Butcher"
"super zombie" : "Super Zombie"
"gore child" : "Gore Child"
"giga gore child" : "Giga Gore Child"
]
endtouchclass(choices) : "On Leaving Class" : "zombie" : "Same as Touching Class but for when leaving the brush." =
[
"will o' wisp" : "Will O' Wisp"
"zombie" : "Zombie"
"classic Zombie" : "Classic Zombie"
"fresh dead" : "Fresh Dead"
"shadow lurker" : "Shadow Lurker"
"zombie legs" : "Zombie Legs"
"zombie torso" : "Zombie Torso"
"flesh creeper" : "Flesh Creeper"
"headcrab" : "Headcrab"
"fast headcrab" : "Fast Headcrab"
"poison headcrab" : "Poison Headcrab"
"ghoul" : "Ghoul"
"wraith" : "Wraith"
"bloated zombie" : "Bloated Zombie"
"fast zombie" : "Fast Zombie"
"fast zombie legs" : "Fast Zombie Legs"
"poison zombie" : "Poison Zombie"
"chem zombie" : "Chem Zombie"
"ass kicker" : "Ass Kicker"
"doom crab" : "Doom Crab"
"nightmare" : "Nightmare"
"puke pus" : "Puke Pus"
"the tickle monster" : "The Tickle Monster"
"shade" : "Shade"
"bonemesh" : "Bonemesh"
"the butcher" : "The Butcher"
"super zombie" : "Super Zombie"
"gore child" : "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." =
[
"will o' wisp" : "Will O' Wisp"
"zombie" : "Zombie"
"classic Zombie" : "Classic Zombie"
"fresh dead" : "Fresh Dead"
"shadow lurker" : "Shadow Lurker"
"zombie legs" : "Zombie Legs"
"zombie torso" : "Zombie Torso"
"flesh creeper" : "Flesh Creeper"
"headcrab" : "Headcrab"
"fast headcrab" : "Fast Headcrab"
"poison headcrab" : "Poison Headcrab"
"ghoul" : "Ghoul"
"wraith" : "Wraith"
"bloated zombie" : "Bloated Zombie"
"fast zombie" : "Fast Zombie"
"fast zombie legs" : "Fast Zombie Legs"
"poison zombie" : "Poison Zombie"
"chem zombie" : "Chem Zombie"
"ass kicker" : "Ass Kicker"
"doom crab" : "Doom Crab"
"nightmare" : "Nightmare"
"puke pus" : "Puke Pus"
"the tickle monster" : "The Tickle Monster"
"shade" : "Shade"
"bonemesh" : "Bonemesh"
"the butcher" : "The Butcher"
"super zombie" : "Super Zombie"
"gore child" : "Gore Child"
"giga gore child" : "Giga Gore Child"
]
endtouchdeathclass(choices) : "On Leaving Respawn Class" : "zombie" : "Same as Touching Respawn Class but for when leaving the brush." =
[
"will o' wisp" : "Will O' Wisp"
"zombie" : "Zombie"
"classic Zombie" : "Classic Zombie"
"fresh dead" : "Fresh Dead"
"shadow lurker" : "Shadow Lurker"
"zombie legs" : "Zombie Legs"
"zombie torso" : "Zombie Torso"
"flesh creeper" : "Flesh Creeper"
"headcrab" : "Headcrab"
"fast headcrab" : "Fast Headcrab"
"poison headcrab" : "Poison Headcrab"
"ghoul" : "Ghoul"
"wraith" : "Wraith"
"bloated zombie" : "Bloated Zombie"
"fast zombie" : "Fast Zombie"
"fast zombie legs" : "Fast Zombie Legs"
"poison zombie" : "Poison Zombie"
"chem zombie" : "Chem Zombie"
"ass kicker" : "Ass Kicker"
"doom crab" : "Doom Crab"
"nightmare" : "Nightmare"
"puke pus" : "Puke Pus"
"the tickle monster" : "The Tickle Monster"
"shade" : "Shade"
"bonemesh" : "Bonemesh"
"the butcher" : "The Butcher"
"super zombie" : "Super Zombie"
"gore child" : "Gore Child"
"giga gore child" : "Giga Gore Child"
]
onlywhenclass(choices) : "Player Must Be This Class" : "disabled" : "Set this to a specific class to change only these zombie types, separate multiple classes with commas." =
[
"disabled" : "Disabled"
"will o' wisp" : "Will O' Wisp"
"zombie" : "Zombie"
"classic Zombie" : "Classic Zombie"
"fresh dead" : "Fresh Dead"
"shadow lurker" : "Shadow Lurker"
"zombie legs" : "Zombie Legs"
"zombie torso" : "Zombie Torso"
"flesh creeper" : "Flesh Creeper"
"headcrab" : "Headcrab"
"fast headcrab" : "Fast Headcrab"
"poison headcrab" : "Poison Headcrab"
"ghoul" : "Ghoul"
"wraith" : "Wraith"
"bloated zombie" : "Bloated Zombie"
"fast zombie" : "Fast Zombie"
"fast zombie legs" : "Fast Zombie Legs"
"poison zombie" : "Poison Zombie"
"chem zombie" : "Chem Zombie"
"ass kicker" : "Ass Kicker"
"doom crab" : "Doom Crab"
"nightmare" : "Nightmare"
"puke pus" : "Puke Pus"
"the tickle monster" : "The Tickle Monster"
"shade" : "Shade"
"bonemesh" : "Bonemesh"
"the butcher" : "The Butcher"
"super zombie" : "Super Zombie"
"gore child" : "Gore Child"
"giga gore child" : "Giga Gore Child"
]
onetime(choices) : "One Time?" : 0 : "If yes then anyone who gets swapped will be respawned as the last class they were before the change." =
[
1 : "Yes"
0 : "No"
]
instantchange(choices) : "Change Instantly?" : 1 : "If yes then anyone who gets swapped will instantly be changed right on the spot." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity."
input seton(integer) : "Set Enabled keyvalue."
input settouchclass(string) : "Set On Touch Class keyvalue."
input setendtouchclass(string) : "Set On Leaving Class keyvalue."
input settouchdeathclass(string) : "Set On Touch Respawn Class keyvalue."
input setendtouchdeathclass(string) : "Set On Leaving Respawn Class keyvalue."
input setonetime(integer) : "Set One Time keyvalue. <boolean>"
input setinstantchange(integer) : "Set Change Instantly keyvalue. <boolean>"
input setonlywhenclass(string) : "Set Only When Class keyvalue."
]
@SolidClass base(Targetname) = trigger_bossclass : "ZS: A zombie that touches this brush"
[
// Keys
enabled(choices) : "Enabled" : 0 : "Enable the brush entity." =
[
1 : "Yes"
0 : "No"
]
silent(choices) : "Silent" : 0 : "If yes then then the server does not announce that a player has become the new boss." =
[
1 : "Yes"
0 : "No"
]
instantchange(choices) : "Change Instantly?" : 1 : "If yes then anyone who gets swapped will instantly be changed right on the spot." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enable the entity."
input disable(void) : "Disable the entity."
input seton(integer) : "Set Enabled keyvalue. <boolean>"
input setsilent(integer) : "Set Silent keyvalue. <boolean>"
input setinstantchange(integer) : "Set Change Instantly keyvalue. <boolean>"
input spawnboss(void) : "Spawns the boss using the zombie with the highest score"
// Outputs
output OnBossTouched(void) : "Set when a boss starts touching the brush. Is not fired when a zombie becomes a boss in this volume."
]
///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Point Entities //////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
@BaseClass base(Targetname) = ZSSpawn
[
// Keys
disabled(choices) : "Disabled" : 0 : "If disabled, players cannot spawn here." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enable the spawn point."
input disable(void) : "Disable the spawn point."
input toggle(void) : "Toggle the spawn point."
]
@PointClass base(PlayerClass, Angles, ZSSpawn) studio("models/editor/playerstart.mdl") = info_player_human : "ZS: Humans can spawn here."
[
]
@PointClass base(PlayerClass, Angles, ZSSpawn) studio("models/editor/playerstart.mdl") = info_player_zombie : "ZS: Zombies can spawn here."
[
]
@PointClass base(PlayerClass, Angles, ZSSpawn) studio("models/editor/playerstart.mdl") = info_player_undead : "ZS: Zombies can spawn here. Alias of info_player_zombie."
[
]
@PointClass base(PlayerClass, Angles, ZSSpawn) studio("models/editor/playerstart.mdl") = info_player_zombie_boss : "ZS: Boss Zombies will spawn here."
[
]
@PointClass base(PlayerClass, Angles, ZSSpawn) studio("models/editor/playerstart.mdl") = info_player_redeemed : "ZS: Redeemed players can spawn here. Use of this is optional."
[
]
@PointClass base(Targetname, Angles) studio("models/props_wasteland/medbridge_post01.mdl) = info_sigilnode : "ZS: Manual Placement of Sigils ONLY when dynamic placement isn't enough."
[
]
@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" =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enables beats."
input disable(void) : "Disables beats."
]
@PointClass base(Targetname) = logic_dynamicspawning : "ZS: Allows you to control dynamic spawning."
[
// Keys
enabled(choices) : "Enabled" : 1 : "Should dynamic spawning be on?" =
[
1 : "Yes"
0 : "No"
]
// Inputs
input enable(void) : "Enable dynamic spawning."
input disable(void) : "Disable dynamic spawning."
]
@PointClass base(Targetname,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."
]
@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)."
// Inputs
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 EnablePickup(string) : "Enables human pickups for the specified entity."
// Outputs
output OnPickedUp(void) : "Activator is the player, caller is the entity that was picked up."
output OnDropped(void) : "Activator is the player, caller is the entity that was picked up."
]
@PointClass base(Targetname) = logic_points : "ZS: Allows you to control and call outputs based on points."
[
// Inputs
input addtoactivator(integer) : "Adds <number> to the activator."
input addtocaller(integer) : "Adds <number> to the caller."
input takefromactivator(integer) : "Takes <number> from the activator."
input takefromcaller(integer) : "Takes <number> from the caller."
input setactivatoramount(integer) : "Sets the amount that activator has to <number>."
input setcalleramount(integer) : "Sets the amount that caller has to <number>."
input callifactivatorhave(integer) : "If the activator has this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifactivatornothave(integer) : "If the activator does bot have this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifcallerhave(integer) : "If the caller has this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifcallernothave(integer) : "If the call does not have this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
// Outputs
output OnConditionPassed(void) : "Thrown by ourselves when a condition is passed. The activator is always the player in question. The arguments are the amount that was checked against."
output OnConditionFailed(void) : "Thrown by ourselves when a condition is failed. The activator is always the player in question. The arguments are the amount that was checked against."
]
@PointClass base(Targetname) = logic_brains : "ZS: Allows you to control and call outputs based on brains."
[
// Inputs
input addtoactivator(integer) : "Adds <number> to the activator."
input addtocaller(integer) : "Adds <number> to the caller."
input takefromactivator(integer) : "Takes <number> from the activator."
input takefromcaller(integer) : "Takes <number> from the caller."
input setactivatoramount(integer) : "Sets the amount that activator has to <number>."
input setcalleramount(integer) : "Sets the amount that caller has to <number>."
input callifactivatorhave(integer) : "If the activator has this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifactivatornothave(integer) : "If the activator does bot have this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifcallerhave(integer) : "If the caller has this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input callifcallernothave(integer) : "If the call does not have this amount then OnConditionPassed is thrown, otherwise OnConditionFailed."
input redeemactivator(void) : "Instantly redeems the activator."
input redeemcaller(void) : "Instantly redeems the caller."
input setredeembrains(integer) : "Sets the amount of brains required for a zombie to automatically redeem. Setting it to 0 means no automatic redemptions."
// Outputs
output OnConditionPassed(void) : "Thrown by ourselves when a condition is passed. The activator is always the player in question. The arguments are the amount that was checked against."
output OnConditionFailed(void) : "Thrown by ourselves when a condition is failed. The activator is always the player in question. The arguments are the amount that was checked against."
]
@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)."
// Inputs
input setstartingloadout(string) : "Sets the keyvalue"
]
@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."
// Inputs
input setstartingworth(integer) : "Sets the amount of worth to start with."
]
@PointClass base(Targetname) = logic_barricade : "ZS: Allows or disallows specific entities from being nailed."
[
// Inputs
input disablethese(string) : "Takes the arguments in the form of a comma-separated array and disables any entities with that name. For example, disablethese objective1,somethingimportant,somethingelse. This would disable nailing of those entities."
input enablethese(string) : "Takes the arguments in the form of a comma-separated array and enables any entities with that name. For example, enablethese objective1,somethingimportant,somethingelse. This would enable nailing of those entities."
]
@PointClass base(Targetname) = logic_difficulty : "ZS: Adjusts the difficulty of the game."
[
// Inputs
input setzombiespeedmultiplier(float) : "Multiplyer for Zombie speed."
input setzombiedamagemultiplier(float) : "Multiplyer for Zombie damage."
]
@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."
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."
weaponrequiredforammo(choices) : "Correct Weapon Required" : 0 : "If 1 then players must have a weapon that takes the ammo before being able to pick up an ammo box." =
[
1 : "Yes"
0 : "No"
]
// Inputs
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 setmaxflashlightpickups(integer) : "Set the number of flashlight batteries a player can pickup from the map."
input setweaponrequiredforammo(integer) : "If 1 then players must have a weapon that takes the ammo before being able to pick up an ammo box."
]
@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."
bossesenabled(choices) : "Enable Bosses" : 1 : "When enabled, bosses spawn at wave end as normal." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input unlockclass(string) : "Forces a class to be unlocked."
input lockclass(string) : "Forces a class to be locked."
input setbossesenabled(integer) : "Enables or disables boss zombies."
// 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."
]
@PointClass studio("models/crossbow_bolt.mdl") base(Targetname,Angles) = prop_nail : "ZS: Allows you to manually place nails."
[
// Keys
healthoverride(integer) : "Health Override" : -1 : "Sets the nail's maximum health to a specific number. Set to -1 or 0 to disable override"
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." =
[
1 : "Yes"
0 : "No"
]
// Inputs
input sethealth(integer) : "Sets the nail's remaining health."
input attachto(target_destination) : "Parent to this entity."
input nailto(target_destination) : "Nail to this entity. Use attachto first and then this to weld the two. Use 'worldspawn' here to weld to the world."
input setname(string) : "Display this text as the owner name."
input setunremovable(integer) : "Set if this nail is unremovable."
input toggleunremovable(integer) : "Toggle unremovable state."
]
@PointClass studio("models/Items/BoxMRounds.mdl") base(Targetname, Parentname, Angles) = prop_ammo : "ZS: Game Specific Ammo."
[
// Keys
ammotype(choices) : "Ammo Type" : "pistol" : "Ammo type this entity becomes" =
[
"pistol" : "Pistol"
"smg1" : "Sub-Machine Gun"
"ar2" : "Assault Rifle"
"pulse" : "Pulse"
"buckshot" : "Shotgun"
"357" : "Rifle"
"XBowBolt" : "Crossbow Bolts"
"grenade" : "Grenades"
"SniperRound" : "Barricade Boards"
"sniperpenetratedround" : "Det-Packs"
"Battery" : "Medical Ammo"
"striderminigun" : "Message Beacons"
"GaussEnergy" : "Nails"
"stone" : "Stones"
"thumper" : "Turrets"
]
amount(integer) : "Amount" : 0 : "Amount of ammo that collecting this item gives"
neverremove(choices) : "Never Remove" : 0 : "Never remove when used or damage, for repeated uses." =
[
0 : "No"
1 : "Yes"
]
ignorepickupcount(choices) : "Ignore Pickup Counter" : 0 : "Set to ignore a maxpickupcounter, if any." =
[
0 : "No"
1 : "Yes"
]
ignoreuse(choices) : "Ignore Use" : 0 : "Set to disable being able to pickup via use key" =
[
0 : "No"
1 : "Yes"
]
// Inputs
input givetoactivator(void) : "Forces the ammo onto the activator."
input setneverremove(integer) : "Set to make infinite uses."
input setignorepickupcount(integer) : "Set to ignore any max pickup counter."
input setignoreuse(integer) : "Set to disable being able to pickup via use key"
input setammotype(string) : "Set to change the ammo type of this entity."
// Outputs
output OnPickupPassed(void) : "Called when the ammo is given to the player."
output OnPickupFailed(void) : "Called when the ammo is not given to the player"
]
@PointClass studio("models/weapons/w_irifle.mdl") base(Targetname, Parentname, Angles) = prop_weapon : "ZS: Game Specific Weapon."
[
// Keys
weapontype(string) : "Weapon Type" : "weapon_zs_m4" : "Weapon type this entity becomes"
empty(choices) : "Empty" : 0 : "Set to empty the weapon of any default ammo" =
[
0 : "No"
1 : "Yes"
]
neverremove(choices) : "Never Remove" : 0 : "Never remove when used or damage, for repeated uses." =
[
0 : "No"
1 : "Yes"
]
ignorepickupcount(choices) : "Ignore Pickup Counter" : 0 : "Set to ignore a maxpickupcounter, if any." =
[
0 : "No"
1 : "Yes"
]
ignoreuse(choices) : "Ignore Use" : 0 : "Set to disable being able to pickup via use key" =
[
0 : "No"
1 : "Yes"
]
// Inputs
input givetoactivator(void) : "Forces the weapon onto the activator."
input setneverremove(integer) : "Set to make infinite uses."
input setignorepickupcount(integer) : "Set to ignore any max pickup counter."
input setignoreuse(integer) : "Set to disable being able to pickup via use key"
input setweapontype(string) : "Set to change the weapon type of this entity."
input setempty(string) : "Set to empty the weapon of any default ammo."
// Outputs
output OnPickupPassed(void) : "Called when the weapon is given to the player."
output OnPickupFailed(void) : "Called when the weapon is not given to the player"
]
@PointClass base(Targetname, Parentname) sphere( range ) = point_worldhint : "ZS: Allows you to create 3D hints and information tags."
[
// Keys
hint(string) : "Hint" : " " : "The hint to display."
viewer(choices) : "Seen By" : 0 : "The team that can view us." =
[
"-1" : "Disabled"
"0" : "Everyone"
"3" : "Zombies"
"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."
// Inputs
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 setrange(float) : "Sets the range from the player's camera we must be in to see this hint. It can also be 0 for infinite which is the default."
]
@PointClass base(Targetname, Parentname) = prop_playergib : "ZS: Allows you to manually place gibs."
[
// Keys
gibtype(choices) : "Gib Type" : 1 : "Overrides the gib's type." =
[
1 : "Skull" // "models/gibs/HGIBS.mdl"
2 : "Spine" // "models/gibs/HGIBS_spine.mdl"
3 : "Rib" // "models/gibs/HGIBS_rib.mdl"
4 : "Scapula" // "models/gibs/HGIBS_scapula.mdl"
7 : "Small Chunk" // "models/gibs/antlion_gib_medium_2.mdl"
5 : "Medium Chunk" // "models/gibs/Antlion_gib_Large_1.mdl"
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."
]
@PointClass base(Targetname) = logic_winlose : "ZS: When activated, this will end the round immediately, with the specified outcome."
[
// Keys
endslowmo(choices) : "Enable Slow Motion Effect?" : 1 : "Enables or disables the slow motion effect at the end of the round." =
[
0 : "No"
1 : "Yes"
]
endcamera(choices) : "Enable Custom Camera?" : 0 : "Enables or disables an end round camera." =
[
0 : "No"
1 : "Yes"
]
endcamerapos(vector) : "Custom Camera Vector" : "" : "Sets the position of the end round camera."
winmusic(sound) : "Win Music" : "default" : "The music that plays when the human team have won the round. 'default' for normal function"
losemusic(sound) : "Lose Music" : "default" : "The music that plays when the human team have lost the round. 'default' for normal function"
// Inputs
input win(void) : "Humans win the game, map over."
input lose(void) : "Humans lose the game, map over."
input setendslomo(integer) : "Enables or disables the slow motion effect at the end of the round."
input setendcamera(integer) : "Enables or disables an end round camera."
input setendcamerapos(vector) : "Sets the vector for where the end round camera should go to."
input setwinmusic(string) : "The music that plays when the human team have won the round. 'default' for normal function."
input setlosemusic(string) : "The music that plays when the human team have lost the round. 'default' for normal function."
// Outputs
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."
]
@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)."
// Outputs
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."
]
@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."
// Inputs
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 StartWave(void) : "Sets the time that the wave begins to this very moment."
input SetWave(integer) : "Sets the wave to the number specified. This does not change the wave state between active and inactive."
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 SetWaveEnd(integer) : "Sets the time that the wave will end to TimeNow + <time>. You should use this instead of delayed entity inputs."
// Outputs
output OnWaveStart(void) : "Called when the specified wave has started."
output OnWaveEnd(void) : "Called when the specified wave has ended."
]
@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." =
[
"zombie" : "Zombies"
"human" : "Humans"
"private" : "Activator Only"
"all" : "All"
]
displaytime(integer) : "Display Time" : 8 : "How long the input message displays for, does not have an effect on HUD messages."
position(choices) : "Message Position" : "center" : "Where the message is seen." =
[
"center" : "Center"
"top" : "Top Right"
]
textcolor(color255) : "Text Colour" : "255 255 255" : "Sets the color of an input message."
// Inputs
input message(string) : "What to display. Supports the markup library."
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 clearhumanhudmessage(void) : "Clear the message to display in the human wave hud."
input clearzombiehudmessage(void) : "Clear the message to display in the zombie wave hud."
input setdisplaytime(integer) : "Change how long the input message displays for."
input settextcolor(string) : "Takes an 'R G B' string to change the color of the next message."
]
@PointClass base(Targetname) = logic_pantsmode : "ZS: When activated, this will set the special Pants Mode on."
[
// Inputs
input enable(void) : "Enables pants mode."
input disable(void) : "Disables pants mode."
]
@PointClass base(Targetname) = info_custommessage : "ZS: Allows several substrings to be concatenated together to form one message, attaches to messaging entities like game_text, point_worldhint and point_zsmessage"
[
// Keys
displayentity(target_destination) : "Target Messaging Entity" : "" : "The entity used to display the message, can be a targetname of a class game_text, point_worldhint or point_zsmessage"
zsmessagemode(choices) : "Point_zsmessage Method" : 0 : "If using a point_zsmessage, select the method of display with this key" =
[
0 : "Centred HUD Message"
1 : "Corner Human HUD Message"
2 : "Corner Zombie HUD Message"
]
string01(string) : "String 01" : "" : "Part 01 of the full string, there can be up to 99 of these."
string02(string) : "String 02" : "" : "Part 02 of the full string, there can be up to 99 of these."
string03(string) : "String 03" : "" : "Part 03 of the full string, there can be up to 99 of these."
string04(string) : "String 04" : "" : "Part 04 of the full string, there can be up to 99 of these."
string05(string) : "String 05" : "" : "Part 05 of the full string, there can be up to 99 of these."
string06(string) : "String 06" : "" : "Part 06 of the full string, there can be up to 99 of these."
// Inputs
input displaystrings(string) : "Concatenates and displays the full string using the attached entity"
input setstring01(string) : "Sets part 01 of the full string, there can be up to 99 of these."
input setstring02(string) : "Sets part 02 of the full string, there can be up to 99 of these."
input setstring03(string) : "Sets part 03 of the full string, there can be up to 99 of these."
input setstring04(string) : "Sets part 04 of the full string, there can be up to 99 of these."
input setstring05(string) : "Sets part 05 of the full string, there can be up to 99 of these."
input setstring06(string) : "Sets part 06 of the full string, there can be up to 99 of these."
// Outputs
output OnDisplayed(void) : "Called when the message has successfully displayed."
]
@PointClass base(Targetname) = logic_stripweapons : "ZS: Allows the map to strip all or specific weapons by classname"
[
// Keys
keepfists(choices) : "Keep Fists" : 1 : "If yes, the stripallweapons input strips all weapons but fists" =
[
0 : "No"
1 : "Yes"
]
// Inputs
input stripweapon(string) : "Strips a single weapon as mentioned in arguments"
input stripallweapons(string) : "Strips all the weapons the activator has, keeps fists if flag is true"
input setkeepfists(integer) : "If 1 the next stripallweapons inputs strip all weapons but fists"
]
///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Worth Weapons + Items ///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
@PointClass base(Weapon) = weapon_map_base : "Used for creating parentable map made weapons" []
@PointClass base(Weapon) studio("models/weapons/w_pistol.mdl") = weapon_zs_owens:
"Ammo Type: Pistol.\n"+
"A late starting pistol to be added to the game, has the highest damage potential of a starting pistol. It shoots 2 shots which together deal 16 damage. Its primary downside is that it has a lower accuracy than the peashooter and that crouching and using iron sights doesn't improve its accuracy unlike the battleaxe. Since its addition into the game it has been the favorite starting pistol among players up until the ammo nerf and updates of autumn 2009." []
@PointClass base(Weapon) studio("models/weapons/w_alyx_gun.mdl") = weapon_zs_z9000:
"Ammo Type: Pulse.\n"+
"Doesn't do as much damage as the other starter guns but slows targets on hit" []
@PointClass base(Weapon) studio("models/weapons/w_pist_p228.mdl") = weapon_zs_peashooter :
"Ammo Type: Pistol.\n"+
"Its bullet damage is 9 making it the weakest in firepower. To compensate for this, it has a high firing rate, a large clip of 18 bullets, and a crouching accuracy almost on par with the slug rifle. Since the ammo nerf of autumn 2009 it has become the favorite starter for players due to its large amount of starting ammo and the fact that other items in the loadout menu can be used to give the player a 25 points pistol without having to use the peashooters ammo with. " []
@PointClass base(Weapon) studio("models/weapons/w_pist_usp.mdl") = weapon_zs_battleaxe :
"Ammo Type: Pistol.\n"+
"The classic starting pistol with the highest damage per bullet. Despite shooting only one bullet, it is the least accurate starting weapon when crouching. Its iron sight accuracies are much higher however than that of the owens. " []
@PointClass base(Weapon) studio("models/weapons/w_supershorty.mdl") = weapon_zs_blaster :
"Ammo Type: Shotgun.\n"+
"The blaster is the most powerful starting weapon in terms of the total damage that it can deal for one shot. At point blank this shotgun can take out a normal zombie with just 2 shots to the head. It comes with 36 shotgun shells. " []
@PointClass base(Weapon) studio("models/weapons/w_smg1.mdl") = weapon_zs_tosser :
"Ammo Type: SMG.\n"+
"The tosser is the SMG starter weapon of the game. It is basically a bulletstorm with a smaller clip size, a smaller firing rate, and much more accuracy. Choosing it is a gamble since you could get lots of points with few bullets spend, or you could end up using up all your starting ammo without making it to 25 points. " []
@PointClass base(Weapon) studio("models/weapons/w_snip_scout.mdl") = weapon_zs_stubber :
"Ammo Type: Rifle.\n"+
"The stubber is the most powerful starting weapon in terms of single bullet power. It is a fairly accurate sniper that deals 35 damage per bullet. As there are few other weapons in the game that can deal nearly as much damage per bullet it is an excellent weapon for claiming kills with. It's biggest downside is that it is highly inefficient at close range. " []
@PointClass base(Weapon) studio("models/weapons/w_rif_famas.mdl") = weapon_zs_crackler :
"Ammo Type: Assault Rifle.\n"+
"The Crackler is the same as the Tosser except with a lower walking speed, a lower firing rate, and assault rifle ammunition instead of SMG ammunition. " []
@PointClass base(Weapon) studio("models/weapons/w_hammer.mdl") = weapon_zs_hammer :
"Ammo Type: Nails.\n"+
"The hammer and its nails can be used for building barricades, making it a very important tool for surviving the zombie horde. The hammer can also be used as a melee weapon. " []
@PointClass base(Weapon) studio("models/items/healthkit.mdl") = weapon_zs_medicalkit :
"Ammo Type: Battery.\n"+
"The Medical Kit, though expensive, is a very useful tool. With it, players can heal teammates for 10hp every second and heal themselves themselves for 5hp every 16 seconds. A point is awarded for every 5 hp that is used to heal teammates. It is especially useful for getting a 25 point gun quickly on slow maps with exposed zombie spawn points. " []
@PointClass base(Weapon) studio("models/props_debris/wood_board05a.mdl") = weapon_zs_boardpack :
"Ammo Type: Boards.\n"+
"The board pack gives players three boards that they can use along with the hammer and nails to help in building barricade(s). Is very useful on maps with few props, especially the CSS based ones. It can also be used with an aegis. " []
@PointClass base(Weapon) studio("models/combine_turrets/floor_turret.mdl") = weapon_zs_gunturret :
"Ammo Type: SMG.\n"+
"This is a stationary turret that is placed similarly to aegis boards. Once placed, they will seek zombies and fire when one crosses its laser sight, focusing on the head. However, turrets can be extremely vulnerable to zombies as its firing power isn't good enough to take down zombies on its own and doesn't have much health. " []
@PointClass base(Weapon) studio("models/items/item_item_crate.mdl") = weapon_zs_arsenalcrate :
"The Arsenal Crate is a major part of the humans' survival. At wave break, this allows humans to purchase other weapons at 20% off. When a player purchases an item from this, the owner gets paid 10% commission price. Arsenal Crates can be destroyed by zombie attacks. " []
@PointClass base(Weapon) studio("models/props_combine/combine_mine01.mdl") = weapon_zs_messagebeacon :
"These display messages that can be seen by fellow human players. They can be useful to help newer players get to where they need to go and communicate what needs to be done. " []
@PointClass base(Weapon) studio("models/weapons/w_knife_ct.mdl") = weapon_zs_swissarmyknife :
"The classic melee weapon. It deals 16 damage and it is essential for getting assassin awards. " []
@PointClass base(Weapon) studio("models/weapons/w_fryingpan.mdl") = weapon_zs_fryingpan :
"Slightly more powerful than the knife, the player can move faster with this than he/she can with the knife. " []
@PointClass base(Weapon) studio("models/weapons/w_pot.mdl") = weapon_zs_pot :
"Almost exactly like the pan, except it has a much larger range. " []
@PointClass base(Weapon) studio("models/weapons/w_crowbar.mdl") = weapon_zs_crowbar :
"The crowbar is weak and slows the player down, but it comes with a high attack rate. " []
@PointClass base(Weapon) studio("models/weapons/w_crowbar.mdl") = weapon_zs_stunbaton :
"Very weak, but it has the ability to slow down zombies. " []
@PointClass base(Weapon) studio("models/weapons/w_grenade.mdl") = weapon_zs_grenade :
"Ammo Type: Pistol.\n"+
"A standard Half-Life 2 grenade that can be acquired at 100 points. In the right situations, this weapon can potentially produce huge amounts of kills. This weapon is especially good in maps that involve zombies struggling to get through a narrow entrance to reach the humans. It is also a good way of getting rid of Poison Headcrabs. However, if used wrong, these can do drastic damage to a barricade, so use with caution. Comes in a set of 3. " []
@PointClass base(Weapon) studio("models/weapons/w_slam.mdl") = weapon_zs_detpack :
"An explosive charge with the ability of being detonated remotely. " []
@PointClass base(Weapon) studio("models/props_debris/wood_chunk03b.mdl") = weapon_zs_plank :
"The plank is the weakest melee weapon, but it has a high fire rate. Due to its cheap price, it is usually the melee weapon of choice for those wishing to focus on guns." []
@PointClass base(Weapon) studio("models/props/cs_militia/axe.mdl") = weapon_zs_axe :
"Reliable and strong, all its statistics are near average. " []
@PointClass base(Weapon) studio("models/Items/ammocrate_ar2.mdl") = weapon_zs_resupplybox :
"A deployable box that gives the user ammo of the current weapon they are holding. " []
@PointClass base(Weapon) studio("models/props_junk/rock001a.mdl") = weapon_zs_stone :
"An ordinary stone that shatters when thrown and does a significant amount of damage. " []
@PointClass base(Weapon) studio("models/models/props_c17/tools_wrench01a.mdl ") = weapon_zs_wrench :
"Allows you to repair deployables such as turrets, lamps, and Aegis boards. " []
@PointClass base(Weapon) studio("models/props_junk/propane_tank001a.mdl") = weapon_zs_oxygentank :
"Grants a significant amount of extra breathing time while underwater. " []
@PointClass base(Weapon) studio("models/manhack.mdl") = weapon_zs_manhack :
"Allows the human to deploy a manhack. Damages zombies that come in contact with it. " []
@PointClass base(Weapon) studio("models/models/props_combine/combine_light001a.mdl") = weapon_zs_spotlamp :
"Allows you to place dynamic lighting." []
@PointClass base(Weapon) studio("models/weapons/w_pistol.mdl") = weapon_zs_medicgun :
"Ammo Type: Medical Ammo.\n"+
"Fires darts which heal team members. The effectiveness is increased by 33% if using the Surgeon buff. Base heal amount is 3HP. " []
///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Points Weapons + Items //////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
@PointClass base(Weapon) studio("models/props_interiors/Furniture_Lamp01a.mdl") = weapon_zs_lamp :
"Lamp them one." []
@PointClass base(Weapon) studio("models/props_lab/cleaver.mdl") = weapon_zs_butcherknife :
"A large cleaver, for hacking and slashing body parts." []
@PointClass base(Weapon) studio("models/weapons/w_sledgehammer.mdl") = weapon_zs_sledgehammer :
"The most powerful melee weapon in the game. However, it has a very low firing rate and it greatly slows down the walking speed of the player. It is useful for defensive purposes, or for killing weakened zombies." []
@PointClass base(Weapon) studio("models/weapons/w_shovel.mdl") = weapon_zs_shovel :
"Basically a lighter version of the sledgehammer. Unlike the sledgehammer this weapon doesn't slow down the player so it can be useful for attacking purposes as well as defensive ones. It has the largest range over any of the other melee weapons in the game. " []
@PointClass base(Weapon) studio("models/props_c17/computer01_keyboard.mdl") = weapon_zs_keyboard :
"Can only be picked up from maps with this entity. It is similar to the pot and pan in terms of hitting power. " []
@PointClass base(Weapon) studio("models/weapons/w_357.mdl") = weapon_zs_magnum :
"Ammo Type: Pistol.\n"+
"The latest weapon to be added to the 25 points level, this weapon shoots one bullet which deals a large amount of damage. This weapon is ammo efficient, allowing you to use your pistol ammo to its fullest potential. Another useful trait that this pistol possesses, is the ability for fired bullets to bounce off of walls, allowing you to hit from around corners and deal more damage. It is the most effective pistol against Poison Headcrabs, Poison Zombies, and normal Zombies. It has the lowest firing rate of any pistol in the game. " []
@PointClass base(Weapon) studio("models/weapons/w_pist_glock18.mdl") = weapon_zs_glock3 :
"Ammo Type: Pistol.\n"+
"This pistol is the perfect close range, on the move, combat weapon in the game, it shoots 3 bullets per shot each dealing a good amount of damage. This pistol offers excellent protection against targets which are fast and have low health. It is pretty much the exact opposite of the magnum and the most effective pistol against Fast Zombies, Wraiths, and Headcrabs. Its primary disadvantages include huge ammo expenditure and the fact that it can only be used effectively in medium close range combat. !" []
@PointClass base(Weapon) studio("models/weapons/w_pist_deagle.mdl") = weapon_zs_deagle :
"Ammo Type: Pistol.\n"+
"The desert eagle is the first ever gun upgrade added to Zombie Survival. It was originally one of the most favored weapons in the game until ZS 2.0 came out. Its primary advantage is that it has the highest accuracies of all three pistols. It deals the least damage of any tier 2 pistol but its accuracy and decent firing rate makes up for it." []
@PointClass base(Weapon) studio("models/weapons/w_smg_ump45.mdl") = weapon_zs_reaper :
"Ammo Type: SMG.\n"+
"This Submachine Gun has a low fire-rate and a high bullet damage, thus killing zombies faster than the other Submachine Guns. Its single disadvantage is the clip size, which is only 28 bullets giving it the least amount of ammo out of all of the other SMGs. " []
@PointClass base(Weapon) studio("models/weapons/w_smg_p90.mdl") = weapon_zs_bulletstorm :
"Ammo Type: SMG.\n"+
"Its bullets deal the least amount of damage of any SMG. It also has the highest firing rate, the largest clip size (50), and the highest starting ammo amongst all the other submachine guns. " []
@PointClass base(Weapon) studio("models/weapons/w_smg_mp5.mdl") = weapon_zs_smg :
"Ammo Type: SMG.\n"+
"The 'Shredder' standard SMG boasts powerful bullet damage, faster firing rate, higher clip size of 30, and short reload time. " []
@PointClass base(Weapon) studio("models/weapons/w_smg_mac10.mdl") = weapon_zs_uzi :
"Ammo Type: SMG.\n"+
"The first Submachine Gun added to Zombie Survival and the second gun upgrade ever added. It is weaker than the Shredder and the Reaper, but it has a large enough clip size to pack quite a punch to groups of Fast Zombies. " []
@PointClass base(Weapon) studio("models/weapons/w_rif_ak47.mdl") = weapon_zs_akbar :
"Ammo Type: Assault Rifle.\n"+
"The disadvantages of the Akbar include a low clip size, and the fact that it uses assault rifle ammo instead of SMG ammo. " []
@PointClass base(Weapon) studio("models/weapons/w_rif_galil.mdl") = weapon_zs_ender :
"Ammo Type: Shotgun.\n"+
"The Ender is a mid tier shotgun that is automatic. It is very useful against clearing a horde of zombies. Keep in mind that this weapon will go through ammo at a very fast rate. " []
@PointClass base(Weapon) studio("models/weapons/w_rocket_launcher.mdl") = weapon_zs_barricadekit :
"Ammo Type: Boards.\n"+
"The Barricade Kit allows players to place a large plank of wood to block zombies from reaching an area. It adjusts itself to the surface it is placed on and comes with 5 boards. " []
@PointClass base(Weapon) studio("models/weapons/w_annabelle.mdl") = weapon_zs_annabelle :
"Ammo Type: Rifle.\n"+
"A replica of the same shotgun that Father Grigori used in Half-Life 2. It is a rifle based weapon and uses the same type of ammunition as the stubber and the slug rifle. it is more accurate than the stubber (except when crouching and using iron sights at the same time) and deals 2 times more damage than the stubber does. it is a perfect weapon for sniping wraiths, fasties, chems, and poison headcrabs. Compared to the crossbow it is less powerful and as such it has 36 bullets while the crossbow has only 24 bolts. " []
@PointClass base(Weapon) studio("models/weapons/w_crossbow.mdl") = weapon_zs_crossbow :
"Ammo Type: Bolts.\n"+
"A more realistic version of the Half-Life 2 crossbow, this weapon is extremely effective in hallways and clusterfucks. It is the only weapon in the game with a 100% accuracy at all times and it has the ability to penetrate through multiple zombies dealing serious collateral damage. A zoom view can be activated using the secondary mouse button. This weapon is very effective in a bottleneck situation. Its primary disadvantage is that it is exceedingly difficult to use, in fact it is the most difficult weapon to handle in Zombie Survival. Additionally, its bullet is physical and is affected strongly by gravity. " []
@PointClass base(Weapon) studio("models/weapons/w_rif_aug.mdl") = weapon_zs_inferno :
"Ammo Type: Assault Rifle.\n"+
"The Inferno is basically a Shredder with greater accuracy. Its accuracy has made it a favorite amongst players. " []
@PointClass base(Weapon) studio("models/weapons/w_rif_m4a1.mdl") = weapon_zs_m4 :
"Ammo Type: Assault Rifle.\n"+
"The Stalker is the most powerful automatic gun in the game in terms of hitting power but has reduced accuracy. " []
@PointClass base(Weapon) studio("models/weapons/w_shot_xm1014.mdl") = weapon_zs_slugrifle :
"Ammo Type: Rifle.\n"+
"The Slug Rifle shoots one bullet that deals a tremendous amount of damage and upon crouching and using ironsights, the accuracy becomes 99% accurate, thus making it a perfect sniper-like weapon in the game. The sound it creates is also of epic proportions. The weapon is ammo friendly. Its only limitation is that it is completely useless at close range and that you need to use the other weapons you have to dispose of a zombie that gets very close to you. It's also ineffective against packs of zombies. It comes with a low amount of ammo but remaining ammo from an annabelle or a stubber can be used in the slug rifle. " []
@PointClass base(Weapon) studio("models/weapons/w_shotgun.mdl") = weapon_zs_boomstick :
"Ammo Type: Shotgun.\n"+
"The Boom Stick deals more damage than any other weapon in the game. It fires 12 shots that do 25 damage each. The maximum damage is 600 if you include the head shot damage bonus. It has a low firing rate since it has to reload after firing just once. This weapon has the unique ability of consuming two shots per attack." []
@PointClass base(Weapon) studio("models/weapons/w_shot_m3super90.mdl") = weapon_zs_sweepershotgun :
"Ammo Type: Shotgun.\n"+
"Although this shotgun deals a much lower amount of damage per attack compared to the Boomstick, is is much more versatile since it has a 6 bullet clip and a fast reloading speed. The sweeper is also the first shotgun to be introduced into Zombie Survival. " []
@PointClass base(Weapon) studio("models/weapons/w_IRifle.mdl") = weapon_zs_pulserifle :
"Ammo Type: Pulse.\n"+
"The Adonis is a 225 point assault rifle that combines high bullet power with the accuracy of the inferno. It comes with a low clip size and a very low firing rate however." []
@PointClass base(Weapon) studio("models/weapons/v_pist_fiveseven.mdl") = weapon_zs_eraser :
"Ammo Type: Pistol.\n"+
"The Eraser gets more powerful with each bullet gone from a single clip." []
@PointClass base(Weapon) studio("models/weapons/w_smg_tmp.mdl") = weapon_zs_silencer :
"Ammo Type: SMG.\n"+
"It can unleash an incredible amount of punishment to any zombie in seconds at the cost of the ammunition going quickly. " []
@PointClass base(Weapon) studio("models/weapons/w_snip_awp.mdl") = weapon_zs_hunter :
"Ammo Type: Rifle.\n"+
"A hunting rifle that deals high amount of damage at the cost of slow reload speed. " []
@PointClass base(Weapon) studio("models/weapons/w_357.mdl") = weapon_zs_longarm :
"Ammo Type: Pistol.\n"+
"This gun's bullets deal extremely large amounts of damage. " []
@PointClass base(Weapon) studio("models/weapons/w_shotgun.mdl") = weapon_zs_oberon :
"Ammo Type: Pulse.\n"+
"Slows Targets and Knocks them back. " []
@PointClass base(Weapon) studio("models/weapons/w_Pistol.mdl") = weapon_zs_artemis :
"Ammo Type: Bolts.\n"+
"A pair of minature crossbows. Fires quick successions of explosive bolts. " []
@PointClass base(Weapon) studio("models/weapons/w_grenade.mdl") = weapon_zs_molotov :
"A highly flammable concoction, use at your own risk. " []
@PointClass base(Weapon) studio("models/weapons/w_crossbow.mdl") = weapon_zs_spinfusor:
"Ammo Type: Pulse.\n"+
"Launches highly explosive pulse projectiles. " []
@PointClass base(Weapon) studio("models/weapons/w_smg1.mdl") = weapon_zs_hurricane :
"Ammo Type: Pulse.\n"+
"The fire-rate increases as the magazine empties itself. " []
@PointClass base(Weapon) studio("models/combine_scanner.mdl") = weapon_zs_drone :
"A deployable, remotely controlled device. Ideal for scouting, retrieval and targeted attacks. " []
///////////////////////////////////////////////////////////////////////////////////
// Gamemode - Crafting Weapons ////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
@PointClass base(Weapon) studio("models/props_c17/oildrum001_explosive.mdl") = weapon_zs_megamasher : "Craftable Weapon.\n"+
"Recipe: Explosive Barrel + Hammer" []
@PointClass base(Weapon) studio("models/props_combine/breenbust.mdl") = weapon_zs_bust : "Craftable Weapon.\n"+
"Recipe: Plank + Breen's Bust" []
@PointClass base(Weapon) studio("models/props_junk/sawblade001a.mdl") = weapon_zs_sawhack : "Craftable Weapon.\n"+
"Recipe: Sawblade and Axe" []
@PointClass base(Weapon) studio("models/weapons/w_hammer.mdl") = weapon_zs_electrohammer : "Craftable Weapon.\n"+
"Recipe: Battery and Hammer " []
@PointClass base(Weapon) studio("models/weapons/w_pist_usp.mdl") = weapon_zs_waraxe : "Craftable Weapon.\n"+
"Recipe: 2x Battleaxe Handguns " []
@PointClass base(Weapon) studio("models/manhack.mdl") = weapon_zs_manhack_saw : "Craftable Weapon.\n"+
"Recipe: Sawblade and Manhack" []