GM:AddStartingItem("2pcp","3 pistol ammo boxes",nil,ITEMCAT_AMMO,15,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["pistol"]or12)*3,"pistol",true)end,"models/Items/BoxSRounds.mdl")
GM:AddStartingItem("2sgcp","3 shotgun ammo boxes",nil,ITEMCAT_AMMO,15,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["buckshot"]or8)*3,"buckshot",true)end,"models/Items/BoxBuckshot.mdl")
GM:AddStartingItem("2smgcp","3 SMG ammo boxes",nil,ITEMCAT_AMMO,15,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["smg1"]or30)*3,"smg1",true)end,"models/Items/BoxMRounds.mdl")
GM:AddStartingItem("2arcp","3 assault rifle ammo boxes",nil,ITEMCAT_AMMO,15,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["ar2"]or30)*3,"ar2",true)end,"models/Items/357ammobox.mdl")
GM:AddStartingItem("2rcp","3 rifle ammo boxes",nil,ITEMCAT_AMMO,15,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["357"]or6)*3,"357",true)end,"models/Items/BoxSniperRounds.mdl")
GM:AddStartingItem("2pls","3 pulse ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["pulse"]or30)*3,"pulse",true)end,"models/Items/combine_rifle_ammo01.mdl")
GM:AddStartingItem("3pcp","5 pistol ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["pistol"]or12)*5,"pistol",true)end,"models/Items/BoxSRounds.mdl")
GM:AddStartingItem("3sgcp","5 shotgun ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["buckshot"]or8)*5,"buckshot",true)end,"models/Items/BoxBuckshot.mdl")
GM:AddStartingItem("3smgcp","5 SMG ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["smg1"]or30)*5,"smg1",true)end,"models/Items/BoxMRounds.mdl")
GM:AddStartingItem("3arcp","5 assault rifle ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["ar2"]or30)*5,"ar2",true)end,"models/Items/357ammobox.mdl")
GM:AddStartingItem("3rcp","5 rifle ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["357"]or6)*5,"357",true)end,"models/Items/BoxSniperRounds.mdl")
GM:AddStartingItem("3pls","5 pulse ammo boxes",nil,ITEMCAT_AMMO,20,nil,function(pl)pl:GiveAmmo((GAMEMODE.AmmoCache["pulse"]or30)*5,"pulse",true)end,"models/Items/combine_rifle_ammo01.mdl")
GM:AddStartingItem("150mkit","150 Medical Kit power","150 extra power for the Medical Kit.",ITEMCAT_TOOLS,30,nil,function(pl)pl:GiveAmmo(150,"Battery",true)end,"models/healthvial.mdl")
GM:AddStartingItem("6nails","Box of 12 nails","An extra box of nails for all your barricading needs.",ITEMCAT_TOOLS,25,nil,function(pl)pl:GiveAmmo(12,"GaussEnergy",true)end,"models/Items/BoxMRounds.mdl")
GM:AddStartingItem("oxtank","Oxygen Tank","Grants signitifantly more underwater breathing time to the user.",ITEMCAT_OTHER,15,"weapon_zs_oxygentank")
GM:AddStartingItem("10hp","Fit","Increases survivability by increasing maximum health by a small amount.",ITEMCAT_TRAITS,10,nil,function(pl)pl:SetMaxHealth(pl:GetMaxHealth()+10)pl:SetHealth(pl:Health()+10)end,"models/healthvial.mdl")
GM:AddStartingItem("25hp","Tough","Increases survivability by increasing maximum health.",ITEMCAT_TRAITS,20,nil,function(pl)pl:SetMaxHealth(pl:GetMaxHealth()+25)pl:SetHealth(pl:Health()+25)end,"models/items/healthkit.mdl")
localitem=GM:AddStartingItem("5spd","Quick","Gives a slight bonus to running speed.",ITEMCAT_TRAITS,10,nil,function(pl)pl.HumanSpeedAdder=(pl.HumanSpeedAdderor0)+7pl:ResetSpeed()end,"models/props_lab/jar01a.mdl")
item.NoClassicMode=true
item.NoZombieEscape=true
localitem=GM:AddStartingItem("10spd","Surged","Gives a noticeable bonus to running speed.",ITEMCAT_TRAITS,15,nil,function(pl)pl.HumanSpeedAdder=(pl.HumanSpeedAdderor0)+14pl:ResetSpeed()end,"models/props_lab/jar01a.mdl")
item.NoClassicMode=true
item.NoZombieEscape=true
GM:AddStartingItem("bfhandy","Handy","Gives a 25% bonus to all repair rates.",ITEMCAT_TRAITS,25,nil,function(pl)pl.HumanRepairMultiplier=(pl.HumanRepairMultiplieror1)+0.25end,"models/props_c17/tools_wrench01a.mdl")
GM:AddStartingItem("bfsurgeon","Surgeon","Increases the rate by which you can heal yourself and others with the Medical Kit by 30%. Increases Medic Gun effectiveness by 33%.",ITEMCAT_TRAITS,25,nil,function(pl)pl.HumanHealMultiplier=(pl.HumanHealMultiplieror1)+0.3end,"models/healthvial.mdl")
GM:AddStartingItem("bfresist","Resistant","You will take half damage from poison.",ITEMCAT_TRAITS,25,nil,function(pl)pl.BuffResistant=trueend,"models/healthvial.mdl")
GM:AddStartingItem("bfregen","Regenerative","If you drop below 50% health, you will regenerate 1 health every 6 seconds.",ITEMCAT_TRAITS,25,nil,function(pl)pl.BuffRegenerative=trueend,"models/healthvial.mdl")
GM:AddStartingItem("bfmusc","Muscular","You do 20% extra damage with melee weapons and you can carry heavy objects instead of dragging them.",ITEMCAT_TRAITS,25,nil,function(pl)pl.BuffMuscular=truepl:DoMuscularBones()end,"models/props_wasteland/kitchen_shelf001a.mdl")
GM:AddStartingItem("dbfweak","Weakness","Reduces health by 30 in exchange for Worth.",ITEMCAT_RETURNS,-15,nil,function(pl)pl:SetMaxHealth(math.max(1,pl:GetMaxHealth()-30))pl:SetHealth(pl:GetMaxHealth())pl.IsWeak=trueend,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfslow","Slowness","Reduces speed by a significant amount in exchange for Worth.",ITEMCAT_RETURNS,-5,nil,function(pl)pl.HumanSpeedAdder=(pl.HumanSpeedAdderor1)-20pl:ResetSpeed()pl.IsSlow=trueend,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfpalsy","Palsy","Reduces aiming ability while hurt in exchange for Worth.",ITEMCAT_RETURNS,-5,nil,function(pl)pl:SetPalsy(true)end,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfhemo","Hemophilia","Applies bleeding damage when hit in exchange for Worth.",ITEMCAT_RETURNS,-15,nil,function(pl)pl:SetHemophilia(true)end,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfunluc","Banned for Life","Disallows point purchases in exchange for Worth.",ITEMCAT_RETURNS,-25,nil,function(pl)pl:SetUnlucky(true)end,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfclumsy","Clumsy","Makes you extremely easy to knock down in exchange for Worth.",ITEMCAT_RETURNS,-25,nil,function(pl)pl.Clumsy=trueend,"models/gibs/HGIBS.mdl")
GM:AddStartingItem("dbfnoghosting","Wide Load","Prevents you from ghosting through props in exchange for Worth.",ITEMCAT_RETURNS,-20,nil,function(pl)pl.NoGhosting=trueend,"models/gibs/HGIBS.mdl").NoClassicMode=true
GM:AddStartingItem("dbfnopickup","Noodle Arms","Disallows picking up of objects in exchange for Worth.",ITEMCAT_RETURNS,-10,nil,function(pl)pl.NoObjectPickup=truepl:DoNoodleArmBones()end,"models/gibs/HGIBS.mdl")
GM:AddPointShopItem("pistolammo","pistol ammo box",nil,ITEMCAT_AMMO,6,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["pistol"]or12,"pistol",true)end,"models/Items/BoxSRounds.mdl")
GM:AddPointShopItem("shotgunammo","shotgun ammo box",nil,ITEMCAT_AMMO,7,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["buckshot"]or8,"buckshot",true)end,"models/Items/BoxBuckshot.mdl")
GM:AddPointShopItem("smgammo","SMG ammo box",nil,ITEMCAT_AMMO,7,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["smg1"]or30,"smg1",true)end,"models/Items/BoxMRounds.mdl")
GM:AddPointShopItem("assaultrifleammo","assault rifle ammo box",nil,ITEMCAT_AMMO,7,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["ar2"]or30,"ar2",true)end,"models/Items/357ammobox.mdl")
GM:AddPointShopItem("rifleammo","rifle ammo box",nil,ITEMCAT_AMMO,7,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["357"]or6,"357",true)end,"models/Items/BoxSniperRounds.mdl")
GM:AddPointShopItem("pulseammo","pulse ammo box",nil,ITEMCAT_AMMO,7,nil,function(pl)pl:GiveAmmo(GAMEMODE.AmmoCache["pulse"]or30,"pulse",true)end,"models/Items/combine_rifle_ammo01.mdl")
GM:AddPointShopItem("nail","Nail","It's just one nail.",ITEMCAT_TOOLS,5,nil,function(pl)pl:GiveAmmo(1,"GaussEnergy",true)end,"models/crossbow_bolt.mdl").NoClassicMode=true
GM:AddPointShopItem("50mkit","50 Medical Kit power","50 extra power for the Medical Kit.",ITEMCAT_TOOLS,30,nil,function(pl)pl:GiveAmmo(50,"Battery",true)end,"models/healthvial.mdl")
GM.HonorableMentions[HM_MOSTZOMBIESKILLED]={Name="Most zombies killed",String="by %s, with %d killed zombies.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_MOSTDAMAGETOUNDEAD]={Name="Most damage to undead",String="goes to %s, with a total of %d damage dealt to the undead.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_PACIFIST]={Name="Pacifist",String="goes to %s for not killing a single zombie and still surviving!",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_MOSTHELPFUL]={Name="Most helpful",String="goes to %s for assisting in the disposal of %d zombies.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_LASTHUMAN]={Name="Last Human",String="goes to %s for being the last person alive.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_OUTLANDER]={Name="Outlander",String="goes to %s for getting killed %d feet away from a zombie spawn.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_GOODDOCTOR]={Name="Good Doctor",String="goes to %s for healing their team for %d points of health.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_HANDYMAN]={Name="Handy Man",String="goes to %s for getting %d barricade assistance points.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_SCARECROW]={Name="Scarecrow",String="goes to %s for killing %d poor crows.",Callback=genericcallback,Color=COLOR_WHITE}
GM.HonorableMentions[HM_MOSTBRAINSEATEN]={Name="Most brains eaten",String="by %s, with %d brains eaten.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_MOSTDAMAGETOHUMANS]={Name="Most damage to humans",String="goes to %s, with a total of %d damage given to living players.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_LASTBITE]={Name="Last Bite",String="goes to %s for ending the round.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_USEFULTOOPPOSITE]={Name="Most useful to opposite team",String="goes to %s for giving up a whopping %d kills!",Callback=genericcallback,Color=COLOR_RED}
GM.HonorableMentions[HM_STUPID]={Name="Stupid",String="is what %s is for getting killed %d feet away from a zombie spawn.",Callback=genericcallback,Color=COLOR_RED}
GM.HonorableMentions[HM_SALESMAN]={Name="Salesman",String="is what %s is for having %d points worth of items taken from their arsenal crate.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_WAREHOUSE]={Name="Warehouse",String="describes %s well since they had their resupply boxes used %d times.",Callback=genericcallback,Color=COLOR_CYAN}
GM.HonorableMentions[HM_SPAWNPOINT]={Name="Spawn Point",String="goes to %s for having %d zombies spawn on them.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_CROWFIGHTER]={Name="Crow Fighter",String="goes to %s for annihilating %d of his crow brethren.",Callback=genericcallback,Color=COLOR_WHITE}
GM.HonorableMentions[HM_CROWBARRICADEDAMAGE]={Name="Minor Annoyance",String="is what %s is for dealing %d damage to barricades while a crow.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_BARRICADEDESTROYER]={Name="Barricade Destroyer",String="goes to %s for doing %d damage to barricades.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_NESTDESTROYER]={Name="Nest Destroyer",String="goes to %s for destroying %d nests.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
GM.HonorableMentions[HM_NESTMASTER]={Name="Nest Master",String="goes to %s for having %d zombies spawn through their nest.",Callback=genericcallback,Color=COLOR_LIMEGREEN}
-- Don't let humans use these models because they look like undead models. Must be lower case.
GM.RestrictedModels={
"models/player/zombie_classic.mdl",
"models/player/zombine.mdl",
"models/player/zombie_soldier.mdl",
"models/player/zombie_fast.mdl",
"models/player/corpse1.mdl",
"models/player/charple.mdl",
"models/player/skeleton.mdl"
}
-- If a person has no player model then use one of these (auto-generated).
GM.DefaultRedeem=CreateConVar("zs_redeem","4",FCVAR_REPLICATED+FCVAR_ARCHIVE+FCVAR_NOTIFY,"The amount of kills a zombie needs to do in order to redeem. Set to 0 to disable."):GetInt()
GM.WaveOneZombies=math.ceil(100*CreateConVar("zs_waveonezombies","0.1",FCVAR_REPLICATED+FCVAR_ARCHIVE+FCVAR_NOTIFY,"The percentage of players that will start as zombies when the game begins."):GetFloat())*0.01
-- Game feeling too easy? Just change these values!
GM.ZombieSpeedMultiplier=math.ceil(100*CreateConVar("zs_zombiespeedmultiplier","1",FCVAR_REPLICATED+FCVAR_ARCHIVE+FCVAR_NOTIFY,"Zombie running speed will be scaled by this value."):GetFloat())*0.01
-- This is a resistance, not for claw damage. 0.5 will make zombies take half damage, 0.25 makes them take 1/4, etc.
GM.ZombieDamageMultiplier=math.ceil(100*CreateConVar("zs_zombiedamagemultiplier","1",FCVAR_REPLICATED+FCVAR_ARCHIVE+FCVAR_NOTIFY,"Scales the amount of damage that zombies take. Use higher values for easy zombies, lower for harder."):GetFloat())*0.01
GM.TimeLimit=CreateConVar("zs_timelimit","15",FCVAR_ARCHIVE+FCVAR_NOTIFY,"Time in minutes before the game will change maps. It will not change maps if a round is currently in progress but after the current round ends. -1 means never switch maps. 0 means always switch maps."):GetInt()*60
GM.RoundLimit=CreateConVar("zs_roundlimit","3",FCVAR_ARCHIVE+FCVAR_NOTIFY,"How many times the game can be played on the same map. -1 means infinite or only use time limit. 0 means once."):GetInt()
-- Add this many seconds for each additional wave.
GM.TimeAddedPerWave=15
-- For Classic Mode
GM.TimeAddedPerWaveClassic=10
-- New players are put on the zombie team if the current wave is this or higher. Do not put it lower than 1 or you'll break the game.
GM.NoNewHumansWave=2
-- Humans can not commit suicide if the current wave is this or lower.
GM.NoSuicideWave=1
-- How long 'wave 0' should last in seconds. This is the time you should give for new players to join and get ready.
GM.WaveZeroLength=150
-- Time humans have between waves to do stuff without NEW zombies spawning. Any dead zombies will be in spectator (crow) view and any living ones will still be living.
GM.WaveIntermissionLength=90
-- For Classic Mode
GM.WaveIntermissionLengthClassic=20
-- Time in seconds between end round and next map.
GM.EndGameTime=60
-- How many clips of ammo guns from the Worth menu start with. Some guns such as shotguns and sniper rifles have multipliers on this.
GM.SurvivalClips=2
-- Put your unoriginal, 5MB Rob Zombie and Metallica music here.