////////////////////////////////////////////////////////////////////////////////// // 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 // ////////////////////////////////////////////////////////////////////////////////// @BaseClass base(Targetname) = ZSSpawn [ disabled(choices) : "Disabled" : 0 : "If disabled, players cannot spawn here." = [ 1 : "Yes" 0 : "No" ] 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_redeemed : "ZS: Redeemed players can spawn here. Use of this is optional." [ ] @PointClass base(Targetname) = logic_beats : "ZS: Allows you to turn beats (the ambient music) on or off." [ enabled(choices) : "Enabled" : 1 : "Allows ZS beats" = [ 1 : "Yes" 0 : "No" ] // Inputs input enable(void) : "Enables beats." input disable(void) : "Disables beats." // Outputs ] @PointClass base(Targetname) = logic_dynamicspawning : "ZS: Allows you to control dynamic spawning." [ 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(Origin) iconsprite("particles/smokey") sphere( radius ) = zombiegasses : "ZS: Manually place a point for the zombies' noxious gases." [ 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." [ 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 to the activator." input addtocaller(integer) : "Adds to the caller." input takefromactivator(integer) : "Takes from the activator." input takefromcaller(integer) : "Takes from the caller." input setactivatoramount(integer) : "Sets the amount that activator has to ." input setcalleramount(integer) : "Sets the amount that caller has to ." 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 to the activator." input addtocaller(integer) : "Adds to the caller." input takefromactivator(integer) : "Takes from the activator." input takefromcaller(integer) : "Takes from the caller." input setactivatoramount(integer) : "Sets the amount that activator has to ." input setcalleramount(integer) : "Sets the amount that caller has to ." 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." [ setstartingoadout(string) : "Starting Loadout" : " " : "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)." ] @PointClass base(Targetname) = logic_worth : "ZS: Allows you to control Worth." [ startingworth(integer) : "Starting Worth" : 100 : "The amount of Worth to start with. Use 0 to disable Worth." // Inputs 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." [ 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." [ class(string) : "Class" : "zombie" : "Sets the name of the class to watch for any outputs." // Inputs input unlockclass(string) : "Forces a class to be unlocked." input lockclass(string) : "Forces a class to be locked." // 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) = prop_nail : "ZS: Allows you to manually place nails." [ 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." unremovable(choices) : "Unremovable" : 0 : "Set to yes to make this nail unremovable by players." = [ 1 : "Yes" 0 : "No" ] input sethealth(integer) : "Sets the nail's remaining health." 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 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 base(Targetname) sphere( range ) = point_worldhint : "ZS: Allows you to create 3D hints and information tags." [ 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) = prop_playergib : "ZS: Allows you to manually place gibs." [ // "models/gibs/HGIBS.mdl" // "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." = [ 1 : "Skull" 2 : "Spine" 3 : "Rib" 4 : "Scapula" 7 : "Small Chunk" 5 : "Medium Chunk" 6 : "Large Chunk" ] 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." [ // Inputs input win(void) : "Humans win the game, map over." input lose(void) : "Humans lose the game, map over." // 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." [ 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." [ 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 +