//Inspired by trespasser //Made by Wacev //Not a trespasser or bauernhof copy, please play for more than 3 seconds if you think it is //Map edited by wacev //Original map by littleBoyRed1 //Note: I do not claim to own or have made this map, I have only edited some parts of it //server crash count: 30? //source engine being weird as fuck (is this a new record yet!?!?) //please dont copy anything and claim it as your own :) //created on 7/9/2024 still going strong on 12/06/2024 (m/d/y) //special t(h)anks to guymouser for playtesting this mission a lot. most of the bugs with solo mode were found by him, as well as a bunch of stuff. :) //and thank you to all of the people that have play tested this mission (and suffered for it). #base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop WaveSchedule { StartingCurrency 750 RespawnWaveTime 1 FixedRespawnWaveTime 1 CanBotsAttackWhileInSpawnRoom No EventPopfile Halloween BonusRatioHalf 1.4 BonusRatioFull 1.5 ExtendedUpgradesOnly 1 BotsAreHumans 1 BotHumansHaveRobotVoice 1 BluHumanFlagCapture 0 BluHumanFlagPickup 0 BotPushaway 0 DisplayRobotDeathNotice 1 SendBotsToSpectatorImmediately 1 ForceHoliday 2 ForceRobotBleed 1 MaxSpeedLimit 600 MaxSpectators 4 MinibossSentrySingleKill 1 NoJoinMidwave 1 NoReanimators 1 NoHolidayPickups 1 NoThrillerTaunt 1 NoRomevisionCosmetics 1 AllowBotExtraSlots 1 RobotLimit 30 StandableHeads 1 FixHuntsmanDamageBonus 1 SandmanStun 1 TextPrintTime 0 WaveStartCountdown 3 StuckTimeMultiplier 3.5 NoCreditsVelocity 1 LoseTime 15 RespecEnabled 0 LuaScriptFile "scripts/dark_mountain_b5.lua" PrecacheSound "trespasser/de_shot1.wav" PrecacheSound "shadows/smoker_launchtongue_02.mp3" PrecacheSound "denominator/chainsaw1.wav" PrecacheSound "denominator/chain_wind_up.wav" PrecacheSound "denominator/chain_wind_down.wav" PrecacheSound "doomstick_fire.mp3" PrecacheSound "briefnegotiator_fire.mp3" PrecacheSound "kriss_shoot.wav" PrecacheSound "trespasser/SKELT03.mp3" PrecacheSound "weapons\mp40_shoot.wav" PrecacheSound "brewblaster_fire.mp3" PrecacheSound "brewblaster_explode.mp3" PrecacheSound "bigmac_fire.mp3" PrecacheSound "auto_shotgun_fire_1.wav" PrecacheSound "caretaker_fire.mp3" PrecacheSound "weapons\shotimatum_shoot.wav" PrecacheSound "pda_w4_powerout.mp3" //hehe fnaf powerout sfx PrecacheModel "models\weapons\c_models\c_deagle\c_deagle.mdl" PrecacheModel "models\kirillian\infected\wanker_v4.mdl" PrecacheModel "models/weapons/c_models/c_tranquilizer/c_revolver.mdl" PrecacheModel "models/weapons/c_models/c_w_chainsaw/c_w_chainsaw.mdl" PrecacheModel "models\weapons\c_models\c_chains_of_command\c_chains_of_command.mdl" PrecacheModel "models\weapons\c_models\c_lazygun.mdl" PrecacheModel "models\weapons\c_models\c_heckler\c_smg.mdl" PrecacheModel "models\weapons\c_models\c_flintlock\c_ambassador.mdl" PrecacheModel "models/props_halloween/ghost_no_hat.mdl" PrecacheModel "models/props_halloween/ghost_no_hat_red.mdl" PrecacheModel "models\weapons\c_models\c_brew_blaster\c_grenadelauncher.mdl" PrecacheModel "models\weapons\c_models\c_mp40\c_mp40.mdl" PrecacheModel "models\weapons\c_models\c_spas12_v2\c_spas12_v2.mdl" PrecacheModel "models\ctf2w\weapons\c_models\c_atgun\c_atgun.mdl" PrecacheModel "models\ctf2w\weapons\c_models\c_spitfire_rocketlauncher\c_spitfire_rocketlauncher.mdl" PrecacheModel "models\ctf2w\weapons\c_models\c_spitfire_rocketlauncher\w_rocket_spitfire.mdl" PrecacheModel "models\weapons\c_models\c_leverslugger.mdl" PrecacheModel "models/props_mvm/reversemvm_whitewall_176x152.mdl" PrecacheModel "models/props_mvm/reversemvm_whitewall_112x152.mdl" PrecacheModel "models/props_medical/plague_box.mdl" PrecacheModel "models/props_frontline/generator.mdl" PrecacheModel "models/props_frontline/tank_animated.mdl" PrecacheModel "models/props_gameplay/cap_square_320.mdl" PrecacheScriptSound "Halloween.HeadlessBossBoo" PrecacheScriptSound "Halloween.Merasmus_Stun" PrecacheScriptSound "Halloween.HeadlessBossAlert" DisableSound "heavy_mvm_giant_robot01" DisableSound "heavy_mvm_giant_robot02" DisableSound "heavy_mvm_giant_robot03" DisableSound "heavy_mvm_giant_robot04" DisableSound "engineer_mvm_giant_robot01" DisableSound "engineer_mvm_giant_robot02" DisableSound "engineer_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot01" DisableSound "soldier_mvm_giant_robot02" DisableSound "soldier_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot04" DisableSound "medic_mvm_giant_robot01" DisableSound "medic_mvm_giant_robot02" DisableSound "medic_mvm_giant_robot03" DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_All_Dead" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" DisableSound "Announcer.MVM_Tank_Alert_Spawn" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Bonus" OverrideSounds { "MVM.PlayerDied" "npc/stalker/go_alert2.wav" "MVM.GiantHeavyExplodes" "misc/null.wav" "MVM.GiantCommonExplodes" "misc/null.wav" "Building_Sentrygun.Alert" "misc/null.wav" "Weapon_General.CritPower" "misc/null.wav" "Regenerate.Touch" "misc/null.wav" "Powerup.PickUpPlagueInfected" "misc/null.wav" "Powerup.PickUpPlagueInfectedLoop" "misc/null.wav" "Powerup.PickUpPlague" "misc/null.wav" "WeaponGrapplingHook.ImpactFleshLoop" "misc/null.wav" "BumperCar.SpeedBoostStart" "misc/null.wav" "BumperCar.SpeedBoostStop" "items/medshot4.wav" } ExtraSpawnPoint { Name "spawnbot_second_floor" Teamnum 3 X "-416" Y "-480" Z "145" } ExtraSpawnPoint { Name "spawnbot_second_floor" Teamnum 3 X "-1455" Y "-547" Z "145" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_second_floor_flank" Teamnum 3 X "-927" Y "772" Z "145" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_second_floor_flank" Teamnum 3 X "-959" Y "417" Z "145" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_second_floor_main" Teamnum 3 X "-1992" Y "-345" Z "144" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_second_floor_main" Teamnum 3 X "208" Y "-598" Z "144" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_second_floor_main" Teamnum 3 X "-850" Y "-606" Z "288" } ExtraSpawnPoint //only use normal sized bots { Name "spawnbot_survivor" Teamnum 3 X "-1121" Y "721" Z "288" } //////////////////////////////////////////////////////////// CustomWeapon { "The Deagle" { OriginalItemName "Upgradeable TF_WEAPON_PISTOL" "custom item model" models\weapons\c_models\c_deagle\c_deagle.mdl "custom weapon fire sound" "=80|trespasser/de_shot1.wav" "damage bonus" 4.0 "can headshot" 1 "fire rate penalty" 2.4 "Reload time increased" 1.5 "clip size penalty" 0.58 "weapon spread bonus" 0.75 } "Beam Pistol" { OriginalItemName "The Righteous Bison" "override projectile type" 1 "max bullet range" 256 "sniper fires tracer" 1 "projectile penetration" 1 "damage bonus" 2 "fire rate penalty" 1.65 "Reload time increased" 1.4 "special item description" "Limited range, but 10 bullets per shot" "special item description 2" "256 hammer unit range (normal melee weapons have 48 hammer unit range)." } "Explosive Cannonballs" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "custom item model" "models/workshop/weapons/c_models/c_demo_cannon/c_demo_cannon.mdl" "Blast radius increased" 1.5 "clip size penalty" 0.25 "damage bonus" 2.0 "cannot be upgraded" 1 "fire rate penalty" 1.75 "fuse bonus" 0.5 "self dmg push force increased" 2 "blast dmg to self increased" 2 "damage blast push" 2 "projectile speed increased" 1.4 "Reload time increased" 1.75 "maxammo primary reduced" 0.5 "custom projectile model" models\weapons\w_models\w_cannonball.mdl "custom projectile size" 16 } "The Overdoser" //a weapon from an old reverse mission I made { OriginalItemName "Upgradeable TF_WEAPON_MEDIGUN" "provide on active" 1 "paintkit_proto_def_index" 257 "set_item_texture_wear" 0 "overheal bonus" 2.5 "overheal decay disabled" 0.00000025 "heal rate bonus" 1.5 "overheal fill rate reduced" 0.5 "health drain medic" -3 "max health additive penalty" -25 "medigun particle" "passtime_beam" "medigun charge is megaheal" 2 "cannot be upgraded" 1 } "Poison Dart Gun" { OriginalItemName "Upgradeable TF_WEAPON_REVOLVER" "clip size penalty" 0.16 "maxammo secondary reduced" 0.5 "damage penalty" 0.2 "stun on hit" 2 "stun on hit type" panic "stun on hit slow" 0.5 "Reload time increased" 1.75 "fire rate penalty" 1.5 "override projectile type" 5 "custom kill icon" "syringegun_medic" "custom weapon fire sound" "=80|weapons/pistol/pistol_fire2.wav" "custom item model" "models/weapons/c_models/c_tranquilizer/c_revolver.mdl" } "Zombiesaw" { OriginalItemName "Upgradeable TF_WEAPON_MINIGUN" "provide on active" 1 "custom item model" models/weapons/c_models/c_w_chainsaw/c_w_chainsaw.mdl "custom weapon fire sound" "=58|denominator/chainsaw1.wav" "custom minigun spin sound" "common/null.wav" "custom wind up sound" "=58|denominator/chain_wind_up.wav" "custom wind down sound" "=58|denominator/chain_wind_down.wav" "custom hit sound" "=80|Flesh.BulletImpact" "max bullet range" 128 "special item description" "128 hammer unit range (normal melee weapons have 48 hammer unit range)." "fire rate bonus HIDDEN" 0.8 "weapon spread bonus" 0.8 "bullets per shot bonus" 0.25 "damage bonus" 2 "move speed bonus" 1.25 "aiming movespeed increased" 1.4 "projectile penetration heavy" 2 "single wep holster time increased" 2.5 "single wep deploy time increased" 2 "custom kill icon" "saw_kill" } //pickup able weapons "Graveyard Caretaker" { OriginalItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "custom item model" models\weapons\c_models\c_chains_of_command\c_chains_of_command.mdl "custom weapon fire sound" "=80|doomstick_fire.mp3" "clip size bonus" 1.33 "reload time decreased" 0.75 "damage penalty" 0.8 "fire rate penalty" 1.25 } "Glock" { OriginalItemName "Upgradeable TF_WEAPON_PISTOL" "custom item model" models\weapons\c_models\c_lazygun.mdl "custom weapon fire sound" "=80|briefnegotiator_fire.mp3" "clip size bonus" 1.5 "maxammo secondary increased" 2.5 "fire rate penalty" 1.4 "reload time increased" 1.3 "weapon spread bonus" 0.8 "damage bonus" 1.25 } "Brewery Blaster" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "custom item model" models\weapons\c_models\c_brew_blaster\c_grenadelauncher.mdl "custom weapon fire sound" "=80|brewblaster_fire.mp3" "custom impact sound" "=80|brewblaster_explode.mp3" "fire input on hit" "popscript^$brewblast^" "special item description" "On hit: 60% chance to apply one of three effects to the enemy." "fire rate penalty" 1.4 "damage penalty" 0.65 "Reload time increased" 1.4 } "Medical Pratice 40" { OriginalItemName "Upgradeable TF_WEAPON_SYRINGEGUN_MEDIC" "custom item model" models\weapons\c_models\c_mp40\c_mp40.mdl "custom weapon fire sound" "=80|bigmac_fire.mp3" "custom impact sound" "=80|items\pumpkin_explode2.wav" "special item description" "Alt fire: shoots a healing grenade that heals nearby teammates." "special item description 2" "[INFO] sometimes the primary fire will break, switch to another weapon and back to fix." "fire rate bonus" 0.8 "Reload time increased" 1.4 "grenade no bounce" 1 "explosion particle" merasmus_dazed_explosion "explosion particle on direct hit" merasmus_dazed_explosion "Projectile speed increased HIDDEN" 1000 //does not apply to syringes "alt fire attack" 1 "alt fire attributes" "fire rate penalty|10|override projectile type|3|mod ammo per shot|10|damage penalty|0.01|fire input on hit ally|!self^sethealth^$$=!self.m_iHealth + 65" } "Military SMG" { OriginalItemName "Upgradeable TF_WEAPON_SMG" "custom item model" models\weapons\c_models\c_heckler\c_smg.mdl "custom weapon fire sound" "=80|kriss_shoot.wav" "clip size bonus" 2 "maxammo secondary increased" 2 "reload time increased" 1.65 "damage bonus" 1.25 } "Flintlock" { OriginalItemName "Upgradeable TF_WEAPON_REVOLVER" "custom item model" models\weapons\c_models\c_flintlock\c_ambassador.mdl "custom weapon fire sound" "=80|weapons\mp40_shoot.wav" "revolver use hit locations" 1 "maxammo secondary reduced" 0.5 "clip size penalty" 0.16 "damage bonus" 1.25 "headshot damage increase" 1.6 "fire rate penalty" 1.5 "reload time increased" 1.5 } "Military Shotgun" { "OriginalItemName" "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "custom item model" models\weapons\c_models\c_spas12_v2\c_spas12_v2.mdl "custom weapon fire sound" "=80|auto_shotgun_fire_1.wav" "bullets per shot bonus" 0.8 "spread penalty" 1.25 "fire rate bonus" 0.6 "damage bonus" 1.3 "clip size bonus" 1.33 } "Spitfire" { OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "custom item model" models\ctf2w\weapons\c_models\c_spitfire_rocketlauncher\c_spitfire_rocketlauncher.mdl "custom weapon fire sound" "=80|mvm\giant_soldier\giant_soldier_rocket_shoot.wav" "custom projectile model" models\ctf2w\weapons\c_models\c_spitfire_rocketlauncher\w_rocket_spitfire.mdl "projectile spread angle penalty" 5 "fire rate bonus" 0.5 "reload time decreased" 0.75 "damage penalty" 0.65 "clip size bonus" 1.25 "add cond on hit" 12 "add cond on hit duration" 5 "minicrit on cond" 12 "slow enemy on hit major" 5 "special item description" "On hit: shell shock the enemy for 5 seconds" "special item description 2" "100% chance to mini-crit shell shocked enemies" "special item description 3" "Shell shocked enemies also move slightly slower" } "Auto BMG" { OriginalItemName "Upgradeable TF_WEAPON_SNIPERRIFLE" "custom item model" models\ctf2w\weapons\c_models\c_atgun\c_atgun.mdl "custom weapon fire sound" "=80|caretaker_fire.mp3" "provide on active" 1 "fire rate bonus" 0.4 "projectile penetration heavy" 3 "damage bonus" 1.5 "penetration damage penalty" 0.8 "special item description" "On fire: wearer is slowed by 50% for 0.5 seconds" "fire input on attack" "popscript^$SlowMe^" "shoot view punch angle" "-5 -3 3" "move speed penalty" 0.8 "maxammo primary reduced" 0.4 "special damage type" 1 "special item description 2" "Bonus damage vs shields" } "Steel Slugger" { OriginalItemName "Upgradeable TF_WEAPON_SCATTERGUN" "custom item model" models\weapons\c_models\c_leverslugger.mdl "custom weapon fire sound" "=80|weapons\shotimatum_shoot.wav" "can headshot" 1 "revolver use hit locations" 0 "fire rate penalty" 1.4 "damage bonus" 12 "bullets per shot bonus" 0.1 "clip size penalty" 0.67 "weapon spread bonus" 0.1 } //zombie weapons "Zombie Ax" { OriginalItemName "Prinny Machete" "damage penalty" 0.77 "bleeding duration" 5 "fire rate penalty" 1.25 "airblast vulnerability multiplier" 0.75 "custom hit sound" "=80|trespasser/SKELT03.mp3" "custom item model" "models/weapons/w_models/w_fireaxe.mdl" } "Zombie Bat" { OriginalItemName "Prinny Machete" "damage penalty" 0.77 "bleeding duration" 5 "fire rate penalty" 1.25 "airblast vulnerability multiplier" 0.75 "custom item model" models/weapons/c_models/c_boston_basher/c_boston_basher.mdl "custom hit sound" "=80|trespasser/SKELT03.mp3" } "Combo Claws" { OriginalItemName "Warrior's Spirit" "dmg taken increased" 1 "damage bonus" 0.538 "fire rate bonus" 0.7 //"self add attributes on hit" "damage causes airblast|1|2|fire input on hit|!activator^$TauntFromItem^Taunt: The Proletariat Showoff|2" //"fire input on hit" "!activator^ChangeAttributes^Combo" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } } ExtraLoadoutItems //testing { AllowEquipOutsideSpawn 0 Scout { Primary { Item "Steel Slugger" Cost 0 Hidden 1 } Secondary { Item "Glock" Cost 0 Hidden 1 } } Soldier { Primary { Item "Spitfire" Cost 0 Hidden 1 } Secondary { Item "Graveyard Caretaker" Cost 0 Hidden 1 } Secondary { Item "Military Shotgun" Cost 0 Hidden 1 } } Pyro { Secondary { Item "Graveyard Caretaker" Cost 0 Hidden 1 } Secondary { Item "Military Shotgun" Cost 0 Hidden 1 } } Demoman { Primary { Item "Brewery Blaster" Cost 0 Hidden 1 } } HeavyWeapons { Secondary { Item "Graveyard Caretaker" Cost 0 Hidden 1 } Secondary { Item "Military Shotgun" Cost 0 Hidden 1 } } Engineer { Primary { Item "Graveyard Caretaker" Cost 0 Hidden 1 } Primary { Item "Military Shotgun" Cost 0 Hidden 1 } Secondary { Item "Glock" Cost 0 Hidden 1 } } Medic { Primary { Item "Medical Pratice 40" Cost 0 Hidden 1 } } Sniper { Primary { Item "Auto BMG" Cost 0 Hidden 1 } Secondary { Item "Military SMG" Cost 0 Hidden 1 } } Spy { Secondary { Item "Flintlock" Cost 0 Hidden 1 } } } PlayerAttributes { "crit mod disabled" 0 "penetrate teammates" 1 "min respawn time" 666666 //1.1 weeks Demoman { "Reload time increased" 1.25 "Projectile speed decreased" 0.8 } Soldier { "Projectile speed decreased" 0.8 } Pyro { "damage bonus vs burning" 0.5 //less flamethrower damage "maxammo primary reduced" 0.5 "no primary ammo from dispensers while active" 1 } Heavyweapons { "maxammo primary reduced" 0.5 "no primary ammo from dispensers while active" 1 } Engineer { "disable wrangler shield" 1 "building max level" 2 "mult dispenser rate" 0.67 //makes lvl 2 dispenser roughly equal to lvl 1 dispenser "engy sentry fire rate increased" 3 "mod teleporter speed boost" 1 "hidden secondary max ammo penalty" 0.18 } Medic { "ubercharge rate penalty" 0.33 } Sniper { "SRifle Charge rate increased" 1.5 } } ////////////////////////// // Item Attributes // ////////////////////////// ItemAttributes { ItemName "Baby Face's Blaster" "boost on damage" 0 "hype resets on jump" 0 "lose hype on take damage" 0 "speed_boost_on_kill" 3 } ItemAttributes { SimilarToItem "The Force-a-Nature" "bullets per shot bonus" 1.5 "spread penalty" 1.25 "Reload time increased" 1.25 "fire rate bonus" 0.75 } ItemAttributes { SimilarToItem "The Soda Popper" "damage penalty" 0.8 //"effect cond override" 33 //"effect add attributes" "crits_become_minicrits|1" //"special item description" "Replaces hype with a minicrit boost." } ItemAttributes { ItemName "The Back Scatter" "spread penalty" 1 } ItemAttributes { SimilarToItem "The Shortstop" "reload time increased hidden" 1 "damage penalty" 0.75 } ItemAttributes { SimilarToItem "Pretty Boy's Pocket Pistol" "heal on hit for rapidfire" 0 "clip size penalty" 1 "fire rate bonus" 0.8 "Reload time increased" 1.33 "single wep deploy time decreased" 0.6 "passive reload" 1 } ItemAttributes { SimilarToItem "Crit-a-Cola" "effect cond override" 31 "special item description" "Still provides minicrits, but user cannot heal while boosted." } ItemAttributes { SimilarToItem "Bonk! Atomic Punch" "effect cond override" 73 "special item description" "User is healed to a max of 200% hp, can still take damage." } ItemAttributes { SimilarToItem "The Candy Cane" "provide on active" 1 "healing received bonus" 2 "dmg from melee increased" 1.5 } ItemAttributes { SimilarToItem "The Boston Basher" "mult bleeding dmg" 1.5 "bleeding duration" 6 "damage penalty" 0.8 } ItemAttributes { SimilarToItem "Sun-on-a-Stick" "provide on active" 1 "mult dmgtaken from melee" 0.75 "crit vs burning players" 1 "Set DamageType Ignite" 1 "crits_become_minicrits" 1 } ItemAttributes { SimilarToItem "The Wrap Assassin" "maxammo grenades1 increased" 4 } ItemAttributes { SimilarToItem "The Sandman" "mark for death" 1 } ItemAttributes { SimilarToItem "The Liberty Launcher" "blast radius increased" 1.4 "Reload time increased" 1.25 } ItemAttributes { SimilarToItem "The Black Box" "health on radius damage" 10 "fire rate penalty" 1.3 } ItemAttributes { SimilarToItem "The Cow Mangler 5000" "blast radius decreased" 0.75 } ItemAttributes { SimilarToItem "The Direct Hit" "no damage falloff" 1 } ItemAttributes { SimilarToItem "Rocket Jumper" "increased jump height" 1.25 "reload time decreased" 0.5 } ItemAttributes { SimilarToItem "The Air Strike" "rocket jump damage reduction" 0.75 } ItemAttributes { SimilarToItem "The Mantreads" "max health additive penalty" -50 "move speed bonus" 1.25 } ItemAttributes { SimilarToItem "The Buff Banner" "mod soldier buff range" 0.667 } ItemAttributes { SimilarToItem "The Battalion's Backup" "mod soldier buff range" 0.667 } ItemAttributes { SimilarToItem "The Concheror" "mod soldier buff range" 0.667 } ItemAttributes { SimilarToItem "Panic Attack Shotgun" "fire rate bonus with reduced health" 0.6 //fixed shot pattern is redundant on this weapon, so another postive attribute } ItemAttributes { SimilarToItem "The Gunboats" "max health additive bonus" 50 "move speed penalty" 0.85 "rocket jump damage reduction" 0.25 } ItemAttributes { SimilarToItem "The B.A.S.E. Jumper" "increased air control" 4 } ItemAttributes { SimilarToItem "The Equalizer" "damage bonus HIDDEN" 1.25 "mult dmgtaken from melee" 0.75 } ItemAttributes { SimilarToItem "The Pain Train" "bleeding duration" 8 "damage penalty" 0.6 "dmg from melee increased" 1.1 } ItemAttributes { SimilarToItem "The Escape Plan" "dmg from melee increased" 1.5 } ItemAttributes { SimilarToItem "The Market Gardener" "mult rocketjump deploy time" 0.6 "mult crit dmg" 1.33 } ItemAttributes { SimilarToItem "The Disciplinary Action" "melee range multiplier" 1.5 "melee bounds multiplier" 1.3 "single wep deploy time increased" 1.3 } ItemAttributes { SimilarToItem "The Half-Zatoichi" "restore health on kill" 25 "damage penalty" 0.769 } ItemAttributes { SimilarToItem "The Phlogistinator" "crits_become_minicrits" 1 } ItemAttributes { SimilarToItem "The Manmelter" "weapon burn time reduced" 0.5 } ItemAttributes { SimilarToItem "The Thermal Thruster" "falling_impact_radius_stun" 1 "thermal_thruster_air_launch" 1 } ItemAttributes { SimilarToItem "The Homewrecker" "special damage type" 1 "fire rate penalty" 1.4 "dmg penalty vs players" 1 "special item description" "Bonus damage vs shields" } ItemAttributes { SimilarToItem "The Hot Hand" "speed_boost_on_hit_enemy" 3 "heal on hit for rapidfire" 5 } ItemAttributes { SimilarToItem "The Gas Passer" "item_meter_charge_rate" 30 "item_meter_damage_for_full_charge" 375 "weapon burn dmg increased" 2.5 "effect bar recharge rate increased" 0.5 } ItemAttributes { SimilarToItem "The Loch-N-Load" "dmg bonus vs buildings" 1 "damage bonus" 1.2 "clip size penalty" 0.5 "blast dmg to self increased" 1.2 "sticky air burst mode" 0 "grenade explode on impact" 1 } ItemAttributes { SimilarToItem "Stickybomb Jumper" "increased jump height" 1.25 "reload time decreased" 0.5 } ItemAttributes { SimilarToItem "The Chargin' Targe" "dmg from melee increased" 0.75 //25% melee resist } ItemAttributes { SimilarToItem "The Ullapool Caber" "regenerate stickbomb" 1 "Blast radius increased" 1.25 } ItemAttributes { SimilarToItem "The Scottish Resistance" "damage penalty" 0.8 "Blast radius decreased" 0.75 } ItemAttributes { SimilarToItem "The Quickiebomb Launcher" "maxammo secondary reduced" 0.5 "max pipebombs decreased" -4 "Blast radius increased" 1.15 } ItemAttributes { SimilarToItem "The Brass Beast" "spunup_damage_resistance" 0.5 } ItemAttributes { SimilarToItem "Tomislav" "aiming movespeed increased" 1.2 "damage penalty" 0.8 } ItemAttributes { SimilarToItem "The Huo Long Heatmaker" "minicrit vs burning player" 1 } ItemAttributes { SimilarToItem "The Killing Gloves of Boxing" "fire rate penalty" 1.4 "damage penalty" 0.77 "switch from wep deploy time decreased" 0.75 } ItemAttributes { SimilarToItem "The Eviction Notice" "mod_maxhealth_drain_rate" 0 "self mark for death" 1 "mult_player_movespeed_active" 1.2 } ItemAttributes { SimilarToItem "The Widowmaker" "damage penalty" 0.75 } ItemAttributes { SimilarToItem "The Rescue Ranger" "mod_maxhealth_drain_rate" 5 "Reload time increased" 1.5 } ItemAttributes { SimilarToItem "The Gunslinger" "engy disposable sentries" 2 } ItemAttributes { SimilarToItem "The Jag" "Repair rate decreased" 0.6 } ItemAttributes { SimilarToItem "The Blutsauger" "health drain medic" -5 } ItemAttributes { SimilarToItem "The Overdose" "damage penalty" 0.7 "clip size penalty" 0.5 } ItemAttributes { SimilarToItem "The Kritzkrieg" "ubercharge rate bonus" 1 "ubercharge rate penalty" 0.6 } ItemAttributes { SimilarToItem "The Ubersaw" "add uber charge on hit" 0 "CARD: damage bonus" 1.6 "fire rate penalty" 1.4 "self mark for death" 1 } ItemAttributes { SimilarToItem "The Amputator" "mod_maxhealth_drain_rate" 25 } ItemAttributes { SimilarToItem "The Vita-Saw" "bleeding duration" 10 "heal on kill" 15 } ItemAttributes { SimilarToItem "The Solemn Vow" //also applies to frying pan, for some reason??????? "stun on hit" 1 "stun on hit type" bonk "fire rate penalty" 1.4 "damage penalty" 0.6 } ItemAttributes { SimilarToItem "The Hitman's Heatmaker" "projectile penetration heavy" 2 } ItemAttributes { SimilarToItem "The Classic" "explosive sniper shot" 1 "aiming movespeed increased" 1.5 } ItemAttributes { SimilarToItem "The Razorback" "special item description" "Wearer can survive single lethal strike" } ItemAttributes { SimilarToItem "Darwin's Danger Shield" "max health additive bonus" 25 "increased jump height" 1.25 "reduced_healing_from_medics" 0.1 } ItemAttributes { SimilarToItem "The Cleaner's Carbine" "mult crit dmg" 2 } ItemAttributes { SimilarToItem "The Shahanshah" "dmg bonus while half dead" 1.5 "fire rate bonus with reduced health" 0.75 } ItemAttributes { SimilarToItem "The Tribalman's Shiv" "bleeding duration" 10 "damage penalty" 0.65 } ItemAttributes { SimilarToItem "The Bushwacka" "dmg taken increased" 1.5 } ItemAttributes { SimilarToItem "The Enforcer" "damage bonus" 1.25 "no damage falloff" 1 "special damage type" 1 "penetration damage penalty" 1.25 "maxammo secondary reduced" 0.75 "special item description" "Bonus damage vs shields" } ItemAttributes { SimilarToItem "The Diamondback" "sapper kills collect crits" 0 "damage penalty" 0.25 "add damage per target" 1 "explosive bullets" 96 "explosion particle" rd_robot_explosion "explosion particle on direct hit" rd_robot_explosion "special item description" "Replaces crits on kill with an explosive bullet!" } ItemAttributes { SimilarToItem "The Dead Ringer" "NoCloakWhenCloaked" 1 "cloak consume rate increased" 1.5 "cloak regen rate decreased" 0.5 } ItemAttributes { SimilarToItem "The Cloak and Dagger" "mult decloak rate" 1.5 "cloak consume rate increased" 1.5 } ItemAttributes { SimilarToItem "Your Eternal Reward" "damage penalty" 0.6 "melee attack rate bonus" 0.8 } ItemAttributes { SimilarToItem "The Big Earner" "add cloak on kill" 50 "damage bonus HIDDEN" 1.064 } ItemAttributes { SimilarToItem "the Spy-cicle" "fire rate penalty" 1.65 "CARD: damage bonus" 2 } ////////////////////////// // Item Replacements // ////////////////////////// ItemReplacement { "The Deagle" { Name "The Winger" } } ItemReplacement { "Beam Pistol" { Name "The Righteous Bison" } } ItemReplacement { "TF_WEAPON_FLAMETHROWER" //to make upgrades work correctly { Name "The Rainblower" } } ItemReplacement { "Explosive Cannonballs" { Name "The Loose Cannon" } } ItemReplacement { "Zombiesaw" { Name "Natascha" } } ItemReplacement { "The Deagle" { Name "The Short Circuit" } } ItemReplacement { "The Overdoser" { Name "The Vaccinator" } } ItemReplacement { "The Quick-Fix" { Name "The Kritzkrieg" } } ItemReplacement { "Poison Dart Gun" { Name "L'Etranger" } } ////////////////////////// // Blacklisted Items // ////////////////////////// ItemBlacklist { SimilarToItem "Mad Milk" SimilarToItem "The Beggar's Bazooka" SimilarToItem "Jarate" ItemSlot "ACTION" //canteens and stuff } DisallowUpgrade { Upgrade "damage bonus" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "clip size bonus" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "maxammo secondary increased" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "fire rate bonus" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "clip size bonus upgrade" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "Set DamageType Ignite" MaxLevel -1 ItemName "The Buffalo Steak Sandvich" } DisallowUpgrade { Upgrade "damage bonus" MaxLevel -1 ItemName "The Dalokohs Bar" } DisallowUpgrade { Upgrade "clip size bonus" MaxLevel -1 ItemName "The Dalokohs Bar" } DisallowUpgrade { Upgrade "maxammo secondary increased" MaxLevel -1 ItemName "The Dalokohs Bar" } DisallowUpgrade { Upgrade "fire rate bonus" MaxLevel -1 ItemName "The Dalokohs Bar" } DisallowUpgrade { Upgrade "clip size bonus upgrade" MaxLevel -1 ItemName "The Dalokohs Bar" } DisallowUpgrade { Upgrade "Set DamageType Ignite" MaxLevel -1 ItemName "The Dalokohs Bar" } ////////////////////////// // Upgrades // ////////////////////////// ExtendedUpgrades { ////////////////////////////////////////// pistoldamagescout //Scout Upgrades { Name "Higher Caliber" Description "+15% damage bonus" Attribute "damage bonus" Cap 1.6 Increment 0.15 Cost 400 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" SimilarToItem "Upgradeable TF_WEAPON_SYRINGEGUN_MEDIC" } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PISTOL_SCOUT" ItemName "Glock" SimilarToItem "The Winger" SimilarToItem "Pretty Boy's Pocket Pistol" } } pistolclipsizescout //Scout Upgrades { Name "Larger Mags" Description "+25% clip size" Attribute "clip size bonus" Cap 2 Increment 0.25 Cost 400 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PISTOL_SCOUT" ItemName "The Deagle" ItemName "Glock" SimilarToItem "The Winger" SimilarToItem "Pretty Boy's Pocket Pistol" } } pistolammoscout //Scout Upgrades { Name "Ammo Pockets" Description "+33% reserve ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.333 Cost 300 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PISTOL_SCOUT" ItemName "The Deagle" SimilarToItem "The Winger" SimilarToItem "Pretty Boy's Pocket Pistol" } } pistolrapidhandsscout //Scout Upgrades { Name "Fast Hands" Description "+20% faster reload" Attribute "Reload time decreased" Cap 0.6 Increment -0.2 Cost 400 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PISTOL_SCOUT" ItemName "The Deagle" ItemName "Glock" SimilarToItem "The Winger" SimilarToItem "Pretty Boy's Pocket Pistol" } } pistolfullautomodscout //Scout Upgrades { Name "Full Auto Mod" Description "+33% faster firing rate" Attribute "fire rate bonus" Cap 0.67 Increment -0.33 Cost 600 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PISTOL_SCOUT" ItemName "The Deagle" ItemName "Glock" SimilarToItem "The Winger" SimilarToItem "Pretty Boy's Pocket Pistol" } } scattergunfirerate //Scout Upgrades { Name "Faster Mechanisms" Description "+15% faster firing rate" Attribute "fire rate bonus" Cap 0.45 Increment -0.15 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "The Back Scatter" SimilarToItem "Baby Face's Blaster" SimilarToItem "The Shortstop" ItemName "Steel Slugger" } } scattergunreload //Scout Upgrades { Name "Faster Hands" Description "+20% faster reload" Attribute "Reload time decreased" Cap 0.4 Increment -0.2 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "The Soda Popper" SimilarToItem "The Back Scatter" SimilarToItem "Baby Face's Blaster" SimilarToItem "The Force-a-Nature" SimilarToItem "The Shortstop" ItemName "Steel Slugger" } } scatterbullets //Scout Upgrades { Name "Packed Buckshot" Description "+1 bullet per shot" Attribute "bullets per shot bonus" Cap 1.5 Increment 0.1 Cost 450 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "The Soda Popper" SimilarToItem "The Back Scatter" SimilarToItem "Baby Face's Blaster" } } shortstopdamage //Scout Upgrades { Name "Packed Buckshot" Description "+20% damage" Attribute "damage bonus" Cap 2 Increment 0.2 Cost 650 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Shortstop" SimilarToItem "The Force-a-Nature" } } sluggerdamage //Scout Upgrades { Name "Rifle Munitions" Description "+100% damage (multiplicative)" Attribute "CARD: damage bonus" Cap 1.5 Increment 0.5 Cost 1500 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Steel Slugger" } } scatterclipsize //Scout Upgrades { Name "Larger Mags" Description "25% clip size" Attribute "clip size bonus" Cap 2 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "The Soda Popper" SimilarToItem "The Back Scatter" SimilarToItem "Baby Face's Blaster" SimilarToItem "The Force-a-Nature" SimilarToItem "The Shortstop" ItemName "Steel Slugger" } } scatterammo //Scout Upgrades { Name "Ammo Pockets" Description "25% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "The Soda Popper" SimilarToItem "The Back Scatter" SimilarToItem "Baby Face's Blaster" SimilarToItem "The Force-a-Nature" SimilarToItem "The Shortstop" ItemName "Steel Slugger" } } BisonHighCapacitySoldier //Solder Upgrades { Name "High Capacity" Description "+6 ammo" Attribute "clip size bonus upgrade" Cap 2.5 Increment 1.5 Cost 900 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Beam Pistol" SimilarToItem "The Pomson 6000" } } BisonHighVoltageSoldier //Solder Upgrades { Name "Higher Voltage" Description "+50% damage" Attribute "damage bonus" Cap 3 Increment 0.5 Cost 750 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Beam Pistol" SimilarToItem "The Pomson 6000" } } BisonHeatWaveSoldier //Solder Upgrades { Name "Heat Wave" Description "Ignite enemies on fire" Attribute "Set DamageType Ignite" Cap 1 Increment 1 Cost 600 DisallowedWeapons // IDFK but its a glitch { SimilarToItem "The Dalokohs Bar" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_DESTROY" SimilarToItem "TF_WEAPON_PDA_SPY" SimilarToItem "TF_WEAPON_BUILDER" SimilarToItem "TF_WEAPON_BUILDER_SPY" SimilarToItem "TF_WEAPON_INVIS" SimilarToItem "Upgradeable TF_WEAPON_BUILDER_SPY" SimilarToItem "Upgradeable TF_WEAPON_INVIS" SimilarToItem "The Dead Ringer" SimilarToItem "The Cloak and Dagger" SimilarToItem "Bonk! Atomic Punch" SimilarToItem "Crit-a-Cola" SimilarToItem "The Flying Guillotine" SimilarToItem "The Buff Banner" SimilarToItem "The Concheror" SimilarToItem "The Battalion's Backup" SimilarToItem "The B.A.S.E. Jumper" SimilarToItem "The Gas Passer" SimilarToItem "The Thermal Thruster" SimilarToItem "The Kritzkrieg" SimilarToItem "The Quick-Fix" SimilarToItem "The Vaccinator" SimilarToItem "The Razorback" SimilarToItem "The Cozy Camper" SimilarToItem "Darwin's Danger Shield" } AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Beam Pistol" SimilarToItem "The Pomson 6000" } } ShotgunDamageSoldier //Solder Upgrades { Name "Higher Caliber" Description "+20% damage" Attribute "damage bonus" Cap 1.6 Increment 0.2 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "TF_WEAPON_SHOTGUN_PYRO" SimilarToItem "The Widowmaker" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Reserve Shooter" SimilarToItem "The Family Business" SimilarToItem "The Frontier Justice" ItemName "Graveyard Caretaker" ItemName "Military Shotgun" } } ShotgunClipSizeSoldier //Solder Upgrades { Name "Larger Mags" Description "+20% clip size" Attribute "clip size bonus" Cap 1.6 Increment 0.2 Cost 350 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "TF_WEAPON_SHOTGUN_PYRO" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Reserve Shooter" SimilarToItem "The Family Business" } } ShotgunAmmoSoldier //Solder Upgrades { Name "Ammo Pockets" Description "+25% reserve ammo" Attribute "maxammo secondary increased" Cap 1.75 Increment 0.25 Cost 400 DisallowedWeapons { Slot Primary } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "TF_WEAPON_SHOTGUN_PYRO" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Reserve Shooter" SimilarToItem "The Family Business" } } ShotgunBurstShotgunSoldier //Solder Upgrades { Name "Burst Fire Mod" Attribute "burst fire count" Cap 4 Increment 2 Cost 800 Description "Fire 2 more shots per burst!" AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "TF_WEAPON_SHOTGUN_PYRO" SimilarToItem "The Widowmaker" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Reserve Shooter" SimilarToItem "The Frontier Justice" SimilarToItem "The Family Business" ItemName "Graveyard Caretaker" ItemName "Military Shotgun" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "burst fire rate mult" 0.8 "fire rate bonus HIDDEN" -0.28 } } ShotgunFireRateSoldier //Solder Upgrades { Name "Faster Cycling" Description "+20% firing rate" Attribute "fire rate bonus" Cap 0.6 Increment -0.2 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "The Widowmaker" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Reserve Shooter" SimilarToItem "The Family Business" SimilarToItem "The Frontier Justice" SimilarToItem "The Pomson 6000" ItemName "Graveyard Caretaker" ItemName "Military Shotgun" } } BootsMudTreader //Solder Upgrades { Name "Mud Treader" Description "Mud slow is 30% less effect" Attribute "mult stun resistance" Cap 0.7 Increment -0.3 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Mantreads" } } RocketDamage //Solder Upgrades { Name "Breach Explosives" Description "+20% damage" Attribute "damage bonus" Cap 1.6 Increment 0.2 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Air Strike" SimilarToItem "The Black Box" SimilarToItem "The Liberty Launcher" SimilarToItem "The Direct Hit" SimilarToItem "The Cow Mangler 5000" SimilarToItem "The Original" ItemName "Spitfire" } } RocketFireRate //Solder Upgrades { Name "Rapid Relaunch" Description "+10% firing rate" Attribute "fire rate bonus" Cap 0.6 Increment -0.1 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Air Strike" SimilarToItem "The Black Box" SimilarToItem "The Liberty Launcher" SimilarToItem "The Direct Hit" SimilarToItem "The Cow Mangler 5000" SimilarToItem "The Original" } } RocketFireRate //Solder Upgrades { Name "Fast Hands" Description "+25% faster reload" Attribute "Reload time decreased" Cap 0.5 Increment -0.25 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Air Strike" SimilarToItem "The Black Box" SimilarToItem "The Liberty Launcher" SimilarToItem "The Direct Hit" SimilarToItem "The Cow Mangler 5000" SimilarToItem "The Original" ItemName "Spitfire" } } RocketClipSize //Solder Upgrades { Name "Multi Chambered" Description "+1 clip size" Attribute "clip size upgrade atomic" Cap 4 Increment 1 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Air Strike" SimilarToItem "The Black Box" SimilarToItem "The Liberty Launcher" SimilarToItem "The Direct Hit" SimilarToItem "The Cow Mangler 5000" SimilarToItem "The Original" ItemName "Spitfire" } } RocketAmmo //Solder Upgrades { Name "Rocket Pack" Description "+20% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.2 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Air Strike" SimilarToItem "The Black Box" SimilarToItem "The Liberty Launcher" SimilarToItem "The Direct Hit" SimilarToItem "The Original" ItemName "Spitfire" } } FlareReload //Pyro Upgrades { Name "Fast Hands" Description "+15% faster reload" Attribute "Reload time decreased" Cap 0.7 Increment -0.15 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Flare Gun" SimilarToItem "The Detonator" SimilarToItem "The Scorch Shot" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "fire rate bonus HIDDEN" -0.15 } } FlareAmmo //Pyro Upgrades { Name "Flare Pack" Description "+50% reserve ammo" Attribute "maxammo secondary increased" Cap 2.5 Increment 0.5 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Flare Gun" SimilarToItem "The Detonator" SimilarToItem "The Scorch Shot" } } FlareComboDmg //Pyro Upgrades { Name "Enhanced Combo" Description "+100% damage vs burning" Attribute "damage bonus vs burning" Cap 3 Increment 1 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Flare Gun" SimilarToItem "The Manmelter" } } DetBurnDamage //Pyro Upgrades { Name "Napalm Flares" Description "+50% burn damage" Attribute "weapon burn dmg increased" Cap 2 Increment 0.5 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Detonator" SimilarToItem "The Scorch Shot" } } DetMiniToFull //Pyro Upgrades { Name "Condensed Flares" Description "Mini-crits become crits" Attribute "minicrits become crits" Cap 1 Increment 1 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Detonator" } } ManDamageBonus //Pyro Upgrades { Name "Higher Voltage" Description "+60% damage" Attribute "damage bonus" Cap 2.8 Increment 0.6 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Manmelter" } } ManReload //Pyro Upgrades { Name "Enhanced Cooling" Description "+25% faster reload" Attribute "Reload time decreased" Cap 0.5 Increment -0.25 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Manmelter" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "fire rate bonus HIDDEN" -0.2 } } JetpackRecharge //Pyro Upgrades { Name "Faster Refueling" Description "+15% faster recharge rate" Attribute "mult_item_meter_charge_rate" Cap 0.4 Increment -0.15 Cost 200 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Thermal Thruster" } } FireDamage //Pyro Upgrades { Name "Plasma Flames" Description "+100% damage and +50% afterburn damage" Attribute "lunchbox adds minicrits" Cap 1 Increment 1 Cost 1500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_FLAMETHROWER" SimilarToItem "The Backburner" SimilarToItem "The Degreaser" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus" 1 "weapon burn dmg increased" 0.5 } } PhlogDamage //Pyro Upgrades { Name "Bio Flames" Description "+75% damage, +50% afterburn damage, +50% crit damage" Attribute "SPELL: Halloween green flames" Cap 1 Increment 1 Cost 1750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Phlogistinator" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus" 0.75 "weapon burn dmg increased" 0.5 "mult crit dmg" 0.5 } } DragonDamage //Pyro Upgrades { Name "Napalm Flames" Description "+50% damage, +200% afterburn damage, 50% faster afterburn" Attribute "damage bonus" Cap 1.5 Increment 0.5 Cost 1250 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Dragon's Fury" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "weapon burn dmg increased" 2.0 "weapon burn time increased" 0.5 } } FireAmmo //Pyro Upgrades { Name "Bigger Air Tanks" Description "+25% ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_FLAMETHROWER" SimilarToItem "The Backburner" SimilarToItem "The Degreaser" SimilarToItem "The Phlogistinator" SimilarToItem "The Dragon's Fury" } } FirePush //Pyro Upgrades { Name "Compressed Air Tanks" Description "+25% airblast push force" Attribute "airblast pushback scale" Cap 2 Increment 0.25 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_FLAMETHROWER" SimilarToItem "The Backburner" SimilarToItem "The Degreaser" SimilarToItem "The Dragon's Fury" } } FireRange //Pyro Upgrades { Name "Fast Flames" Description "+10% flame range" Attribute "flame_speed" Cap 3675 Increment 245 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_FLAMETHROWER" SimilarToItem "The Backburner" SimilarToItem "The Degreaser" SimilarToItem "The Phlogistinator" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "flame life bonus" 0.1 "flame_lifetime" 0.06 } } StickyReload //Demo Upgrades { Name "Faster Hands" Description "+20% faster reload" Attribute "Reload time decreased" Cap 0.4 Increment -0.2 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PIPEBOMBLAUNCHER" SimilarToItem "The Quickiebomb Launcher" SimilarToItem "The Scottish Resistance" } } StickyCharge //Demo Upgrades { Name "High Velocity Bombs" Description "+25% faster stickybomb charge rate" Attribute "stickybomb charge rate" Cap 0.25 Increment -0.25 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PIPEBOMBLAUNCHER" SimilarToItem "The Scottish Resistance" } } StickyAmmo //Demo Upgrades { Name "Ammo Pockets" Description "+25% reserve ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.25 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PIPEBOMBLAUNCHER" SimilarToItem "The Scottish Resistance" SimilarToItem "The Quickiebomb Launcher" } } ScottishClip //Demo Upgrades { Name "Larger Mags" Description "+25% clip size" Attribute "clip size bonus upgrade" Cap 1.5 Increment 0.25 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Scottish Resistance" } } StickyDamage //Demo Upgrades { Name "Higher Grade Explosives" Description "+25% damage" Attribute "damage bonus" Cap 1.75 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_PIPEBOMBLAUNCHER" } } QuickieFirerate //Demo Upgrades { Name "Faster Gun Parts" Description "+15% firing rate" Attribute "fire rate bonus" Cap 0.6 Increment -0.15 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Quickiebomb Launcher" } } GrenadeDamage //Demo Upgrades { Name "Breach Explosives" Description "+20% damage" Attribute "damage bonus" Cap 1.6 Increment 0.2 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" SimilarToItem "The Iron Bomber" SimilarToItem "The Loch-N-Load" } } GrenadeClip //Demo Upgrades { Name "Multi Barreled Launcher" Description "+2 clip size" Attribute "clip size upgrade atomic" Cap 8 Increment 2 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" SimilarToItem "The Iron Bomber" SimilarToItem "The Loch-N-Load" ItemName "Brewery Blaster" } } GrenadeAmmo //Demo Upgrades { Name "Grenade Pack" Description "+25% reserve ammo" Attribute "maxammo primary increased" Cap 1.5 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" SimilarToItem "The Iron Bomber" SimilarToItem "The Loch-N-Load" ItemName "Brewery Blaster" } } GrenadeSpeed //Demo Upgrades { Name "Fast Bombs" Description "+15% projectile speed" Attribute "projectile speed increased" Cap 1.75 Increment 0.15 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" SimilarToItem "The Iron Bomber" ItemName "Brewery Blaster" ItemName "Spitfire" } } GrenadeBlast //Demo Upgrades { Name "Larger Bombs" Description "+20% larger explosion" Attribute "Blast radius increased" Cap 1.6 Increment 0.2 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Loch-N-Load" ItemName "Brewery Blaster" } SecondaryAttributes { "mult projectile scale" 0.1 } } LunchBoxRecharge //Heavy Upgrades { Name "Sandwich Auto Makers" Description "+15% faster recharge rate" Attribute "mult_item_meter_charge_rate" Cap 0.4 Increment -0.15 Cost 200 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Sandvich" SimilarToItem "The Buffalo Steak Sandvich" SimilarToItem "The Second Banana" SimilarToItem "The Dalokohs Bar" } } MinigunAmmo //Heavy Upgrades { Name "Longer Ammo Belt" Description "+10% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.1 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_MINIGUN" SimilarToItem "The Brass Beast" SimilarToItem "Natascha" SimilarToItem "The Huo Long Heatmaker" SimilarToItem "Tomislav" } } MinigunDamage //Heavy Upgrades { Name "Higher Caliber" Description "+10% damage" Attribute "damage bonus" Cap 1.4 Increment 0.1 Cost 900 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_MINIGUN" SimilarToItem "The Brass Beast" SimilarToItem "Natascha" SimilarToItem "The Huo Long Heatmaker" SimilarToItem "Tomislav" } } MinigunRevSpeed //Heavy Upgrades { Name "Faster Deployment" Description "+15% faster deploy speed" Attribute "minigun spinup time decreased" Cap 0.4 Increment -0.15 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_MINIGUN" SimilarToItem "The Brass Beast" SimilarToItem "Natascha" SimilarToItem "The Huo Long Heatmaker" SimilarToItem "Tomislav" } } MinigunRevMoveSpeed //Heavy Upgrades { Name "Hollow Metal" Description "+50% faster move speed while deployed" Attribute "aiming movespeed increased" Cap 1.5 Increment 0.5 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_MINIGUN" SimilarToItem "The Brass Beast" SimilarToItem "Natascha" SimilarToItem "The Huo Long Heatmaker" SimilarToItem "Tomislav" } } ZombiesawAmmo { Name "More Fuel" Description "+50% ammo" Attribute "maxammo primary increased" Cap 2.5 Increment 0.5 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Zombiesaw" } } ZombiesawDamage { Name "Sharper Blade" Description "+15% damage" Attribute "CARD: damage bonus" Cap 1.45 Increment 0.15 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Zombiesaw" } } ZombiesawDamage { Name "Longer Blade" Description "+25% longer blade" Attribute "max bullet range" Cap 192 Increment 32 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Zombiesaw" } } ZombiesawArmorpen { Name "Metal Cutting Blades" Description "bonus damage vs shields" Attribute "special damage type" Cap 1 Increment 1 Cost 1600 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Zombiesaw" } SecondaryAttributes { "special item description 2" "Bonus damage vs shields" } } ShotgunAmmoFrontier //Engie Upgrades { Name "Ammo Pockets" Description "+25% reserve ammo" Attribute "maxammo primary increased" Cap 1.75 Increment 0.25 Cost 450 DisallowedWeapons { Slot Secondary } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Frontier Justice" SimilarToItem "Panic Attack Shotgun" SimilarToItem "TF_WEAPON_SHOTGUN_PRIMARY" } } ShotgunCritDamage //Engie Upgrades { Name "Enraged Revenge" Description "+50% crit damage" Attribute "mult crit dmg" Cap 2 Increment 0.5 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Frontier Justice" } } ShotgunRelaodPomson //Engie Upgrades { Name "Faster Hands" Description "+15% faster reload" Attribute "Reload time decreased" Cap 0.7 Increment -0.15 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Pomson 6000" SimilarToItem "The Frontier Justice" ItemName "Military Shotgun" } } ShotgunClipSizeRescue { Name "Compact Bolts" Description "+25% clip size" Attribute "clip size bonus" Cap 2 Increment 0.25 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Rescue Ranger" } } ShotgunFireRateRescue { Name "Rapid Dispensary" Description "+10% fire rate" Attribute "fire rate bonus" Cap 0.5 Increment -0.1 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Rescue Ranger" } } ShotgunAmmoRescue { Name "Bolt Pack" Description "+20% reserve ammo" Attribute "maxammo primary increased" Cap 1.6 Increment 0.2 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Rescue Ranger" } } BuildingSentrygunDamage { Name "Higher Caliber (Sentry)" Description "+15% sentry damage" Attribute "engy sentry damage bonus" Cap 1.45 Increment 0.15 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" } } BuildingTeleporterBidirectional { Name "Bidirectional Teleport (Teleporter)" Description "Teleporters can be used in both directions" Attribute "bidirectional teleport" Cap 1 Increment 1 Cost 250 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" } } BuildingTeleporterRecharge { Name "Faster Recharge (Teleporter)" Description "+25% faster teleporter recharge rate" Attribute "mult teleporter recharge rate" Cap 0.25 Increment -0.25 Cost 200 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" } } BuildingHealth { Name "Stronger Armor (Buildings)" Description "+50% building health [INFO] dispensers and teleports get insta killed regardless of health" Attribute "engy building health bonus" Cap 3 Increment 0.5 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" } } BuildingMetalCap { Name "Metal Reserves (Engineer)" Description "+50% metal capacity" Attribute "maxammo metal increased" Cap 3 Increment 0.5 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Upgradeable TF_WEAPON_PDA_ENGINEER_BUILD" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" } } NeedleFirerate //Medic Upgrades { Name "Faster Cycling" Description "+25% firing rate" Attribute "fire rate bonus" Cap 0.5 Increment -0.25 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Blutsauger" SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "The Overdose" ItemName "Medical Pratice 40" } } NeedleMadmilk //Medic Upgrades { Name "Milk Overdose" Description "Syringes deliver a highly concentrated dose of Mad Milk" Attribute "mad milk syringes" Cap 1 Increment 1 Cost 1500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Blutsauger" SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "The Overdose" } } NeedleHoK //Medic Upgrades { Name "Leachy Needles" Description "+15 health on kill" Attribute "heal on kill" Cap 60 Increment 15 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Blutsauger" SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "The Overdose" ItemName "Medical Pratice 40" } } NeedleDamage //Medic Upgrades { Name "Sharper Syringes" Description "+10% damage" Attribute "damage bonus" Cap 2 Increment 0.10 Cost 150 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Blutsauger" SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "The Overdose" ItemName "Medical Pratice 40" } } NeedleAmmo //Medic Upgrades { Name "Ammo Pockets" Description "+20% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.2 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Blutsauger" SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "The Overdose" ItemName "Medical Pratice 40" } } MedigunHeal { Name "Bio Repairment" Description "+10% heal rate" Attribute "heal rate bonus" Cap 1.5 Increment 0.1 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Quick-Fix" SimilarToItem "TF_WEAPON_MEDIGUN" } } MedigunOverheal { Name "Bio Enhancements" Description "+10% max overheal" Attribute "overheal bonus" Cap 1.5 Increment 0.1 Cost 650 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Quick-Fix" SimilarToItem "TF_WEAPON_MEDIGUN" } } MedigunOverhealDuration { Name "Slower Decay" Description "+10% overheal duration" Attribute "overheal decay bonus" Cap 0.6 Increment -0.1 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Quick-Fix" SimilarToItem "TF_WEAPON_MEDIGUN" } } SRifleDamage { Name "Higher Caliber" Description "+25% damage" Attribute "damage bonus" Cap 2 Increment 0.25 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SNIPERRIFLE" SimilarToItem "The Classic" SimilarToItem "The Machina" SimilarToItem "The Sydney Sleeper" SimilarToItem "The Hitman's Heatmaker" SimilarToItem "The Bazaar Bargain" ItemName "Auto BMG" } } SRifleReload { Name "Fast Hands" Description "+20% faster reload" Attribute "faster reload rate" Cap 0.4 Increment -0.2 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SNIPERRIFLE" SimilarToItem "The Classic" SimilarToItem "The Machina" SimilarToItem "The Sydney Sleeper" SimilarToItem "The Hitman's Heatmaker" SimilarToItem "The Bazaar Bargain" } } SRifleAmmo { Name "Ammo Pockets" Description "+33% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.34 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SNIPERRIFLE" SimilarToItem "The Classic" SimilarToItem "The Machina" SimilarToItem "The Sydney Sleeper" SimilarToItem "The Hitman's Heatmaker" SimilarToItem "The Bazaar Bargain" } } BargainHeadshotDMG { Name "Perfectionist" Description "+250% headshot damage, but only headshots when fully charged, -50% charge rate, and -40% bodyshot damage." Attribute "mult crit dmg" Cap 3.5 Increment 2.5 Cost 1250 SecondaryAttributes { "damage penalty on bodyshot" -0.4 "sniper no headshot without full charge" 1 "SRifle Charge rate decreased" -0.5 } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Bazaar Bargain" } } HitmanMaster { Name "Sniper Mastery" Description "Faster rezoom and charge rate" Attribute "ability master sniper" Cap 2 Increment 1 Cost 1000 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Hitman's Heatmaker" } } ClassicCharge { Name "Electromagnetic Propulsion" Description "+20% charge rate" Attribute "SRifle Charge rate increased" Cap 1.4 Increment 0.2 Cost 700 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Classic" ItemName "Auto BMG" } } MachinaHardscope { Name "Harder Scope" Description "+60% full charge damage, no aim flinching while charged, 25% fast charge while looking at an enemy" Attribute "mult sniper charge per sec with enemy under crosshair" Cap 1.25 Increment 0.25 Cost 1200 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Machina" ItemName "Auto BMG" } SecondaryAttributes { "sniper full charge damage bonus" 0.6 "aiming no flinch" 1 } } SydneyJarate { Name "Larger Dose" Description "+1 max seconds of jarate duration" Attribute "jarate duration" Cap 10 Increment 1 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Sydney Sleeper" } } SydneyJarateExplosion { Name "Explosive Dose" Description "On headshot: cause an explosion of jarate" Attribute "radius sleeper" Cap 1 Increment 1 Cost 500 RequiredUpgrade { Upgrade "SydneyJarate" Level 5 } AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Sydney Sleeper" } } BowAttackRate //Sniper Upgrades { Name "Faster Hands" Description "+15% firing and charge rate" Attribute "fire rate bonus" Cap 0.4 Increment -0.15 Cost 450 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Huntsman" } } BowBleed //Sniper Upgrades { Name "Barbed Arrows" Description "+5 seconds of bleed" //On bleed: bleed for hit seconds Attribute "bleeding duration" Cap 15 Increment 5 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Huntsman" } } BowAmmo //Sniper Upgrades { Name "Arrow Quiver" Description "+50% reserve ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.5 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Huntsman" } } BowCritDamage //Sniper Upgrades { Name "Sharper Arrows" Description "+50% crit damage" Attribute "mult crit dmg" Cap 2 Increment 0.5 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Huntsman" } } BowMastery //Sniper Upgrades { Name "Arrow Mastery" Description "Lets the Huntsman shoot 2 additional arrows per level." Attribute "arrow mastery" Cap 2 Increment 1 Cost 1250 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Huntsman" } } SMGFireRate //Sniper Upgrades { Name "Full Auto Mod" Description "+50% firing rate" Attribute "fire rate bonus" Cap 0.5 Increment -0.5 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SMG" ItemName "Military SMG" } } SMGReload //Sniper Upgrades { Name "Fast Hands" Description "+20% faster reload" Attribute "Reload time decreased" Cap 0.6 Increment -0.2 Cost 450 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SMG" SimilarToItem "The Cleaner's Carbine" } } SMGAmmo //Sniper Upgrades { Name "Ammo Pockets" Description "+25% reserve ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.25 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SMG" SimilarToItem "The Cleaner's Carbine" } } SMGClip //Sniper Upgrades { Name "Larger Mags" Description "+20% clip size" Attribute "clip size bonus upgrade" Cap 2 Increment 0.2 Cost 350 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_SMG" ItemName "Military SMG" } } CleanersHeadshot { Name "Deadly Precision" Description "Allows bullets to headshot" Attribute "can headshot" Cap 1 Increment 1 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Cleaner's Carbine" } } CleanersAccuracy //Sniper Upgrades { Name "Longer Barrel" Description "-20% weapon spread" Attribute "weapon spread bonus" Cap 0.6 Increment -0.2 Cost 250 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Cleaner's Carbine" ItemName "Military SMG" } } RevolverFirerate //Spy Upgrades { Name "Self Cycling" Description "+30% firing rate" Attribute "fire rate bonus" Cap 0.4 Increment -0.3 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_REVOLVER" SimilarToItem "L'Etranger" SimilarToItem "The Diamondback" } } RevolverReload //Spy Upgrades { Name "Fast Hands" Description "+25% reload rate" Attribute "reload time decreased" Cap 0.25 Increment -0.25 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Ambassador" SimilarToItem "The Diamondback" } } RevolverClip //Spy Upgrades { Name "Large Cylinder" Description "+50% clip size" Attribute "clip size bonus upgrade" Cap 2 Increment 0.5 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_REVOLVER" SimilarToItem "L'Etranger" SimilarToItem "The Diamondback" SimilarToItem "The Enforcer" SimilarToItem "The Ambassador" } } RevolverDamage //Spy Upgrades { Name "Higher Caliber" Description "+25% damage" Attribute "damage bonus" Cap 1.5 Increment 0.25 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_REVOLVER" SimilarToItem "L'Etranger" SimilarToItem "The Ambassador" ItemName "Flintlock" } } RevolverAmmo //Spy Upgrades { Name "Ammo Pockets" Description "+50% reserve ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.5 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_REVOLVER" SimilarToItem "L'Etranger" SimilarToItem "The Diamondback" SimilarToItem "The Enforcer" SimilarToItem "The Ambassador" ItemName "Flintlock" } } EnforcerPierce //Spy Upgrades { Name "Penetrating Shots" Description "Shots pierce through unlimited targets" Attribute "projectile penetration heavy" Cap 30 Increment 30 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Enforcer" ItemName "Flintlock" } } AmbyHeadshot //Spy Upgrades { Name "Rapid Precision" Description "No delay on headshots, but slower fire rate" Attribute "can headshot" Cap 1 Increment 1 Cost 1250 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "The Ambassador" } SecondaryAttributes { "fire rate penalty" 0.67 } } TranquilizerStunDur { Name "Larger Injection" Description "+1 second of slow/stun" Attribute "stun on hit" Cap 6 Increment 1 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } } TranquilizerStunAmount { Name "Stronger Injection" Description "Slow/stun is 10% more effective" Attribute "stun on hit slow" Cap 0.9 Increment 0.1 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } } TranquilizerMark { Name "Weakening Injection" Description "On hit: mark an enemy for death for 15 seconds" Attribute "mark for death" Cap 1 Increment 1 Cost 900 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } } TranquilizerLethal { Name "Lethal Injection" Description "On hit: enemy takes 1000 damage per second after an inital 10 seconds." Attribute "mult airblast refire time" Cap 0.9 Increment -0.1 Cost 2000 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } SecondaryAttributes { "add cond on hit" 12 "add cond on hit duration" 13371337 "special item description" "On hit: enemy takes 1000 damage per second after an inital 10 seconds." } } TranquilizerClipSize { Name "Double Barrel" Description "+100% clip size bonus" Attribute "clip size bonus" Cap 2 Increment 1 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } } TranquilizerReserveAmmo { Name "Dart Pack" Description "+25% reserve ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.25 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { ItemName "Poison Dart Gun" } } MeleeDamage //Melee Upgrades { Name "Stronger Muscles" Description "+25% damage" Attribute "damage bonus" Cap 2 Increment 0.25 Cost 500 AllowedWeapons //Restricts upgrade to specified weapons { Slot "Melee" } } MeleeAttackspeed //Melee Upgrades { Name "Fast Hands" Description "+15% firing rate" Attribute "fire rate bonus" Cap 0.55 Increment -0.15 Cost 300 AllowedWeapons //Restricts upgrade to specified weapons { Slot "Melee" } } MeleeHoK //Melee Upgrades { Name "Blood Lust" Description "+10 health on kill" Attribute "heal on kill" Cap 50 Increment 10 Cost 400 AllowedWeapons //Restricts upgrade to specified weapons { Slot "Melee" } } MeleeDamageVsClass //Melee Upgrades { Name "Self Hatred" Description "+25% more damage vs same class" Attribute "mult dmg vs same class" Cap 1.5 Increment 0.25 Cost 350 AllowPlayerClass Scout AllowPlayerClass Soldier AllowPlayerClass Pyro AllowPlayerClass Demoman AllowPlayerClass Heavyweapons AllowPlayerClass Engineer AllowPlayerClass Medic AllowPlayerClass Sniper AllowedWeapons //Restricts upgrade to specified weapons { Slot "Melee" } DisallowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_KNIFE" SimilarToItem "The Big Earner" SimilarToItem "Your Eternal Reward" SimilarToItem "The Spy-cicle" SimilarToItem "Conniver's Kunai" } } MeleeCrits //Melee Upgrades { Name "Blood Fueled Fury" Description "+1 second of minicritboost on kill" Attribute "minicritboost on kill" Cap 2 Increment 1 Cost 750 DisallowedWeapons { SimilarToItem "The Killing Gloves of Boxing" } AllowedWeapons //Restricts upgrade to specified weapons { Slot "Melee" } } HeavyMeleeCrits //Heavy Melee Upgrades { Name "Blood Fueled Fury (Heavy)" Description "+1 second of minicritboost on kill" Attribute "minicritboost on kill" Cap 4 Increment 1 Cost 750 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Apoco-Fists" SimilarToItem "Fists of Steel" SimilarToItem "TF_WEAPON_FISTS" SimilarToItem "The Bread Bite" SimilarToItem "Gloves of Running Urgently" SimilarToItem "The Holiday Punch" SimilarToItem "The Eviction Notice" SimilarToItem "Warrior's Spirit" } } HeavyMeleeDefensive //Heavy Melee Upgrades { Name "Guard" Description "On Kill: Gain defensive buff for 3 seconds" Attribute "add cond on kill" Cap 42 Increment 42 Cost 1000 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Apoco-Fists" SimilarToItem "Fists of Steel" SimilarToItem "TF_WEAPON_FISTS" SimilarToItem "The Bread Bite" SimilarToItem "The Killing Gloves of Boxing" SimilarToItem "Gloves of Running Urgently" SimilarToItem "The Holiday Punch" SimilarToItem "The Eviction Notice" SimilarToItem "Warrior's Spirit" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "add cond on kill duration" 3 } } HeavyMeleeSpeedBoost //Heavy Melee Upgrades { Name "Swiftness" Description "Faster move speed while active" Attribute "add cond when active" Cap 32 Increment 32 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Apoco-Fists" SimilarToItem "Fists of Steel" SimilarToItem "TF_WEAPON_FISTS" SimilarToItem "The Bread Bite" SimilarToItem "The Killing Gloves of Boxing" SimilarToItem "Gloves of Running Urgently" SimilarToItem "The Holiday Punch" SimilarToItem "The Eviction Notice" SimilarToItem "Warrior's Spirit" } } HeavyMeleeAoEHeal //Heavy Melee Upgrades { Name "Supportive Call" Description "Chance to do an AoE heal on hit" Attribute "aoe heal chance" Cap 60 Increment 60 Cost 600 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "Apoco-Fists" SimilarToItem "Fists of Steel" SimilarToItem "TF_WEAPON_FISTS" SimilarToItem "The Bread Bite" SimilarToItem "The Killing Gloves of Boxing" SimilarToItem "Gloves of Running Urgently" SimilarToItem "The Holiday Punch" SimilarToItem "The Eviction Notice" SimilarToItem "Warrior's Spirit" } } SpyMeleeBackstabDamage //Spy Melee Upgrades { Name "Sharper Blade" Description "+50% backstab damage" Attribute "armor piercing" Cap 100 Increment 50 Cost 800 AllowedWeapons //Restricts upgrade to specified weapons { SimilarToItem "TF_WEAPON_KNIFE" SimilarToItem "The Big Earner" SimilarToItem "Your Eternal Reward" SimilarToItem "The Spy-cicle" SimilarToItem "Conniver's Kunai" } } PlayerAmmoRegen //Player Upgrades { Name "Resourcefulness" Description "+5% ammo regen every 5 seconds" Attribute "ammo regen" Cap 0.15 Increment 0.05 Cost 750 PlayerUpgrade 1 } PlayerHPRegen //Player Upgrades { Name "Perseverance" Description "+5 health regen per second" Attribute "health regen" Cap 10 Increment 5 Cost 500 PlayerUpgrade 1 } PlayerMetalRegen //Player Upgrades { Name "Recycling" Description "+10 metal regen every 5 seconds" Attribute "metal regen" Cap 50 Increment 10 Cost 250 PlayerUpgrade 1 AllowPlayerClass Engineer } PlayerSpeed //Player Upgrades { Name "Leg Speed" Description "+10% move speed" Attribute "move speed bonus" Cap 1.3 Increment 0.1 Cost 300 PlayerUpgrade 1 } PlayerJump //Player Upgrades { Name "Leg Strength" Description "+20% jump height and ladder climb speed" Attribute "increased jump height" Cap 1.6 Increment 0.2 Cost 100 PlayerUpgrade 1 } PlayerCritRes //Player Upgrades { Name "Thicker Bones" Description "-25% damage taken from crit (does nothing vs berserkers)" Attribute "dmg taken from crit reduced" Cap 0.5 Increment -0.25 Cost 200 PlayerUpgrade 1 } PlayerMeleeRes //Player Upgrades { Name "Tough Skin" Description "-25% damage taken from melee" Attribute "dmg from melee increased" Cap 0.50 Increment -0.25 Cost 400 PlayerUpgrade 1 } PlayerDeploySpeed //Player Upgrades { Name "Quick Draw" Description "+20% faster weapon deploy speed" Attribute "deploy time decreased" Cap 0.6 Increment -0.2 Cost 200 PlayerUpgrade 1 } } //////////////////////////////////////////////////////////// PointTemplates { MissionName { logic_relay { "targetname" "name" "OnTrigger" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,EXP Death's End,0,-1" } OnSpawnOutput { Target "name" Action "trigger" Delay 0 } } Barrier_Old //old version { prop_dynamic { "model" "models/props_wasteland/prison_celldoor001a.mdl" "origin" "18 0 52" "modelscale" 1 "startdisabled" 0 } } Barrier //failed attempt counter: 7, but now it FUCKING works YIPPEEEEEEEEE! { prop_dynamic { targetname "door_normal" "model" "models/props_wasteland/prison_celldoor001a.mdl" "origin" "18 0 52" "modelscale" 1 "startdisabled" 0 } prop_dynamic { targetname "door_damaged" "model" "models/props_wasteland/prison_celldoor001b.mdl" "origin" "18 0 52" "modelscale" 1 "startdisabled" 1 } logic_relay { targetname "door_damaged_relay" OnTrigger "!self,disable,,0,-1" OnTrigger "door_normal,disable,,0,-1" OnTrigger "door_damaged,enable,,0,-1" OnTrigger "door_damaged_break,enable,,0,-1" OnTrigger "door_damaged_sound,playsound,,0,-1" } logic_relay { targetname "door_damaged_break" startdisabled 1 OnTrigger "door_normal,disable,,0,-1" OnTrigger "door_damaged,disable,,0,-1" OnTrigger "door_break_sound,playsound,,0,-1" } logic_compare { targetname "door_damage_checker" CompareValue 501 InitialValue 750 OnLessThan "door_damaged_relay,trigger,,0,-1" OnLessThan "door_damaged_break,trigger,,0,-1" OnLessThan "!self,SetCompareValue,251,0.1,-1" } logic_timer { RefireTime 0.1 StartDisabled 0 OnTimer "door_damage_checker,SetValueCompare,$$=!parent.m_iHealth,0,-1" } ambient_generic { "targetname" "door_damaged_sound" "message" "physics\metal\metal_box_break1.wav" "origin" "0 0 0" "volstart" "10" "spinup" "0" "spindown" "0" "spawnflags" "16" "radius" "1024" "preset" "0" "pitchstart" "100" "pitch" "100" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } ambient_generic { "targetname" "door_break_sound" "message" "physics\metal\metal_box_break2.wav" "origin" "0 0 0" "volstart" "10" "spinup" "0" "spindown" "0" "spawnflags" "16" "radius" "1024" "preset" "0" "pitchstart" "100" "pitch" "100" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } } razorback_logic { OnSpawnOutput { Target "!activator" Action "$AddCond" Param "70" Delay 0 } } Player_DLight //allows the player to see in darker areas and make the map's lighting look less shit { light_dynamic { targetname "d_light" "_light" "255 255 255 10" distance "512" brightness "0.2" origin "0 0 24" } } Player_SpawnShit { OnSpawnOutput { Target "!activator" Action "SetFogController" Param "thicc_fog" Delay 0 } OnSpawnOutput { Target "popscript" Action "$Add" Param "!activator" } OnParentKilledOutput { Target "popscript" Action "$Subtract" } OnSpawnOutput { Target "wipe_counter" Action "Add" Param "1" } OnParentKilledOutput { Target "wipe_counter" Action "Subtract" Param "1" } } Fog //the fog is coming { NoFixup 1 env_fog_controller { farz -1 fogblend 0 fogcolor "18 23 33" fogdir "0 0 0" fogenable 1 fogend 512 foglerptime 2 fogmaxdensity 0.9 fogstart 0 spawnflags 1 targetname "thicc_fog" } env_fog_controller { farz -1 fogblend 0 fogcolor "5 26 11" fogdir "0 0 0" fogenable 1 fogend 100 foglerptime 2 fogmaxdensity 0.95 fogstart 0 spawnflags 1 targetname "infected_fog" } env_fog_controller { farz -1 fogblend 0 fogcolor "0 0 0" fogdir "0 0 0" fogenable 1 fogend 1 foglerptime 5 fogmaxdensity 1 fogstart 0 spawnflags 1 targetname "fadeout_fog" } logic_auto //idk why it doesn't work half the time, it should. Note: retry fixes it. WTF I guess the first player is going to suffer from no skybox fog { OnMapSpawn "sky_camera,AddOutput,fogenable 1:0:-1" OnMapSpawn "sky_camera,AddOutput,fogcolor 18 23 33:0:-1" OnMapSpawn "sky_camera,AddOutput,fogstart 1:0:-1" OnMapSpawn "sky_camera,AddOutput,fogend 512:0:-1" OnMapSpawn "sky_camera,AddOutput,fogmaxdensity 0.9:0:-1" } } Misc //core_logic in disguise { NoFixup 1 logic_auto { OnMapSpawn "prop_physics,kill,,0,-1" //removes (most) hl2 props OnMapSpawn "prop_physics_multiplayer,kill,,0,-1" //removes some other hl2 props OnMapSpawn "func_physbox,kill,,0,-1" //removes boxes OnMapSpawn "funv_button,kill,,0,-1" //removes an easter egg that doesn't work OnMapSpawn "disco_*,kill,,0,-1" //removes an easter egg that doesn't work OnMapSpawn "light_secretroom,kill,,0,-1" OnMapSpawn "func_breakable,SetDamageFilter,filter_blu_backup,0,-1" OnMapSpawn "wall_break,AddOutput,OnBreak player:$PlaySoundToSelf:physics\concrete\concrete_break2.wav:0:-1,0,-1" } logic_relay { targetname "break_start_relay" OnTrigger "respawner,forceteamrespawn,2,0,-1" OnTrigger "red_new_spawn,enable,,0,-1" } logic_relay { targetname "break_end_relay" OnTrigger "respawner,forceteamrespawn,2,0,-1" OnTrigger "red_new_spawn,disable,,0,-1" } tf_point_nav_interface { targetname navman } func_regenerate { targetname "red_new_spawn" origin "216 -120 64" mins "-256 -192 -64" maxs "256 192 64" TeamNum 2 associatedmodel "red_new_spawn_resup" } prop_dynamic { targetname "red_new_spawn_resup" model "models/props_gameplay/resupply_locker.mdl" origin "464 -112 0" angles "0 180 0" modelscale 1 } filter_activator_tfteam { targetname filter_red_backup teamnum 2 negated 0 // anyone who is red passes } filter_activator_tfteam { targetname filter_blu_backup teamnum 3 negated 0 // anyone who is blu passes } filter_tf_bot_has_tag { negated 0 require_all_tags 1 tags "bot_stomper" targetname "filter_stomper" } filter_tf_bot_has_tag { negated 0 require_all_tags 1 tags "bot_survivor" targetname "filter_survivor" } filter_tf_bot_has_tag { Negated 1 require_all_tags 1 tags bot_survivor targetname filter_not_survivor } filter_multi { targetname filter_real_red Negated 0 FilterType 0 Filter01 filter_red_backup Filter02 filter_not_survivor } trigger_multiple { targetname "stomper_add_stomp" startdisabled 1 origin "0 0 0" maxs "6000 6000 6000" mins "-6000 -6000 -6000" filtername "filter_stomper" spawnflags 1 OnStartTouch "!activator,$AddPlayerAttribute,kb fall damage|25,0,-1" } logic_relay { targetname "wave_start_relay_backup" //main relay OnTrigger "atmosphere_timer,enable,,0,-1" OnTrigger "tut_relay,disable,,0,-1" OnTrigger "red_new_spawn,disable,,0,-1" OnTrigger "navman,RecomputeBlockers,,0,-1" OnTrigger "lose_relay_wipe,enable,,0,-1" } logic_relay { targetname "wave_finished_relay_backup" OnTrigger "atmosphere_timer,disable,,0,-1" OnTrigger "red_new_spawn,enable,,0,-1" OnTrigger "tut_relay,enable,,0,-1" OnTrigger "lose_relay_wipe,disable,,0,-1" } logic_relay { targetname "lights_off" OnTrigger "light,turnoff,,0,-1" OnTrigger "second_floor_generator_sound,stopsound,,0,-1" OnTrigger "light_dynamic,distance,256,0,-1" OnTrigger "powerout_sound,playsound,,0,-1" OnTrigger "player,SetHUDVisibility,0,0,-1" OnTrigger "fade_out,fade,,0,-1" OnTrigger "fade_in,fade,,3,-1" OnTrigger "player,SetHUDVisibility,1,7,-1" OnTrigger "bignet,runscriptcode,SetSkyboxTexture(`sky_day02_09`),0,-1" } logic_relay { targetname "lights_on" OnTrigger "light,turnon,,0,-1" OnTrigger "light_dynamic,distance,512,0,-1" } env_fade { targetname "fade_out" duration 0 rendercolor "0 0 0" spawnflags 8 } env_fade { targetname "fade_in" duration 3 rendercolor "0 0 0" spawnflags 1 } ambient_generic { health 10 message "pda_w4_powerout.mp3" radius 1024 spawnflags 49 targetname "powerout_sound" } ambient_generic { health 10 message "pda_w4_powerout.mp3" radius 1024 spawnflags 49 targetname "powerout_sound" } func_forcefield { TeamNum 5 origin "384 1280 520" mins "-128 -256 -504" maxs "128 256 504" } func_nobuild { TeamNum 2 origin "384 1280 520" mins "-128 -256 -504" maxs "128 256 504" TeamNum 2 AllowSentry 0 AllowDispenser 0 AllowTeleporters 0 } logic_relay { targetname move_to_tank_override OnTrigger "!player,$ChangeAttributes,Move_To_Tank,0,-1" OnTrigger "player,$ChangeAttributes,Move_To_Tank,0,-1" } logic_relay { targetname survivor_talk_mode_override OnTrigger "!player,$ChangeAttributes,Talk,0,-1" OnTrigger "player,$ChangeAttributes,Talk,0,-1" } logic_relay { targetname survivor_defend_mode_override OnTrigger "!player,$ChangeAttributes,Defend,0,-1" OnTrigger "player,$ChangeAttributes,Defend,0,-1" } logic_relay { targetname survivor_escape_mode_override OnTrigger "!player,$ChangeAttributes,Move_To_Tank_Escape,0,-1" OnTrigger "player,$ChangeAttributes,Move_To_Tank_Escape,0,-1" } game_forcerespawn { targetname respawner } } Oil_Logic //USA Time { NoFixup 1 item_teamflag { targetname "oil_flag" startdisabled 1 //gametype 1 flag_model "models/props_farm/oilcan01b.mdl" origin "280 948 6" returntime 15 ShotClockMode 1 teamnum 3 trail_effect 0 $OnPickup "!activator,$AddPlayerAttribute,move speed penalty|0.65,0,-1" $OnPickup "!activator,$RemovePlayerAttribute,move speed penalty,0,-1" } training_annotation { targetname "tut_oil_message" display_text "Pick up an oil can from over here!" lifetime 20 origin "280 948 64" } training_annotation { targetname "tut_oil_message" display_text "And take it over here! You'll do this three times!" lifetime 20 origin "-2880 -640 128" } tf_glow { target "oil_flag" glowcolor "175 215 255 210" targetname "oil_glow" startdisabled 1 } tf_glow { target "escape_tank_prop" glowcolor "175 215 255 210" targetname "oil_glow" startdisabled 1 } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_112x152.mdl" modelscale 1 origin "264 1472 56" angles "0 90 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 } prop_dynamic { model "models/props_vehicles/pickup03.mdl" origin "442 904 8" angles "0.0898317 -16.3244 358.245" modelscale 1 solid 6 } prop_dynamic { model "models/props_farm/oilcan01b.mdl" origin "392 936 48" angles "0.0898317 73.676 -1.75502" modelscale 1 solid 6 } prop_dynamic { model "models/props_farm/oilcan01.mdl" origin "416 928 48" angles "0.0898317 343.676 -1.75502" modelscale 1 solid 6 } prop_dynamic { model "models/props_farm/oilcan01.mdl" origin "408 896 48" angles "0.0898317 343.676 -1.75502" modelscale 1 skin 1 solid 6 } prop_dynamic { model "models/props_farm/oilcan01.mdl" origin "376 904 48" angles "0.0898317 343.676 -1.75502" modelscale 1 skin 1 solid 6 } prop_dynamic { targetname "oil_cap_prop" model "models/props_gameplay/cap_square_320.mdl" origin "-2816 -1120 16" angles "0 0 0" modelscale 1 skin 1 solid 0 disableshadows 1 startdisabled 1 } func_flagdetectionzone { targetname "oil_cap_zone" mins "-160 -160 -32" maxs "160 160 32" origin "-2816 -1120 16" startdisabled 1 OnStartTouchFlag "oil_cap_counter,add,1,0.1,-1" OnStartTouchFlag "oil_flag,ForceResetSilent,,0,-1" OnStartTouchFlag "!activator,$RemovePlayerAttribute,move speed penalty,0,-1" } prop_dynamic { model "models/props_farm/oilcan01b.mdl" origin "-2735 -1247 -6" angles "0 135 0" modelscale 1 skin 1 targetname "oilcan_prop_1" startdisabled 1 solid 0 } prop_dynamic { model "models/props_farm/oilcan01b.mdl" origin "-2769 -1202 -6" angles "0 135 0" modelscale 1 skin 1 targetname "oilcan_prop_2" startdisabled 1 solid 0 } prop_dynamic { model "models/props_farm/oilcan01b.mdl" origin "-2801 -1155 -6" angles "0 135 0" modelscale 1 skin 1 targetname "oilcan_prop_3" startdisabled 1 solid 0 } math_counter { targetname "oil_cap_counter" max 3 OutValue "oil_cap_case,InValue,,0,-1" OutValue "player,$AddCurrency,500,0,-1" //gives $500 to the team per cap, max is 3 so no worry about inf money glitch OnHitMax "oil_cap_zone,disable,,0,-1" OnHitMax "oil_cap_prop,disable,,0,-1" OnHitMax "oil_flag,disable,,0,-1" OnHitMax "oil_glow,disable,,0,-1" OnHitMax "oil_minigame_end,trigger,,0,-1" } logic_case { targetname "oil_cap_case" case01 1 case02 2 case03 3 OnCase01 "oilcan_prop_1,enable,,0,-1" OnCase01 "oilcan_prop_1,EnableCollision,,0,-1" OnCase01 "interface,$ResumeWavespawn,w6_support_lvl2,0,-1" OnCase02 "oilcan_prop_2,enable,,0,-1" OnCase02 "oilcan_prop_2,EnableCollision,,0,-1" OnCase02 "interface,$ResumeWavespawn,w6_support_lvl3,0,-1" OnCase03 "oilcan_prop_3,enable,,0,-1" OnCase03 "oilcan_prop_3,EnableCollision,,0,-1" OnCase03 "interface,$PauseWavespawn,w6_support,0,-1" OnCase03 "interface,$PauseWavespawn,w6_support_lvl2,0,-1" OnCase03 "interface,$PauseWavespawn,w6_support_lvl3,0,-1" OnCase03 "resumetheregularlyscheduledzombiekilling,enable,,0,-1" } logic_relay { targetname "oil_minigame_start" OnTrigger "!player,$ChangeAttributes,Move_To_Tower,0,-1" OnTrigger "player,$ChangeAttributes,Move_To_Tower,0,-1" OnTrigger "oil_flag,enable,,0,-1" OnTrigger "oil_glow,enable,,0,-1" OnTrigger "tut_oil_message,show,,0,-1" OnTrigger "oil_cap_prop,enable,,0,-1" OnTrigger "oil_cap_zone,enable,,0,-1" OnTrigger "interface,$PauseWavespawn,w6_support_lvl2,0,-1" OnTrigger "interface,$PauseWavespawn,w6_support_lvl3,0,-1" } game_text_tf { targetname "kill_zombies_message" message "Kill all zombies to proceed" icon "d_panic_attack" display_to_team 0 background 2 } logic_relay { targetname "oil_minigame_end" OnTrigger "kill_zombies_message,display,,0,-1" OnTrigger "kill_zombies_message,display,,1,-1" OnTrigger "kill_zombies_message,display,,2,-1" OnTrigger "kill_zombies_message,display,,3,-1" OnTrigger "kill_zombies_message,display,,4,-1" OnTrigger "bot_tp_fix_enabler,disable,,0,-1" } } Tutorial_logic { tf_glow { targetname "tut_upgrade" target "tut_upgrade_station" glowcolor "255 125 0 222" //color copied from mobo, if hell-met gets mad, tell him to fuck off, it's a color value } tf_glow { targetname "tut_trade" target "tut_trade_station" glowcolor "255 125 0 222" } tf_glow { targetname "tut_trade" target "tut_trade_station_b" glowcolor "255 125 0 222" } training_annotation { targetname "tut_upgrade_msg" display_text "Upgrade weapons and yourself at upgrade benches using number keys!" lifetime 10 origin "436 -411 64" } training_annotation { targetname "tut_trade_msg" display_text "Trade weapons by holding your action slot key near these benches!" lifetime 10 origin "215 -583 64" } logic_auto { OnMapSpawn "tut_upgrade,disable,,0,-1" OnMapSpawn "tut_trade,disable,,0,-1" OnMapSpawn "tut_relay,trigger,,5,-1" } logic_relay { targetname "tut_relay" spawnflags 2 OnTrigger "tut_upgrade,enable,,0,-1" OnTrigger "tut_upgrade_msg,show,,0,-1" OnTrigger "tut_upgrade,disable,,10,-1" OnTrigger "tut_trade,enable,,12.5,-1" OnTrigger "tut_trade_msg,show,,12.5,-1" OnTrigger "tut_trade,disable,,22.5,-1" OnTrigger "!self,trigger,,25,-1" } } Spooky_Sound_loop { logic_timer { targetname "atmosphere_timer" UseRandomTime 1 LowerRandomBound 40 UpperRandomBound 90 startdisabled 1 OnTimer "atmosphere_random,PickRandom,,0,-1" } logic_case { targetname "atmosphere_random" OnCase01 "atmosphere_sound_1,playsound,,0,-1" OnCase02 "atmosphere_sound_2,playsound,,0,-1" OnCase03 "atmosphere_sound_3,playsound,,0,-1" OnCase04 "atmosphere_sound_4,playsound,,0,-1" OnCase05 "atmosphere_sound_5,playsound,,0,-1" OnCase06 "atmosphere_sound_6,playsound,,0,-1" OnCase07 "atmosphere_sound_7,playsound,,0,-1" OnCase08 "atmosphere_sound_8,playsound,,0,-1" OnCase09 "atmosphere_sound_9,playsound,,0,-1" OnCase10 "atmosphere_sound_10,playsound,,0,-1" OnCase11 "atmosphere_sound_11,playsound,,0,-1" OnCase12 "atmosphere_sound_12,playsound,,0,-1" } ambient_generic { health 10 message "ambient\levels\citadel\citadel_flyer1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_1" } ambient_generic { health 10 message "ambient\levels\canals\toxic_slime_sizzle1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_2" } ambient_generic { health 10 message "ambient\levels\coast\antlion_hill_ambient1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_3" } ambient_generic { health 10 message "ambient\levels\coast\antlion_hill_ambient4.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_4" } ambient_generic { health 10 message "ambient\atmosphere\city_skypass1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_5" } ambient_generic { health 10 message "ambient\halloween\windgust_01.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_6" } ambient_generic { health 10 message "ambient\halloween\windgust_03.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_7" } ambient_generic { health 10 message "ambient\halloween\windgust_07.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_8" } ambient_generic { health 10 message "ambient\halloween\windgust_09.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_9" } ambient_generic { health 10 message "ambient\levels\canals\windchime4.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_10" } ambient_generic { health 10 message "ambient\levels\canals\windchime5.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_10" } ambient_generic { health 10 message "ambient\machines\aircraft_distant_flyby1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_11" } ambient_generic { health 10 message "ambient\machines\aircraft_distant_flyby3.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_12" } ambient_generic { health 10 message "ambient\levels\citadel\citadel_flyer1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_1" } ambient_generic { health 10 message "ambient\levels\canals\toxic_slime_sizzle1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_2" } ambient_generic { health 10 message "ambient\levels\coast\antlion_hill_ambient1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_3" } ambient_generic { health 10 message "ambient\levels\coast\antlion_hill_ambient4.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_4" } ambient_generic { health 10 message "ambient\atmosphere\city_skypass1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_5" } ambient_generic { health 10 message "ambient\halloween\windgust_01.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_6" } ambient_generic { health 10 message "ambient\halloween\windgust_03.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_7" } ambient_generic { health 10 message "ambient\halloween\windgust_07.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_8" } ambient_generic { health 10 message "ambient\halloween\windgust_09.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_9" } ambient_generic { health 10 message "ambient\levels\canals\windchime4.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_10" } ambient_generic { health 10 message "ambient\levels\canals\windchime5.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_10" } ambient_generic { health 10 message "ambient\machines\aircraft_distant_flyby1.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_11" } ambient_generic { health 10 message "ambient\machines\aircraft_distant_flyby3.wav" radius 1024 spawnflags 49 targetname "atmosphere_sound_12" } } Slowzones { trigger_stun { targetname "slow_zone" origin "16 608 512" mins "-496 -512 -1024" maxs "496 512 1024" filtername "filter_red_backup" move_speed_reduction 0.67 stun_type 0 stun_effects 0 trigger_delay 0 stun_duration 1 spawnflags 1 } trigger_stun { targetname "slow_zone" origin "-960 1584 512" mins "-2240 -464 -1024" maxs "2240 464 1024" filtername "filter_red_backup" move_speed_reduction 0.67 stun_type 0 stun_effects 0 trigger_delay 0 stun_duration 1 spawnflags 1 } trigger_stun { targetname "slow_zone" origin "896 48 512" mins "-384 -1072 -1024" maxs "384 1072 1024" filtername "filter_red_backup" move_speed_reduction 0.67 stun_type 0 stun_effects 0 trigger_delay 0 stun_duration 1 spawnflags 1 } trigger_stun { targetname "slow_zone" origin "-960 -1488 512" mins "-2240 -464 -1024" maxs "2240 464 1024" filtername "filter_red_backup" move_speed_reduction 0.67 stun_type 0 stun_effects 0 trigger_delay 0 stun_duration 1 spawnflags 1 } trigger_stun { targetname "slow_zone" origin "-2880 48 512" mins "-320 -1072 -1024" maxs "320 1072 1024" filtername "filter_red_backup" move_speed_reduction 0.67 stun_type 0 stun_effects 0 trigger_delay 0 stun_duration 1 spawnflags 1 } } Override_Spawn_Room { NoFixup 1 trigger_multiple { filtername "filter_real_red" origin "-384 -824 64" mins "-256 -168 -64" maxs "256 168 64" spawnflags 1 StartDisabled 0 Wait 0 targetname "override_spawn_room_zone" OnStartTouch "!activator,$SetLocalOrigin,256 -96 12,0,-1" } prop_dynamic { targetname "override_spawn_doors" model "models/props_2fort/roof_metal003.mdl" origin "-280 -647 64" angles "0 270 0" modelscale 1 } func_forcefield { targetname "override_spawn_doors" TeamNum 3 origin "-280 -647 64" mins "-48 -4 -64" maxs "48 4 64" } prop_dynamic { targetname "override_spawn_doors" model "models/props_2fort/roof_metal003.mdl" origin "-544 -647 64" angles "0 270 0" modelscale 1 } func_forcefield { targetname "override_spawn_doors" TeamNum 3 origin "-544 -647 64" mins "-48 -4 -64" maxs "48 4 64" } prop_dynamic { targetname "override_spawn_doors" model "models/props_2fort/roof_metal003.mdl" origin "-645 -960 64" angles "0 0 0" modelscale 1 } func_forcefield { targetname "override_spawn_doors" TeamNum 3 origin "-645 -960 64" mins "-4 -48 -64" maxs "4 48 64" } info_target { targetname "spawn_override_target" origin "256 -96 12" } } Start_Room_Barriers { prop_dynamic { targetname "start_room_front_barricade" model "models/props_mining/wooden_barrier01.mdl" origin "99 -303 19" angles "0 0 0" modelscale 1 } func_forcefield { targetname "start_room_front_barricade" TeamNum 5 origin "102 -298 19" mins "-58 -2 -113" maxs "58 2 113" } func_nobuild { TeamNum 2 startdisabled 0 AllowSentry 0 AllowDispenser 0 AllowTeleporters 0 origin "102 -320 19" mins "-58 -32 -113" maxs "58 32 113" } prop_dynamic { targetname "start_room_back_barricade" model "models/props_mining/wooden_barrier01.mdl" origin "343 -747 19" angles "0 0 0" modelscale 1 } func_forcefield { targetname "start_room_back_barricade" TeamNum 5 origin "346 -742 19" mins "-58 -2 -113" maxs "58 2 113" } func_nobuild { TeamNum 2 startdisabled 0 AllowSentry 0 AllowDispenser 0 AllowTeleporters 0 origin "346 -764 19" mins "-58 -32 -113" maxs "58 32 113" } } Upgrade_Station { prop_dynamic { targetname "tut_upgrade_station" model "models/props_medieval/bar_table.mdl" origin "436 -411 0" angles "0 90 0" modelscale 1 solid 6 } prop_dynamic { model "models/props_medieval/blacksmith_hammer.mdl" origin "436 -364 42" angles "-6 133 90" modelscale 1 disableshadows 1 solid 0 } prop_dynamic { model "models/props_medieval/blacksmith_hammer.mdl" origin "410 -374 42" angles "-9.5 34 90" modelscale 1 disableshadows 1 solid 0 } prop_dynamic { model "models/player/items/taunts/beer_crate/beer_crate.mdl" origin "434 -454 41" angles "0 327.5 0" modelscale 1 disableshadows 1 solid 0 } prop_dynamic_override { model "models/props_c17/tools_wrench01a.mdl" origin "431 -415 39" angles "0 307 0" modelscale 1 disableshadows 1 solid 0 lightingorigin upgrade_station_bench } func_upgradestation { targetname "upgrade_station_trigger" origin "431 -415 39" mins "-48 -88 -30" maxs "48 88 30" } prop_dynamic { targetname "upgrade_station_bench" model "models/props_medieval/bar_table.mdl" origin "-1392 1021 290" angles "0 0 0" modelscale 1 solid 6 } prop_dynamic { model "models/props_medieval/blacksmith_hammer.mdl" origin "-1341 1032 331" angles "-9.5 304 90" modelscale 1 disableshadows 1 solid 0 } prop_dynamic { model "models/props_medieval/blacksmith_hammer.mdl" origin "-1336 1020 331" angles "-9.5 43 90" modelscale 1 disableshadows 1 solid 0 } prop_dynamic { model "models/player/items/taunts/beer_crate/beer_crate.mdl" origin "-1434 1023 331" angles "0 237.5 0" modelscale 1 disableshadows 1 solid 0 } prop_dynamic_override { model "models/props_c17/tools_wrench01a.mdl" origin "-1397 1027 329" angles "0 217 0" modelscale 1 disableshadows 1 solid 0 lightingorigin upgrade_station_bench } func_upgradestation { targetname "upgrade_station_trigger" origin "-1392 1024 312" mins "-96 -48 -24" maxs "96 48 24" } } WeaponStation { NoFixup 1 prop_dynamic { targetname "tut_trade_station" model "models/props_medieval/bar_table.mdl" modelscale 1 origin "215 -667 0" angles "0 90 0" solid 6 } prop_dynamic //graveyard tender { model "models\weapons\c_models\c_chains_of_command\c_chains_of_command.mdl" modelscale 1 origin "223 -675 42" angles "0 69 -90" disableshadows 1 solid 0 } prop_dynamic //graveyard tender { model "models\weapons\c_models\c_chains_of_command\c_chains_of_command.mdl" modelscale 1 origin "214 -702 42" angles "0 106 -90" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_shotgun" origin "215 -667 0" mins "-48 -48 -30" maxs "48 48 48" } prop_dynamic { targetname "tut_trade_station_b" model "models/props_medieval/bar_table.mdl" modelscale 1 origin "215 -500 0" angles "0 90 0" solid 6 } prop_dynamic //glock { model "models\weapons\c_models\c_lazygun.mdl" modelscale 1 origin "220 -490 42" angles "0 69 -90" disableshadows 1 solid 0 } prop_dynamic //glock { model "models\weapons\c_models\c_lazygun.mdl" modelscale 1 origin "226 -514 42" angles "0 138 -90" disableshadows 1 solid 0 } prop_dynamic //glock { model "models\weapons\c_models\c_lazygun.mdl" modelscale 1 origin "202 -501 42" angles "0 294 -90" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_glock" origin "215 -500 0" mins "-48 -48 -30" maxs "48 48 48" } prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "-1488 400 146" angles "0 280 0" solid 6 } prop_dynamic //medical pratice 40 { model "models/weapons/c_models/c_mp40/c_mp40.mdl" modelscale 1 origin "-1497 436 190" angles "-2.91524 -40.6068 260.094" disableshadows 1 solid 0 } prop_dynamic //medical pratice 40 { model "models/weapons/c_models/c_mp40/c_mp40.mdl" modelscale 1 origin "-1478 392 190" angles "-2.91528 -141.106 260.094" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_mp40" origin "-1488 400 176" mins "-64 -64 -32" maxs "64 64 32" } prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "-1488 -752 146" angles "0 265 0" solid 6 } prop_dynamic //brewery blaster { model "models/weapons/c_models/c_brew_blaster/c_grenadelauncher.mdl" modelscale 1 origin "-1488 -784 193" angles "80.5 240 -170" disableshadows 1 solid 0 } prop_dynamic //brewery blaster { model "models/weapons/c_models/c_brew_blaster/c_grenadelauncher.mdl" modelscale 1 origin "-1483 -733 193" angles "80.5 240 -170" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_brewery" origin "-1480 -752 176" mins "-56 -64 -32" maxs "56 64 32" } prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "-1408 784 288" angles "0 0 0" solid 6 } prop_dynamic //spitfire { model "models/ctf2w/weapons/c_models/c_spitfire_rocketlauncher/c_spitfire_rocketlauncher.mdl" modelscale 1 origin "-1462 792 330" angles "0 315 -90" disableshadows 1 solid 0 } prop_dynamic //spitfire { model "models/ctf2w/weapons/c_models/c_spitfire_rocketlauncher/c_spitfire_rocketlauncher.mdl" modelscale 1 origin "-1460 772 330" angles "0 105 -90" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_spitfire" origin "-1472 784 320" mins "-24 -48 -32" maxs "24 48 32" } prop_dynamic //military shotgun { model "models/weapons/c_models/c_spas12_v2/c_spas12_v2.mdl" modelscale 1 origin "-1378 784 330" angles "-15 120 0" disableshadows 1 solid 0 } prop_dynamic //military shotgun { model "models/weapons/c_models/c_spas12_v2/c_spas12_v2.mdl" modelscale 1 origin "-1364 782 330" angles "-15 75 0" disableshadows 1 solid 0 } prop_dynamic //military shotgun { model "models/weapons/c_models/c_spas12_v2/c_spas12_v2.mdl" modelscale 1 origin "-1340 764 330" angles "-15 255 0" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_mshotgun" origin "-1344 784 320" mins "-24 -48 -32" maxs "24 48 32" } prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "-1008 912 288" angles "0 90 0" solid 6 } prop_dynamic //flintlock { model "models/weapons/c_models/c_flintlock/c_ambassador.mdl" modelscale 1 origin "-1005 849 330" angles "-80.1981 137.832 21.3128" disableshadows 1 solid 0 } prop_dynamic //flintlock { model "models/weapons/c_models/c_flintlock/c_ambassador.mdl" modelscale 1 origin "-1009 869 330" angles "-83.0345 94.6271 5.31581" disableshadows 1 solid 0 } prop_dynamic //flintlock { model "models/weapons/c_models/c_flintlock/c_ambassador.mdl" modelscale 1 origin "-1023 868 330" angles "-80.2209 -22.6851 21.2227" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_flintlock" origin "-1008 848 320" mins "-48 -24 -32" maxs "48 24 32" } prop_dynamic //military smg { model "models/weapons/c_models/c_heckler/c_smg.mdl" modelscale 1 origin "-1002 942 328" angles "0 30 90" disableshadows 1 solid 0 } prop_dynamic //military smg { model "models/weapons/c_models/c_heckler/c_smg.mdl" modelscale 1 origin "-1026 954 328" angles "0 300 90" disableshadows 1 solid 0 } prop_dynamic //military smg { model "models/weapons/c_models/c_heckler/c_smg.mdl" modelscale 1 origin "-998 974 328" angles "0 195 90" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_msmg" origin "-1008 976 320" mins "-48 -24 -32" maxs "48 24 32" } prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "-816 912 288" angles "0 90 0" solid 6 } prop_dynamic //auto BMG { model "models/ctf2w/weapons/c_models/c_atgun/c_atgun.mdl" modelscale 1 origin "-812 856 342" angles "-22.5 150 0" disableshadows 1 solid 0 } prop_dynamic //auto BMG { model "models/ctf2w/weapons/c_models/c_atgun/c_atgun.mdl" modelscale 1 origin "-814 870 342" angles "-22.5 330 0" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_bmg" origin "-816 848 320" mins "-48 -24 -32" maxs "48 24 32" } prop_dynamic //steel slugger { model "models/weapons/c_models/c_leverslugger.mdl" modelscale 1 origin "-828 940 328" angles "0 105 90" disableshadows 1 solid 0 } prop_dynamic //steel slugger { model "models/weapons/c_models/c_leverslugger.mdl" modelscale 1 origin "-816 960 328" angles "0 225 90" disableshadows 1 solid 0 } prop_dynamic //steel slugger { model "models/weapons/c_models/c_leverslugger.mdl" modelscale 1 origin "-838 966 328" angles "0 0 90" disableshadows 1 solid 0 } trigger_multiple { targetname "equip_slugger" origin "-816 976 320" mins "-48 -24 -32" maxs "48 24 32" } } Radio_Station { NoFixup 1 prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "436 -579 0" angles "0 90 0" solid 6 } prop_dynamic_override { model "models/props_lab/citizenradio.mdl" modelscale 1 angles "0 195 0" origin "434 -561 38" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01d.mdl" modelscale 1 angles "0 218.5 0" origin "420 -538 41" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01c.mdl" modelscale 1 angles "0 168 0" origin "432 -592 47" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01d.mdl" modelscale 1 angles "0 147.5 0" origin "423 -611 59" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01b.mdl" modelscale 1 angles "0 207.5 0" origin "434 -559 58" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01b.mdl" modelscale 1 angles "0 207.5 0" origin "434 -560 65" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01b.mdl" modelscale 1 angles "0 168 0" origin "433 -592 42" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01a.mdl" modelscale 1 angles "0 147 0" origin "424 -611 42" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01a.mdl" modelscale 1 angles "0 147 0" origin "424 -611 48" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01a.mdl" modelscale 1 angles "0 147 0" origin "424 -611 54" disableshadows 1 solid 6 } ambient_generic { health 10 message "ui\tv_static.wav" radius 1024 spawnflags 0 origin "434 -561 38" targetname "radio_static" } ambient_generic { health 10 message "ui\tv_static.wav" radius 1024 spawnflags 0 origin "434 -561 38" targetname "radio_static" } } Escape_Tank { NoFixup 1 prop_dynamic { targetname "escape_tank_prop" model "models/props_frontline/tank_animated.mdl" modelscale 1 angles "0 0 0" origin "-2493 -1135 -8" skin 1 // skin 1 to turn off light, set to skin 0 to turn on light solid 6 parentname "escape_tank_mover" } logic_auto { OnMapSpawn "escape_tank_mover,stop,,0,-1" OnMapSpawn "escape_tank_mover,SetSpeed,0,0,-1" } point_viewcontrol { acceleration 0 deceleration 0 interpolatepositiontoplayer 0 spawnflags 12 speed 0 wait 10 targetname escape_tank_camera parentname escape_tank_mover origin "-2685 -1120 240" angles "30 0 0" } func_tracktrain { targetname "escape_tank_mover" origin "-2496 -1136 64" mins "-16 -16 -16" maxs "16 16 16" spawnflags 522 dmg 1000 bank -3 height 0 startspeed 1000 target "escape_tank_path_1" velocitytype 2 wheels 400 OnStart "escape_tank_prop,SetAnimation,move_fast,0,-1" } path_track { targetname "escape_tank_path_1" orientationtype 0 speed 64 target "escape_tank_path_2" origin "-2672 -1152 64" angles "0 180 0" } path_track { targetname "escape_tank_path_2" orientationtype 0 speed 128 target "escape_tank_path_3" origin "-2816 -1120 64" angles "0 172 0" } path_track { targetname "escape_tank_path_3" orientationtype 2 speed 192 target "escape_tank_path_4" origin "-2880 -960 64" angles "0 155 0" } path_track { targetname "escape_tank_path_4" orientationtype 0 speed 256 target "escape_tank_path_5" origin "-2880 -640 64" angles "0 90 0" OnPass "escape_tank_prop,SetAnimation,move_fast,5,-1" } path_track { targetname "escape_tank_path_5" orientationtype 0 speed 320 target "escape_tank_path_6" origin "-2880 1792 64" angles "0 90 0" } path_track { targetname "escape_tank_path_6" orientationtype 0 speed 384 target "escape_tank_path_7" origin "-2880 2752 64" angles "0 82 0" } path_track { targetname "escape_tank_path_7" orientationtype 2 speed 384 target "escape_tank_path_8" origin "-2816 3040 80" angles "0 43 0" } path_track { targetname "escape_tank_path_8" orientationtype 0 speed 384 target "escape_tank_path_9" origin "-2672 3168 96" angles "0 21 0" } path_track { targetname "escape_tank_path_9" orientationtype 2 speed 420 target "escape_tank_path_10" origin "-2464 3232 112" angles "0 4 0" } path_track { targetname "escape_tank_path_10" orientationtype 0 speed 450 target "escape_tank_path_11" origin "-2192 3248 128" angles "0 0 0" } path_track { targetname "escape_tank_path_11" orientationtype 0 speed 450 target "escape_tank_path_12" origin "-1600 3248 128" angles "0 43 0" } path_track { targetname "escape_tank_path_12" orientationtype 0 speed 500 target "escape_tank_path_13" origin "-1424 3312 128" angles "0 76 0" } path_track { targetname "escape_tank_path_13" orientationtype 2 speed 512 target "escape_tank_path_14" origin "-1312 3552 128" angles "0 105 0" } path_track { targetname "escape_tank_path_14" orientationtype 0 speed 512 origin "-1344 3776 128" angles "0 90 0" OnPass "escape_tank_camera,$Disableall,,0,-1" } trigger_multiple { filtername "filter_blu_backup" origin "-2384 -1136 64" mins "-32 -64 -64" maxs "32 64 64" spawnflags 1 StartDisabled 1 parentname "escape_tank_prop" Wait 0 targetname "tank_kill_runover" OnStartTouch "!activator,$Suicide,,0,-1" } trigger_multiple { filtername "filter_survivor" origin "-2741 -1068 0" mins "-32 -32 -32" maxs "32 32 32" spawnflags 1 StartDisabled 0 Wait 0 targetname "failsafe_tp_unstuck" OnStartTouch "!activator,$SetLocalOrigin,-2936 -968 32,0,-1" } trigger_multiple { filtername "filter_survivor" origin "-2609 -1123 0" mins "-32 -32 -32" maxs "32 32 32" spawnflags 1 StartDisabled 0 Wait 0 targetname "failsafe_tp_unstuck" OnStartTouch "!activator,$SetLocalOrigin,-2936 -968 32,0,-1" } trigger_multiple { filtername "filter_real_red" origin "-2670 -1172 0" mins "-128 -128 -128" maxs "128 128 128" spawnflags 1 StartDisabled 1 Wait 0 targetname "tank_tp_no_player" OnStartTouch "!activator,$SetLocalOrigin,-438 -878 0,0,-1" } trigger_multiple { targetname "tank_win_zone" origin "-2670 -1172 0" mins "-128 -128 -128" maxs "128 128 128" spawnflags 1 startdisabled 1 wait 0 OnStartTouch "cap_counter,add,1,0,-1" OnEndTouch "cap_counter,subtract,1,0,-1" filtername "filter_real_red" } logic_relay { targetname "tank_win_enable_trigger" OnTrigger "override_spawn_room_zone,disable,,0,-1" OnTrigger "lose_relay_wipe,disable,,1,-1" OnTrigger "lose_relay_wipe_end_of_mission,enable,,1,-1" OnTrigger "tank_win_holo,enable,,2,-1" OnTrigger "tank_win_zone,enable,,2,-1" OnTrigger "win_anno,Show,,2,-1" OnTrigger "win_relay,Trigger,,62,-1" OnTrigger "tank_tp_no_player,enable,,62,-1" OnTrigger "tank_tp_no_player,disable,,62.5,-1" OnTrigger "failsafe_tp_unstuck,disable,,0,-1" } math_counter { targetname "cap_counter" max 6 outvalue "cap_counter_compare,SetValueCompare,,0,-1" } logic_compare { targetname "cap_counter_compare" comparevalue -1 ongreaterthan "tank_win_enable_trigger,CancelPending,,1,-1" ongreaterthan "tank_tp_no_player,enable,,0,-1" ongreaterthan "tank_tp_no_player,disable,,0.5,-1" ongreaterthan "popscript,$HandleWinning,,0,-1" onequalto "tank_win_enable_trigger,CancelPending,,1,-1" onequalto "tank_tp_no_player,enable,,0,-1" onequalto "tank_tp_no_player,disable,,0.5,-1" onequalto "popscript,$HandleWinning,,0,-1" } prop_dynamic { targetname "tank_win_holo" model models\props_gameplay\cap_square_256.mdl disableshadows 1 origin "-2670 -1172 0" SetBodyGroup 0 skin 1 solid 0 spawnflags 0 startdisabled 1 } training_annotation { origin "-2670 -1172 64" targetname "win_anno" display_text "Everyone get to the tank! Tank will leave without you!" lifetime 10 } } Second_floor_logic { NoFixup 1 prop_dynamic { model "models/props_coalmines/wood_fence_128.mdl" modelscale 1 origin "-16 -784 144" angles "0 0 -90" disableshadows 1 solid 0 targetname "second_floor_barricade" } func_forcefield { targetname "second_floor_barricade" TeamNum 5 origin "-16 -784 144" mins "-65 -134 -12" maxs "65 134 12" } prop_dynamic { model "models/props_coalmines/wood_fence_128.mdl" modelscale 1 origin "-1696 -800 144" angles "0 0 -90" disableshadows 1 solid 0 targetname "second_floor_barricade" } func_forcefield { targetname "second_floor_barricade" TeamNum 5 origin "-1696 -800 144" mins "-65 -134 -12" maxs "65 134 12" } prop_dynamic { model "models/props_coalmines/wood_fence_64.mdl" modelscale 1 origin "-656 336 144" angles "0 90 -90" disableshadows 1 solid 0 targetname "second_floor_barricade" } func_forcefield { targetname "second_floor_barricade" TeamNum 5 origin "-656 336 144" mins "-134 -32 -12" maxs "134 32 12" } prop_dynamic { model "models/props_coalmines/wood_fence_64.mdl" modelscale 1 origin "-925 1061 144" angles "0 270 -90" disableshadows 1 solid 0 targetname "second_floor_barricade" } func_forcefield { targetname "second_floor_barricade" TeamNum 5 origin "-925 1061 144" mins "-134 -32 -12" maxs "134 32 12" } prop_dynamic { model "models/props_doomsday/dd_woodfence_short_128.mdl" modelscale 1 origin "-2400 960 144" angles "0 270 -90" disableshadows 1 solid 0 targetname "second_floor_barricade" } func_forcefield { targetname "second_floor_barricade" TeamNum 5 origin "-2400 960 144" mins "-64 -64 -12" maxs "64 64 12" } logic_case { targetname "woodbreak_random_case" OnCase01 "woodbreak_random_sd1,playsound,,0,-1" OnCase02 "woodbreak_random_sd2,playsound,,0,-1" OnCase03 "woodbreak_random_sd3,playsound,,0,-1" OnCase04 "woodbreak_random_sd4,playsound,,0,-1" OnCase05 "woodbreak_random_sd5,playsound,,0,-1" OnCase06 "woodbreak_random_sd6,playsound,,0,-1" } ambient_generic { targetname "woodbreak_random_sd1" message "physics\wood\wood_panel_impact_hard1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd2" message "physics\wood\wood_plank_break1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd3" message "physics\wood\wood_plank_break2.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd4" message "physics\wood\wood_plank_break3.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd5" message "physics\wood\wood_plank_break4.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd6" message "physics\wood\wood_furniture_break1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd1" message "physics\wood\wood_panel_impact_hard1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd2" message "physics\wood\wood_plank_break1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd3" message "physics\wood\wood_plank_break2.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd4" message "physics\wood\wood_plank_break3.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd5" message "physics\wood\wood_plank_break4.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { targetname "woodbreak_random_sd6" message "physics\wood\wood_furniture_break1.wav" health 10 radius 1024 spawnflags 49 } ambient_generic { health 10 message "mvm\mvm_tank_smash.wav" radius 1024 spawnflags 49 targetname "second_floor_barricade_break" } info_particle_system { origin "-88 -848 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-16 -848 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-88 -736 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-16 -736 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-1696 -848 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-1768 -848 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-1696 -736 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-1768 -736 144" angles "0 90 90" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-736 336 144" angles "90 180 0" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-624 336 144" angles "90 180 0" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-968 1064 144" angles "90 0 0" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-856 1064 144" angles "90 0 0" effect_name woodSplinter targetname "second_floor_barricade_particle" } info_particle_system { origin "-2464 992 144" angles "90 0 0" effect_name woodSplinter targetname "second_floor_barricade_particle" } func_forcefield { targetname "prevent_early_second_floor" TeamNum 3 origin "16 -464 352" mins "-496 -560 -192" maxs "496 560 2048" } func_forcefield { targetname "prevent_early_second_floor" TeamNum 3 origin "-1520 48 352" mins "-1040 -1072 -192" maxs "1040 1072 2048" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-1920 -672 208" angles "0 270 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-1920 -672 208" angles "0 90 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-1920 -672 208" mins "-1 -88 -76" maxs "1 88 76" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-1632 512 208" angles "0 180 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-1632 512 208" angles "0 0 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-1632 512 208" mins "-88 -1 -76" maxs "88 1 76" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-128 -288 208" angles "0 90 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-128 -288 208" angles "0 270 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-128 -288 208" mins "-1 -88 -76" maxs "1 88 76" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-672 -640 208" angles "0 0 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-672 -640 208" angles "0 180 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-672 -640 208" mins "-88 -1 -76" maxs "88 1 76" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-992 -640 208" angles "0 0 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } prop_dynamic { model "models/props_mvm/reversemvm_whitewall_176x152.mdl" modelscale 1 origin "-992 -640 208" angles "0 180 0" rendercolor "40 216 0" //makes it green rendermode 1 //makes it faded renderamt 200 //makes it faded disableshadows 1 solid 0 targetname "roof_barrier" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-992 -640 208" mins "-88 -1 -76" maxs "88 1 76" } info_target { targetname "main_stairs_slam" origin "-48 -720 220" } info_target { targetname "flank_stairs_slam" origin "-1728 -752 220" } info_target { targetname "back_stairs_slam" origin "-928 1056 220" } info_target { targetname "hole_slam" origin "-688 336 220" } math_counter { max 3 targetname "second_floor_counter" OnHitMax "start_breaking,disable,,0.1,-1" OnHitMax "second_floor_begin_breaking,trigger,,0,-1" } trigger_multiple { origin "-48 -776 176" mins "-64 -136 -32" maxs "64 136 32" OnStartTouch "second_floor_counter,add,1,0,-1" OnEndTouch "second_floor_counter,subtract,1,0,-1" spawnflags 1 filtername filter_stomper targetname "start_breaking" } trigger_multiple { origin "-1728 -792 176" mins "-64 -136 -32" maxs "64 136 32" OnStartTouch "second_floor_counter,add,1,0,-1" OnEndTouch "second_floor_counter,subtract,1,0,-1" spawnflags 1 filtername filter_stomper targetname "start_breaking" } trigger_multiple { origin "-912 1060 176" mins "-128 -36 -32" maxs "128 36 32" OnStartTouch "second_floor_counter,add,1,0,-1" OnEndTouch "second_floor_counter,subtract,1,0,-1" spawnflags 1 filtername filter_stomper targetname "start_breaking" } trigger_multiple { origin "-672 332 176" mins "-128 -36 -32" maxs "128 36 32" OnStartTouch "second_floor_counter,add,1,0,-1" OnEndTouch "second_floor_counter,subtract,1,0,-1" spawnflags 1 filtername filter_stomper targetname "start_breaking" } logic_relay { targetname "second_floor_begin_breaking" OnTrigger "woodbreak_random_case,pickrandom,,0,-1" OnTrigger "woodbreak_random_case,pickrandom,,1,-1" OnTrigger "woodbreak_random_case,pickrandom,,1.8,-1" OnTrigger "woodbreak_random_case,pickrandom,,2.8,-1" OnTrigger "woodbreak_random_case,pickrandom,,3.4,-1" OnTrigger "woodbreak_random_case,pickrandom,,4,-1" OnTrigger "woodbreak_random_case,pickrandom,,4.6,-1" OnTrigger "woodbreak_random_case,pickrandom,,5.1,-1" OnTrigger "woodbreak_random_case,pickrandom,,5.5,-1" OnTrigger "woodbreak_random_case,pickrandom,,5.8,-1" OnTrigger "woodbreak_random_case,pickrandom,,6.1,-1" OnTrigger "woodbreak_random_case,pickrandom,,6.4,-1" OnTrigger "woodbreak_random_case,pickrandom,,6.7,-1" OnTrigger "woodbreak_random_case,pickrandom,,6.9,-1" OnTrigger "second_floor_barricade_break,playsound,,7,-1" OnTrigger "minor_short_shake,startshake,,1,-1" OnTrigger "minor_short_shake,startshake,,3,-1" OnTrigger "minor_long_shake,startshake,,4,-1" OnTrigger "minor_long_shake,startshake,,5.5,-1" OnTrigger "major_long_shake,startshake,,7,-1" OnTrigger "prevent_early_second_floor,disable,,7,-1" OnTrigger "second_floor_barricade,disable,,7,-1" OnTrigger "second_floor_barricade_particle,start,,7,-1" OnTrigger "!self,disable,,7,-1" OnTrigger "stomper_add_stomp,enable,,7,-1" OnTrigger "main_stairs_slam,kill,,7,-1" OnTrigger "flank_stairs_slam,kill,,7,-1" OnTrigger "back_stairs_slam,kill,,7,-1" OnTrigger "hole_slam,kill,,7,-1" } } Shakers { NoFixup 1 env_shake { spawnflags 5 targetname "minor_short_shake" amplitude 8 frequency 40 duration 1 } env_shake { spawnflags 5 targetname "minor_long_shake" amplitude 8 frequency 40 duration 3 } env_shake { spawnflags 5 targetname "major_short_shake" amplitude 16 frequency 40 duration 1 } env_shake { spawnflags 5 targetname "major_long_shake" amplitude 16 frequency 40 duration 3 } } Generator { NoFixup 1 prop_dynamic { model "models/props_frontline/generator.mdl" modelscale 1 origin "-1199 -448 146" angles "12.6302 0.00384406 359.956" disableshadows 1 solid 6 } prop_dynamic { model "models/props_island/gantry_fuse_box.mdl" modelscale 1 origin "-1104 -496 240" angles "0 90 0" disableshadows 1 solid 6 } ambient_generic { health 10 message "Ambient.Generator" radius 1024 spawnflags 0 origin "-1152 -432 208" targetname "second_floor_generator_sound" } ambient_generic { health 10 message "Ambient.Generator" radius 1024 spawnflags 0 origin "-1152 -432 208" targetname "second_floor_generator_sound" } } Roof_Props { NoFixup 1 "item_healthkit_full" { Origin "-1118 611 288" Angles "0 0 0" } "item_ammopack_full" { Origin "-1214 915 288" Angles "0 0 0" } prop_dynamic { model "models/props_hydro/barrel_crate_half.mdl" modelscale 1 origin "-1352 864 288" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_hydro/barrel_crate_half.mdl" modelscale 1 origin "-1352 944 288" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_hydro/barrel_crate.mdl" modelscale 1 origin "-1432 944 288" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_hydro/water_barrel_cluster.mdl" modelscale 1 origin "-1432 864 288" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_trainyard/loading_tower.mdl" modelscale 1 origin "-1168 912 272" angles "0 270 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_2fort/ladder001.mdl" modelscale 1 origin "-1156 912 288" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_2fort/ladder001.mdl" modelscale 1 origin "-1156 912 416" angles "0 0 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_forest/wood_platform2.mdl" modelscale 1 origin "-1216 912 544" angles "0 270 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_forest/wood_platform2.mdl" modelscale 1 origin "-1216 912 633" angles "0 90 -180" disableshadows 1 solid 6 } prop_dynamic { model "models/props_forest/wood_platform2.mdl" modelscale 1 origin "-1120 912 633" angles "0 270 -180" disableshadows 1 solid 6 } prop_dynamic_override { model "models/items/ammocrate_smg1.mdl" modelscale 1 origin "-1200 880 558" angles "0 90 0" disableshadows 1 solid 6 } prop_dynamic_override { model "models/weapons/c_models/c_bastard_backguard/c_bastard_backguard.mdl" modelscale 1 origin "-1193 878 575" angles "0 75 0" disableshadows 1 solid 6 } prop_dynamic_override { model "models/ctf2w/weapons/c_models/c_atgun/c_atgun.mdl" modelscale 1 origin "-1248 948 558" angles "-22.5 90 0" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01d.mdl" modelscale 1 origin "-1256 896 548" angles "0 60 0" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/citizenradio.mdl" modelscale 1 origin "-1247 879 544" angles "0 90 0" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01a.mdl" modelscale 1 origin "-1247 880 565" angles "-0.03321 89.4679 359.902" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01a.mdl" modelscale 1 origin "-1247 879 571" angles "-0.126297 89.808 359.906" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_lab/reciever01b.mdl" modelscale 1 origin "-1246 880 578" angles "-0.59519 90.1342 359.904" disableshadows 1 solid 6 } prop_dynamic { model "models/foodcans/can_cube_empty.mdl" modelscale 1 origin "-1306 845 290" angles "89.9729 296.589 0" disableshadows 1 solid 6 } prop_dynamic { model "models/foodcans/can_round_small_empty.mdl" modelscale 1 origin "-1280 883 289" angles "0.533147 45.6615 359.68" disableshadows 1 solid 6 } prop_dynamic_override { model "models/props_gameplay/can_crushed001.mdl" modelscale 1 origin "-1295 913 292" angles "-18.3516 66.2988 176.673" disableshadows 1 solid 6 } prop_dynamic { model "models/props_c17/concrete_barrier001a.mdl" modelscale 1 skin 1 origin "-1456 608 288" angles "0 45 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_c17/concrete_barrier001a.mdl" modelscale 1 skin 1 origin "-848 640 288" angles "0 135 0" disableshadows 1 solid 6 } prop_dynamic { model "models/props_manor/table_03.mdl" modelscale 1 skin 1 origin "-1167 590 306" angles "-73.952 87.3826 360" disableshadows 1 solid 6 } prop_dynamic { model "models/props_manor/table_03.mdl" modelscale 1 skin 1 origin "-1071 590 306" angles "-73.9264 90.7817 4.57764" disableshadows 1 solid 6 } trigger_push { spawnflags 1 origin "-1392 904 376" mins "-72 -72 -96" maxs "72 72 96" pushdir "0 270 0" speed 750 } func_nobuild { origin "-1392 904 376" mins "-72 -72 -96" maxs "72 72 96" TeamNum 2 AllowSentry 0 AllowDispenser 0 AllowTeleporters 0 } trigger_push { spawnflags 1 origin "-1168 912 760" mins "-120 -72 -96" maxs "120 72 96" pushdir "0 270 0" speed 750 } func_nobuild { origin "-1168 912 760" mins "-120 -72 -96" maxs "120 72 96" TeamNum 2 AllowSentry 0 AllowDispenser 0 AllowTeleporters 0 } trigger_push { spawnflags 1 origin "-1144 912 460" mins "-16 -32 -84" maxs "16 32 84" pushdir "-90 0 0" speed 750 } trigger_multiple { targetname "bot_tp_fix" origin "-1116 916 612" mins "-50 -36 -20" maxs "50 36 20" spawnflags 1 Wait 0 startdisabled 0 filtername "filter_survivor" OnStartTouch "!activator,$SetLocalOrigin,-1203 960 548,0,-1" OnStartTouch "!activator,$ChangeAttributes,sniper_tower,0,-1" OnStartTouch "!self,disable,,0,-1" } trigger_multiple { targetname "bot_tp_fix_enabler" origin "-1148 912 324" mins "-32 -32 -32" maxs "32 32 32" spawnflags 1 Wait 0 startdisabled 0 filtername "filter_survivor" OnStartTouch "bot_tp_fix,enable,,0,-1" } trigger_multiple { targetname "bot_tp_fix_down" origin "-1116 916 612" mins "-50 -36 -20" maxs "50 36 20" spawnflags 1 Wait 0 startdisabled 1 filtername "filter_survivor" OnStartTouch "!activator,$SetLocalOrigin,-1118 616 384,0,-1" OnStartTouch "!self,disable,,0,-1" } info_target { targetname "survivor_move_hp" origin "-1118 624 320" } info_target { targetname "survivor_move_tower" origin "-1128 920 352" } info_target { targetname "survivor_move_tower_stay" origin "-1203 960 548" } info_target { targetname "survivor_move_tank" origin "-2879 -1208 16" } } Roof_Logic { NoFixup 1 env_fade { targetname "fade_out_cutscene" duration 1 rendercolor "0 0 0" spawnflags 8 } env_fade { targetname "fade_in_cutscene" duration 1 rendercolor "0 0 0" spawnflags 1 } logic_relay { targetname "unlock_roof" OnTrigger "roof_barrier,disable,,0,-1" OnTrigger "trigger_meet_survivor,enable,,7,-1" OnTrigger "seq_meet_with_survivor_anno,Show,,7,-1" OnTrigger "fade_out_cutscene,fade,,0,-1" OnTrigger "fade_in_cutscene,fade,,1,-1" OnTrigger "trapped_survivor_intro_cam,$EnableAll,,1,-1" OnTrigger "player,SetHUDVisibility,0,1,-1" OnTrigger "trapped_survivor_intro_mover,startforward,,1,-1" OnTrigger "trapped_survivor_intro_cam,$DisableAll,,6,-1" OnTrigger "fade_out_cutscene,fade,,5,-1" OnTrigger "fade_in_cutscene,fade,,6,-1" OnTrigger "player,SetHUDVisibility,1,6,-1" OnTrigger "bignet,runscriptcode,SetSkyboxTexture(`sky_alpinestorm_01`),6,-1" } path_track { targetname "path_2" orientationtype 0 speed 64 target "path_3" origin "-1120 384 576" angles "0 0 0" } path_track { targetname "path_3" orientationtype 0 speed 64 origin "-1120 -384 960" angles "0 0 0" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "16 -464 416" mins "-496 -560 -128" maxs "496 560 2048" } func_forcefield { targetname "roof_barrier" TeamNum 3 origin "-1520 48 416" mins "-1040 -1072 -128" maxs "1040 1072 2048" } func_tracktrain { targetname "trapped_survivor_intro_mover" spawnflags 26 target "path_2" origin "-1120 384 560" startspeed 128 speed 0 velocitytype 2 height 0 mins "-8 -8 -8" maxs "8 8 8" } point_viewcontrol { acceleration 0 deceleration 0 interpolatepositiontoplayer 0 spawnflags 12 speed 0 wait 10 targetname trapped_survivor_intro_cam parentname trapped_survivor_intro_mover origin "-1120 384 576" angles "30 90 0" } logic_auto { OnMapSpawn "trapped_survivor_intro_mover,StartBackward,,0,-1" } logic_relay { targetname "begin_seq_meet_survivor" OnTrigger "Interface,$ResumeWavespawn,seq_meet_with_survivor_delay,0,-1" } trigger_once { spawnflags 1 startdisabled 1 targetname "trigger_meet_survivor" origin "-1152 704 416" mins "-384 -384 -128" maxs "384 384 128" filtername filter_real_red OnTrigger "begin_seq_meet_survivor,trigger,,0,-1" OnTrigger "survivor_talk_mode_override,trigger,,0,-1" } training_annotation { targetname "seq_meet_with_survivor_anno" display_text "Go to the roof and meet the Trapped Survivor!" lifetime 10 origin "-1118 616 352" } } Speech { NoFixup 1 //OnSpawnOutput //{ // Target "speech_case" // Action "$Format" // Delay 1 //} logic_case { targetname "speech_case" case16 "{red}%{fbeccb} : %" case01 "null" //popscript^$GetRandomName case02 "hello world!" //speech_case,addoutput,case02 hello world case03 "null" //popscript^$GetRandomName ondefault "player,$DisplayTextChat,,0,-1" } } Lose_Logic { func_rotating { origin "-1216 72 768" mins "-8 -8 -8" maxs "8 8 8" spawnflags 528 fanfriction 5 maxspeed 30 targetname "lose_camera_rotate" } path_track { origin "-960 72 576" orientationtype 0 speed 32 targetname "lose_camera_path_1" target "lose_camera_path_2" parentname "lose_camera_rotate" } path_track { origin "-448 72 1600" orientationtype 0 speed 128 targetname "lose_camera_path_2" parentname "lose_camera_rotate" } func_tracktrain { targetname "lose_camera_train" parentname "lose_camera_rotate" spawnflags 26 target "lose_camera_path_1" origin "-960 72 576" startspeed 128 speed 0 velocitytype 2 height 0 mins "-8 -8 -8" maxs "8 8 8" } point_viewcontrol { acceleration 0 deceleration 0 interpolatepositiontoplayer 0 spawnflags 12 speed 0 wait 10 targetname "lose_camera" parentname "lose_camera_train" origin "0 0 64" angles "30 180 0" } env_fade { targetname "fade_out_lose" duration 5 rendercolor "0 0 0" spawnflags 8 } math_counter //fair warning DO NOT TOUCH THE ONHITMIN OUTPUTS it will break everything and point to line 6100, idk why, but it did. I remade the logic and now it works, so just don't touch this. { targetname wipe_counter max 6 min 0 OnHitMin "lose_relay_wipe,trigger,,0,-1" OnHitMin "lose_relay_wipe_end_of_mission,trigger,,0,-1" OnHitMin "win_relay,disable,,0,-1" OnHitMin "win_true_relay,disable,,0,-1" outvalue "cap_counter_compare,SetCompareValue,,0,-1" outvalue "cap_counter_compare,Compare,,0.1,-1" } point_populator_interface //this can do a lot of cool stuff like stopping unlimited support wavespawn with $FinishWavespawn or kill all active enemies from a wavespawn with $KillWavespawn //this can also stop wavespawn spawning with $PauseWavespawn and resume it with $ResumeWavespawn, this also doesn't take up bot slots :D { targetname "interface" } logic_auto { OnMapSpawn "lose_camera_train,StartBackward,,0,-1" } logic_relay { targetname "lose_relay_wipe" startdisabled 1 OnTrigger "player,$DisplayTextCenter,Dead end. bad ending...,3,-1" OnTrigger "player,$DisplayTextChat,Dead end. bad ending...,3,-1" OnTrigger "lose_camera,$EnableAll,,3,-1" OnTrigger "lose_camera,$DisableAll,,15,-1" OnTrigger "lose_camera_rotate,StartForward,,3,-1" OnTrigger "lose_camera_train,StartForward,,3,-1" OnTrigger "fade_out_lose,fade,,9,-1" // OnTrigger "fade_in_lose,fade,,14,-1" } logic_relay { targetname "lose_relay_wipe_end_of_mission" startdisabled 1 OnTrigger "player,$DisplayTextCenter,All alone. bad ending...,3,-1" OnTrigger "player,$DisplayTextChat,All alone. bad ending...,3,-1" OnTrigger "escape_tank_camera,$EnableAll,,3,-1" OnTrigger "escape_tank_camera,$DisableAll,,15,-1" OnTrigger "escape_tank_mover,startforward,,0,-1" OnTrigger "tank_kill_runover,enable,,0,-1" OnTrigger "fade_out_lose,fade,,9,-1" // OnTrigger "fade_in_lose,fade,,14,-1" } logic_relay { targetname "lose_relay_survivor_die" OnTrigger "player,$DisplayTextCenter,No escape. bad ending...,3,-1" OnTrigger "player,$DisplayTextChat,No escape. bad ending...,3,-1" OnTrigger "lose_camera,$EnableAll,,3,-1" OnTrigger "lose_camera,$DisableAll,,15,-1" OnTrigger "lose_camera_rotate,StartForward,,3,-1" OnTrigger "lose_camera_train,StartForward,,3,-1" OnTrigger "fade_out_lose,fade,,9,-1" // OnTrigger "fade_in_lose,fade,,14,-1" OnTrigger "interface,$JumpToWave,1,15,-1" } logic_relay { targetname "win_relay" OnTrigger "player,$DisplayTextCenter,Left for dead. good ending...,0,-1" OnTrigger "player,$DisplayTextChat,Left for dead. good ending...,0,-1" OnTrigger "escape_tank_camera,$EnableAll,,0,-1" OnTrigger "escape_tank_camera,$DisableAll,,18,-1" OnTrigger "escape_tank_mover,startforward,,0,-1" OnTrigger "tank_kill_runover,enable,,0,-1" OnTrigger "fade_out_lose,fade,,12,-1" // OnTrigger "fade_in_lose,fade,,17,-1" OnTrigger "interface,$JumpToWave,1,18,-1" } logic_relay { targetname "win_true_relay" OnTrigger "player,$DisplayTextCenter,No mann left behind. true ending...,0,-1" OnTrigger "player,$DisplayTextChat,No mann left behind. true ending...,0,-1" OnTrigger "escape_tank_camera,$EnableAll,,0,-1" OnTrigger "escape_tank_camera,$DisableAll,,18,-1" OnTrigger "escape_tank_mover,startforward,,0,-1" OnTrigger "tank_kill_runover,enable,,0,-1" OnTrigger "fade_out_lose,fade,,12,-1" // OnTrigger "fade_in_lose,fade,,17,-1" OnTrigger "interface,$JumpToWave,1,18,-1" } } Wave6_Death_Match { NoFixup 1 math_counter { max 40 min 0 targetname "enemy_tracker" OnHitMin "resumetheregularlyscheduledzombiekilling,trigger,,0,-1" } logic_relay { targetname "resumetheregularlyscheduledzombiekilling" startdisabled 1 OnTrigger "trigger_go_back_to_survivor,enable,,0,-1" OnTrigger "seq_meet_with_survivor_anno_2,show,,0,-1" OnTrigger "!player,$ChangeAttributes,Defend,0,-1" OnTrigger "player,$ChangeAttributes,Defend,0,-1" OnTrigger "!self,disable,,0,-1" } trigger_once { spawnflags 1 startdisabled 1 targetname "trigger_go_back_to_survivor" origin "-1152 704 416" mins "-384 -384 -128" maxs "384 384 128" filtername filter_real_red OnTrigger "interface,$ResumeWavespawn,delay_begin_subwave_7,0,-1" OnTrigger "survivor_talk_mode_override,trigger,,0,-1" } training_annotation { targetname "seq_meet_with_survivor_anno_2" display_text "Go back to the roof and recoop with the Trapped Survivor" lifetime 10 origin "-1118 616 352" } } B_Zombie_Death_Logic { OnSpawnOutput { Target enemy_tracker Action Add Param 1 } OnParentKilledOutput { Target enemy_tracker Action Subtract Param 1 } } B_Survivor_Death_Logic { OnParentKilledOutput { Target lose_relay_survivor_die Action Trigger } OnParentKilledOutput { Target player Action $PlaySoundToSelf Param "vo\engineer_paincrticialdeath05.mp3" } } P_Medium_Ammo { "item_ammopack_medium" { Origin "0 0 0" Angles "0 0 0" } } P_Medium_Med { "item_healthkit_medium" { Origin "0 0 0" Angles "0 0 0" } } P_Table { prop_dynamic { model "models/props_medieval/bar_table.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_MadMilk { prop_dynamic { model "models/weapons/c_models/c_madmilk/c_madmilk.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Small_Table { prop_dynamic { model "models/props_manor/table_03.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Bookshelf_1 { prop_dynamic { model "models/props_manor/bookcase_132_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Bookshelf_2 { prop_dynamic { model "models/props_manor/bookcase_132_02.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Bookshelf_3 { prop_dynamic { model "models/props_manor/bookcase_132_03.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Bookpile { prop_dynamic { model "models/props_manor/bookpile_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Couch { prop_dynamic { model "models/props_manor/couch_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Tiny_Table { prop_dynamic { model "models/props_manor/table_02.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Candelbra { prop_dynamic { model "models/props_manor/candelabra_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Wood_Pile { prop_dynamic { model "models/props_farm/wood_pile.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Fire_Wood { prop_dynamic { model "models/props_forest/woodpile_indoor.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Rug { prop_dynamic { model "models/props_manor/ornate_rug_01.mdl" modelscale 0.5 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Boxes_1 { prop_dynamic { model "models/props_manor/cardboard_box_set_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Boxes_2 { prop_dynamic { model "models/props_manor/cardboard_box_set_02.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Floor_Clock { prop_dynamic { model "models/props_manor/grandfather_clock_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 defaultanim tick_tock solid 6 } } P_Wood_Beam { prop_dynamic { model "models/props_medieval/woodbeam001.mdl" modelscale 0.5 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Candle { prop_dynamic { model "models/props_halloween/candle_cluster.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Candle_2 { prop_dynamic { model "models/props_halloween/candle.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Crate_Hallow { prop_dynamic { model "models/props_forest/milk_crate.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Crate_1 { prop_dynamic { model "models/props_2fort/miningcrate002.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Crate_2 { prop_dynamic_override { model "models/props_2fort/miningcrate001.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Crate_3 { prop_dynamic { model "models/props_hydro/barrel_crate_half.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Box { prop_dynamic { model "models/props_swamp/man_box.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Silly_Goober { prop_dynamic { model "models/props_manor/spooky_eyes_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 defaultanim look solid 6 } } P_Bench_Table { prop_dynamic { model "models/props_swamp/picnic_table.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Shelf_Messy { prop_dynamic { model "models/props_forest/kitchen_shelf.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Wall_Clock { prop_dynamic { model "models/props_spytech/wall_clock.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Portrait_1 { prop_dynamic { model "models/props_manor/portrait_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Portrait_2 { prop_dynamic { model "models/props_manor/portrait_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 Skin 1 solid 6 } } P_Painting { prop_dynamic { model "models/props_manor/painting_05.mdl" modelscale 0.7 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Painting_Tall_1 { prop_dynamic { model "models/props_terminus/painting_09.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Painting_Tall_2 { prop_dynamic { model "models/props_manor/painting_04.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Wrench { prop_dynamic_override { model "models/props_c17/tools_wrench01a.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Toolbox { prop_dynamic { model "models/weapons/c_models/c_toolbox/c_toolbox.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Boxes_3 { prop_dynamic { model "models/props_farm/box_cluster02.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Toilet { prop_dynamic { model "models/props_c17/furnituretoilet001a.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Bed { prop_dynamic_override { model "models/props_c17/furniturebed001a.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Mattress { prop_dynamic_override { model "models/props_c17/furnituremattress001a.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Trespasser_Reference { prop_dynamic { model "models/props_medical/plague_box.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Steel_Slugger { prop_dynamic { model "models/weapons/c_models/c_leverslugger.mdl" modelscale 0.8 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 0 } } P_Paint_Can { prop_dynamic { model "models/props_farm/paint_can001.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Chair { prop_dynamic { model "models/props_manor/chair_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Coffin_1 { prop_dynamic { model "models/props_manor/coffin_01.mdl" modelscale 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } P_Coffin_2 { prop_dynamic { model "models/props_manor/coffin_01.mdl" modelscale 1 skin 1 origin "0 0 0" angles "0 0 0" disableshadows 1 solid 6 } } M_Tax_Collecters //(no) more getting scammed { trigger_hurt { origin "-2112 704 8" mins "-248 -40 -8" maxs "248 40 8" damage 0 } trigger_hurt { origin "-2112 896 8" mins "-248 -40 -8" maxs "248 40 8" damage 0 } trigger_hurt { origin "-2416 224 8" mins "-40 -40 -8" maxs "40 40 8" damage 0 } trigger_hurt { origin "-2104 144 8" mins "-40 -96 -8" maxs "40 96 8" damage 0 } trigger_hurt //saving on edicts lol { origin "-2212 -720 8" mins "-164 -64 -8" maxs "164 64 8" damage 0 } trigger_hurt { origin "-1856 -928 8" mins "-48 -64 -8" maxs "48 64 8" damage 0 } trigger_hurt { origin "-1412 -320 8" mins "-116 -40 -8" maxs "116 40 8" damage 0 } trigger_hurt { origin "-1456 88 8" mins "-48 -64 -8" maxs "48 64 8" damage 0 } trigger_hurt { origin "-1488 464 8" mins "-16 -24 -8" maxs "16 24 8" damage 0 } trigger_hurt { origin "-1208 416 8" mins "-40 -80 -8" maxs "40 80 8" damage 0 } trigger_hurt { origin "-1332 1036 8" mins "-180 -52 -8" maxs "180 52 8" damage 0 } trigger_hurt { origin "-672 848 8" mins "-56 -32 -8" maxs "56 32 8" damage 0 } trigger_hurt { origin "-672 416 8" mins "-56 -32 -8" maxs "56 32 8" damage 0 } trigger_hurt { origin "-600 228 8" mins "-88 -52 -8" maxs "88 52 8" damage 0 } trigger_hurt { origin "-968 -24 8" mins "-40 -112 -8" maxs "40 112 8" damage 0 } trigger_hurt { origin "-872 -700 8" mins "-88 -44 -8" maxs "88 44 8" damage 0 } trigger_hurt { origin "-1472 -952 8" mins "-40 -40 -8" maxs "40 40 8" damage 0 } trigger_hurt { origin "232 -248 8" mins "-40 -40 -8" maxs "40 40 8" damage 0 } trigger_hurt { origin "436 -496 8" mins "-44 -168 -8" maxs "44 168 8" damage 0 } trigger_hurt { origin "220 -584 8" mins "-44 -168 -8" maxs "44 168 8" damage 0 } trigger_hurt { origin "112 -776 152" mins "-32 -184 -8" maxs "32 184 8" damage 0 } trigger_hurt { origin "-184 -760 152" mins "-40 -40 -8" maxs "40 40 8" damage 0 } trigger_hurt { origin "-64 -416 152" mins "-64 -32 -8" maxs "64 32 8" damage 0 } trigger_hurt { origin "-1164 -56 152" mins "-100 -40 -8" maxs "100 40 8" damage 0 } trigger_hurt { origin "-1008 -144 152" mins "-88 -64 -8" maxs "88 64 8" damage 0 } trigger_hurt { origin "-1824 384 152" mins "-80 -112 -8" maxs "80 112 8" damage 0 } trigger_hurt { origin "-1504 384 152" mins "-80 -112 -8" maxs "80 112 8" damage 0 } trigger_hurt { origin "-1664 -436 152" mins "-128 -60 -8" maxs "128 60 8" damage 0 } trigger_hurt { origin "-1492 -756 152" mins "-44 -84 -8" maxs "44 84 8" damage 0 } trigger_hurt { origin "-980 700 152" mins "-84 -44 -8" maxs "84 44 8" damage 0 } trigger_hurt { origin "-980 700 152" mins "-84 -44 -8" maxs "84 44 8" damage 0 } trigger_hurt { origin "-816 1056 152" mins "-32 -32 -8" maxs "32 32 8" damage 0 } trigger_hurt { origin "-1404 904 296" mins "-84 -160 -8" maxs "84 160 8" damage 0 } trigger_hurt { origin "-1008 912 296" mins "-40 -88 -8" maxs "40 88 8" damage 0 } trigger_hurt { origin "-816 912 296" mins "-40 -88 -8" maxs "40 88 31" damage 0 } trigger_hurt { origin "-1120 560 288" mins "-96 -12 -8" maxs "96 12 8" damage 0 } } } PlayerItemEquipSpawnTemplate { Name "razorback_logic" ItemName "The Razorback" } PlayerSpawnOnceTemplate //to insure that the light will stay the same brightness throughout the mission { Name "Player_DLight" } PlayerSpawnTemplate { Name "Player_SpawnShit" } SpawnTemplate MissionName SpawnTemplate Fog SpawnTemplate Misc SpawnTemplate Spooky_Sound_loop SpawnTemplate Slowzones SpawnTemplate Override_Spawn_Room SpawnTemplate Start_Room_Barriers SpawnTemplate Upgrade_Station SpawnTemplate Radio_Station SpawnTemplate WeaponStation SpawnTemplate Tutorial_logic SpawnTemplate Escape_Tank SpawnTemplate Second_floor_logic SpawnTemplate Shakers SpawnTemplate Generator SpawnTemplate Roof_Props SpawnTemplate Roof_Logic SpawnTemplate Speech SpawnTemplate Lose_Logic SpawnTemplate Oil_Logic SpawnTemplate M_Tax_Collecters SpawnTemplate Wave6_Death_Match SpawnTemplate { Name P_Small_Table Origin "173 -244 18" Angles "-73.9902 30.2889 0" //hammer++ phys sim } SpawnTemplate { Name P_Bookshelf_2 Origin "400 64 0" Angles "0 270 0" } SpawnTemplate { Name P_Bookshelf_1 Origin "272 64 0" Angles "0 270 0" } SpawnTemplate { Name P_Bookshelf_2 Origin "144 64 0" Angles "0 270 0" } SpawnTemplate { Name P_Bookshelf_3 Origin "16 64 0" Angles "0 270 0" } SpawnTemplate { Name P_Bookpile Origin "0 68 0" Angles "0 255 0" } SpawnTemplate { Name P_Couch Origin "-536 232 0" Angles "0 180 0" } SpawnTemplate { Name P_Small_Table Origin "-656 232 0" Angles "0 0 0" } SpawnTemplate { Name P_Tiny_Table Origin "-544 144 0" Angles "0 0 0" } SpawnTemplate { Name P_Candelbra Origin "-544 144 32" Angles "0 0 0" } SpawnTemplate { Name P_Floor_Clock Origin "-536 -56 0" Angles "0 180 0" } SpawnTemplate { Name P_Rug Origin "-760 8 0" Angles "0 0 0" } SpawnTemplate { Name P_Boxes_1 Origin "-968 -72 0" Angles "0 75 0" } SpawnTemplate { Name P_Small_Table Origin "-976 40 0" Angles "0 0 0" } SpawnTemplate { Name P_Medium_Ammo Origin "-976 40 32" Angles "0 0 0" } SpawnTemplate { Name P_Wood_Beam Origin "-788 -256 2" Angles "0.00614376 33.7686 91.1567" } SpawnTemplate { Name P_Wood_Beam Origin "-732 -269 2" Angles "0.318966 -17.4029 90.0113" } SpawnTemplate { Name P_Wood_Beam Origin "-719 -250 2" Angles "-0.0864711 -16.6131 270.325" } SpawnTemplate { Name P_Wood_Beam Origin "-680 -262 2" Angles "-0.0797809 -20.148 269.202" } SpawnTemplate { Name P_Wood_Beam Origin "-677 -364 2" Angles "-0.104808 43.1577 90.0001" } SpawnTemplate { Name P_Wood_Beam Origin "-713 -378 2" Angles "-0.0169261 17.014 269.467" } SpawnTemplate { Name P_Wood_Beam Origin "-727 -577 2" Angles "-0.0150093 129.765 270.377" } SpawnTemplate { Name P_Wood_Beam Origin "-794 -627 2" Angles "-0.367783 -16.6796 88.6474" } SpawnTemplate { Name P_Medium_Ammo Origin "-16 -272 0" Angles "0 0 0" } SpawnTemplate { Name P_Table Origin "-880 -704 0" Angles "0 0 0" } SpawnTemplate { Name P_Crate_Hallow Origin "-819 -724 40" Angles "0 8.5 0" } SpawnTemplate { Name P_Crate_1 Origin "-928 -688 40" Angles "0 0 0" } SpawnTemplate { Name P_Crate_2 Origin "-860 -695 40" Angles "0 295.5 0" } SpawnTemplate { Name P_Boxes_2 Origin "-1472 -952 0" Angles "0 75 0" } SpawnTemplate { Name P_Candle Origin "-1492 -688 0" Angles "0 90 0" } SpawnTemplate { Name P_Silly_Goober Origin "-860 -692 16" Angles "0 180 0" } SpawnTemplate { Name P_Box Origin "-844 -692 16" Angles "0 0 0" } SpawnTemplate { Name P_MadMilk Origin "-834 -715 46" Angles "0 8.5 0" } SpawnTemplate { Name P_MadMilk Origin "-827 -718 46" Angles "0 320.5 0" } SpawnTemplate { Name P_MadMilk Origin "-830 -725 46" Angles "0 40 0" } SpawnTemplate { Name P_Wall_Clock Origin "-1168 -320 96" Angles "0 180 0" } SpawnTemplate { Name P_Shelf_Messy Origin "-1472 -24 80" Angles "0 270 0" } SpawnTemplate { Name P_Bench_Table Origin "-1472 -320 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-1344 -320 0" Angles "0 0 0" } SpawnTemplate { Name P_Portrait_1 Origin "-1489 89 43" Angles "-34.5692 0.986933 0.10289" } SpawnTemplate { Name P_Portrait_2 Origin "-1446 89 31" Angles "-51.5375 -0.268362 359.948" } SpawnTemplate { Name P_Candelbra Origin "-1200 384 0" Angles "0 0 0" } SpawnTemplate { Name P_Rug Origin "-1335 247 0" Angles "0 309 0" } SpawnTemplate { Name P_Boxes_2 Origin "-1216 448 0" Angles "0 255 0" } SpawnTemplate { Name P_Tiny_Table Origin "-1488 464 0" Angles "0 180 0" } SpawnTemplate { Name P_Candle_2 Origin "-1494 451 32" Angles "0 114.5 0" } SpawnTemplate { Name P_Candle Origin "-1480 471 32" Angles "0 75 0" } SpawnTemplate { Name P_Small_Table Origin "-1465 1035 18" Angles "-73.9902 30.2889 0" } SpawnTemplate { Name P_Crate_1 Origin "-1440 1048 0" Angles "0 30 0" } SpawnTemplate { Name P_Couch Origin "-1280 1056 0" Angles "0 270 0" } SpawnTemplate { Name P_Medium_Ammo Origin "-1280 1040 40" Angles "0 0 0" } SpawnTemplate { Name P_Crate_1 Origin "-1184 1056 0" Angles "0 30 0" } SpawnTemplate { Name P_Painting Origin "-1168 769 72" Angles "0 134.5 0" } SpawnTemplate { Name P_Medium_Med Origin "-544 416 0" Angles "0 0 0" } SpawnTemplate { Name P_Tiny_Table Origin "-544 640 0" Angles "0 0 0" } SpawnTemplate { Name P_Candelbra Origin "-544 640 32" Angles "0 0 0" } SpawnTemplate { Name P_Rug Origin "-672 640 0" Angles "0 90 0" } SpawnTemplate { Name P_Couch Origin "-672 416 0" Angles "0 90 0" } SpawnTemplate { Name P_Couch Origin "-672 848 0" Angles "0 270 0" } SpawnTemplate { Name P_Table Origin "-2288 -704 0" Angles "0 0 0" } SpawnTemplate { Name P_Boxes_3 Origin "-2344 -680 40" Angles "0 285 0" } SpawnTemplate { Name P_Toolbox Origin "-2256 -688 52" Angles "0 240 0" } SpawnTemplate { Name P_Crate_3 Origin "-2128 -704 0" Angles "0 0 0" } SpawnTemplate { Name P_Crate_1 Origin "-2144 -768 0" Angles "0 270 0" } SpawnTemplate { Name P_Crate_2 Origin "-2064 -704 0" Angles "0 0 0" } SpawnTemplate { Name P_Boxes_1 Origin "-1856 -928 0" Angles "0 225 0" } SpawnTemplate { Name P_Medium_Med Origin "-2096 -768 0" Angles "0 0 0" } SpawnTemplate { Name P_Toilet Origin "-1920 -228 48" Angles "0 90 0" } SpawnTemplate { Name P_Candle_2 Origin "-2032 -224 0" Angles "0 90 0" } SpawnTemplate { Name P_Candle_2 Origin "-2026 -233 -5" Angles "0 141.5 0" } SpawnTemplate { Name P_Candle Origin "-2023 -187 0" Angles "0 90 0" } SpawnTemplate { Name P_Small_Table Origin "-1840 48 0" Angles "0 180 0" } SpawnTemplate { Name P_Candelbra Origin "-1840 48 32" Angles "0 0 0" } SpawnTemplate { Name P_Bed Origin "-2000 160 18" Angles "0 180 0" } SpawnTemplate { Name P_Bed Origin "-2000 208 18" Angles "0 180 0" } SpawnTemplate { Name P_Mattress Origin "-2000 160 13" Angles "0 180 0" } SpawnTemplate { Name P_Mattress Origin "-2000 208 13" Angles "0 180 0" } SpawnTemplate { Name P_Bench_Table Origin "-1920 704 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2048 704 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2176 704 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2304 704 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-1920 896 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2048 896 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2176 896 0" Angles "0 0 0" } SpawnTemplate { Name P_Bench_Table Origin "-2304 896 0" Angles "0 0 0" } SpawnTemplate { Name P_Wall_Clock Origin "-2528 800 96" Angles "0 0 0" } SpawnTemplate { Name P_Small_Table Origin "-2425 242 18" Angles "-73.9902 120.289 0" } SpawnTemplate { Name P_Boxes_1 Origin "-2096 176 0" Angles "0 240 0" } SpawnTemplate { Name P_Boxes_2 Origin "-2112 80 0" Angles "0 270 0" } SpawnTemplate { Name P_Trespasser_Reference Origin "480 -704 64" Angles "0 270 0" } SpawnTemplate { Name P_Steel_Slugger Origin "474 -708 62" Angles "73 90 0" } SpawnTemplate { Name P_Painting Origin "-64 -1008 208" Angles "0 90 0" } SpawnTemplate { Name P_Small_Table Origin "-192 -736 160" Angles "-74.2838 120.301 0.0176392" } SpawnTemplate { Name P_Couch Origin "-64 -416 145" Angles "0 270 0" } SpawnTemplate { Name P_Couch Origin "-64 -416 145" Angles "0 270 0" } SpawnTemplate { Name P_Tiny_Table Origin "-160 -416 145" Angles "0 90 0" } SpawnTemplate { Name P_Candelbra Origin "-160 -416 176" Angles "0 90 0" } SpawnTemplate { Name P_Wood_Pile Origin "112 -880 160" Angles "0 0 0" } SpawnTemplate { Name P_Wood_Pile Origin "112 -720 160" Angles "0 0 0" } SpawnTemplate { Name P_Fire_Wood Origin "112 -608 145" Angles "0 90 0" } SpawnTemplate { Name P_Toolbox Origin "-1223 -392 159" Angles "-0.280627 49.9209 359.937" } SpawnTemplate { Name P_Table Origin "-1008 -144 144" Angles "0 330 0" } SpawnTemplate { Name P_Boxes_1 Origin "-1200 -48 145" Angles "0 335 0" } SpawnTemplate { Name P_Boxes_2 Origin "-1104 -48 145" Angles "0 110 0" } SpawnTemplate { Name P_Medium_Med Origin "-1120 -112 145" Angles "0 110 0" } SpawnTemplate { Name P_Boxes_2 Origin "-1848 446 145" Angles "0 340 0" } SpawnTemplate { Name P_Boxes_1 Origin "-1855 329 145" Angles "0 95 0" } SpawnTemplate { Name P_Crate_2 Origin "-1767 452 145" Angles "0 303 0" } SpawnTemplate { Name P_Crate_2 Origin "-1552 295 145" Angles "0 270.5 0" } SpawnTemplate { Name P_Crate_1 Origin "-1450 298 145" Angles "0 280.5 0" } SpawnTemplate { Name P_Paint_Can Origin "-1520 -848 145" Angles "0 263 0" } SpawnTemplate { Name P_Crate_2 Origin "-1318 -879 145" Angles "0 176 0" } SpawnTemplate { Name P_Paint_Can Origin "-816 672 145" Angles "0 0 0" } SpawnTemplate { Name P_Crate_1 Origin "-816 1056 145" Angles "0 15 0" } SpawnTemplate { Name P_Painting_Tall_1 Origin "-982 682 169" Angles "-46.8185 91.4658 268.928" } SpawnTemplate { Name P_Painting_Tall_2 Origin "-979 723 157" Angles "-69 92.8025 267.389" } SpawnTemplate { Name P_Chair Origin "-1831 -161 164" Angles "74.3662 -175.62 359.878" } SpawnTemplate { Name P_Chair Origin "-1801 -156 158" Angles "-19.1037 -94.6076 278.715" } SpawnTemplate { Name P_Floor_Clock Origin "-1680 -144 144" Angles "0 270 0" } SpawnTemplate { Name P_Coffin_1 Origin "-1600 -464 144" Angles "0 0 0" } SpawnTemplate { Name P_Coffin_1 Origin "-1728 -464 144" Angles "0 180 0" } SpawnTemplate { Name P_Coffin_2 Origin "-1600 -400 144" Angles "0 0 0" } SpawnTemplate { Name P_Coffin_2 Origin "-1679 -400 163" Angles "16.6293 -174.955 1.25754" } ////////////////////////////////////////// ////////////////////////// // Templates // ////////////////////////// Templates { ////////////////////////// // Basics // ////////////////////////// T_TFBot_ZombieScout1 { Class Scout ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Brotherhood of Arms" Item "The Delinquent's Down Vest" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSoldier1 { Class Soldier ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Head Hedge" Item "Lieutenant Bites the Dust" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombiePyro1 { Class Pyro ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Bedouin Bandana" Item "The Maniac's Manacles" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieDemo1 { Class Demoman ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Frag Proof Fragger" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieHeavy1 { Class Heavyweapons ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Unshaved Bear" Item "EOTL_hiphunter_jacket" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieEngie1 { Class Engineer ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Idea Tube" Item "The Builder's Blueprints" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieMedic1 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Surgeon's Sidearms" Item "Medic Mask" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSniper1 { Class Sniper ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Liquidator's Lid" Item "Hunting Cloak" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSpy1 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} Item "The Exorcizor" UseCustomModel models/player/spy.mdl Skin 23 Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieScout2 { Class Scout ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Bruiser's Bandanna" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSoldier2 { Class Soldier ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Supernatural Stalker" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombiePyro2 { Class Pyro ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Deadbeats" Item "Trickster's Turnout Gear" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieDemo2 { Class Demoman ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Law" Item "The Gaelic Golf Bag" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieHeavy2 { Class Heavyweapons ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Toss-Proof Towelr" Item "Capone's Capper" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieEngie2 { Class Engineer ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "dec2014 engineer_detectiveholster" Item "Beaten and Bruised" Action Mobber ItemAttributes { ItemName "Beaten and Bruised" "item style override" 4 //nightmare } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieMedic2 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Beaten and Bruised" Action Mobber ItemAttributes { ItemName "Beaten and Bruised" "item style override" 4 //nightmare } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSniper2 { Class Sniper ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Highway Star" Item "The Chronomancer" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSpy2 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} Item "Facepeeler" Item "The Aviator Assassin" Item "Dead of Night" UseCustomModel models/player/spy.mdl Skin 23 Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieScout3 { Class Scout ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Brimmed Bootlegger" Item "Dead of Night" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSoldier3 { Class Soldier ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Ground Control" Item "The Killer's Kit" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombiePyro3 { Class Pyro ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Traffic Cone" Item "Invisible Flame" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieDemo3 { Class Demoman ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Graybanns" Item "Particulate Protecto" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieHeavy3 { Class Heavyweapons ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Pugilist's Protector" Item "Brother Mann" Action Mobber ItemAttributes { ItemName "Brother Mann" "item style override" 2 //style 3 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieEngie3 { Class Engineer ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Antarctic Researcher" Item "The Scotch Saver" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieMedic3 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Medicine Manpurse" Item "Emerald Jarate" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSniper3 { Class Sniper ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Down Under Duster" Item "The Jarmaments" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_ZombieSpy3 { Class Medic ClassIcon heavy_zombie_lite Health 100 Name "Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} Item "The Upgrade" Item "Tactical Turtleneck" UseCustomModel models/player/spy.mdl Skin 23 Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.77 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } //For berserkers: give crit glow, but make crits deal normal damage T_TFBot_Zombie_Berserker_Scout { Class Scout ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic // Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Face Plante" Item "Flak Jack" Item "The Front Runner" Action Mobber ItemAttributes { ItemName "The Front Runner" "item style override" 1 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Soldier { Class Soldier ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic // Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Sharp Chest Pain" Item "Steel Pipes" Item "Goalkeeper" Action Mobber ItemAttributes { ItemName "Goalkeeper" "item style override" 3 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 1.04 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Pyro { Class Pyro ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic // Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Clown's Cover-Up" Item "Spine-Chilling Skull 2011 Style 3" Item "The Maniac's Manacles" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Demo { Class Demoman ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic // Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Batter's Bracers" Item "Demonic Dome" Item "Goalkeeper" Action Mobber ItemAttributes { ItemName "Goalkeeper" "item style override" 2 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.892 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Heavy { Class Heavyweapons ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic // Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Bolshevik Biker" Item "Mad Mask" Item "Combat Slacks" Item "Gone Commando" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.892 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Engie { Class Engineer ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic //Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Iron Lung" Item "Spine-Chilling Skull 2011 Style 1" Item "Goalkeeper" Action Mobber ItemAttributes { ItemName "Goalkeeper" "item style override" 3 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Medic { Class Medic ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic //Attributes AlwaysCrit Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Byte'd Beak" Item "The Bruiser's Bandanna" Item "The Surgeon's Sidearms" Item "Medic's Mountain Cap" Action Mobber ItemAttributes { ItemName "The Bruiser's Bandanna" "item style override" 1 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Sniper { Class Sniper ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss //Attributes AlwaysCrit Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Hallowed Headcase" Item "Hunting Cloak" Action Mobber ItemAttributes { ItemName "The Bruiser's Bandanna" "item style override" 1 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom kill icon" unarmed_combat "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Berserker_Spy { Class Medic ClassIcon heavy_zombie_arm2_lite Health 150 Name "Berserker Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss //Attributes AlwaysCrit Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} Item "The Scarecrow" Item "Spine-Chilling Skull" Item "Tuxedo Royale" UseCustomModel models/player/spy.mdl Skin 23 Action Mobber ItemAttributes { ItemName "Tuxedo Royale" "item style override" 1 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.15 "mult crit dmg" 0.334 "add cond when active" 39 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } ////////////////////////// // Armed // ////////////////////////// T_TFBot_Zombie_Barrier_Scout { Class Scout ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Bolt Action Blitzer" Item "Courtly Cuirass" StripItem "Zombie Scout" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/scout/scout_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Soldier { Class Soldier ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Breach and Bomb" Item "The Bunsen Brave" StripItem "Zombie Soldier" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Soldier/Soldier_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Pyro { Class Pyro ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Brain Interface" Item "The Lunatic's Leathers" StripItem "Zombie Pyro" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Pyro/Pyro_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Demo { Class Demoman ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Shin Shredders" Item "Bushi-Dou" Item "Blast Defense" StripItem "Zombie Demo" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Demo/Demo_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Heavy { Class Heavyweapons ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Eliminators Safeguard" Item "Immobile Suit" StripItem "Zombie Heavy" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Heavy/Heavy_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Engie { Class Engineer ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Eliminators Safeguard" Item "Iron Lung" StripItem "Zombie Engineer" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Engineer/Engineer_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName "The Eliminators Safeguard" "item style override" 1 } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Medic { Class Medic ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Blast Defense" Item "Bushi-Dou" Item "The Purity Fist" StripItem "Zombie Medic" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Medic/Medic_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Sniper { Class Sniper ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Cranium Cover" Item "Iron Fist" Item "The Vascular Vestment" StripItem "Zombie Sniper" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/Sniper/Sniper_zombie.mdl"} Skin 5 SpawnTemplate "Barrier" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Barrier_Spy { Class Medic ClassIcon heavy_zombie_breach_lite Health 750 Name "Barrier Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" StripItem "Zombie Medic" Item "Berlin Brain Bowl" Item "Bunnyhopper's Ballistics Vest" Item "Pip-Boy" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} SpawnTemplate "Barrier" UseCustomModel models/player/spy.mdl Skin 23 Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 IfHealthBelow 251 Name "Enraged" } EventChangeAttributes { Default { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 0.8 "cannot be sapped" 1 "dmg from ranged reduced" 0.5 "dmg taken mult from special damage type 1" 2 "dmg taken mult from special damage type 2" 2 } } Enraged { CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.78125 "move speed penalty" 1 "cannot be sapped" 1 "dmg from ranged reduced" 1 "dmg taken mult from special damage type 1" 1 "dmg taken mult from special damage type 2" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 } } } PainSound "=80|physics\metal\metal_box_impact_bullet1.wav" DeathSound "=80|physics\body\body_medium_break3.wav" } T_TFBot_Zombie_Armed_Scout1 { Class Scout ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "The Anger" Item "The Electric Twanger" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Scout2 { Class Scout ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Firefly" Item "Fuel Injector" ItemAttributes { ItemName "Fuel Injector" "item style override" 2 } Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Soldier1 { Class Soldier ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "Warhood" Item "Mad Lad" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Soldier2 { Class Soldier ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "L4D Hat" Item "Brother Mann" ItemAttributes { ItemName "Brother Mann" "item style override" 2 } Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Pyro1 { Class Pyro ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "The Wraith Wrap" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Pyro2 { Class Pyro ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "Brigade Helm" Item "The Triad Trinket" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Demo1 { Class Demoman ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "The Gaelic Garb" Item "Merc's Pride Scarf" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Demo2 { Class Demoman ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Black Watch" Item "EOTL_hiphunter_jacket" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Heavy1 { Class Heavyweapons ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "EOTL_FURCAP" Item "The Siberian Sophisticate" Item "El Duderino" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.869 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Heavy2 { Class Heavyweapons ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Apparatchik's Apparel" Item "Capone's Capper" Item "Mad Mask" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.869 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Engineer1 { Class Engineer ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "The Bare Necessities" Item "Face Full of Festive" Item "Dead'er Alive" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Engineer2 { Class Engineer ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Fed-Fightin' Fedora" Item "The Gold Digger" Item "The Antarctic Researcher" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Medic1 { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "A Hat to Kill For" Item "The Dapper Disguise" Item "The Colonel's Coat" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Medic2 { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "Arctic Mole" Item "Free Mann's Fashion" Item "Das Fantzipantzen" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Sniper1 { Class Sniper ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "Scruffed 'n Stitched" Item "The Conspicuous Camouflage" Item "The Cammy Jammies" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Sniper2 { Class Sniper ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Tundra Top" Item "The Chronomancer" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Spy1 { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "Zombie Ax" Item "Brothers in Blues" Item "Chicago Overcoat" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} UseCustomModel models/player/spy.mdl Skin 23 Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Spy2 { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "Zombie Ax" Item "The Rogue's Robe" Item "The Turncoat" Item "A Hat to Kill For" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} UseCustomModel models/player/spy.mdl Skin 23 Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Scout1b { Class Scout ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Anger" Item "The Electric Twanger" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Scout2b { Class Scout ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "The Firefly" Item "Fuel Injector" ItemAttributes { ItemName "Fuel Injector" "item style override" 2 } Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Soldier1b { Class Soldier ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "Warhood" Item "Mad Lad" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Soldier2b { Class Soldier ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "L4D Hat" Item "Brother Mann" ItemAttributes { ItemName "Brother Mann" "item style override" 2 } Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Pyro1b { Class Pyro ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Bat" Item "The Wraith Wrap" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Pyro2b { Class Pyro ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie Ax" Item "Brigade Helm" Item "The Triad Trinket" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Demo1b { Class Demoman ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie bat" Item "The Gaelic Garb" Item "Merc's Pride Scarf" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Demo2b { Class Demoman ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "The Black Watch" Item "EOTL_hiphunter_jacket" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Heavy1b { Class Heavyweapons ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie bat" Item "EOTL_FURCAP" Item "The Siberian Sophisticate" Item "El Duderino" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.869 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Heavy2b { Class Heavyweapons ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "The Apparatchik's Apparel" Item "Capone's Capper" Item "Mad Mask" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.869 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Engineer1b { Class Engineer ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie bat" Item "The Bare Necessities" Item "Face Full of Festive" Item "Dead'er Alive" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Engineer2b { Class Engineer ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "The Fed-Fightin' Fedora" Item "The Gold Digger" Item "The Antarctic Researcher" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Medic1b { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie bat" Item "A Hat to Kill For" Item "The Dapper Disguise" Item "The Colonel's Coat" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Medic2b { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "Arctic Mole" Item "Free Mann's Fashion" Item "Das Fantzipantzen" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Sniper1b { Class Sniper ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie bat" Item "Scruffed 'n Stitched" Item "The Conspicuous Camouflage" Item "The Cammy Jammies" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Sniper2b { Class Sniper ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Zombie ax" Item "The Tundra Top" Item "The Chronomancer" Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Spy1b { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "Zombie bat" Item "Brothers in Blues" Item "Chicago Overcoat" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} UseCustomModel models/player/spy.mdl Skin 23 Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Armed_Spy2b { Class Medic ClassIcon pyro_scout_fireaxe_bat Health 100 Name "Armed Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "Zombie bat" Item "The Rogue's Robe" Item "The Turncoat" Item "A Hat to Kill For" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} UseCustomModel models/player/spy.mdl Skin 23 Action Mobber CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.606 "cannot be sapped" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Dreadknight { Class Demoman ClassIcon heavy_juggernaut_br_giant Health 2000 Name "Dreadknight" Skill Expert WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1.33 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "The Scotsman's Skullcutter" Item "Blast Defense" Item "Mad Lad" Action Mobber ItemAttributes { ItemName "The Scotsman's Skullcutter" "fire rate bonus" 1.75 "damage bonus" 0.77 "add cond when active" 16 "melee cleave attack" 1 "bleeding duration" 5 "gesture speed increase" 0.5 "melee range multiplier" 1.3 "mult smack time" 3 "move speed penalty" 1 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "move speed penalty" 0.75 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.1 "damage force reduction" 0.1 "increased jump height" 0.75 "dmg taken from blast reduced" 0.85 "dmg taken from bullets reduced" 0.85 "dmg taken from crit reduced" 0.7 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } ////////////////////////// // Infected // ////////////////////////// T_TFBot_Zombie_Infector { Class Sniper ClassIcon pyro_membrain_lite Health 300 Name "Infector Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1.1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Employee Badge A" Item "The Grisly Gumbo" Item "The Mucous Membrain" Item "Skinless Slashers" Item "The Biomech Backpack" Action Mobber ItemModel // Added these cosmetics normally will either not appear due to being overriden, or override other cosmetics. They have to be faked used custom item models on different cosmetics { ItemName "Employee Badge A" Model "models/workshop/player/items/sniper/sf14_conspiratorial_cut/sf14_conspiratorial_cut.mdl" } ItemModel // Added these cosmetics normally will either not appear due to being overriden, or override other cosmetics. They have to be faked used custom item models on different cosmetics { ItemName "The Grisly Gumbo" Model "models/workshop/player/items/pyro/hw2013_the_glob/hw2013_the_glob.mdl" } ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.6 "damage bonus" 0.615 "custom hit sound" "npc\headcrab_poison\ph_poisonbite2.wav" "fire input on hit" "popscript^$InfectMe^" "fire input on hit restrict" player } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 0.8 "cannot be sapped" 1 "attach particle effect" 111 "airblast vulnerability multiplier" 0.2 "damage force reduction" 0.2 } PainSound "=80|ambient\levels\canals\toxic_slime_sizzle2.wav" DeathSound "=80|npc\zombie\zombie_die3.wav" } T_TFBot_Zombie_Infected_Scout { Class Scout ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Scout" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "The Alien Cranium" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Soldier { Class Soldier ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Soldier" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "The Zipperface" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.833 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Pyro { Class Pyro ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Pyro" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "Vampyro" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } FireInput { Target "!activator" Action "$GiveItem" Param "Vampyro" Delay 0.2 Repeats 1 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Demo { Class Demoman ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Demoman" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "Creature's Grin" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.714 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Heavy { Class HeavyWeapons ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie HeavyWeapons" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "The Mucous Membrain" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Engie { Class Engineer ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Engineer" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "The Hook, Line, and Thinker" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Medic { Class Medic ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "Optic Nerve" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Sniper { Class Sniper ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Sniper" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "Conspiratorial Cut" Item "Skinless Slashers" Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Infected_Spy { Class Medic ClassIcon dead Health 75 Name "Infected Human" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 StripItem "Zombie Medic" Item "TF_WEAPON_FISTS" Item "The Biomech Backpack" Item "The Scarecrow" Item "The Mucous Membrain" Item "Potato of Labor" ItemModel {ItemName "Potato of Labor" Model "models/player/items/spy/spy_zombie.mdl"} UseCustomModel models/player/spy.mdl Action Mobber Skin 1 ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 0.384 "add cond on hit" 30 "add cond on hit duration" 5 "bleeding duration" 10 "fire input on hit" "!self^RunScriptCode^self.ViewPunch(QAngle(RandomInt(-15,15),RandomInt(-15,15),RandomInt(-15,15)))" "fire input on hit restrict" player "add attributes on hit" "hud overlay|effects/dodge_overlay|5" "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } FireInput { Target "!activator" Action "$TauntFromItem" Param "Taunt: Burstchester" Delay 0.2 Repeats 0 Cooldown 30 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.625 "move speed penalty" 1.2 "cannot be sapped" 1 "always gib" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } ////////////////////////// // Special // ////////////////////////// T_TFBot_Zombie_Grapple //a modified grappler from bauernhof { Class Sniper Skill Expert Health 200 Action Mobber Attributes DisableDodge Attributes Miniboss DesiredAttackRange 1000 ClassIcon sniper_smoker ExtAttr IgnoreBuildings Spawntemplate B_Zombie_Death_Logic MaxVisionRange 1500 Scale 1 NoIdleSound 1 NoIdleSound 1 StripItem "Zombie Sniper" Item "The Huntsman" Name "Grapple Zombie" ExtAttr IgnoreBuildings UseCustomModel "models\kirillian\infected\wanker_v4.mdl" WeaponSwitch { Delay 1 Cooldown 0 Repeats 1 Type "Melee" } WeaponSwitch { Delay 3 Cooldown 4 Repeats 0 IfSeeTarget 1 Type "Primary" } Sequence { Delay 4 Cooldown 4 Repeats 0 IfSeeTarget 1 Name tongue_attack_grab_survivor } WeaponSwitch { Delay 6 Cooldown 4 Repeats 0 IfSeeTarget 1 Type "Melee" } ItemAttributes { ItemName "The Huntsman" "is invisible" 1 "override projectile type" 26 // hook "fire rate bonus" 1.5 "attachment offset" "0 0 48" "custom weapon fire sound" =80|shadows/smoker_launchtongue_02.mp3 "fire input on hit" "popscript^$RememberHooked^" "fire input on hit restrict" player "apply look velocity on damage" -600 "apply z velocity on damage" -400 "bleeding duration" 5 "mult bleeding dmg" 0.25 "mult bleeding delay" 0.25 "add attributes on hit" "cancel falling damage|1|0.15" "slow enemy on hit" 1 } ItemAttributes { ItemName TF_WEAPON_CLUB "damage bonus HIDDEN" 0.38 "is invisible" 1 "custom kill icon" unarmed_combat "is_passive_weapon" 1 } CharacterAttributes { "move speed bonus" 0.667 "cancel falling damage" 1 "override footstep sound set" 0 "increased jump height" 0.01 "cannot be sapped" 1 "airblast vulnerability multiplier" 0.2 "damage force reduction" 0.2 "cannot be backstabbed" 1 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Reviving { Class Pyro ClassIcon ghost_lite Health 400 Name "Reviving Zombie" Skill Expert WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "The Hot Case" Item "The Seared Sorcerer" Action Mobber ItemAttributes { ItemName TF_WEAPON_FISTS "fire rate bonus" 1.25 "damage bonus" 1.23 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.667 "move speed penalty" 1.1 "cannot be sapped" 1 "attach particle effect static" 3129 "patient overheal penalty" 0.001337 "airblast vulnerability multiplier" 0.35 "damage force reduction" 0.35 } AddCond { Index 70 Duration -1 } FireInput { Target "popscript" Action "$ReviveMe" Param "!activator" IfHealthBelow 1 Delay 0 Repeats 1 Cooldown 0 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Combo { Class Heavyweapons ClassIcon heavy_voodoo_bear_nys Health 900 Name "Comboer Zombie" Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1.2 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "Combo Claws" Item "The Bolshevik Biker" Item "The K-9 Mane" Action Mobber ItemAttributes { ItemName "Combo Claws" "fire input on hit" "!activator^$ChangeAttributes^Combo" "fire input on hit restrict" player "stun on hit type" stun "stun on hit" 2 "damage causes airblast" 0 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.865 "move speed penalty" 1.3 "cannot be sapped" 1 } EventChangeAttributes { Default { ItemAttributes { ItemName "Combo Claws" "fire input on hit" "!activator^$ChangeAttributes^Combo" "fire input on hit restrict" player "stun on hit type" stun "stun on hit" 2 "damage causes airblast" 0 } } Combo { ItemAttributes { ItemName "Combo Claws" "damage causes airblast" 1 "stun on hit type" stun "stun on hit" 2 "add cond when active" 16 "fire input on hit" "!activator^$TauntFromItem^Taunt: The Proletariat Showoff" "fire input on hit restrict" player } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 5 Cooldown 5 Repeats 0 IfSeeTarget 0 Name "Default" } } } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Zombie_Stomper { Class Scout ClassIcon soldier_mantreads_lite Health 1200 Name "Stomping Zombie" Tag bot_stomper Skill Hard WeaponRestrictions MeleeOnly Spawntemplate B_Zombie_Death_Logic Attributes Miniboss Scale 1.3 NoIdleSound 1 UseMeleeThreatPrioritization 1 Item "TF_WEAPON_FISTS" Item "Head Hunter" Item "Claws And Infect" Item "Archer's Groundings" Action Mobber Attributes AutoJump AutoJumpMin 0.5 AutoJumpMax 1 ItemAttributes { ItemName TF_WEAPON_FISTS "damage bonus" 0.769 "fire rate bonus" 1.25 "custom hit sound" "physics\body\body_medium_impact_hard3.wav" } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.75 "cannot be sapped" 1 "increased jump height" 0.8 "cancel falling damage" 1 "kb fall min velocity" 100 "kb fall radius" 192 "kb fall stun time" -1 "kb fall force" 300 "kb fall damage" 25 "no double jump" 1 "increased air control" 3 "weapon burn dmg reduced" 0.001337 } DeathSound "=80|physics\body\body_medium_break3.wav" PainSound "=80|physics\body\body_medium_impact_hard5.wav" } T_TFBot_Survivor { Class Engineer Skill Expert Health 1000 Tag bot_survivor Name "Trapped Survivor" Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head Addcond {Index 43} Action Mobber StripItem "Zombie Engineer" Skin 0 SpawnTemplate B_Survivor_Death_Logic CharacterAttributes { "cannot pick up intelligence" 1 "health regen" 10 "mult stun resistance" 0.5 "ignored by bots" 0 "damage force reduction" 0.25 "increased air control" 2 } EventChangeAttributes { Default { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "health regen" 10 "increased jump height" 1 "move speed bonus" 1 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 "increased air control" 2 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "survivor_move_hp" Delay 0.1 Repeats 0 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } VoiceCommand //Periodacally uses voice commands { Delay 1 Cooldown 10 Repeats 1 IfHealthAbove 1000 Type "Battle cry" } VoiceCommand //Periodacally uses voice commands { Delay 5 Cooldown 30 Repeats 1 Type "Incoming" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 750 Type "Help" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 500 Type "Help" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 300 Type "Medic" } } Defend { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "health regen" 10 "increased jump height" 1 "move speed bonus" 1 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 "increased air control" 2 } InterruptAction { Target "survivor_move_hp" Delay 0.1 Repeats 0 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } VoiceCommand //Periodacally uses voice commands { Delay 1 Cooldown 10 Repeats 1 IfHealthAbove 1000 Type "Battle cry" } VoiceCommand //Periodacally uses voice commands { Delay 5 Cooldown 30 Repeats 1 Type "Incoming" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 750 Type "Help" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 500 Type "Help" } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 0 IfHealthBelow 300 Type "Medic" } } Talk { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "health regen" 10 "increased jump height" 1 "move speed bonus" 0.6 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } InterruptAction { Target "survivor_move_hp" Delay 0.1 Repeats 0 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 128 StopCurrentInterruptAction 1 AimTarget ClosestPlayer } } Move_To_Tower { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "health regen" 10 "increased jump height" 1 "move speed bonus" 1 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } InterruptAction { Target "survivor_move_tower" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 OnDoneChangeAttributes Move_Up_Tower Distance 2 StopCurrentInterruptAction 1 } VoiceCommand //Periodacally uses voice commands { Delay 0 Cooldown 10 Repeats 1 Type "Move up" } } Move_Up_Tower { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "increased jump height" 1 "health regen" 100 "move speed bonus" 0.3 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } InterruptAction { Target "survivor_move_tower" Delay 0.1 Repeats 0 Cooldown 10 Duration 10 Distance 2 StopCurrentInterruptAction 1 } FireWeapon //Periodically fires weapon { Delay 1 Cooldown 1 Repeats 0 Duration 0.1 Type "Jump" } VoiceCommand //Periodacally uses voice commands { Delay 1.5 Cooldown 10 Repeats 1 Type "Go" } } sniper_tower { Item "Auto BMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions PrimaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "move speed bonus" 0.75 "health regen" 100 "increased jump height" 1 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 1 "damage force reduction" 0.25 } ItemAttributes { ItemName "Auto BMG" "custom item model" models\ctf2w\weapons\c_models\c_atgun\c_atgun.mdl "custom weapon fire sound" "=80|caretaker_fire.mp3" "provide on active" 1 "fire rate bonus" 0.4 "projectile penetration heavy" 3 "damage bonus" 1.5 "penetration damage penalty" 0.8 "move speed penalty" 0.8 "maxammo primary reduced" 0.4 "special damage type" 1 "always crit" 1 } InterruptAction { Target "survivor_move_tower_stay" Delay 0.1 Repeats 0 Cooldown 10 Duration 10 Distance 2 StopCurrentInterruptAction 1 } FireWeapon { Delay 0.1 Cooldown 0 Repeats 0 IfSeeTarget 1 Duration 0.1 Type "Primary" } VoiceCommand //Periodacally uses voice commands { Delay 2.5 Cooldown 30 Repeats 0 Type "Incoming" } } Move_To_Tank { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "move speed bonus" 1 "health regen" 10 "increased jump height" 1 "mult stun resistance" 0.5 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } InterruptAction { Target "-2936 -968 32" Delay 0.1 Repeats 1 Cooldown 10 WaitUntilDone 1 Distance 64 StopCurrentInterruptAction 1 AimTarget escape_tank_prop } InterruptAction { Target "survivor_move_tank" Delay 0.2 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 OnDoneChangeAttributes Wait_At_Tank Distance 64 AddToQueue 1 AimTarget escape_tank_prop } VoiceCommand //Periodacally uses voice commands { Delay 1 Cooldown 30 Repeats 1 Type "Right" } VoiceCommand //Periodacally uses voice commands { Delay 4 Cooldown 30 Repeats 1 Type "Go" } VoiceCommand //Periodacally uses voice commands { Delay 7 Cooldown 30 Repeats 1 Type "Cheers" } FireInput { Delay 5 Repeats 1 Target bot_tp_fix_down Action enable } } Wait_At_Tank { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "increased jump height" 1 "health regen" 100 "move speed bonus" 0.3 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } FireInput { Delay 1 Repeats 1 Target oilcan_prop_1 Action disable } FireInput { Delay 2 Repeats 1 Target oilcan_prop_2 Action disable } FireInput { Delay 3 Repeats 1 Target oilcan_prop_3 Action disable } FireInput { Delay 1 Repeats 1 Target oilcan_prop_1 Action DisableCollision } FireInput { Delay 2 Repeats 1 Target oilcan_prop_2 Action DisableCollision } FireInput { Delay 3 Repeats 1 Target oilcan_prop_3 Action DisableCollision } FireInput { Delay 4 Repeats 1 Target interface Action $ResumeWavespawn Param delay_subwave_7 } FireInput { Delay 4 Repeats 1 Target interface Action $ResumeWavespawn Param delay_subwave_8 } ChangeAttributes { Delay 5 Cooldown 0 Repeats 1 Name "Defend" } InterruptAction { Delay 0.1 Repeats 1 Cooldown 10 Duration 30 AimTarget escape_tank_prop } } Move_To_Tank_Escape { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "move speed bonus" 1 "health regen" 10 "increased jump height" 1 "mult stun resistance" 0.5 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 0 "damage force reduction" 0.25 } InterruptAction { Target "-2936 -968 32" Delay 0.1 Repeats 1 Cooldown 10 WaitUntilDone 1 Distance 64 StopCurrentInterruptAction 1 AimTarget escape_tank_prop } InterruptAction { Target "survivor_move_tank" Delay 0.2 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 OnDoneChangeAttributes Wait_At_Tank_Escape Distance 64 AddToQueue 1 AimTarget escape_tank_prop } VoiceCommand //Periodacally uses voice commands { Delay 1 Cooldown 30 Repeats 1 Type "Right" } VoiceCommand //Periodacally uses voice commands { Delay 4 Cooldown 30 Repeats 1 Type "Go" } VoiceCommand //Periodacally uses voice commands { Delay 7 Cooldown 30 Repeats 1 Type "Cheers" } } Wait_At_Tank_Escape { Item "Military SMG" Item "The Cuban Bristle Crisis" Item "Commando Elite" Item "Winter Backup" Item "The Antarctic Researcher" Item "Pip-Boy" Item "dec2014 engineer_detectiveradio" WeaponRestrictions SecondaryOnly Attributes SuppressFire AimAt Head CharacterAttributes { "cannot pick up intelligence" 1 "increased jump height" 1 "health regen" 100 "move speed bonus" 0.3 "no_jump" 0 "mult stun resistance" 0.5 "can headshot" 1 "use original class player animations" 1 "weapon spread bonus" 0.6 "ignored by bots" 1 "damage force reduction" 0.25 } Addcond { Index 51 Duration -1 } FireInput { Delay 0 Repeats 1 Target !self Action $SetLocalOrigin Param "-438 -878 0" } FireInput { Delay 30 Repeats 1 Target tank_win_enable_trigger Action trigger } } } } ////////////////////////// // Wavespawn Templates // ////////////////////////// T_WaveSpawn_ZombieBasic_Squad //wavespawn template because yes, you can do that { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 } TFBot { Template T_TFBot_ZombieHeavy1 } TFBot { Template T_TFBot_ZombieScout1 } TFBot { Template T_TFBot_ZombieSoldier1 } TFBot { Template T_TFBot_ZombiePyro1 } TFBot { Template T_TFBot_ZombieSniper1 } TFBot { Template T_TFBot_ZombieEngie1 } TFBot { Template T_TFBot_ZombieMedic1 } TFBot { Template T_TFBot_ZombieSpy1 } TFBot { Template T_TFBot_ZombieDemo2 } TFBot { Template T_TFBot_ZombieHeavy2 } TFBot { Template T_TFBot_ZombieScout2 } TFBot { Template T_TFBot_ZombieSoldier2 } TFBot { Template T_TFBot_ZombiePyro2 } TFBot { Template T_TFBot_ZombieSniper2 } TFBot { Template T_TFBot_ZombieEngie2 } TFBot { Template T_TFBot_ZombieMedic2 } TFBot { Template T_TFBot_ZombieSpy2 } TFBot { Template T_TFBot_ZombieDemo3 } TFBot { Template T_TFBot_ZombieHeavy3 } TFBot { Template T_TFBot_ZombieScout3 } TFBot { Template T_TFBot_ZombieSoldier3 } TFBot { Template T_TFBot_ZombiePyro3 } TFBot { Template T_TFBot_ZombieSniper3 } TFBot { Template T_TFBot_ZombieEngie3 } TFBot { Template T_TFBot_ZombieMedic3 } TFBot { Template T_TFBot_ZombieSpy3 } } } T_WaveSpawn_ZombieBasic_Squad_Floor_Break //108 TFBots jesus { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "back_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy1 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy2 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieDemo3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieHeavy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieScout3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSoldier3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombiePyro3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSniper3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieEngie3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieMedic3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_ZombieSpy3 InterruptAction // Stop current bot ai and force the bot to move to a location { Target "hole_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } } } T_WaveSpawn_ZombieBerserker_Squad //wavespawn template because yes, you can do that { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Berserker_Demo } TFBot { Template T_TFBot_Zombie_Berserker_Heavy } TFBot { Template T_TFBot_Zombie_Berserker_Scout } TFBot { Template T_TFBot_Zombie_Berserker_Soldier } TFBot { Template T_TFBot_Zombie_Berserker_Pyro } TFBot { Template T_TFBot_Zombie_Berserker_Sniper } TFBot { Template T_TFBot_Zombie_Berserker_Engie } TFBot { Template T_TFBot_Zombie_Berserker_Medic } TFBot { Template T_TFBot_Zombie_Berserker_Spy } } } T_WaveSpawn_ZombieBarrier_Squad { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Barrier_Demo } TFBot { Template T_TFBot_Zombie_Barrier_Heavy } TFBot { Template T_TFBot_Zombie_Barrier_Scout } TFBot { Template T_TFBot_Zombie_Barrier_Soldier } TFBot { Template T_TFBot_Zombie_Barrier_Pyro } TFBot { Template T_TFBot_Zombie_Barrier_Sniper } TFBot { Template T_TFBot_Zombie_Barrier_Engie } TFBot { Template T_TFBot_Zombie_Barrier_Medic } TFBot { Template T_TFBot_Zombie_Barrier_Spy } } } T_WaveSpawn_ZombieArmed_Squad { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Armed_Scout1 } TFBot { Template T_TFBot_Zombie_Armed_Scout1b } TFBot { Template T_TFBot_Zombie_Armed_Scout2 } TFBot { Template T_TFBot_Zombie_Armed_Scout2b } TFBot { Template T_TFBot_Zombie_Armed_Soldier1 } TFBot { Template T_TFBot_Zombie_Armed_Soldier1b } TFBot { Template T_TFBot_Zombie_Armed_Soldier2 } TFBot { Template T_TFBot_Zombie_Armed_Soldier2b } TFBot { Template T_TFBot_Zombie_Armed_Pyro1 } TFBot { Template T_TFBot_Zombie_Armed_Pyro1b } TFBot { Template T_TFBot_Zombie_Armed_Pyro2 } TFBot { Template T_TFBot_Zombie_Armed_Pyro2b } TFBot { Template T_TFBot_Zombie_Armed_Demo1 } TFBot { Template T_TFBot_Zombie_Armed_Demo1b } TFBot { Template T_TFBot_Zombie_Armed_Demo2 } TFBot { Template T_TFBot_Zombie_Armed_Demo2b } TFBot { Template T_TFBot_Zombie_Armed_Heavy1 } TFBot { Template T_TFBot_Zombie_Armed_Heavy1b } TFBot { Template T_TFBot_Zombie_Armed_Heavy2 } TFBot { Template T_TFBot_Zombie_Armed_Heavy2b } TFBot { Template T_TFBot_Zombie_Armed_Engineer1 } TFBot { Template T_TFBot_Zombie_Armed_Engineer1b } TFBot { Template T_TFBot_Zombie_Armed_Engineer2 } TFBot { Template T_TFBot_Zombie_Armed_Engineer2b } TFBot { Template T_TFBot_Zombie_Armed_Medic1 } TFBot { Template T_TFBot_Zombie_Armed_Medic1b } TFBot { Template T_TFBot_Zombie_Armed_Medic2 } TFBot { Template T_TFBot_Zombie_Armed_Medic2b } TFBot { Template T_TFBot_Zombie_Armed_Sniper1 } TFBot { Template T_TFBot_Zombie_Armed_Sniper1b } TFBot { Template T_TFBot_Zombie_Armed_Sniper2 } TFBot { Template T_TFBot_Zombie_Armed_Sniper2b } TFBot { Template T_TFBot_Zombie_Armed_Spy1 } TFBot { Template T_TFBot_Zombie_Armed_Spy1b } TFBot { Template T_TFBot_Zombie_Armed_Spy2 } TFBot { Template T_TFBot_Zombie_Armed_Spy2b } } } T_WaveSpawn_ZombieInfected_Squad { TotalCurrency 0 //HideIcon 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Infected_Demo } TFBot { Template T_TFBot_Zombie_Infected_Heavy } TFBot { Template T_TFBot_Zombie_Infected_Scout } TFBot { Template T_TFBot_Zombie_Infected_Soldier } TFBot { Template T_TFBot_Zombie_Infected_Pyro } TFBot { Template T_TFBot_Zombie_Infected_Sniper } TFBot { Template T_TFBot_Zombie_Infected_Engie } TFBot { Template T_TFBot_Zombie_Infected_Medic } TFBot { Template T_TFBot_Zombie_Infected_Spy } } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_backup Action Trigger } DoneOutput { Target wave_finished_relay_backup Action Trigger } Explanation { Line "{d420d4}Welcome to a mission of survival horror where you and your team will fight for your life through hell." Line "{db6d18}This mission is made with teamwork in mind, and thus soloing or duoing will be VERY difficult." Line "{green}Most weapons have had changes made, been replaced, or are banned. Breaks will be few and far between." Line "{red}If you're overwhelmed, all is lost." } RedTeamWipeCausesWaveLoss 1 WaveSpawn { WaitBeforeStarting 0 FirstSpawnMessage "{green}???{fbeccb} : Hello? Is anyone there?" } WaveSpawn { WaitBeforeStarting 3 StartWaveOutput { Target "Popscript" Action "$GetRandomName" } FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Yes, who is this?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 5 FirstSpawnMessage "{green}???{fbeccb} : Thank goodness someone responded. I'm trapped on the roof. I have a way to escape, but I need your help." } WaveSpawn { WaitBeforeStarting 9 FirstSpawnMessage "{green}???{fbeccb} : And I'm sure you could use mine as well." } WaveSpawn { WaitBeforeStarting 13 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Yeah we could use your help. We're kind of in a pickle ourselves." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 16 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Also, what's your name?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 22 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : That's not important right now; what is is that I have a way out; meet me at the roof and I'll tell you more." } WaveSpawn { WaitBeforeStarting 27 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Uhhh okay, sure, but don't try anything funny, and you got yourself a deal." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 29 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay okay, sounds good." } WaveSpawn { WaitBeforeStarting 37 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Uh oh, prepare your defenses; I see a horde coming." } WaveSpawn { WaitBeforeStarting 40 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Shit. Okay, thanks for letting us know." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { Template T_WaveSpawn_ZombieBasic_Squad Name w1_a1 TotalCount 100 MaxActive 20 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 2 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w1_a1 TotalCount 25 MaxActive 10 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 5 TotalCurrency 100 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w1_b1 WaitForAllSpawned w1_a1 TotalCount 10 MaxActive 5 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 6 TotalCurrency 100 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieArmed_Squad Name w1_c1 WaitForAllSpawned w1_b1 TotalCount 75 MaxActive 20 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w1_c1 WaitForAllSpawned w1_b1 TotalCount 20 MaxActive 10 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 6 TotalCurrency 200 Where spawnbot } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w1_c1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w1_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hello, are you still there?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 9 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Yea yea, I think the horde stopped, at least for now." } WaveSpawn { WaitBeforeStarting 15 WaitForAllDead w1_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Okay, but Jesus, they broke down the wall!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Damn, these zombies are getting stronger." } WaveSpawn { WaitBeforeStarting 23 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well listen, there are stronger weapons on the second floor; get to them, and they will help you out." } WaveSpawn { WaitBeforeStarting 31 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Do you guys have a medic?" } WaveSpawn { WaitBeforeStarting 35 WaitForAllDead w1_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Well we got a bigger problem, the stairs are blocked off!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 40 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Crap, well, I'll see if I can open it or something." } WaveSpawn { WaitBeforeStarting 54 WaitForAllDead w1_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Shit! Never mind that; we've got company." } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w1_c1 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w2_a1 WaitForAllDead w1_c1 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 8 TotalCurrency 150 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieArmed_Squad Name w2_a2 WaitForAllDead w1_c1 TotalCount 50 MaxActive 20 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot } WaveSpawn { Name w2_b1 WaitForAllSpawned w2_a1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 25 TotalCurrency 150 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w2_b2 WaitForAllSpawned w2_a2 TotalCount 30 MaxActive 12 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 100 Where spawnbot } WaveSpawn { Name w2_c1 WaitForAllSpawned w2_b2 TotalCount 12 MaxActive 12 SpawnCount 6 WaitBeforeStarting 15 WaitBetweenSpawns 30 TotalCurrency 100 Where spawnbot Squad { NoWaitForFormation 1 // Prevents squad leader from waiting for squad members TFBot { Template T_TFBot_Zombie_Dreadknight } TFBot { Template T_TFBot_Zombie_Barrier_Demo } TFBot { Template T_TFBot_Zombie_Barrier_Scout } TFBot { Template T_TFBot_Zombie_Barrier_Engie } TFBot { Template T_TFBot_Zombie_Barrier_Medic } TFBot { Template T_TFBot_Zombie_Barrier_Sniper } } } WaveSpawn { Template T_WaveSpawn_ZombieArmed_Squad Name w2_d1 WaitForAllSpawned w2_c1 TotalCount 25 MaxActive 15 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 3 TotalCurrency 0 Where spawnbot } WaveSpawn { Name w2_d1 WaitForAllSpawned w2_c1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 25 TotalCurrency 150 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Template T_WaveSpawn_ZombieBasic_Squad Name w2_d1 WaitForAllSpawned w2_b2 TotalCount 100 MaxActive 20 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w2_d1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w2_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Are you there? I got some news." } WaveSpawn { WaitBeforeStarting 9 WaitForAllDead w2_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hello, Yea, what's the news?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 12 WaitForAllDead w2_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I watched some zombies start to climb the wall; I managed to kill them." } WaveSpawn { WaitBeforeStarting 17 WaitForAllDead w2_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Welp, there goes the safety of the roof." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w2_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Got any other news?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllDead w2_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : The only news I've got is that I heard some grapple zombies approaching. " } WaveSpawn { WaitBeforeStarting 30 WaitForAllDead w2_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Crap! Well, I guess there's only one way out of this hell." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w2_d1 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Name w3_a1 WaitForAllDead w2_d1 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Template T_WaveSpawn_ZombieArmed_Squad Name w3_a2 WaitForAllDead w2_d1 TotalCount 50 MaxActive 20 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 3 TotalCurrency 0 Where spawnbot } WaveSpawn { Name w3_b2 WaitForAllSpawned w3_a1 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 12 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w3_b1 WaitForAllSpawned w3_a1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 20 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w3_c1 WaitForAllSpawned w3_b1 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 50 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w3_c1 WaitForAllSpawned w3_b1 TotalCount 40 MaxActive 12 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 6 TotalCurrency 50 Where spawnbot } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w3_b2 Name w3_check } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w3_b1 Name w3_check } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w3_c1 Name w3_check } WaveSpawn { Name w3_d1 WaitForAllSpawned w3_check TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 7.5 WaitBetweenSpawns 6 TotalCurrency 50 Where spawnbot_second_floor RandomChoice { TFBot { Template T_TFBot_Zombie_Stomper CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.75 "cannot be sapped" 1 "increased jump height" 0.8 "cancel falling damage" 1 "kb fall min velocity" 100 "kb fall radius" 256 "kb fall stun time" -1 "kb fall force" 300 "kb fall damage" 0 "no double jump" 1 "increased air control" 3 "weapon burn dmg reduced" 0.001337 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_Zombie_Stomper CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.75 "cannot be sapped" 1 "increased jump height" 0.8 "cancel falling damage" 1 "kb fall min velocity" 100 "kb fall radius" 256 "kb fall stun time" -1 "kb fall force" 300 "kb fall damage" 0 "no double jump" 1 "increased air control" 3 "weapon burn dmg reduced" 0.001337 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } } } WaveSpawn { Name w3_d1 WaitForAllSpawned w3_check TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 25 TotalCurrency 50 Where spawnbot_second_floor_main RandomChoice { TFBot { Template T_TFBot_Zombie_Stomper CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.75 "cannot be sapped" 1 "increased jump height" 0.8 "cancel falling damage" 1 "kb fall min velocity" 100 "kb fall radius" 256 "kb fall stun time" -1 "kb fall force" 300 "kb fall damage" 0 "no double jump" 1 "increased air control" 3 "weapon burn dmg reduced" 0.001337 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_Zombie_Stomper CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.5 "move speed penalty" 0.75 "cannot be sapped" 1 "increased jump height" 0.8 "cancel falling damage" 1 "kb fall min velocity" 100 "kb fall radius" 256 "kb fall stun time" -1 "kb fall force" 300 "kb fall damage" 0 "no double jump" 1 "increased air control" 3 "weapon burn dmg reduced" 0.001337 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } } } WaveSpawn { Name w3_d1 WaitForAllSpawned w3_check TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 50 Where spawnbot_second_floor RandomChoice { TFBot { Template T_TFBot_Zombie_Dreadknight InterruptAction // Stop current bot ai and force the bot to move to a location { Target "main_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } TFBot { Template T_TFBot_Zombie_Dreadknight InterruptAction // Stop current bot ai and force the bot to move to a location { Target "flank_stairs_slam" Delay 0.1 Repeats 1 Cooldown 10 Duration 10 WaitUntilDone 1 Distance 50 StopCurrentInterruptAction 1 } } } } WaveSpawn { Template T_WaveSpawn_ZombieBasic_Squad_Floor_Break Name w3_d1 WaitForAllSpawned w3_check TotalCount 50 MaxActive 20 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot_second_floor_main } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w3_d1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w3_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hey man, are you there?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 8 WaitForAllDead w3_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Yea, I take it the stompers broke the barrier to the second floor." FirstSpawnOutput { Target "stomper_add_stomp" Action "Disable" } DoneOutput { Target "second_floor_begin_breaking" Action "Trigger" } } WaveSpawn { WaitBeforeStarting 13 WaitForAllDead w3_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Yup, that's what happened." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 15 WaitForAllDead w3_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I thought so since I could feel them all the way up here!" } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w3_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Jesus!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 28 WaitForAllDead w3_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay, lets meet up once the bulk of the zombies are dealt with to split them up." } WaveSpawn { WaitBeforeStarting 34 WaitForAllDead w3_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, sounds good." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w3_d1 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Name w4_a1 WaitForAllDead w3_d1 TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot Where spawnbot_second_floor_main Where spawnbot_second_floor_flank TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w4_a1 WaitForAllDead w3_d1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 20 TotalCurrency 100 Where spawnbot Where spawnbot_second_floor_main TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Template T_WaveSpawn_ZombieInfected_Squad Name w4_b1 WaitForAllDead w4_a1 TotalCount 50 MaxActive 25 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 1 TotalCurrency 0 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieInfected_Squad Name w4_d1 WaitForAllSpawned w4_b1 TotalCount 100 MaxActive 16 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot Where spawnbot Where spawnbot_second_floor_main } WaveSpawn { Name w4_c1 WaitForAllSpawned w4_b1 TotalCount 25 MaxActive 12 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 5 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w4_d1 WaitForAllSpawned w4_c1 TotalCount 25 MaxActive 12 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 100 Where spawnbot Where spawnbot Where spawnbot_second_floor_flank TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w4_d1 WaitForAllSpawned w4_c1 TotalCount 10 MaxActive 4 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w4_d1 FirstSpawnOutput { Target "lights_off" Action "Trigger" } } WaveSpawn { Name w4_e1 WaitForAllDead w4_d1 TotalCount 15 MaxActive 15 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 6 TotalCurrency 150 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w4_f1 WaitForAllDead w4_e1 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w4_f1 WaitForAllDead w4_e1 TotalCount 20 MaxActive 20 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 6 TotalCurrency 100 Where spawnbot_second_floor_main Where spawnbot_second_floor_flank TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w4_f1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 6 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hey, we have a problem. The zombies broke the generator." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 10 WaitForAllDead w4_f1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Crap. Okay, I'll try to distract some more from up here." } WaveSpawn { WaitBeforeStarting 13 WaitForAllDead w4_f1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : These zombies just aren't giv-" } WaveSpawn { WaitBeforeStarting 14.5 WaitForAllDead w4_f1 FirstSpawnOutput { Target "radio_static" Action "stopsound" } } WaveSpawn { WaitBeforeStarting 16 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hello, what happened?! Are you there?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Shit!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 21 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 This stupid thing ran out of batteries." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllDead w4_f1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 25 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Shit. Okay, let's wait for a bigger break in the zombies." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 47 WaitForAllDead w4_f1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 51 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Crap! I see some coming!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllDead w4_f1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 52 WaitForAllDead w4_f1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, let's defend this attack." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w4_f1 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Template T_WaveSpawn_ZombieArmed_Squad Name w5_a1 WaitForAllDead w4_f1 TotalCount 50 MaxActive 20 SpawnCount 2 WaitBeforeStarting 60 WaitBetweenSpawns 3 TotalCurrency 0 Where spawnbot Where spawnbot_second_floor_flank Where spawnbot_second_floor_main } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w5_a2 WaitForAllDead w4_f1 TotalCount 20 MaxActive 16 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 3 TotalCurrency 150 Where spawnbot Where spawnbot Where spawnbot_second_floor_main } WaveSpawn { Name w5_a3 WaitForAllDead w4_f1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 75 WaitBetweenSpawns 5 TotalCurrency 80 Where spawnbot_second_floor_flank TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w5_b1 WaitForAllSpawned w5_a2 TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 22.5 WaitBetweenSpawns 20 TotalCurrency 200 Where spawnbot Squad { TFBot { Template T_TFBot_Zombie_Stomper } TFBot { Template T_TFBot_Zombie_Grapple } TFBot { Template T_TFBot_Zombie_Grapple } } } WaveSpawn { Name w5_b2 WaitForAllSpawned w5_a3 TotalCount 6 MaxActive 5 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 17.5 TotalCurrency 100 Where spawnbot_second_floor_flank Where spawnbot_second_floor_main TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w5_c1 WaitForAllSpawned w5_a2 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 12 TotalCurrency 50 Where spawnbot } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w5_c1 WaitForAllDead w5_b2 TotalCount 15 MaxActive 15 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 70 Where spawnbot } WaveSpawn { Name w5_d1 WaitForAllDead w5_c1 TotalCount 12 MaxActive 12 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 3 TotalCurrency 150 Where spawnbot Where spawnbot_second_floor_flank Where spawnbot_second_floor_main TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w5_e1 WaitForAllDead w5_d1 TotalCount 55 MaxActive 12 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 4 TotalCurrency 225 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Template T_WaveSpawn_ZombieInfected_Squad Name w5_e1 WaitForAllDead w5_d1 TotalCount 100 MaxActive 20 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 0 Where spawnbot_second_floor_flank Where spawnbot_second_floor_main } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w5_f1 WaitForAllDead w5_e1 TotalCount 65 MaxActive 20 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 100 Where spawnbot Where spawnbot Where spawnbot_second_floor_flank Where spawnbot_second_floor_main } WaveSpawn { Template T_WaveSpawn_ZombieBerserker_Squad Name w5_f1 WaitForAllDead w5_e1 TotalCount 100 MaxActive 16 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 2 TotalCurrency 125 Where spawnbot Where spawnbot Where spawnbot_second_floor_flank Where spawnbot_second_floor_main } WaveSpawn { Name w5_g1 WaitForAllSpawned w5_f1 TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 8 TotalCurrency 250 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name Survivor WaitForAllDead w5_g1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited Where spawnbot_survivor HideIcon 1 TFBot { Template T_TFBot_Survivor } } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_extended_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "seq_meet_with_survivor_delay" } } WaveSpawn { WaitBeforeStarting 6 WaitForAllDead w5_g1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Okay, if that wasn't most of them, then we aren't making it through this." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 7 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 11 WaitForAllDead w5_g1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, let's move to the roof." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 12.5 WaitForAllDead w5_g1 DoneOutput { Target "unlock_roof" Action "trigger" } } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w5_g1 Name seq_meet_with_survivor_delay } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : So we finally meet in person!" } WaveSpawn { WaitBeforeStarting 3 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hey!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 4.5 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, you mentioned you had a way to get out, right?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Yup. Over there, I got a tank." } WaveSpawn { WaitBeforeStarting 12 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : The only problem is that it needs fuel." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 15 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Okay two things." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 16.5 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 One, how did you get a fucking tank?!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 19 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Two, do you really need us to get you your fuel?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 22 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well you see, I was going to get it, but with the zombies approaching, it's a death sentence." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 27 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 And you want us to do it for you?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 31 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 I'm sorry, I want to get out, but as you mentioned, it's a death trap!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 38 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay, okay, I get where you're coming from, but with you here we got more firepower, plus I can help support you from the tower up there." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 46 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, it's a risk we have to take." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 50 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 I'll get the fuel." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 53 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay, just take the fuel over to the tank; I'll put it in once we have it all." } WaveSpawn { WaitBeforeStarting 58 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Now get going! We don't know how long until the zombies strike again." } WaveSpawn { WaitBeforeStarting 60 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 61 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 62 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 63 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 64 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 65 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}***Break Over***" FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "delay_begin_subwave_7" Delay 1 } DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Name w6_support WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 8 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot Support 1 FirstSpawnOutput { Target "oil_minigame_start" Action "Trigger" } RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy3 ClassIcon heavy_zombie_lite_giant } } } WaveSpawn { Name w6_support WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 4 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 10 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Barrier_Demo ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Heavy ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Scout ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Soldier ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Pyro ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Sniper ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Engie ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Medic ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Spy ClassIcon heavy_zombie_breach_lite_giant } } } WaveSpawn { Name w6_support_lvl2 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 3 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Name w6_support_lvl2 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 9 SpawnCount 3 WaitBeforeStarting 66 WaitBetweenSpawns 3 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Infected_Demo ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Heavy ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Scout ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Soldier ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Pyro ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Sniper ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Engie ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Medic ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Spy ClassIcon dead_giant } } } WaveSpawn { Name w6_support_lvl3 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 1 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawnsAfterDeath 8 // a rare WaitBetweenSpawnsAfterDeath has appeared! TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Stomper ClassIcon soldier_mantreads_lite_support } } WaveSpawn { Name w6_support_lvl3 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 2 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawns 12 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Combo ClassIcon heavy_voodoo_bear_nys_support } } WaveSpawn { WaitBeforeStarting 70 WaitForAllSpawned seq_meet_with_survivor_delay Name delay_begin_subwave_7 FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "delay_subwave_7" Delay 1 } DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 2 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Nicely done!" FirstSpawnOutput { Target "rain_start" Action "trigger" } } WaveSpawn { WaitBeforeStarting 4 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, I'm going to put the fuel in the tank. Feel free to take whatever you need; also, there's an upgrade bench in the back." } WaveSpawn { WaitBeforeStarting 9.5 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hold up, quick question. How did you get a tank and these military-grade weapons?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 13 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I used to work for the US government." } WaveSpawn { WaitBeforeStarting 16 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I worked in the department for biological warfare." } WaveSpawn { WaitBeforeStarting 20 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Isn't that a war crime, though?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well yes, but the government still was doing experiments." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 28 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : They didn't really turn out all that well." } WaveSpawn { WaitBeforeStarting 32 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Are you saying... no..." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 35 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Are you the reason for the zombie apocalypse?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 42 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I'm not the sole reason for it, but I would be lying if I said I wasn't a part of it." } WaveSpawn { WaitBeforeStarting 47 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : And here we are. I'm trying to help as many people out from the mess I got everyone stuck in." } WaveSpawn { WaitBeforeStarting 53 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, I'm going to fuel up the tank and hopefully get us to safety." } WaveSpawn { WaitBeforeStarting 57 WaitForAllSpawned delay_begin_subwave_7 DoneOutput { Target "move_to_tank_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 1 WaitForAllSpawned delay_begin_subwave_7 Name delay_subwave_7 } WaveSpawn { WaitBeforeStarting 5 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 6 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 7 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 8 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 10 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Template T_WaveSpawn_ZombieInfected_Squad Name w7_a1 WaitForAllSpawned delay_subwave_7 TotalCount 150 MaxActive 20 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot } WaveSpawn { Name w7_a2 WaitForAllSpawned delay_subwave_7 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBeforeStarting 12.5 WaitBetweenSpawns 6 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w7_a3 WaitForAllSpawned delay_subwave_7 TotalCount 12 MaxActive 6 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 15 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a2 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 18 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a2 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 22 WaitBetweenSpawns 2 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a3 TotalCount 8 MaxActive 3 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 16.5 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 16 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 200 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 10 MaxActive 6 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 16 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 12 MaxActive 5 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 16 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 DoneOutput //talk mode makes survivor move less at look at nearest player, makes him seem more human { Target "survivor_talk_mode_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 FirstSpawnOutput { Target "interface" Action "$PauseWavespawn" Param "delay_subwave_8" } DoneOutput { Target "thunder_start" Action "trigger" } } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, we getting out of here or what?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, first things first, I still need to get the tank ready. These things aren't like cars." } WaveSpawn { WaitBeforeStarting 10 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Second, even though it's a tank, it can still be overrun. So we will have to wait and defend another big horde." } WaveSpawn { WaitBeforeStarting 17.5 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Well, let's get defenses set up so that we aren't sitting ducks." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 And watch out for grapple zombies; that mud is very thick." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Alright, I'm going to get the tank started up." } WaveSpawn { WaitBeforeStarting 26 WaitForAllDead w7_c1 FirstSpawnOutput { Target move_to_tank_override Action Trigger } } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w7_c1 Name delay_subwave_8 FirstSpawnOutput { Target survivor_defend_mode_override Action Trigger } } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned delay_subwave_8 FirstSpawnOutput { Target escape_tank_prop Action skin Param 0 } } WaveSpawn { WaitBeforeStarting 5 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 6 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 7 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 8 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 10 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { WaitForAllSpawned delay_subwave_8 TotalCount 24 MaxActive 4 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 10 TotalCurrency 0 Where spawnbot support 1 Name w8_support TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w8_a1 WaitForAllSpawned delay_subwave_8 TotalCount 100 MaxActive 12 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 250 Where spawnbot } WaveSpawn { Name w8_a2 WaitForAllSpawned delay_subwave_8 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 10 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w8_b1 WaitForAllSpawned w8_a1 TotalCount 5 MaxActive 4 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 12.5 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w8_b1 WaitForAllSpawned w8_a1 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 16 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w8_c1 WaitForAllDead w8_b1 TotalCount 75 MaxActive 15 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 2 TotalCurrency 150 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w8_c2 WaitForAllDead w8_b1 TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 8 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w8_d1 WaitForAllSpawned w8_c1 TotalCount 25 MaxActive 10 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 5 TotalCurrency 50 Where spawnbot } WaveSpawn { Name w8_d1 WaitForAllSpawned w8_c2 TotalCount 18 MaxActive 9 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w8_d1 WaitForAllSpawned w8_c2 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 15 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 FirstSpawnOutput { Target "interface" Action "$PauseWavespawn" Param "w8_support" } DoneOutput { Target "interface" Action "$KillWavespawn" Param "w8_support" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 DoneOutput //talk mode makes survivor move less at look at nearest player, makes him seem more human { Target "survivor_talk_mode_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w8_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Alright, this is it." } WaveSpawn { WaitBeforeStarting 4 WaitForAllDead w8_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : After this horde, we make our escape." } WaveSpawn { WaitBeforeStarting 7.5 WaitForAllDead w8_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 We've come this far; let's not die now." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 21 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 22 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***Break Over***" FirstSpawnOutput { Target "break_end_relay" Action "trigger" Param 2 } DoneOutput { Target "survivor_defend_mode_override" Action "trigger" } } WaveSpawn { WaitForAllDead w8_d1 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy3 ClassIcon heavy_zombie_lite_giant } } } WaveSpawn { Name w9_a1 WaitForAllDead w8_d1 TotalCount 50 MaxActive 12 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 4 TotalCurrency 300 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w9_a1 WaitForAllDead w8_d1 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { WaitForAllSpawned w9_a1 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Infected_Demo ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Heavy ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Scout ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Soldier ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Pyro ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Sniper ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Engie ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Medic ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Spy ClassIcon dead_giant } } } WaveSpawn { Name w9_b1 WaitForAllSpawned w9_a1 TotalCount 12 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 8 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_c1 WaitForAllDead w9_b1 TotalCount 5 MaxActive 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w9_c2 WaitForAllDead w9_b1 TotalCount 20 MaxActive 6 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w9_c2 WaitForAllDead w9_c1 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 20 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { WaitBeforeStarting 4 WaitForAllDead w9_c2 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Protect me as I start up the tank!" } WaveSpawn { WaitBeforeStarting 8 WaitForAllDead w9_c2 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I'll let you know when its ready!" } WaveSpawn { WaitBeforeStarting 10 WaitForAllDead w9_c2 FirstSpawnOutput { Target survivor_escape_mode_override Action trigger } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 3 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 75 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 25 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13371337 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot HideIcon 1 TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 100 MaxActive 6 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 8 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 100 MaxActive 4 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 24 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Stomper ClassIcon soldier_mantreads_lite_support } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_backup Action Trigger } DoneOutput { Target wave_finished_relay_backup Action Trigger } Explanation { Line "{d420d4}Welcome to a mission of survival horror where you and your team will fight for your life through hell." Line "{db6d18}This mission is made with teamwork in mind, and thus soloing or duoing will be VERY difficult." Line "{green}Most weapons have had changes made, been replaced, or are banned. Breaks will be few and far between." Line "{red}If you're overwhelmed, all is lost." } RedTeamWipeCausesWaveLoss 1 WaveSpawn { Name Survivor WaitForAllDead w5_g1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited Where spawnbot_survivor HideIcon 1 TFBot { Template T_TFBot_Survivor } } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_extended_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "seq_meet_with_survivor_delay" } DoneOutput { Target "second_floor_begin_breaking" Action "Trigger" } } WaveSpawn { WaitBeforeStarting 6 WaitForAllDead w5_g1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Okay, if that wasn't most of them, then we aren't making it through this." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 7 WaitForAllDead w5_g1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "wall_break" Action "break" } } WaveSpawn { WaitBeforeStarting 11 WaitForAllDead w5_g1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, let's move to the roof." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 12.5 WaitForAllDead w5_g1 DoneOutput { Target "unlock_roof" Action "trigger" } } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w5_g1 Name seq_meet_with_survivor_delay } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : So we finally meet in person!" } WaveSpawn { WaitBeforeStarting 3 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hey!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 4.5 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, you mentioned you had a way to get out, right?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Yup. Over there, I got a tank." } WaveSpawn { WaitBeforeStarting 12 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : The only problem is that it needs fuel." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 15 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Okay two things." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 16.5 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 One, how did you get a fucking tank?!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 19 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Two, do you really need us to get you your fuel?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 22 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well you see, I was going to get it, but with the zombies approaching, it's a death sentence." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 27 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 And you want us to do it for you?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 31 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 I'm sorry, I want to get out, but as you mentioned, it's a death trap!" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 38 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay, okay, I get where you're coming from, but with you here we got more firepower, plus I can help support you from the tower up there." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 46 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, it's a risk we have to take." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 50 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 I'll get the fuel." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 53 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Okay, just take the fuel over to the tank; I'll put it in once we have it all." } WaveSpawn { WaitBeforeStarting 58 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Now get going! We don't know how long until the zombies strike again." } WaveSpawn { WaitBeforeStarting 60 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 61 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 62 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 63 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 64 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 65 WaitForAllSpawned seq_meet_with_survivor_delay FirstSpawnMessage "{yellow}***Break Over***" FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "delay_begin_subwave_7" Delay 1 } DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Name w6_support WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 8 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot Support 1 FirstSpawnOutput { Target "oil_minigame_start" Action "Trigger" } RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy3 ClassIcon heavy_zombie_lite_giant } } } WaveSpawn { Name w6_support WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 4 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 10 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Barrier_Demo ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Heavy ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Scout ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Soldier ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Pyro ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Sniper ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Engie ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Medic ClassIcon heavy_zombie_breach_lite_giant } TFBot { Template T_TFBot_Zombie_Barrier_Spy ClassIcon heavy_zombie_breach_lite_giant } } } WaveSpawn { Name w6_support_lvl2 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 3 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Name w6_support_lvl2 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 9 SpawnCount 3 WaitBeforeStarting 66 WaitBetweenSpawns 3 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Infected_Demo ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Heavy ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Scout ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Soldier ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Pyro ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Sniper ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Engie ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Medic ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Spy ClassIcon dead_giant } } } WaveSpawn { Name w6_support_lvl3 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 1 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawnsAfterDeath 8 // a rare WaitBetweenSpawnsAfterDeath has appeared! TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Stomper ClassIcon soldier_mantreads_lite_support } } WaveSpawn { Name w6_support_lvl3 WaitForAllSpawned seq_meet_with_survivor_delay TotalCount 100 MaxActive 2 SpawnCount 1 WaitBeforeStarting 66 WaitBetweenSpawns 12 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Combo ClassIcon heavy_voodoo_bear_nys_support } } WaveSpawn { WaitBeforeStarting 70 WaitForAllSpawned seq_meet_with_survivor_delay Name delay_begin_subwave_7 FirstSpawnOutput { Target "Interface" Action "$PauseWavespawn" Param "delay_subwave_7" Delay 1 } DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 2 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Nicely done!" FirstSpawnOutput { Target "rain_start" Action "trigger" } } WaveSpawn { WaitBeforeStarting 4 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, I'm going to put the fuel in the tank. Feel free to take whatever you need; also, there's an upgrade bench in the back." } WaveSpawn { WaitBeforeStarting 9.5 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Hold up, quick question. How did you get a tank and these military-grade weapons?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 13 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I used to work for the US government." } WaveSpawn { WaitBeforeStarting 16 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I worked in the department for biological warfare." } WaveSpawn { WaitBeforeStarting 20 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Isn't that a war crime, though?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well yes, but the government still was doing experiments." DoneOutput { Target "popscript" Action "$GetRandomName" } } WaveSpawn { WaitBeforeStarting 28 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : They didn't really turn out all that well." } WaveSpawn { WaitBeforeStarting 32 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Are you saying... no..." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 35 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Are you the reason for the zombie apocalypse?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 42 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I'm not the sole reason for it, but I would be lying if I said I wasn't a part of it." } WaveSpawn { WaitBeforeStarting 47 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : And here we are. I'm trying to help as many people out from the mess I got everyone stuck in." } WaveSpawn { WaitBeforeStarting 53 WaitForAllSpawned delay_begin_subwave_7 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, I'm going to fuel up the tank and hopefully get us to safety." } WaveSpawn { WaitBeforeStarting 57 WaitForAllSpawned delay_begin_subwave_7 DoneOutput { Target "move_to_tank_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 1 WaitForAllSpawned delay_begin_subwave_7 Name delay_subwave_7 } WaveSpawn { WaitBeforeStarting 5 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 6 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 7 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 8 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 10 WaitForAllSpawned delay_subwave_7 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { Template T_WaveSpawn_ZombieInfected_Squad Name w7_a1 WaitForAllSpawned delay_subwave_7 TotalCount 150 MaxActive 20 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot } WaveSpawn { Name w7_a2 WaitForAllSpawned delay_subwave_7 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBeforeStarting 12.5 WaitBetweenSpawns 6 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w7_a3 WaitForAllSpawned delay_subwave_7 TotalCount 12 MaxActive 6 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 15 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a2 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 18 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a2 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 22 WaitBetweenSpawns 2 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w7_b1 WaitForAllSpawned w7_a3 TotalCount 8 MaxActive 3 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 16.5 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 16 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 200 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 10 MaxActive 6 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 16 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w7_c1 WaitForAllDead w7_b1 TotalCount 12 MaxActive 5 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 16 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 DoneOutput //talk mode makes survivor move less at look at nearest player, makes him seem more human { Target "survivor_talk_mode_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w7_c1 FirstSpawnOutput { Target "interface" Action "$PauseWavespawn" Param "delay_subwave_8" } DoneOutput { Target "thunder_start" Action "trigger" } } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Alright, we getting out of here or what?" } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 5 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Well, first things first, I still need to get the tank ready. These things aren't like cars." } WaveSpawn { WaitBeforeStarting 10 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Second, even though it's a tank, it can still be overrun. So we will have to wait and defend another big horde." } WaveSpawn { WaitBeforeStarting 17.5 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 Well, let's get defenses set up so that we aren't sitting ducks." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w7_c1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 And watch out for grapple zombies; that mud is very thick." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 24 WaitForAllDead w7_c1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Alright, I'm going to get the tank started up." } WaveSpawn { WaitBeforeStarting 26 WaitForAllDead w7_c1 FirstSpawnOutput { Target move_to_tank_override Action Trigger } } WaveSpawn { WaitBeforeStarting 1 WaitForAllDead w7_c1 Name delay_subwave_8 FirstSpawnOutput { Target survivor_defend_mode_override Action Trigger } } WaveSpawn { WaitBeforeStarting 0 WaitForAllSpawned delay_subwave_8 FirstSpawnOutput { Target escape_tank_prop Action skin Param 0 } } WaveSpawn { WaitBeforeStarting 5 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 6 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 7 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 8 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 9 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 10 WaitForAllSpawned delay_subwave_8 FirstSpawnMessage "{yellow}***Break Over***" DoneOutput { Target "break_end_relay" Action "trigger" Param 2 } } WaveSpawn { WaitForAllSpawned delay_subwave_8 TotalCount 24 MaxActive 4 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 10 TotalCurrency 0 Where spawnbot support 1 Name w8_support TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w8_a1 WaitForAllSpawned delay_subwave_8 TotalCount 100 MaxActive 12 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 250 Where spawnbot } WaveSpawn { Name w8_a2 WaitForAllSpawned delay_subwave_8 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 10 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w8_b1 WaitForAllSpawned w8_a1 TotalCount 5 MaxActive 4 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 12.5 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w8_b1 WaitForAllSpawned w8_a1 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 16 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w8_c1 WaitForAllDead w8_b1 TotalCount 75 MaxActive 15 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 2 TotalCurrency 150 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w8_c2 WaitForAllDead w8_b1 TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 8 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Template T_WaveSpawn_ZombieBarrier_Squad Name w8_d1 WaitForAllSpawned w8_c1 TotalCount 25 MaxActive 10 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 5 TotalCurrency 50 Where spawnbot } WaveSpawn { Name w8_d1 WaitForAllSpawned w8_c2 TotalCount 18 MaxActive 9 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { Name w8_d1 WaitForAllSpawned w8_c2 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 15 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 FirstSpawnOutput { Target "interface" Action "$PauseWavespawn" Param "w8_support" } DoneOutput { Target "interface" Action "$KillWavespawn" Param "w8_support" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 DoneOutput //talk mode makes survivor move less at look at nearest player, makes him seem more human { Target "survivor_talk_mode_override" Action "trigger" } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead w8_d1 FirstSpawnOutput { Target "Popscript" Action "$GetRandomName" } DoneOutput { Target "break_start_relay" Action "trigger" Param 2 } FirstSpawnMessage "{yellow}***Checkpoint Reached***" } WaveSpawn { WaitBeforeStarting 2 WaitForAllDead w8_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Alright, this is it." } WaveSpawn { WaitBeforeStarting 4 WaitForAllDead w8_d1 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : After this horde, we make our escape." } WaveSpawn { WaitBeforeStarting 7.5 WaitForAllDead w8_d1 FirstSpawnOutput { Target "speech_case" Action "AddOutput" Param "case02 We've come this far; let's not die now." } DoneOutput { Target "speech_case" Action "$Format" } } WaveSpawn { WaitBeforeStarting 20 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 21 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 22 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***THERE WILL BE NO MORE RESPAWNS AFTER THIS POINT***" } WaveSpawn { WaitBeforeStarting 55 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}5..." } WaveSpawn { WaitBeforeStarting 56 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}4..." } WaveSpawn { WaitBeforeStarting 57 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}3..." } WaveSpawn { WaitBeforeStarting 58 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}2..." } WaveSpawn { WaitBeforeStarting 59 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}1..." } WaveSpawn { WaitBeforeStarting 60 WaitForAllDead w8_d1 FirstSpawnMessage "{yellow}***Break Over***" FirstSpawnOutput { Target "break_end_relay" Action "trigger" Param 2 } DoneOutput { Target "survivor_defend_mode_override" Action "trigger" } } WaveSpawn { WaitForAllDead w8_d1 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_ZombieDemo1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy1 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy2 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieDemo3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieHeavy3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieScout3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSoldier3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombiePyro3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSniper3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieEngie3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieMedic3 ClassIcon heavy_zombie_lite_giant } TFBot { Template T_TFBot_ZombieSpy3 ClassIcon heavy_zombie_lite_giant } } } WaveSpawn { Name w9_a1 WaitForAllDead w8_d1 TotalCount 50 MaxActive 12 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 4 TotalCurrency 300 Where spawnbot TFBot { Template T_TFBot_Zombie_Infector } } WaveSpawn { Name w9_a1 WaitForAllDead w8_d1 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { WaitForAllSpawned w9_a1 TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 2 TotalCurrency 0 Where spawnbot support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Zombie_Infected_Demo ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Heavy ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Scout ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Soldier ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Pyro ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Sniper ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Engie ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Medic ClassIcon dead_giant } TFBot { Template T_TFBot_Zombie_Infected_Spy ClassIcon dead_giant } } } WaveSpawn { Name w9_b1 WaitForAllSpawned w9_a1 TotalCount 12 MaxActive 8 SpawnCount 1 WaitBeforeStarting 12.5 WaitBetweenSpawns 8 TotalCurrency 120 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_c1 WaitForAllDead w9_b1 TotalCount 5 MaxActive 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 50 Where spawnbot TFBot { Template T_TFBot_Zombie_Combo } } WaveSpawn { Name w9_c2 WaitForAllDead w9_b1 TotalCount 20 MaxActive 6 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 100 Where spawnbot TFBot { Template T_TFBot_Zombie_Grapple } } WaveSpawn { Name w9_c2 WaitForAllDead w9_c1 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 20 TotalCurrency 80 Where spawnbot TFBot { Template T_TFBot_Zombie_Reviving } } WaveSpawn { WaitBeforeStarting 4 WaitForAllDead w9_c2 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : Protect me as I start up the tank!" } WaveSpawn { WaitBeforeStarting 8 WaitForAllDead w9_c2 FirstSpawnMessage "{green}Trapped Survivor{fbeccb} : I'll let you know when its ready!" } WaveSpawn { WaitBeforeStarting 10 WaitForAllDead w9_c2 FirstSpawnOutput { Target survivor_escape_mode_override Action trigger } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 3 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 75 Where spawnbot TFBot { Template T_TFBot_Zombie_Dreadknight } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 25 Where spawnbot TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13371337 WaitBetweenSpawns 4 TotalCurrency 0 Where spawnbot HideIcon 1 TFBot { Template T_TFBot_Zombie_Stomper } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 100 MaxActive 6 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 8 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Grapple ClassIcon sniper_smoker_support } } WaveSpawn { Name w9_d1 WaitForAllDead w9_c2 TotalCount 100 MaxActive 4 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 24 TotalCurrency 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Zombie_Stomper ClassIcon soldier_mantreads_lite_support } } } } //Made by Wacev //please dont copy anything and claim it as your own :) //created on 7/9/2024 still going strong on 12/06/2024 (m/d/y)