#base robot_giant.pop #base robot_standard.pop // oh boy it's time to do the flip flop // has a time limit to beat waves because yes // and other things because just hauling the bomb gets boring // // My hearts go out to all you sinners: // // - JaidenDestroyer > Made the map and added a .pcf file for Dell-OROM's skyray attack // - Jurrell > Explained what datamaps are so the 'full bars on spawn' logic actually works, misc. assistance when shit don't work // - NotYourSagittarius > Icons for Skull Magician, Dell-OROM, his Beep Boys and Finale Soldier // - Braindawg > Made that core logic pop which made putting this together a lot easier // - Yaki > Shared some funny things you can do with mvm logic, seen on the finale // - Rafradek > Occasional assistance when things stopped working // - Lite > Logic for the Vita-Saw's damage mechanic (which was later removed) // - The One of Wonders > Stats for the Baby Face's Blaster // - Seelpit > Pointing out how to stop Short Circuit orb from moving // - CTriggerHurt > That Gibby Soldierbot model that Treadonator uses // - Oobersli > B.M.M.H's model // - Cbast > Subterranean Sun's model // - Noors > Warsaw Fact model, aka Treadonator's chainsaw // - Josh Mancell > Dell-OROM's boss music // - Jarkko Rotsten > Soldier's boss music // - And the several folks who tested this thing out! // // // The concept of this mission is to go all-in on the Reverse aspect of you playing as bots // Money is completely optional as all the weapons are pre-upgraded, like you're playing as Template bots // Only use for it is for buybacks // // Final server crash bodycount: 8 WaveSchedule { StartingCurrency 0 RespawnWaveTimeBlue 3 FixedRespawnWaveTimeBlue 1 CanBotsAttackWhileInSpawnRoom Yes // some crap NoBluHumanFootsteps 1 BotHumansHaveEyeGlow 1 NoReanimators 1 // you're robots, no reviving NoMvMDeathTune 1 SniperAllowHeadshots 1 SentryBusterFriendlyFire 0 NoSapUnownedBuildings 1 // SendBotsToSpectatorImmediately 1 RobotLimit 26 BotPushaway 0 BotsAreHumans 2 // give spy some love MaxTotalPlayers 6 DisplayRobotDeathNotice 0 BodyPartScaleSpeed 10 // for megabig kill // FixedBuybacks 1 // no buyback // BuybacksPerWave 0 // no buyback StealthDamageReduction 0.1 // give spy some love MedigunShieldDamage 1 // spicy WaveStartCountdown 3 // get on with it BonusRatioHalf 2 BonusRatioFull 2 MaxSpeedLimit 666 // peak of comedy CustomNavFile "mvm_legerdemain_stilltabletop" // regular one is pretty bad ScriptSoundOverrides "scripts/crush_soundscripts.txt" //the actual 'make players bots' bits ReverseWinConditions 1 // no shit BluHumanFlagCapture 1 BluHumanFlagPickup 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam blue // no shit BluPlayersAreRobots 1 SetCreditTeam 3 FlagCarrierMovementPenalty 0.75 // very slight penalty BluHumanInfiniteAmmo 1 // here's infinite ammo BluHumanInfiniteCloak 1 // give them that spybot behavior PlayerMiniBossMinRespawnTime 23 BluHumanTeleportOnSpawn 1 // for the finale // disable sounds // 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_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_General_Destruction" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Spawn" 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" //some precache shit PrecacheModel "models/props_mvm/reversemvm_redwall_640x300.mdl" // force fields PrecacheModel "models/props_trainyard/cart_bomb_separate.mdl" // fat boy's projectile PrecacheModel "models/weapons/w_models/w_rocketbullet.mdl" // BIG SHOT PROJECTILE PrecacheModel "models/props_mvm/robot_spawnpoint.mdl" // very limited use but lets use it anyway PrecacheModel "models/bots/merasmus/merasmussmall.mdl" // ending cutscene PrecacheModel "models/bots/merasmus/merasmussmall_animations.mdl" PrecacheModel "models/props_trainyard/bomb_eotl_red.mdl" // Redtank model PrecacheModel "models/props_frontline/tank_animated.mdl" // treadkill's tank PrecacheModel "models\weapons\c_models\c_w_chainsaw\c_w_chainsaw.mdl" // treadkill's saw PrecacheModel "models\weapons\c_models\c_bmmh\c_bmmh.mdl" // big meanie // PrecacheModel "models\weapons\c_models\c_armcannon\c_armcannon.mdl" // animation issues!!!!! PrecacheModel "models\weapons\c_models\c_subsun\c_subsun.mdl" // subby PrecacheSound "crush/HEDSIT.wav" PrecacheSound "crush/HEDAT3.wav" PrecacheSound "crush/HEDDTH.wav" PrecacheSound "crush/HEDACT.wav" PrecacheSound "crush/payload_deploy.mp3" PrecacheSound "crush/countdown.mp3" PrecacheSound "crush/skyray_snd.mp3" PrecacheSound "crush/warp_snd.mp3" PrecacheSound "crush/dellorom_bosstune.mp3" PrecacheSound "crush/dellorom_death.mp3" PrecacheSound "crush/chainsaw_swing.wav" PrecacheSound "crush/soldier_boardgamecrap.mp3" // amazing VO, courtesy of 15.ai PrecacheSound "crush/soldier_nopants.mp3" // amazing VO, courtesy of 15.ai PrecacheSound "crush/finale_bosstune.mp3" PrecacheSound "crush/hubby_shoot.wav" // Big meanie's firing sound PrecacheSound "crush/armcannon_shoot.wav" // beam firing sound PrecacheParticle skyray_eff OverrideSounds { "Regenerate.Touch" "misc/null.wav" // the only one that works } ItemBlacklist // bots get no canteen or whatever { Name "Kritz Or Treat Canteen" Name "Default Power Up Canteen (MvM)" Name "Power Up Canteen (MvM)" Name "Battery Canteens" Name "TF_WEAPON_SPELLBOOK" Name "Zombie Scout" Name "Zombie Soldier" Name "Zombie Pyro" Name "Zombie Demo" Name "Zombie Heavy" Name "Zombie Engineer" Name "Zombie Sniper" Name "Zombie Medic" Name "Zombie Spy" Classname tf_weapon_pipebomblauncher // animation problems Name "The Reserve Shooter" // ban multiclass weapons due to stat headaches Name "Panic Attack Shotgun" Name "The Ham Shank" Name "Prinny Machete" Name "Frying Pan" Name "Necro Smasher" Classname saxxy // oh right this exists } ClassLimit // no stacking giants!!! { Heavyweapons 1 Soldier 1 Demoman 1 Pyro 1 } ExtraTankPath { Name "objtank_red" Node "-192 -960 29" Node "-256 -1568 -34" Node "-192 -1792 -34" Node "-192 -2896 -96" Node "-96 -3072 -96" Node "358 -3072 -96" Node "544 -3168 -96" Node "576 -3291 -96" Node "576 -4104 -96" Node "440 -4232 -96" Node "152 -4320 -96" Node "-8 -4392 -96" Node "-128 -4512 -96" Node "-128 -5024 -172" Node "-256 -5192 -176" Node "-448 -5240 -176" Node "-632 -5457 -183" Node "-568 -6256 -176" Node "96 -6880 -176" Node "192 -7104 -176" Node "192 -7408 -176" Node "-136 -7658 -111" Node "-192 -7658 -111" } ExtraTankPath { Name "objtank_blu" Node "-192 -7658 -111" Node "-136 -7658 -111" Node "192 -7408 -176" Node "192 -7104 -176" Node "96 -6880 -176" Node "-568 -6256 -176" Node "-632 -6128 -176" Node "-632 -5457 -183" Node "-448 -5240 -176" Node "-256 -5192 -176" Node "-128 -5024 -172" Node "-128 -4512 -96" Node "-8 -4392 -96" Node "152 -4320 -96" Node "440 -4232 -96" Node "554 -4176 -96" Node "576 -4040 -96" Node "576 -3291 -96" Node "358 -3072 -96" Node "-96 -3072 -96" Node "-192 -2896 -96" Node "-192 -1792 -34" Node "-256 -1568 -34" Node "-192 -960 29" Node "-152 -832 29" Node "-16 -776 29" Node "120 -776 29" Node "288 -912 29" Node "288 -992 29" } // this is where we do the weapon changes that I gave people shit for earlier // scout ItemAttributes { ItemName "The Shortstop" "bullets per shot bonus" 3 "heal on kill" 75 } ItemAttributes { ItemName "The Force-a-Nature" "scattergun knockback mult" 1.5 "bullets per shot bonus" 2 "damage causes airblast" 1 } ItemAttributes { ItemName "Festive Force-a-Nature" "scattergun knockback mult" 1.5 "bullets per shot bonus" 2 "damage causes airblast" 1 } ItemAttributes { ItemName "The Soda Popper" "damage bonus" 0.8 "bullets per shot bonus" 5 "fire rate bonus" 1.5 "clip size penalty" 0.2 "faster reload rate" 1.6 } ItemAttributes { ItemName "baby face's blaster" "special item description" "Weapon can deal headshot damage" "weapon spread bonus" 0.5 // reason why i didn't go for a single pellet per shot is because visible tracers. "fire rate penalty" 1.7 "faster reload rate" -0.8 "crit_dmg_falloff" 1 "can headshot" 1 "headshot damage increase" 3 } ItemAttributes { ItemName "The Back Scatter" "spread penalty" 1 "minicrits become crits" 1 "mult crit dmg" 2 "faster reload rate" 0.8 } ItemAttributes { Classname tf_weapon_scattergun "faster reload rate" 0.2 "fire rate bonus" 0.6 } ItemAttributes // become big with the bat? { ItemName "The Sandman" "effect bar recharge rate increased" 0.25 // "always crit" 1 "applies snare effect" 0.35 "max health additive penalty" 0 } ItemAttributes // become big with the bat? { ItemName "The Wrap Assassin" "effect bar recharge rate increased" 0.25 "max health additive penalty" 0 "damage penalty" 1 "dmg penalty vs players" 3 } ItemAttributes { ItemName TF_WEAPON_BAT "always crit" 1 } ItemAttributes { ItemName "The Holy Mackerel" "always crit" 1 } ItemAttributes { ItemName "The Flying Guillotine" "effect bar recharge rate increased" 0.25 } // soldier ItemAttributes // giant crit soldier { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "projectile speed increased" 0.5 "mult dmg vs giants" 1.5 "blast radius increased" 1.1 "always crit" 1 } ItemAttributes // giant blast soldier { ItemName "The Liberty Launcher" "damage causes airblast" 1 "apply z velocity on damage" 96 "damage penalty" 0.75 "fire rate bonus" 0.25 "clip size upgrade atomic" 5 "faster reload rate" 0.2 "Blast radius decreased" 1.2 "projectile spread angle penalty" 4 } ItemAttributes // giant bb { ItemName "The Black Box" "damage bonus" 2 "damage causes airblast" 1 "fire rate bonus" 2 "use large smoke explosion" 1 "blast radius increased" 2 "dmg falloff decreased" 0.5 "blast dmg to self increased" 6 "clip size penalty" 0.25 // "custom projectile model" "models/workshop/player/items/soldier/taunt_rocket_jockey/taunt_rocket_jockey.mdl" "custom impact sound" "misc/doomsday_missile_explosion.wav" } ItemAttributes { ItemName "Festive Black Box" "damage bonus" 2 "damage causes airblast" 1 "fire rate bonus" 2 "use large smoke explosion" 1 "blast radius increased" 2 "dmg falloff decreased" 0.5 "blast dmg to self increased" 6 "clip size penalty" 0.25 "custom impact sound" "misc/doomsday_missile_explosion.wav" } ItemAttributes // rocket sniper { ItemName "The Direct Hit" "damage bonus" 3 "projectile speed increased" 3 "rocket specialist" 4 "fire rate penalty" 1.5 "faster reload rate" -1 } ItemAttributes { ItemName "The Beggar's Bazooka" "Reload time decreased" 0.33 "clip size upgrade atomic" 6 "projectile spread angle penalty" 4 "fire rate bonus" 0.2 } ItemAttributes { ItemName "The Air Strike" "mod projectile heat seek power" 360 "mod projectile heat aim error" 90 "increased jump height" 2.5 "bot custom jump particle" 1 "Reload time decreased" 0.5 "cancel falling damage" 1 "clipsize increase on kill" 12 "fire rate bonus" 0.4 } ItemAttributes { ItemName "The Cow Mangler 5000" "fire rate penalty" 1.3 "Blast radius increased" 1.2 "set damagetype ignite" 1 "damage bonus vs burning" 2 // "damage bonus" 1.25 "faster reload rate" -1 } ItemAttributes // default is spammer { Classname "tf_weapon_rocketlauncher" // classname as the catch-all umbrella "faster reload rate" -0.8 "fire rate bonus" 0.5 } ItemAttributes { ItemName "The Righteous Bison" "faster reload rate" -1 "fire rate bonus" 0.2 } ItemAttributes { ItemName "The Gunboats" "max health additive bonus" 400 } ItemAttributes { ItemName "The Mantreads" "max health additive bonus" 400 } ItemAttributes // basic banner boost { ItemName "The Buff Banner" "increase buff duration" 3 } ItemAttributes // basic banner boost { ItemName "Festive Buff Banner" "increase buff duration" 3 } ItemAttributes // basic banner boost { ItemName "The Concheror" "increase buff duration" 3 } ItemAttributes // basic banner boost { ItemName "The Battalion's Backup" "increase buff duration" 3 } // pyro ItemAttributes { ItemName "The Backburner" "lunchbox adds minicrits" 2 "damage bonus" 1.5 "weapon burn dmg increased" 2 "extinguish restores health" 300 } ItemAttributes { ItemName "Festive Backburner 2014" // why did they add the years "lunchbox adds minicrits" 2 "damage bonus" 1.5 "weapon burn dmg increased" 2 "extinguish restores health" 300 } ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 2 "energy weapon no deflect" 1 "weapon burn dmg increased" 2 "extinguish restores health" 300 } ItemAttributes { ItemName "The Degreaser" "airblast pushback scale" 5 "mult airblast refire time" 0.5 "weapon burn dmg increased" 1.5 "extinguish restores health" 300 } ItemAttributes { ItemName "The Phlogistinator" "weapon burn dmg increased" 1.5 "damage bonus vs burning" 2 "increase buff duration" 1.25 "weapon burn time reduced" 2 } ItemAttributes { Classname tf_weapon_flamethrower "lunchbox adds minicrits" 2 "mult airblast refire time" 0.75 "damage bonus" 2 "weapon burn dmg increased" 2 "extinguish restores health" 300 } ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.3 "speed boost when active" 1.2 } ItemAttributes { ItemName "Festive Flare Gun" "fire rate bonus" 0.3 "speed boost when active" 1.2 } ItemAttributes { ItemName "The detonator" "fire rate bonus" 0.3 "weapon burn dmg increased" 1.5 "speed boost when active" 1.2 } ItemAttributes { ItemName "The Thermal Thruster" // "switch from wep deploy time decreased" 1.5 // "holster_anim_time" "0.4" // "item_meter_charge_rate" "20" "cannot pick up intelligence" 1 } ItemAttributes { ItemName "The Scorch Shot" "fire rate bonus" 0.4 "damage causes airblast" 1 "speed boost when active" 1.2 } ItemAttributes { ItemName "The Manmelter" "fire rate bonus" 0.2 "faster reload rate" 0.2 "speed boost when active" 1.2 "extinguish restores health" 300 "mult projectile count" 3 "projectile spread angle penalty" 3 } ItemAttributes { ItemName "The Gas Passer" "weapon burn dmg increased" 3 "weapon burn time increased" 5 } // demo ItemAttributes // clusterbomber { ItemName "The Iron Bomber" "fire rate bonus" -1 "fuse bonus" 1 "clip size upgrade atomic" 12.0 "projectile spread angle penalty" 4 "Reload time decreased" 0.33 "blast radius increased" 0.5 } ItemAttributes { ItemName "The Loose Cannon" "grenade explode on impact" 1 "grenade launcher mortar mode" 0 "damage bonus" 2 "blast dmg to self increased" 6 "override projectile type" 3 "Blast radius increased" 2 "fire rate bonus" 2 "clip size penalty" 0.25 "dmg falloff decreased" 0.5 "explosion particle" hightower_explosion "custom projectile model" "models\props_trainyard\cart_bomb_separate.mdl" "custom impact sound" "misc/doomsday_missile_explosion.wav" } ItemAttributes { ItemName "The Loch-n-Load" "blast radius increased" 1.2 "damage bonus" 1.5 "fire rate bonus" 1.2 "dmg bonus vs buildings" 1.33 "reload full clip at once" 1 } ItemAttributes // spammer demo { Classname tf_weapon_grenadelauncher "faster reload rate" -0.4 "fire rate bonus" 0.75 } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 "damage bonus" 2 } ItemAttributes { ItemName "Nessie's Nine Iron" "critboost on kill" 3 "damage bonus" 2 } ItemAttributes // festive guff gets fancy { ItemName "Festive Eyelander" "critboost on kill" 3 "damage bonus" 2 "turn to gold" 1 } ItemAttributes // spookee { ItemName "The Horseless Headless Horseman's Headtaker" "critboost on kill" 3 "damage bonus" 2 "crit kill will gib" 1 } ItemAttributes { ItemName "TF_WEAPON_BOTTLE" "speed boost when active" 1.2 "damage bonus" 1.5 } ItemAttributes { ItemName "The Scottish Handshake" "speed boost when active" 1.2 "damage bonus" 1.5 } ItemAttributes // shared with soldier { ItemName "The Pain Train" "speed boost when active" 1.2 "damage bonus" 1.25 "melee cleave attack" 1 "bleeding duration" 3 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "critboost on kill" 3 "damage bonus" 2.20 } ItemAttributes // make this cleave { ItemName "The Persian Persuader" "melee cleave attack" 1 "critboost on kill" 2 "damage bonus" 1.75 "speed boost when active" 1.2 } ItemAttributes { ItemName "The Half-Zatoichi" "provide on active" 1 "cancel falling damage" 1 "increased jump height" 2.3 "bot custom jump particle" 1 "damage bonus" 1.75 } ItemAttributes { ItemName "The Claidheamohmor" "provide on active" 1 "charge time increased" 2.5 "dmg taken increased" 1 "critboost on kill" 3 "damage bonus" 2 } ItemAttributes { ItemName "The Ullapool Caber" "speed boost when active" 1.4 "regenerate stickbomb" 1 "damage bonus" 4 "blast dmg to self increased" 5 } ItemAttributes // make this a passive effect, don't tie it to the zatoichi { ItemName "The Splendid Screen" "charge time increased" 2 "charge recharge rate increased" 5 "attack not cancel charge" 1 } ItemAttributes { ItemName "The Tide Turner" "no charge impact range" 1 "charge impact damage increased" 3 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "max health additive bonus" 300 } ItemAttributes { ItemName "The Bootlegger" "max health additive bonus" 300 } // heavy ItemAttributes { ItemName Natascha "damage bonus" 1.25 "applies snare effect" 0.25 } ItemAttributes { ItemName "The Brass Beast" "provide on active" 1 "damage bonus" 1.7 "move speed penalty" 0.6 } ItemAttributes { ItemName tomislav "damage bonus" 1.2 "fire rate bonus" 0.75 "weapon spread bonus" 0.5 "minigun spinup time decreased" 0.5 } ItemAttributes { ItemName "the huo long heatmaker" "damage penalty" 0.5 "bullets per shot bonus" 2 "minigun spinup time increased" 1.25 "spread penalty" 1.75 "ring of fire while aiming" 50 "damage bonus vs burning" 1 "weapon burn dmg increased" 1.5 "set damagetype ignite" 1 } ItemAttributes { Classname TF_WEAPON_MINIGUN "damage bonus" 1.5 } ItemAttributes { ItemName TF_WEAPON_SHOTGUN_HWG "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 "speed boost when active" 1.2 } ItemAttributes { ItemName "The Family Business" "fire rate bonus" 1.25 "bullets per shot bonus" 5 "auto fires full clip" 1 "clip size bonus" 1.5 "fire rate bonus with reduced health" 0.2 "faster reload rate" 0.1 "speed boost when active" 1.2 } ItemAttributes { ItemName "The Sandvich" "lunchbox healing decreased" 10 } ItemAttributes { ItemName "Festive Sandvich" "lunchbox healing decreased" 10 } ItemAttributes { ItemName "The Second Banana" "lunchbox healing decreased" 5 } ItemAttributes { ItemName "The Buffalo Steak Sandvich" "provide on active" 1 "gesture speed increase" 1.5 } ItemAttributes { ItemName "the killing gloves of boxing" "fire rate bonus" 0.6 "damage bonus" 1.2 "melee cleave attack" 1 } ItemAttributes { ItemName "Fists of Steel" "damage bonus" 1.5 } ItemAttributes { ItemName "Apoco-Fists" "heal on kill" 100 "melee cleave attack" 1 "always crit" 1 } ItemAttributes { ItemName "The Eviction Notice" "damage bonus" 1.2 "mod_maxhealth_drain_rate" 0 } ItemAttributes { ItemName "Gloves of Running Urgently" "fire rate bonus" 0.6 "damage bonus" 1.2 "mod_maxhealth_drain_rate" 0 "provide on active" 1 "self mark for death" 3 "lunchbox adds minicrits" 2 } ItemAttributes { ItemName "Festive Gloves of Running Urgently" "fire rate bonus" 0.6 "damage bonus" 1.2 "mod_maxhealth_drain_rate" 0 "provide on active" 1 "self mark for death" 3 "lunchbox adds minicrits" 2 } ItemAttributes { ItemName "The Holiday Punch" "always crit" 1 "melee cleave attack" 1 "fire rate bonus" 1.2 "switch from wep deploy time decreased" 0.25 } ItemAttributes { Classname tf_weapon_fists "damage bonus" 1.25 } // engineer ItemAttributes { ItemName "The Pomson 6000" "fire rate bonus" 0.25 "faster reload rate" 0.01 "subtract victim cloak on hit" 0 "subtract victim medigun charge on hit" 0 "energy weapon penetration" 1 "projectile spread angle penalty" 5 } ItemAttributes { ItemName "The Rescue Ranger" "mult projectile count" 3 "projectile spread angle penalty" 3 } ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" 1 "damage bonus bullet vs sentry target" 1.5 } ItemAttributes { ItemName "The Frontier Justice" "faster reload rate" 0.8 "fire rate bonus" 0.05 "clip size bonus" 1.5 "mult_spread_scales_consecutive" 1 } ItemAttributes { ItemName "Festive Frontier Justice" "faster reload rate" 0.8 "fire rate bonus" 0.05 "clip size bonus" 1.5 "mult_spread_scales_consecutive" 1 } ItemAttributes { Classname tf_weapon_laser_pointer "engy building health bonus" 0.5 } ItemAttributes { ItemName "The Short Circuit" "mod projectile heat seek power" 360 // apparently orb doesn't move at all with this "fire rate penalty" 1.5 "self mark for death" 1 } ItemAttributes { ItemName "The Gunslinger" "max health additive bonus" 225 "engy disposable sentries" 3 "engy sentry radius increased" 2 } ItemAttributes { ItemName "The Jag" "building max level" 2 "engineer sentry build rate multiplier" 2 "engineer teleporter build rate multiplier" 2.25 "engy building health bonus" 2 "max health additive bonus" -50 } ItemAttributes { ItemName "The Eureka Effect" "engineer sentry build rate multiplier" 0.75 "engineer teleporter build rate multiplier" 0.75 "engy building health bonus" 6.5 "max health additive bonus" -100 } ItemAttributes { ItemName "The Southern Hospitality" "dmg penalty vs players" 1.5 "engy sentry damage bonus" 1.33 "healing received bonus" 1.25 "max health additive bonus" -50 } ItemAttributes // regular wrench { Classname tf_weapon_wrench "engy building health bonus" 3 } // medic ItemAttributes // milky~ { ItemName "The Crusader's Crossbow" "fires milk bolt" 1.5 "can headshot" 1 "headshot damage increase" 3 } ItemAttributes // meh { ItemName "The Blutsauger" "heal on hit for rapidfire" 5 "bleeding duration" 2 } ItemAttributes // overdosing on piss { ItemName "The Overdose" "add cond on hit" 24 "add cond on hit duration" 2 "special item description" "On Hit: Cover target in Jarate" } ItemAttributes // meh { Classname tf_weapon_syringegun_medic "mad milk syringes" 1 } ItemAttributes // bigheal for QF { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.01 "heal rate bonus" 6 "uber duration bonus" -7.95 "medic machinery beam" 5 } ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 3 "medic machinery beam" 10 } ItemAttributes { ItemName "The Vaccinator" "ubercharge rate bonus" 2 "medigun bullet resist passive" 0.25 "medigun blast resist passive" 0.25 "medigun fire resist passive" 0.25 "medic machinery beam" 10 "special item description" "Grants passive +25% resistance for damage type" } ItemAttributes // stock uber becomes QuickUber { Classname tf_weapon_medigun "ubercharge rate bonus" 3 "uber duration bonus" -3 "medic machinery beam" 10 } ItemAttributes { ItemName "The Ubersaw" "add uber charge on hit" 0.10 } ItemAttributes // fuck off already { ItemName "Festive Ubersaw" "add uber charge on hit" 0.10 } ItemAttributes // have some plague { ItemName "The Vita-Saw" // "add cond on hit" "112" // "add cond on hit duration" "0.1" // "fire input on hit" "plaguetest^$callertoactivator^" "dmg max health" 0.1 "special damage type" 1 // "special item description" "Deals damage based on target's max health" "fire rate penalty" 1.25 } // sniper ItemAttributes // big bowman { ItemName "The Huntsman" "fire rate bonus" 0.6 "head scale" 0.7 "move speed bonus" 0.85 "model scale" 1.5 "arrow mastery" 1 // give multiple arrows "max health additive bonus" 1075 "mult_patient_overheal_penalty_active" 0 "voice pitch scale" 0.9 "health from packs decreased" 0.75 } ItemAttributes { ItemName "Festive Huntsman" "fire rate bonus" 0.6 "head scale" 0.7 "move speed bonus" 0.85 "model scale" 1.5 "arrow mastery" 1 // give multiple arrows "max health additive bonus" 1075 "mult_patient_overheal_penalty_active" 0 "voice pitch scale" 0.9 "health from packs decreased" 0.75 } ItemAttributes { ItemName "The Fortified Compound" "fire rate bonus" 0.6 "head scale" 0.7 "move speed bonus" 0.85 "model scale" 1.5 "arrow mastery" 1 // give multiple arrows "max health additive bonus" 1075 "mult_patient_overheal_penalty_active" 0 "voice pitch scale" 0.9 "health from packs decreased" 0.75 } ItemAttributes { ItemName "The Machina" "sniper full charge damage bonus" 3 } ItemAttributes { ItemName "Shooting Star" "sniper full charge damage bonus" 3 } ItemAttributes { ItemName "The Bazaar Bargain" "faster reload rate" 0.5 "headshot damage increase" 2 "mult sniper charge after headshot" 1.4 "SRifle Charge rate increased" 1.5 // counteract bazaar charge penalty } ItemAttributes { ItemName "The Hitman's Heatmaker" "faster reload rate" 0.25 "headshot damage increase" 1.25 } ItemAttributes { ItemName "The Classic" "explosive sniper shot" 5 } ItemAttributes // radius pisser { ItemName "The Sydney Sleeper" "radius sleeper" 1 } ItemAttributes { Classname tf_weapon_sniperrifle "explosive sniper shot" 3 "mult dmg vs giants" 2 } ItemAttributes // spy immunity { ItemName "The Razorback" "cannot be backstabbed" 1 } ItemAttributes // more health { ItemName "Darwin's Danger Shield" "max health additive bonus" 50 } ItemAttributes // higher regen and knockback immunity { ItemName "The Cozy Camper" "health regen" 8 "aiming knockback resistance" 0 } // spy ItemAttributes // giving the knives armor pierce { ItemName TF_WEAPON_KNIFE "armor piercing" 150 } ItemAttributes { ItemName "Festive Knife 2011" "armor piercing" 150 } ItemAttributes { ItemName "The Sharp Dresser" "armor piercing" 150 } ItemAttributes { ItemName "The Black Rose" "armor piercing" 150 } ItemAttributes // weaker backstab { ItemName "Conniver's Kunai" "armor piercing" 100 "max health additive penalty" 0 } ItemAttributes { ItemName "The Big Earner" "armor piercing" 100 "max health additive penalty" 0 } ItemAttributes { ItemName "Your Eternal Reward" "armor piercing" 50 } ItemAttributes { ItemName "The Wanga Prick" "armor piercing" 50 } ItemAttributes { ItemName "The Spy-cicle" "armor piercing" 100 "applies snare effect" 0.5 // chilling touch } ItemAttributes { ItemName "The Ambassador" "crit_dmg_falloff" 0 "no damage falloff" 1 } ItemAttributes { ItemName "Festive Ambassador" "crit_dmg_falloff" 0 "no damage falloff" 1 } ItemAttributes { ItemName TF_WEAPON_BUILDER_SPY "sapper damage leaches health" 10 "robo sapper" 2 } ItemAttributes { ItemName "Festive Sapper" "sapper damage leaches health" 10 "robo sapper" 2 } ItemAttributes { ItemName "The Ap-Sap" "sapper damage leaches health" 10 "robo sapper" 2 } ItemAttributes { ItemName "The Red-Tape Recorder" "sapper damage penalty" 0.2 "robo sapper" 1 } CustomWeapon // better than just rebalancing { // scout "The Punch Packer" // beggars scattergun { OriginalItemName "TF_WEAPON_SCATTERGUN" "faster reload rate" 0.85 "panic_attack" 1 "fire rate bonus" 0.1 "clip size bonus" 1.5 "auto fires full clip" 1 // "mult_spread_scales_consecutive" 1 } // soldier // pyro "The Subterranean Sun" // beams { OriginalItemName "The Flare Gun" "provide on active" 1 // "special item description" "Disables weapon switch once active" "override projectile type" 2 "damage bonus" 4 // "disable weapon switch" 1 "projectile trail particle" spell_fireball_small_trail_blue // test later "custom projectile model" models/weapons/w_models/w_drg_ball.mdl "custom weapon fire sound" "crush/armcannon_shoot.wav" "custom impact sound" weapons\cow_mangler_explode.wav "explosion particle" drg_cow_explosioncore_charged_blue "custom item model" "models\weapons\c_models\c_subsun\c_subsun.mdl" "blast radius decreased" 0.5 // no blast radius at all? "reload time increased" 1.2 "projectile speed increased" 1.5 "energy weapon no ammo" 1 "Set DamageType Ignite" 1 "projectile gravity" 200 } // demo "The Giga-Mallet" // getting me mallet { OriginalItemName "The Eyelander" "damage bonus" 2 "fire rate bonus" 1.25 "melee cleave attack" 1 "critboost on kill" 2 "apply z velocity on damage" -8000 "custom item model" "models\weapons\c_models\c_big_mallet\c_big_mallet.mdl" "custom kill icon" necro_smasher "custom hit sound" "weapons/halloween_boss/knight_axe_hit.wav" "melee range multiplier" 1.15 } // heavy "The Deflector" { OriginalItemName "Deflector" "damage bonus" 1.2 "attack projectiles" 2 } // engineer "The B.M.M.H" // time to shake the ground { OriginalItemName TF_WEAPON_SHOTGUN_PRIMARY // is this engineer "custom item model" "models\weapons\c_models\c_bmmh\c_bmmh.mdl" "custom weapon fire sound" "crush/hubby_shoot.wav" "clip size penalty" 0.5 "damage bonus" 1.5 "bullets per shot bonus" 1.5 "explosive bullets" 116 "fire rate penalty" 1.10 "blast dmg to self increased" 0.5 // lower self damage? "spread penalty" 1.33 } // medic "The Shield Projector" // yes { OriginalItemName "The Quick-Fix" "generate rage on heal" 1 "increase buff duration" 3 "ubercharge rate bonus" 0 "overheal decay penalty" 0.1 "heal rate bonus" 1.25 } // spy "The Big Shot" // giving spy custom weapons still sucks { OriginalItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 2 "special item description" "It's time to be a BIG SHOT!" "hand scale" 3 "damage bonus" 3 "cannot disguise" 1 "max health additive bonus" 75 "override projectile type" 2 "projectile speed increased" 2 "projectile trail particle" bullet_distortion_trail "no self blast dmg" 2 // wtf "cannot pick up intelligence" -1 "custom item model" "models/weapons/c_models/c_ttg_sam_gun/c_ttg_sam_gun.mdl" "custom projectile model" "models/weapons/w_models/w_rocketbullet.mdl" "custom kill icon" samrevolver } } ExtraLoadoutItems // have the guns available here with /missionitems { Scout { Primary "The Punch Packer" } Pyro { Secondary "The Subterranean Sun" } Demoman { Melee "The Giga-Mallet" } Heavyweapons { Primary "The Deflector" } Engineer { Primary "The B.M.M.H" } Medic { Secondary "The Shield Projector" } Spy // spy is very stupid in his loadout set-up { Secondary "The Big Shot" } } PlayerAttributes // more guff for the players themselves { "crit mod disabled" 0 // you get no crits because you're bots "cannot upgrade" 1 // making a mission like this has been nothing but a mistake Scout // minigiant scout now? { "head scale" 0.7 "model scale" 1.4 "max health additive bonus" 525 "mult_patient_overheal_penalty_active" 0 "voice pitch scale" 0.9 "dmg from ranged reduced" 0.5 "health from packs decreased" 0.75 } Engineer { "max health additive bonus" 150 // more in line with valve's engineer guff "upgrade rate decrease" 2 // yep "mult dispenser rate" 2 // give dispenser something because infinite ammo "engy dispenser radius increased" 6 "mult teleporter recharge rate" 0.3 // like bot teleporter works "engineer teleporter build rate multiplier" 1.25 // convenient "dmg from ranged reduced" 0.5 } Spy { "cannot pick up intelligence" 1 // mission support bit "teleport instead of die" 1 // that's right, you don't get to die! "dmg from ranged reduced" 0.5 } Sniper { "mult sniper charge per sec with enemy under crosshair" 2 "sniper beep with enemy under crosshair" 1 "dmg from ranged reduced" 0.5 } Medic { "dmg from ranged reduced" 0.5 "mult medigun range" 1.25 } Pyro { "is miniboss" 1 "model scale" 1.75 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "max health additive bonus" 2825 "SPELL: Halloween voice modulation" 1 "health from healers increased" 2 "mult_patient_overheal_penalty_active" 0 "health from packs decreased" 0.5 } Soldier { "is miniboss" 1 "model scale" 1.75 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "max health additive bonus" 3600 "SPELL: Halloween voice modulation" 1 "health from healers increased" 2 "mult_patient_overheal_penalty_active" 0 "health from packs decreased" 0.5 } Heavyweapons // yes make him big too for the time being { "is miniboss" 1 "model scale" 1.75 "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "max health additive bonus" 4700 "SPELL: Halloween voice modulation" 1 "health from healers increased" 2 "mult_patient_overheal_penalty_active" 0 "health from packs decreased" 0.5 } Demoman // big number three { "is miniboss" 1 "model scale" 1.75 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "max health additive bonus" 2825 "SPELL: Halloween voice modulation" 1 "health from healers increased" 2 "override footstep sound set" 7 "move speed bonus" 0.5 "mult_patient_overheal_penalty_active" 0 "health from packs decreased" 0.5 } } PointTemplates // the other side of make shit work { ScaryAlarmTimer // simple numbers game: when the clock hits zero, you lose! { NoFixup 1 game_text_tf // inform when bomb is arriving { background 3 display_to_team 3 icon "ico_notify_thirty_seconds" message "Bomb will arrive in thirty seconds!" targetname "text_reverse_msg30" } game_text_tf // ditto { background 3 display_to_team 3 icon "ico_notify_ten_seconds" message "Bomb will arrive in ten seconds!" targetname "text_reverse_msg10" } game_text_tf // it begins { background 3 display_to_team 3 icon "ico_notify_flag_moving_alt" message "Bomb has arrived! Game on!" targetname "text_reverse_arrival" } game_text_tf // backup { background 3 display_to_team 3 icon "ico_notify_flag_moving_alt" message "Reinforcements have arrived!" targetname "text_reverse_backup" } game_text_tf // inform when bomb is arriving { background 3 display_to_team 3 icon "ico_notify_thirty_seconds" message "You have one minute remaining!" targetname "text_reverse_60sec_warning" } game_text_tf // ditto { background 3 display_to_team 3 icon "ico_notify_ten_seconds" message "You have thirty seconds remaining!" targetname "text_reverse_30sec_warning" } game_text_tf // good effort { background 3 display_to_team 3 icon "ico_demolish" message "You lose, homeboy!" targetname "redwin_gametext" } game_text_tf { background 3 display_to_team 3 icon "ico_demolish" message "wtf you pit the bomb!!!!" targetname "redwin_pittext" } } fill_meter // using whatever the fuck datamaps are, give players full bars { OnSpawnOutput { Target "!activator" Action "$SetProp$m_flRageMeter" Param "100" } } plague // to ensure the plague effect is removed properly, thanks Lite { NoFixup 1 logic_case { "targetname" "plaguetest" "ondefault" "!activator,$removecond,25,0.1,-1" } } corelogic // this shit also needs to be here so things work properly { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "item_ammopack*,Kill,,0,-1" //don't need these, you got inf ammo "OnMapSpawn" "filter_gatebot*,Kill,,0,-1" // piss off and lemme cap "OnMapSpawn" "upgradestationfront_station,Kill,,0,-1" "OnMapSpawn" "dice_capturepoint_nav,Kill,,0,-1" "OnMapSpawn" "dice_capturepoint_nav_point,Kill,,0,-1" "OnMapSpawn" "trigger_add_tf_player_condition,Kill,,0,-1" "OnMapSpawn" "dice_capturepoint_alarm_timer,Kill,,0,-1" "OnMapSpawn" "spawnbot,Kill,,0,-1" "OnMapSpawn" "item_healthkit*,SetTeam,3,0,-1" //swap the kits // sneak our forcefield shit into the wave relays "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger blocker_spawns:Disable:0:-1" "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger frontspawn_gateprops:Disable:0:-1" "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger navman:Recomputeblockers:0:-1" "OnMapSpawn" "respawnroom_red_door_*,AddOutput,OnOpen navman:Recomputeblockers:0:1" // insurance "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blocker_spawns:Enable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger frontspawn_gateprops:Enable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger spawn_reset_relay:Trigger:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger fields_reset_relay:Trigger:0:-1" "OnMapSpawn" "deathpit_relay,AddOutput,OnTrigger redwin_deathpit:Trigger:0:-1" // deathpit gag } game_forcerespawn { targetname respawner } logic_relay //trigger this to kill all players and buildings { "targetname" "kill_relay" "OnTrigger" "obj_dispenser,RemoveHealth,5000,0,-1" "OnTrigger" "obj_sentrygun,RemoveHealth,5000,0,-1" "OnTrigger" "obj_teleporter,RemoveHealth,5000,0,-1" "OnTrigger" "player,SetHealth,-10000,0,-1" } logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "tankbossred,DestroyIfAtCapturePoint,,0,-1" "OnTrigger" "redwin_gametext,Display,,0,-1" "OnTrigger" "player,$DisplayTextChat,You lose homeboy!,0,-1" } logic_relay //death pit gag { "origin" "0 0 0" "targetname" "redwin_deathpit" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "redwin_pittext,Display,,0,-1" "OnTrigger" "player,$DisplayTextChat,wtf you pit the bomb!!!!,0,-1" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_a" mins "-1055 -5504 -256" maxs "464 -4992 256" "Entity" "gate_holdout_a" "filtername" "filter_tower" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_a" mins "-512 -128 -44" maxs "512 128 44" "Entity" "gate_holdout_a" "filtername" "filter_tower" "origin" "-128 -5120 -212" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_b" mins "-256 -432 -76" maxs "256 432 76" "Entity" "gate_holdout_b" "filtername" "filter_tower" "origin" "-192 -2448 -52" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_b" mins "-288 -240 -76" maxs "288 240 76" "Entity" "gate_holdout_b" "filtername" "filter_tower" "origin" "352 -2256 -52" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_b" mins "64 -2880 136" maxs "512 -2496 176" "Entity" "gate_holdout_b" "filtername" "filter_tower" "origin" "288.19 -2688 156" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_b" mins "-224 -64 -100" maxs "224 64 100" "Entity" "gate_holdout_b" "filtername" "filter_tower" "origin" "416 -2560 35.5" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" "Task" "2" "Value" "444" } func_nav_prerequisite // defensive spots near the gate(s) { "targetname" "gate_holdout_c" mins "-420 -240 -19" maxs "421 240 20" "Entity" "gate_holdout_c" "filtername" "filter_tower" "origin" "212.92 -762.81 4" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" // what the fuck why are there two?? "Task" "2" "Value" "444" } filter_tf_bot_has_tag // tell bots to hang back at the gates { "Negated" "0" "require_all_tags" "1" "tags" "gate_defense" "targetname" "filter_tower" } game_round_win // älä koske { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } ForceField_SetUp // stay in spawn if the wave hasn't started { NoFixup 1 func_forcefield { disablereceiveshadows 0 origin "786 -7600 672" renderamt 255 // dunno if they're all needed but lets put them anyway rendercolor "255 255 255" renderfx 0 rendermode 10 // Don't Render StartDisabled 0 targetname blocker_spawns TeamNum 2 mins "-178 -16 -544" maxs "178 16 544" } func_forcefield { disablereceiveshadows 0 origin "-160 -8240 -72" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_spawns TeamNum 2 mins "-96 -16 -136" maxs "96 16 136" } func_forcefield // janky tunnel { disablereceiveshadows 0 origin "-816 -7520 -103" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_spawns TeamNum 2 mins "-16 -104 -108" maxs "16 104 108" } func_regenerate // tunnel regen { StartDisabled 0 TeamNum 3 associatedmodel "bombpath_arrows_town_middle" // block console error mins "-256 -269 -128" maxs "256 269 128" origin "-1024 -7693 -128" } func_regenerate // middle regen { StartDisabled 0 TeamNum 3 associatedmodel "bombpath_arrows_town_middle" // block console error mins "-380 -238 -128" maxs "380 238 128" origin "-96 -8736 -96" } func_regenerate // right regen { StartDisabled 0 TeamNum 3 associatedmodel "bombpath_arrows_town_middle" // block console error mins "-448 -256 -120" maxs "448 256 120" origin "1056 -7872 248" } } ForceField_Front // don't let players rush until the bomb gets far enough { NoFixup 1 // stop func_forcefield { disablereceiveshadows 0 origin "-128 -4832 0" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_front TeamNum 2 mins "-192 -96 -256" maxs "192 96 256" } func_forcefield { disablereceiveshadows 0 origin "512 -4976 4" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_front TeamNum 2 mins "-128 -16 -124" maxs "128 16 124" } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-114 -4906 -37" angles "0 180 0" targetname blocker_wallprop_A disableshadows 1 } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "513 -4938 22" angles "0 180 0" targetname blocker_wallprop_A disableshadows 1 } trigger_hurt // collect money behind field { damage 0 targetname cashcollect_front origin "48 -4496.5 -116" startdisabled 0 spawnflags 1 mins "-720 -432.5 -76" maxs "720 432.5 76" } func_flagdetectionzone { origin "-128 -4960 0" targetname bombdetector_front TeamNum 3 mins "-256 -32 -256" maxs "256 32 256" "OnStartTouchFlag" "blocker_front,Disable,,0,-1" "OnStartTouchFlag" "bombdetector_front,Disable,,0,-1" "OnStartTouchFlag" "bombhint_front,Disable,,0,-1" "OnStartTouchFlag" "cashcollect_front,Disable,,0,-1" "OnStartTouchFlag" "blocker_wallprop_A,Disable,,0,-1" "OnStartTouchFlag" "pushback_red_1,Trigger,,0,-1" } } ForceField_Warning { NoFixup 1 trigger_multiple { origin "-128 -5020 0" filtername filter_blu spawnflags 1 targetname bombhint_front wait 1 mins "-256 -92 -256" maxs "256 92 256" StartDisabled 0 "OnStartTouchAll" "bombhint_msg,Show,,0,-1" "OnStartTouchAll" "bombhint_front,Disable,,0,-1" } training_annotation { display_text "The bomb will disable the field when brought near it!" lifetime 3 targetname bombhint_msg Origin "-163 -5009 -88" // maybe?? } } ForceField_Hatch { NoFixup 1 func_forcefield { disablereceiveshadows 0 // origin "-192 -1936 48" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname "blocker_hatch" TeamNum 2 mins "-352 -2016 -128" maxs "-32 -1856 224" } func_forcefield { disablereceiveshadows 0 // origin "-1056 -1840 96" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname "blocker_hatch" TeamNum 2 // maybe replace this with a visualizer instead? mins "-1248 -1920 -64" maxs "-864 -1760 256" } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-199 -1959 80" angles "0 180 0" targetname blocker_wallprop_B disableshadows 1 } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-1046 -1857 83" angles "0 180 0" targetname blocker_wallprop_B disableshadows 1 } trigger_hurt // collect money behind field { damage 0 targetname cashcollect_hatch origin "-536 -1591.5 -16" startdisabled 0 spawnflags 1 mins "-888 -425.5 -48" maxs "888 425.5 48" } func_flagdetectionzone { origin "-176 -2048 80" targetname bombdetector_hatch TeamNum 3 mins "-256 -32 -144" maxs "256 32 144" "OnStartTouchFlag" "blocker_hatch,Disable,,0,-1" "OnStartTouchFlag" "bombdetector_hatch,Disable,,0,-1" "OnStartTouchFlag" "blocker_wallprop_B,Disable,,0,-1" "OnStartTouchFlag" "cashcollect_hatch,Disable,,0,-1" "OnStartTouchFlag" "pushback_red_2,Trigger,,0,-1" } } Spawn_Relays // triggered when bomb reaches field, pushes RED back { NoFixup 1 logic_relay // from A to B { "targetname" "pushback_red_1" "OnTrigger" "spawnbot_gate_a,Disable,,0,-1" "OnTrigger" "spawnbot_gate_a_flank,Disable,,0,-1" "OnTrigger" "gate_holdout_a,Disable,,0,-1" "OnTrigger" "spawnbot_gate_b,Enable,,0,-1" "OnTrigger" "spawnbot_gate_b_flank,Enable,,0,-1" "OnTrigger" "gate_holdout_b,Enable,,0,-1" } logic_relay // from B to hatch { "targetname" "pushback_red_2" "OnTrigger" "spawnbot_gate_b,Disable,,0,-1" "OnTrigger" "spawnbot_gate_b_flank,Disable,,0,-1" "OnTrigger" "gate_holdout_b,Disable,,0,-1" "OnTrigger" "spawnbot_gate_c,Enable,,0,-1" "OnTrigger" "spawnbot_gate_c_giant,Enable,,0,-1" "OnTrigger" "gate_holdout_c,Enable,,0,-1" } logic_relay // back to A { "targetname" "spawn_reset_relay" "OnTrigger" "spawnbot_gate_a,Enable,,0,-1" "OnTrigger" "spawnbot_gate_a_flank,Enable,,0,-1" "OnTrigger" "gate_holdout_a,Enable,,0,-1" "OnTrigger" "spawnbot_gate_b,Disable,,0,-1" "OnTrigger" "spawnbot_gate_b_flank,Disable,,0,-1" "OnTrigger" "gate_holdout_b,Disable,,0,-1" "OnTrigger" "spawnbot_gate_c,Disable,,0,-1" "OnTrigger" "spawnbot_gate_c_giant,Disable,,0,-1" "OnTrigger" "gate_holdout_c,Disable,,0,-1" } logic_relay // dunno if this has become obsolete now { "targetname" "fields_reset_relay" // putting this here "OnTrigger" "blocker_front,Enable,,0,-1" "OnTrigger" "blocker_wallprop_A,Enable,,0,-1" "OnTrigger" "blocker_hatch,Enable,,0,-1" "OnTrigger" "blocker_wallprop_B,Enable,,0,-1" } } Stopwatch_Warp // so bots don't gank the timer { NoFixup 1 info_target { targetname "timer_warp" origin "640 -3711 -1216" } trigger_teleport { filtername "filter_stopwatch" origin "-340 -236 96" spawnflags 1 StartDisabled 0 target "timer_warp" targetname "ticker_rescue" mins "-140 -156 -32" maxs "140 156 32" } filter_tf_bot_has_tag { Negated "Allow entities that match criteria" require_all_tags 1 tags "bot_stopwatch" targetname "filter_stopwatch" } filter_tf_bot_has_tag { Negated 1 require_all_tags 1 tags "bot_stopwatch" targetname "filter_nostopwatch" } } Front_Gates { NoFixup 1 prop_dynamic { model "models/props_manor/gothic_gate_01b.mdl" modelscale 1.5 solid 0 targetname "frontspawn_gateprops" disableshadows 1 } } Tunnel_Prop // posh { NoFixup 1 prop_dynamic { model "models/props_farm/fence_metal01a.mdl" disableshadows 1 solid 6 } } Hatch_Prop // posh { NoFixup 1 prop_dynamic { model "models/props_medieval/wallstone001_256.mdl" disableshadows 1 solid 6 } } Spawn_Marker // posh { NoFixup 1 prop_dynamic { model models/props_mvm/robot_spawnpoint.mdl disableshadows 1 solid 0 } } Cave_Lights // lemme light your way~ { NoFixup 1 light_dynamic { "_light" "255 249 234 275" distance "450" brightness "1" origin "-1170 -7474 -109" } light_spot { "_cone" "60" "_exponent" "1" "_inner_cone" "45" targetname "cave_lighting" "_light" "255 249 234 275" origin "-1170 -7474 -115" "_lightHDR" "-1 -1 -1 1" "_lightscaleHDR" "1" "_quadratic_attn" "1" "spawnflags" "0" } } Arms_Box { NoFixup 1 prop_dynamic { model "models/workshop/player/items/engineer/hwn2020_ghoul_box/hwn2020_ghoul_box.mdl" modelscale 6 origin "80 0 -280" angles "30 0 0" lightingorigin "bombpath_arrows_town_middle" skin 1 disableshadows 1 } // prop_dynamic // { // modelscale 2 // model "models/weapons/c_models/c_grenadelauncher/c_grenadelauncher.mdl" // origin "25 -50 70" // angles "0 90 0" // rendermode 1 // hologram // fademaxdist 300 // fademindist 100 // fadescale 1 // lightingorigin "bombpath_arrows_town_middle" // disableshadows 1 // } func_upgradestation { mins "-96 -96 -96" maxs "96 96 96" } } BlackBoxRocket { prop_dynamic { model "models/workshop/player/items/soldier/taunt_rocket_jockey/taunt_rocket_jockey.mdl" angles "0 90 0" origin "0 0 -24" skin 1 disableshadows 1 } } Spawn_Nudge // get out of spawn, you fucks { NoFixup 1 // argh trigger_push // left side { origin "32 -206 80" pushdir "0 270 0" spawnflags 1 speed 512 StartDisabled 0 mins "-80 -104 -96" maxs "80 104 96" } trigger_push // left side { origin "-108 -276 80" pushdir "0 0 0" spawnflags 1 speed 512 StartDisabled 0 mins "-60 -20 -96" maxs "60 20 96" } trigger_push // right side { origin "-608 -462 80" pushdir "10 270 0" spawnflags 1 speed 512 StartDisabled 0 mins "-80 -104 -96" maxs "80 104 96" } trigger_push // right side { origin "-510 -508 80" pushdir "0 180 0" spawnflags 1 speed 512 StartDisabled 0 mins "-18 -44 -96" maxs "18 44 96" } trigger_push // get off the upgrade station { origin "-368 -364 119.87" pushdir "0 180 0" spawnflags 1 filtername filter_nostopwatch speed 512 StartDisabled 0 mins "-160 -28 -56" maxs "160 28 56" } tf_point_nav_interface // in case throwing them out somehow isn't enough { targetname navman } } Iron_Lich_Cosmetics // HEDACT.WAV { //NoFixup 1 prop_dynamic // -15 0 0 angles when open { model "models/player/items/heavy/skull_horns_b.mdl" disableshadows 1 modelscale 2.95 solid 0 //targetname lich_skull origin "-20 0 16" } prop_dynamic // 15 0 0 angles when open { model "models/player/items/heavy/big_jaw.mdl" disableshadows 1 modelscale 2.95 solid 0 //parentname lich_skull origin "-11 -0 16" // 22 -16 24 lefteye, 22 16 24 righteye } } Tornado // lich spell { // KeepAlive 1 OnParentKilledOutput // remove the particle effect { Target tornado_eff Action kill } trigger_hurt { damage 70 filtername filter_blu nodmgforce 0 damagetype 4 origin "0 0 0" spawnflags 1 mins "-56 -56 -96" maxs "56 56 96" targetname tornado_eff } trigger_push { origin "0 0 0" pushdir "0 90 0" spawnflags 1 speed 192 filtername filter_blu mins "-48 -48 -96" maxs "48 48 96" targetname tornado_eff } info_particle_system { targetname tornado_eff effect_name utaunt_tornado_parent_white start_active 1 } } Thunder_Wave // lich spell { info_particle_system // first row { targetname lightning_row_1 effect_name utaunt_lightning_bolt origin "48 -48 16" } info_particle_system { targetname lightning_row_1 effect_name utaunt_lightning_bolt origin "64 -0 16" } info_particle_system { targetname lightning_row_1 effect_name utaunt_lightning_bolt origin "48 48 16" } info_particle_system // second { targetname lightning_row_2 effect_name utaunt_lightning_bolt origin "112 -80 16" } info_particle_system { targetname lightning_row_2 effect_name utaunt_lightning_bolt origin "128 -0 16" } info_particle_system { targetname lightning_row_2 effect_name utaunt_lightning_bolt origin "112 80 16" } info_particle_system { targetname lightning_row_3 effect_name utaunt_lightning_bolt origin "176 -112 16" } info_particle_system { targetname lightning_row_3 effect_name utaunt_lightning_bolt origin "192 -0 16" } info_particle_system { targetname lightning_row_3 effect_name utaunt_lightning_bolt origin "176 112 16" } info_particle_system { targetname lightning_row_4 effect_name utaunt_lightning_bolt origin "240 144 16" } info_particle_system { targetname lightning_row_4 effect_name utaunt_lightning_bolt origin "256 -0 16" } info_particle_system { targetname lightning_row_4 effect_name utaunt_lightning_bolt origin "240 -144 16" } trigger_hurt // first row's hurts { targetname lightning_hurt_1 damage 1400 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "48 48 64" } trigger_hurt { targetname lightning_hurt_1 damage 1400 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "64 0 64" } trigger_hurt { targetname lightning_hurt_1 damage 1400 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "48 -48 64" } trigger_hurt { targetname lightning_hurt_2 damage 1200 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "112 80 64" } trigger_hurt { targetname lightning_hurt_2 damage 1200 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "128 0 64" } trigger_hurt { targetname lightning_hurt_2 damage 1200 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "112 -80 64" } trigger_hurt { targetname lightning_hurt_3 damage 1000 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "176 112 64" } trigger_hurt { targetname lightning_hurt_3 damage 1000 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "192 0 64" } trigger_hurt { targetname lightning_hurt_3 damage 1000 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "176 -112 64" } trigger_hurt { targetname lightning_hurt_4 damage 800 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "240 144 64" } trigger_hurt { targetname lightning_hurt_4 damage 800 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "256 0 64" } trigger_hurt { targetname lightning_hurt_4 damage 800 damagetype 256 // shock spawnflags 1 filtername filter_blu StartDisabled 1 mins "-16 -16 -64" maxs "16 16 64" origin "240 -144 64" } ambient_generic { targetname lightning_sound spawnflags 49 health 10 // this is volume radius 18000 message "misc\halloween\spell_lightning_ball_impact.wav" } logic_timer // makes the wave do something { targetname lightning_timer RefireTime 7 "OnTimer" "lightning_sound,PlaySound,,0,-1" "OnTimer" "lightning_hurt_1,Enable,,0,-1" "OnTimer" "lightning_row_1,Start,,0,-1" "OnTimer" "lightning_hurt_1,Disable,,0.3,-1" "OnTimer" "lightning_row_1,Stop,,0.3,-1" "OnTimer" "lightning_sound,PlaySound,,0.7,-1" "OnTimer" "lightning_hurt_2,Enable,,0.7,-1" "OnTimer" "lightning_row_2,Start,,0.7,-1" "OnTimer" "lightning_hurt_2,Disable,,1,-1" "OnTimer" "lightning_row_2,Stop,,1,-1" "OnTimer" "lightning_sound,PlaySound,,1.4,-1" "OnTimer" "lightning_hurt_3,Enable,,1.4,-1" "OnTimer" "lightning_row_3,Start,,1.4,-1" "OnTimer" "lightning_hurt_3,Disable,,1.7,-1" "OnTimer" "lightning_row_3,Stop,,1.7,-1" "OnTimer" "lightning_sound,PlaySound,,2.1,-1" "OnTimer" "lightning_hurt_4,Enable,,2.1,-1" "OnTimer" "lightning_row_4,Start,,2.1,-1" "OnTimer" "lightning_hurt_4,Disable,,2.5,-1" "OnTimer" "lightning_row_4,Stop,,2.5,-1" } } Sentrygun { obj_sentrygun { teamnum 2 spawnflags 8 defaultupgrade 0 // lvl1 SolidToPlayer 0 } } Sentry_Mover // for round 7 { OnSpawnOutput { Target "sentry" Action "setbuilder" Delay 0.00 } obj_sentrygun { targetname sentry teamnum 2 spawnflags 8 defaultupgrade 0 // lvl1 SolidToPlayer 0 health 500 "OnDestroyed" "!parent,$Suicide,,0,-1" } } Redtank_Glowie // for Round 5 { tf_glow { target tankbossred targetname glowie GlowColor "255 0 0 255" Mode 0 } } Bombtank_Prop { //NoFixup 1 prop_dynamic { "model" "models/props_trainyard/bomb_eotl_red.mdl" "solid" "0" "modelscale" 1 "angles" "0 180 0" "origin" "0 0 24" } trigger_hurt { damage 100 damagetype 1 origin "96 0 0" spawnflags 64 filtername noplayers // don't crush players mins "40 -40 -45" maxs "64 40 51" "OnHurt" "!activator,SetHealth,0,,-1" "OnHurt" "!parent,SetHealth,0,,-1" // parent should be the redtank } filter_activator_class { targetname noplayers Negated 1 filterclass player } } Camera_Crew_Payload { NoFixup 1 point_viewcontrol { angles "7 99 0" origin "-83 -1819 48" acceleration 0 deceleration 0 spawnflags 0 //target tankbossred targetname camera_payload wait 10 interpolatepositiontoplayer 0 speed 0 } env_fade // make the transition less abrupt { targetname fade_out duration 1.8 holdtime 0.5 rendercolor "0 0 0" // 100% black } env_fade { targetname fade_in duration 2 spawnflags 1 rendercolor "0 0 0" } logic_relay { targetname crewcam_payload "OnTrigger" "respawner,ForceTeamRespawn,2,8,-1" "OnTrigger" "camera_payload,$EnableAll,,0,-1" // apparently regular command doesn't work here?? "OnTrigger" "camera_payload,$DisableAll,,8,-1" // thank you, whoever hired the camera crew for condemned "OnTrigger" "fade_out,Fade,,6,-1" "OnTrigger" "fade_in,Fade,,8,-1" "OnTrigger" "camera_payload,$DisableAll,,10,-1" // safety "OnTrigger" "camera_payload,$DisableAll,,12,-1" "OnTrigger" "camera_payload,$DisableAll,,14,-1" "OnTrigger" "camera_payload,$DisableAll,,16,-1" "OnTrigger" "camera_payload,$DisableAll,,18,-1" "OnTrigger" "camera_payload,$DisableAll,,20,-1" "OnTrigger" "camera_payload,$DisableAll,,22,-1" "OnTrigger" "camera_payload,$DisableAll,,24,-1" "OnTrigger" "camera_payload,$DisableAll,,26,-1" "OnTrigger" "camera_payload,$DisableAll,,28,-1" "OnTrigger" "camera_payload,$DisableAll,,30,-1" } } Tankround_Stalematent // move things along { logic_relay { "targetname" "stalemate_buster" "OnTrigger" "tankboss,Setspeed,80,0,-1" } logic_relay // warp bomb to tank { targetname boss_dead_bombwarp OnTrigger "bomb_warp_burhsg,Enable,,0,-1" } trigger_teleport { targetname bomb_warp_burhsg spawnflags 1 target warp_target filtername bossfilter origin "-1184 -7872 -248" "mins" "-192 -160 -64" "maxs" "192 160 64" } filter_tf_bot_has_tag { targetname bossfilter tags swooce require_all_tags 1 Negated "Allow entities that match criteria" } logic_timer { RefireTime 150 "OnTimer" "stalemate_buster,Trigger,,0,-1" "OnTimer" "!self,Disable,,0,-1" } } BlueTank_Warp { NoFixup 1 KeepAlive 1 prop_dynamic { targetname warp_target "model" "models/empty.mdl" "solid" "0" "modelscale" 1 "angles" "0 0 0" "origin" "0 0 48" } } EngieBoss_HatchField { NoFixup 1 func_forcefield { disablereceiveshadows 0 // origin "-192 -1936 48" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname bossfight_blocker TeamNum 2 mins "-352 -2016 -128" maxs "-32 -1856 224" } func_forcefield { disablereceiveshadows 0 // origin "-1056 -1840 96" renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname bossfight_blocker TeamNum 2 mins "-1248 -1920 -64" maxs "-864 -1760 256" } func_forcefield // pit blocker { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 1 targetname bossfight_blocker TeamNum 2 mins "-1048 -3776 -160" maxs "-1024 -3520 112" } func_forcefield { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 1 targetname bossfight_blocker TeamNum 3 mins "-1048 -3776 -160" maxs "-1024 -3520 112" } prop_dynamic // pit wall { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-1017 -3539 -65" angles "0 270 0" StartDisabled 1 targetname bossfight_wallprop disableshadows 1 } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-199 -1959 80" angles "0 180 0" StartDisabled 1 targetname bossfight_wallprop disableshadows 1 } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-1046 -1857 83" angles "0 180 0" StartDisabled 1 targetname bossfight_wallprop disableshadows 1 } logic_relay { targetname hatchfield_relay "OnTrigger" "bombdetector_bossfight,Disable,,0,1" // fire only once to avoid overlapping triggers "OnTrigger" "bossfight_blocker,Enable,,0,1" "OnTrigger" "bossfight_wallprop,Enable,,0,1" "OnTrigger" "field_activate,PlaySound,,0,1" "OnTrigger" "bombdetector_hatch,Disable,,0,1" "OnTrigger" "engieboss_smacktalk,PlaySound,,0.5,1" "OnTrigger" "player,$DisplayTextChat,Now jus' stop trying to mess with my contraptions.,0.5,-1" "OnTrigger" "crewcam_engieboss,Trigger,,3,1" } logic_relay // drop the field when boss dies { targetname bossfight_end "OnTrigger" "bossfight_blocker,Disable,,0,-1" "OnTrigger" "engieboss_bossmusic,StopSound,,0,-1" "OnTrigger" "bossfight_wallprop,Disable,,0,-1" "OnTrigger" "spawnbot_gate_b_nostop,Disable,,0,-1" "OnTrigger" "spawnbot_engieboss_support,Disable,,0,-1" "OnTrigger" "bossfight_stunner,Enable,,0,-1" } func_flagdetectionzone // turn on the fields and commence the boss fight { origin "-192 -1936 48" // as a secondary so people don't try to bypass the boss targetname bombdetector_bossfight TeamNum 3 mins "-256 -32 -144" maxs "256 32 144" "OnStartTouchFlag" "hatchfield_relay,Trigger,,0,-1" } trigger_add_tf_player_condition // disable remaining enemies when boss dies { targetname bossfight_stunner StartDisabled 1 condition 71 duration -1 spawnflags 1 filtername filter_red origin "-48 -4960 264" mins "-1776 -3040 -584" maxs "1776 3040 584" } trigger_hurt // nah that stun don't work, just kill em { targetname bossfight_stunner damage 50 filtername filter_red StartDisabled 1 targetname bossfight_stunner spawnflags 1 damagetype 1024 // energybeam origin "-48 -4960 264" // stop fucking doing this mins "-1776 -3040 -584" maxs "1776 3040 584" } ambient_generic { health 10 message #*ambient\halloween\mysterious_perc_07.wav radius 20 spawnflags 49 targetname field_activate } ambient_generic { health 10 message #*vo\mvm\norm\engineer_mvm_dominationspy01.mp3 radius 20 spawnflags 49 targetname engieboss_smacktalk } } EngieBoss_Skyray // heads up { NoFixup 1 ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_1 origin "-645 -4263 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_1 origin "-646 -4263 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_1 origin "-646 -4263 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_1 spawnflags 1 damagetype 1024 // energybeam origin "-645.39 -4262.72 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_1 "OnTrigger" "skyray_beam_1,Start,,0,-1" "OnTrigger" "skyray_snd_1,PlaySound,,0,-1" "OnTrigger" "skyray_relay_1,Disable,,0,-1" "OnTrigger" "skyray_hurt_1,Enable,,3,-1" "OnTrigger" "skyray_hurt_1,Disable,,3.2,-1" "OnTrigger" "skyray_beam_1,Stop,,3.7,-1" "OnTrigger" "skyray_relay_1,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_2 origin "-90 -4358 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_2 origin "-90 -4358 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_2 origin "-90 -4358 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_2 spawnflags 1 damagetype 1024 // energybeam origin "-89.89 -4357.98 -95.97" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_2 "OnTrigger" "skyray_beam_2,Start,,0,-1" "OnTrigger" "skyray_snd_2,PlaySound,,0,-1" "OnTrigger" "skyray_relay_2,Disable,,0,-1" "OnTrigger" "skyray_hurt_2,Enable,,3,-1" "OnTrigger" "skyray_hurt_2,Disable,,3.2,-1" "OnTrigger" "skyray_beam_2,Stop,,3.7,-1" "OnTrigger" "skyray_relay_2,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_3 origin "475 -4256 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_3 origin "475 -4256 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_3 origin "475 -4256 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_3 spawnflags 1 damagetype 1024 // energybeam origin "474.92 -4256.23 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_3 "OnTrigger" "skyray_beam_3,Start,,0,-1" "OnTrigger" "skyray_snd_3,PlaySound,,0,-1" "OnTrigger" "skyray_relay_3,Disable,,0,-1" "OnTrigger" "skyray_hurt_3,Enable,,3,-1" "OnTrigger" "skyray_hurt_3,Disable,,3.2,-1" "OnTrigger" "skyray_beam_3,Stop,,3.7,-1" "OnTrigger" "skyray_relay_3,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_4 origin "776 -4223 -50" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_4 origin "775 -4223 -114" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_4 origin "775 -4223 -114" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_4 spawnflags 1 damagetype 1024 // energybeam origin "775.6 -4223.45 -90.92" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_4 "OnTrigger" "skyray_beam_4,Start,,0,-1" "OnTrigger" "skyray_snd_4,PlaySound,,0,-1" "OnTrigger" "skyray_relay_4,Disable,,0,-1" "OnTrigger" "skyray_hurt_4,Enable,,3,-1" "OnTrigger" "skyray_hurt_4,Disable,,3.2,-1" "OnTrigger" "skyray_beam_4,Stop,,3.7,-1" "OnTrigger" "skyray_relay_4,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_5 origin "1030 -4192 4" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_5 origin "1030 -4192 -61" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_5 origin "1030 -4192 -61" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_5 spawnflags 1 damagetype 1024 // energybeam origin "1030.15 -4191.96 -37.48" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_5 "OnTrigger" "skyray_beam_5,Start,,0,-1" "OnTrigger" "skyray_snd_5,PlaySound,,0,-1" "OnTrigger" "skyray_relay_5,Disable,,0,-1" "OnTrigger" "skyray_hurt_5,Enable,,3,-1" "OnTrigger" "skyray_hurt_5,Disable,,3.2,-1" "OnTrigger" "skyray_beam_5,Stop,,3.7,-1" "OnTrigger" "skyray_relay_5,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_6 origin "1399 -4326 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_6 origin "1399 -4326 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_6 origin "1399 -4326 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_6 spawnflags 1 damagetype 1024 // energybeam origin "1398.95 -4325.93 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_6 "OnTrigger" "skyray_beam_6,Start,,0,-1" "OnTrigger" "skyray_snd_6,PlaySound,,0,-1" "OnTrigger" "skyray_relay_6,Disable,,0,-1" "OnTrigger" "skyray_hurt_6,Enable,,3,-1" "OnTrigger" "skyray_hurt_6,Disable,,3.2,-1" "OnTrigger" "skyray_beam_6,Stop,,3.7,-1" "OnTrigger" "skyray_relay_6,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_7 origin "-1013 -4308 41" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_7 origin "-1013 -4308 -23" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_7 origin "-1013 -4308 -23" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_7 spawnflags 1 damagetype 1024 // energybeam origin "-1013.11 -4307.99 0.06" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_7 "OnTrigger" "skyray_beam_7,Start,,0,-1" "OnTrigger" "skyray_snd_7,PlaySound,,0,-1" "OnTrigger" "skyray_relay_7,Disable,,0,-1" "OnTrigger" "skyray_hurt_7,Enable,,3,-1" "OnTrigger" "skyray_hurt_7,Disable,,3.2,-1" "OnTrigger" "skyray_beam_7,Stop,,3.7,-1" "OnTrigger" "skyray_relay_7,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_8 origin "-697 -3972 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_8 origin "-697 -3972 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_8 origin "-697 -3972 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_8 spawnflags 1 damagetype 1024 // energybeam origin "-697.13 -3972.44 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_8 "OnTrigger" "skyray_beam_8,Start,,0,-1" "OnTrigger" "skyray_snd_8,PlaySound,,0,-1" "OnTrigger" "skyray_relay_8,Disable,,0,-1" "OnTrigger" "skyray_hurt_8,Enable,,3,-1" "OnTrigger" "skyray_hurt_8,Disable,,3.2,-1" "OnTrigger" "skyray_beam_8,Stop,,3.7,-1" "OnTrigger" "skyray_relay_8,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_9 origin "578 -3640 -119" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_9 origin "578 -3640 -183" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_9 origin "578 -3640 -183" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_9 spawnflags 1 damagetype 1024 // energybeam origin "578.27 -3640.37 -159.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_9 "OnTrigger" "skyray_beam_9,Start,,0,-1" "OnTrigger" "skyray_snd_9,PlaySound,,0,-1" "OnTrigger" "skyray_relay_9,Disable,,0,-1" "OnTrigger" "skyray_hurt_9,Enable,,3,-1" "OnTrigger" "skyray_hurt_9,Disable,,3.2,-1" "OnTrigger" "skyray_beam_9,Stop,,3.7,-1" "OnTrigger" "skyray_relay_9,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_10 origin "1171 -3795 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_10 origin "1171 -3795 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_10 origin "1171 -3795 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_10 spawnflags 1 damagetype 1024 // energybeam origin "1171.2 -3795.41 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_10 "OnTrigger" "skyray_beam_10,Start,,0,-1" "OnTrigger" "skyray_snd_10,PlaySound,,0,-1" "OnTrigger" "skyray_relay_10,Disable,,0,-1" "OnTrigger" "skyray_hurt_10,Enable,,3,-1" "OnTrigger" "skyray_hurt_10,Disable,,3.2,-1" "OnTrigger" "skyray_beam_10,Stop,,3.7,-1" "OnTrigger" "skyray_relay_10,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_11 origin "1527 -3866 137" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_11 origin "1527 -3866 73" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_11 origin "1527 -3866 73" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_11 spawnflags 1 damagetype 1024 // energybeam origin "1527.44 -3866.31 96.06" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_11 "OnTrigger" "skyray_beam_11,Start,,0,-1" "OnTrigger" "skyray_snd_11,PlaySound,,0,-1" "OnTrigger" "skyray_relay_11,Disable,,0,-1" "OnTrigger" "skyray_hurt_11,Enable,,3,-1" "OnTrigger" "skyray_hurt_11,Disable,,3.2,-1" "OnTrigger" "skyray_beam_11,Stop,,3.7,-1" "OnTrigger" "skyray_relay_11,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_12 origin "-1018 -3586 201" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_12 origin "-1018 -3586 137" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_12 origin "-1018 -3586 137" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_12 spawnflags 1 damagetype 1024 // energybeam origin "-1017.96 -3586.22 160.06" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_12 "OnTrigger" "skyray_beam_12,Start,,0,-1" "OnTrigger" "skyray_snd_12,PlaySound,,0,-1" "OnTrigger" "skyray_relay_12,Disable,,0,-1" "OnTrigger" "skyray_hurt_12,Enable,,3,-1" "OnTrigger" "skyray_hurt_12,Disable,,3.2,-1" "OnTrigger" "skyray_beam_12,Stop,,3.7,-1" "OnTrigger" "skyray_relay_12,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_13 origin "-681 -3602 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_13 origin "-682 -3602 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_13 origin "-682 -3602 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_13 spawnflags 1 damagetype 1024 // energybeam origin "-681.47 -3601.91 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_13 "OnTrigger" "skyray_beam_13,Start,,0,-1" "OnTrigger" "skyray_snd_13,PlaySound,,0,-1" "OnTrigger" "skyray_relay_13,Disable,,0,-1" "OnTrigger" "skyray_hurt_13,Enable,,3,-1" "OnTrigger" "skyray_hurt_13,Disable,,3.2,-1" "OnTrigger" "skyray_beam_13,Stop,,3.7,-1" "OnTrigger" "skyray_relay_13,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_14 origin "1111 -3452 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_14 origin "1111 -3452 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_14 origin "1111 -3452 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_14 spawnflags 1 damagetype 1024 // energybeam origin "1111.42 -3451.55 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_14 "OnTrigger" "skyray_beam_14,Start,,0,-1" "OnTrigger" "skyray_snd_14,PlaySound,,0,-1" "OnTrigger" "skyray_relay_14,Disable,,0,-1" "OnTrigger" "skyray_hurt_14,Enable,,3,-1" "OnTrigger" "skyray_hurt_14,Disable,,3.2,-1" "OnTrigger" "skyray_beam_14,Stop,,3.7,-1" "OnTrigger" "skyray_relay_14,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_15 origin "-994 -2942 105" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_15 origin "-994 -2942 41" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_15 origin "-994 -2942 41" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_15 spawnflags 1 damagetype 1024 // energybeam origin "-994.48 -2942.23 64.06" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_15 "OnTrigger" "skyray_beam_15,Start,,0,-1" "OnTrigger" "skyray_snd_15,PlaySound,,0,-1" "OnTrigger" "skyray_relay_15,Disable,,0,-1" "OnTrigger" "skyray_hurt_15,Enable,,3,-1" "OnTrigger" "skyray_hurt_15,Disable,,3.2,-1" "OnTrigger" "skyray_beam_15,Stop,,3.7,-1" "OnTrigger" "skyray_relay_15,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_16 origin "-460 -3119 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_16 origin "-460 -3119 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_16 origin "-460 -3119 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_16 spawnflags 1 damagetype 1024 // energybeam origin "-460 -3119.42 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_16 "OnTrigger" "skyray_beam_16,Start,,0,-1" "OnTrigger" "skyray_snd_16,PlaySound,,0,-1" "OnTrigger" "skyray_relay_16,Disable,,0,-1" "OnTrigger" "skyray_hurt_16,Enable,,3,-1" "OnTrigger" "skyray_hurt_16,Disable,,3.2,-1" "OnTrigger" "skyray_beam_16,Stop,,3.7,-1" "OnTrigger" "skyray_relay_16,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_17 origin "-176 -2960 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_17 origin "-176 -2960 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_17 origin "-176 -2960 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_17 spawnflags 1 damagetype 1024 // energybeam origin "-176.35 -2959.83 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_17 "OnTrigger" "skyray_beam_17,Start,,0,-1" "OnTrigger" "skyray_snd_17,PlaySound,,0,-1" "OnTrigger" "skyray_relay_17,Disable,,0,-1" "OnTrigger" "skyray_hurt_17,Enable,,3,-1" "OnTrigger" "skyray_hurt_17,Disable,,3.2,-1" "OnTrigger" "skyray_beam_17,Stop,,3.7,-1" "OnTrigger" "skyray_relay_17,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_18 origin "-130 -3219 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_18 origin "-130 -3219 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_18 origin "-130 -3219 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_18 spawnflags 1 damagetype 1024 // energybeam origin "-130.13 -3219.4 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_18 "OnTrigger" "skyray_beam_18,Start,,0,-1" "OnTrigger" "skyray_snd_18,PlaySound,,0,-1" "OnTrigger" "skyray_relay_18,Disable,,0,-1" "OnTrigger" "skyray_hurt_18,Enable,,3,-1" "OnTrigger" "skyray_hurt_18,Disable,,3.2,-1" "OnTrigger" "skyray_beam_18,Stop,,3.7,-1" "OnTrigger" "skyray_relay_18,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_19 origin "155 -3068 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_19 origin "155 -3068 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_19 origin "155 -3068 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_19 spawnflags 1 damagetype 1024 // energybeam origin "155.03 -3068.03 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_19 "OnTrigger" "skyray_beam_19,Start,,0,-1" "OnTrigger" "skyray_snd_19,PlaySound,,0,-1" "OnTrigger" "skyray_relay_19,Disable,,0,-1" "OnTrigger" "skyray_hurt_19,Enable,,3,-1" "OnTrigger" "skyray_hurt_19,Disable,,3.2,-1" "OnTrigger" "skyray_beam_19,Stop,,3.7,-1" "OnTrigger" "skyray_relay_19,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_20 origin "537 -3210 -55" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_20 origin "537 -3210 -119" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_20 origin "537 -3210 -119" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_20 spawnflags 1 damagetype 1024 // energybeam origin "537.25 -3209.58 -95.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_20 "OnTrigger" "skyray_beam_20,Start,,0,-1" "OnTrigger" "skyray_snd_20,PlaySound,,0,-1" "OnTrigger" "skyray_relay_20,Disable,,0,-1" "OnTrigger" "skyray_hurt_20,Enable,,3,-1" "OnTrigger" "skyray_hurt_20,Disable,,3.2,-1" "OnTrigger" "skyray_beam_20,Stop,,3.7,-1" "OnTrigger" "skyray_relay_20,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_21 origin "1275 -3157 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_21 origin "1275 -3157 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_21 origin "1275 -3157 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_21 spawnflags 1 damagetype 1024 // energybeam origin "1275.22 -3156.86 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_21 "OnTrigger" "skyray_beam_21,Start,,0,-1" "OnTrigger" "skyray_snd_21,PlaySound,,0,-1" "OnTrigger" "skyray_relay_21,Disable,,0,-1" "OnTrigger" "skyray_hurt_21,Enable,,3,-1" "OnTrigger" "skyray_hurt_21,Disable,,3.2,-1" "OnTrigger" "skyray_beam_21,Stop,,3.7,-1" "OnTrigger" "skyray_relay_21,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_22 origin "1295 -2804 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_22 origin "1295 -2804 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_22 origin "1295 -2804 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_22 spawnflags 1 damagetype 1024 // energybeam origin "1294.69 -2804 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_22 "OnTrigger" "skyray_beam_22,Start,,0,-1" "OnTrigger" "skyray_snd_22,PlaySound,,0,-1" "OnTrigger" "skyray_relay_22,Disable,,0,-1" "OnTrigger" "skyray_hurt_22,Enable,,3,-1" "OnTrigger" "skyray_hurt_22,Disable,,3.2,-1" "OnTrigger" "skyray_beam_22,Stop,,3.7,-1" "OnTrigger" "skyray_relay_22,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_23 origin "1182 -2454 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_23 origin "1182 -2454 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_23 origin "1182 -2454 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_23 spawnflags 1 damagetype 1024 // energybeam origin "1182.4 -2453.76 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_23 "OnTrigger" "skyray_beam_23,Start,,0,-1" "OnTrigger" "skyray_snd_23,PlaySound,,0,-1" "OnTrigger" "skyray_relay_23,Disable,,0,-1" "OnTrigger" "skyray_hurt_23,Enable,,3,-1" "OnTrigger" "skyray_hurt_23,Disable,,3.2,-1" "OnTrigger" "skyray_beam_23,Stop,,3.7,-1" "OnTrigger" "skyray_relay_23,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_24 origin "901 -2364 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_24 origin "901 -2364 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_24 origin "901 -2364 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_24 spawnflags 1 damagetype 1024 // energybeam origin "901.5 -2364.44 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_24 "OnTrigger" "skyray_beam_24,Start,,0,-1" "OnTrigger" "skyray_snd_24,PlaySound,,0,-1" "OnTrigger" "skyray_relay_24,Disable,,0,-1" "OnTrigger" "skyray_hurt_24,Enable,,3,-1" "OnTrigger" "skyray_hurt_24,Disable,,3.2,-1" "OnTrigger" "skyray_beam_24,Stop,,3.7,-1" "OnTrigger" "skyray_relay_24,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_25 origin "566 -2294 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_25 origin "566 -2294 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_25 origin "566 -2294 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_25 spawnflags 1 damagetype 1024 // energybeam origin "565.64 -2293.69 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_25 "OnTrigger" "skyray_beam_25,Start,,0,-1" "OnTrigger" "skyray_snd_25,PlaySound,,0,-1" "OnTrigger" "skyray_relay_25,Disable,,0,-1" "OnTrigger" "skyray_hurt_25,Enable,,3,-1" "OnTrigger" "skyray_hurt_25,Disable,,3.2,-1" "OnTrigger" "skyray_beam_25,Stop,,3.7,-1" "OnTrigger" "skyray_relay_25,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_26 origin "193 -2245 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_26 origin "193 -2245 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_26 origin "193 -2245 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_26 spawnflags 1 damagetype 1024 // energybeam origin "192.67 -2245.11 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_26 "OnTrigger" "skyray_beam_26,Start,,0,-1" "OnTrigger" "skyray_snd_26,PlaySound,,0,-1" "OnTrigger" "skyray_relay_26,Disable,,0,-1" "OnTrigger" "skyray_hurt_26,Enable,,3,-1" "OnTrigger" "skyray_hurt_26,Disable,,3.2,-1" "OnTrigger" "skyray_beam_26,Stop,,3.7,-1" "OnTrigger" "skyray_relay_26,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_27 origin "-196 -2270 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_27 origin "-196 -2270 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_27 origin "-196 -2270 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_27 spawnflags 1 damagetype 1024 // energybeam origin "-195.85 -2270.39 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_27 "OnTrigger" "skyray_beam_27,Start,,0,-1" "OnTrigger" "skyray_snd_27,PlaySound,,0,-1" "OnTrigger" "skyray_relay_27,Disable,,0,-1" "OnTrigger" "skyray_hurt_27,Enable,,3,-1" "OnTrigger" "skyray_hurt_27,Disable,,3.2,-1" "OnTrigger" "skyray_beam_27,Stop,,3.7,-1" "OnTrigger" "skyray_relay_27,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_28 origin "-241 -2654 -27" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_28 origin "-241 -2654 -91" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_28 origin "-241 -2654 -91" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_28 spawnflags 1 damagetype 1024 // energybeam origin "-240.53 -2653.62 -67.89" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,0,-1" } logic_relay { targetname skyray_relay_28 "OnTrigger" "skyray_beam_28,Start,,0,-1" "OnTrigger" "skyray_snd_28,PlaySound,,0,-1" "OnTrigger" "skyray_relay_28,Disable,,0,-1" "OnTrigger" "skyray_hurt_28,Enable,,3,-1" "OnTrigger" "skyray_hurt_28,Disable,,3.2,-1" "OnTrigger" "skyray_beam_28,Stop,,3.7,-1" "OnTrigger" "skyray_relay_28,Enable,,4,-1" } ambient_generic { health 10 message crush/skyray_snd.mp3 radius 9000 spawnflags 48 targetname skyray_snd_29 origin "-579 -2250 9" } info_particle_system { effect_name skyray_eff angles "0 0 0" targetname skyray_beam_29 origin "-579 -2250 -55" } info_particle_system { effect_name utaunt_electricity_cloud_parent_WB angles "0 0 0" targetname skyray_beam_29 origin "-579 -2250 -55" } trigger_hurt { damage 5000 filtername filter_blu StartDisabled 1 targetname skyray_hurt_29 spawnflags 1 damagetype 1024 // energybeam origin "-578.63 -2250.3 -31.94" mins "-80 -80 -32" maxs "80 80 32" "OnHurtPlayer" "skyray_vo_check,SetValue,1,,-1" } logic_relay { targetname skyray_relay_29 "OnTrigger" "skyray_beam_29,Start,,0,-1" "OnTrigger" "skyray_snd_29,PlaySound,,0,-1" "OnTrigger" "skyray_relay_29,Disable,,0,-1" "OnTrigger" "skyray_hurt_29,Enable,,3,-1" "OnTrigger" "skyray_hurt_29,Disable,,3.2,-1" "OnTrigger" "skyray_beam_29,Stop,,3.7,-1" "OnTrigger" "skyray_relay_29,Enable,,4,-1" } logic_case // too many targets for one case { targetname skyray_case_1 "OnCase01" "skyray_relay_1,Trigger,,0,-1" "OnCase02" "skyray_relay_2,Trigger,,0,-1" "OnCase03" "skyray_relay_3,Trigger,,0,-1" "OnCase04" "skyray_relay_4,Trigger,,0,-1" "OnCase05" "skyray_relay_5,Trigger,,0,-1" "OnCase06" "skyray_relay_6,Trigger,,0,-1" "OnCase07" "skyray_relay_7,Trigger,,0,-1" "OnCase08" "skyray_relay_8,Trigger,,0,-1" "OnCase09" "skyray_relay_9,Trigger,,0,-1" "OnCase10" "skyray_relay_10,Trigger,,0,-1" "OnCase11" "skyray_relay_11,Trigger,,0,-1" "OnCase12" "skyray_relay_12,Trigger,,0,-1" "OnCase13" "skyray_relay_13,Trigger,,0,-1" "OnCase14" "skyray_relay_14,Trigger,,0,-1" "OnCase15" "skyray_relay_15,Trigger,,0,-1" } logic_case // too many targets for one case { targetname skyray_case_2 "OnCase01" "skyray_relay_16,Trigger,,0,-1" "OnCase02" "skyray_relay_17,Trigger,,0,-1" "OnCase03" "skyray_relay_18,Trigger,,0,-1" "OnCase04" "skyray_relay_19,Trigger,,0,-1" "OnCase05" "skyray_relay_20,Trigger,,0,-1" "OnCase06" "skyray_relay_21,Trigger,,0,-1" "OnCase07" "skyray_relay_22,Trigger,,0,-1" "OnCase08" "skyray_relay_23,Trigger,,0,-1" "OnCase09" "skyray_relay_24,Trigger,,0,-1" "OnCase10" "skyray_relay_25,Trigger,,0,-1" "OnCase11" "skyray_relay_26,Trigger,,0,-1" "OnCase12" "skyray_relay_27,Trigger,,0,-1" "OnCase13" "skyray_relay_28,Trigger,,0,-1" "OnCase14" "skyray_relay_29,Trigger,,0,-1" } logic_timer { targetname skyray_timer_default RefireTime 0.5 StartDisabled 1 "OnTimer" "skyray_case_*,PickRandomShuffle,,0,-1" } logic_timer { targetname skyray_timer_fast RefireTime 0.25 StartDisabled 1 "OnTimer" "skyray_case_*,PickRandomShuffle,,0,-1" } logic_relay { targetname skyray_fire_default "OnTrigger" "skyray_timer_default,Enable,,0,-1" "OnTrigger" "skyray_timer_default,Disable,,10,-1" "OnTrigger" "skyray_vo_check,Test,,12,-1" } logic_relay { targetname skyray_fire_fast "OnTrigger" "skyray_timer_fast,Enable,,0,-1" "OnTrigger" "skyray_timer_fast,Disable,,10,-1" "OnTrigger" "skyray_vo_check,Test,,12,-1" } ambient_generic // hit skyray { health 10 message vo\mvm\norm\engineer_mvm_dominationscout07.mp3 radius 20 spawnflags 49 targetname skyray_hit_1 } ambient_generic { health 10 message vo\mvm\norm\engineer_mvm_dominationsniper02.mp3 radius 20 spawnflags 49 targetname skyray_hit_2 } ambient_generic { health 10 message vo\mvm\norm\engineer_mvm_dominationsniper07.mp3 radius 20 spawnflags 49 targetname skyray_hit_3 } ambient_generic { health 10 message vo\mvm\norm\engineer_mvm_dominationsoldier07.mp3 radius 20 spawnflags 49 targetname skyray_hit_4 } ambient_generic { health 10 message vo\mvm\norm\engineer_mvm_laughhappy01.mp3 radius 20 spawnflags 49 targetname skyray_hit_5 } logic_case { targetname skyray_hit_vo_case "OnCase01" "skyray_hit_1,PlaySound,,0,-1" "OnCase02" "skyray_hit_2,PlaySound,,0,-1" "OnCase03" "skyray_hit_3,PlaySound,,0,-1" "OnCase04" "skyray_hit_4,PlaySound,,0,-1" "OnCase05" "skyray_hit_5,PlaySound,,0,-1" } ambient_generic // missed skyray { health 10 message vo/mvm/norm/engineer_mvm_negativevocalization02.mp3 radius 20 spawnflags 49 targetname skyray_miss_1 } ambient_generic { health 10 message vo/mvm/norm/engineer_mvm_negativevocalization03.mp3 radius 20 spawnflags 49 targetname skyray_miss_2 } ambient_generic { health 10 message vo/mvm/norm/engineer_mvm_negativevocalization09.mp3 radius 20 spawnflags 49 targetname skyray_miss_3 } logic_case { targetname skyray_miss_vo_case "OnCase01" "skyray_miss_1,PlaySound,,0,-1" "OnCase02" "skyray_miss_2,PlaySound,,0,-1" "OnCase03" "skyray_miss_3,PlaySound,,0,-1" } logic_branch // did a single ray hit anyone? { targetname skyray_vo_check InitialValue 0 // assume a miss "OnFalse" "skyray_miss_vo_case,PickRandom,,0,-1" "OnTrue" "skyray_hit_vo_case,PickRandom,,0,-1" "OnTrue" "skyray_vo_check,SetValue,0,,-1" } } Camera_Crew_EngieBoss { NoFixup 1 point_viewcontrol { angles "345 63 0" origin "78 -2955 152" acceleration 0 deceleration 0 spawnflags 0 targetname camera_engieboss wait 5 interpolatepositiontoplayer 0 speed 0 } info_particle_system { effect_name eyeboss_tp_vortex targetname engieboss_intro_eff origin "131 -2857 191" } env_fade // make the transition less abrupt { targetname fade_out duration 1.8 holdtime 0.5 rendercolor "0 0 0" // 100% black } env_fade { targetname fade_in duration 2 spawnflags 1 rendercolor "0 0 0" } logic_relay { targetname engieboss_cosmetics_relay "OnTrigger" "engieboss_cosmetics,TurnOff,,0,-1" } logic_relay { targetname crewcam_engieboss "OnTrigger" "camera_engieboss,$EnableAll,,0,-1" "OnTrigger" "respawner,ForceTeamRespawn,2,5,-1" "OnTrigger" "engieboss_intro_eff,Start,,0,-1" "OnTrigger" "engieboss_warp_sound,PlaySound,,0,-1" "OnTrigger" "engieboss_bossmusic,PlaySound,,1,-1" "OnTrigger" "engieboss_intro_eff,Stop,,1.4,-1" "OnTrigger" "engieboss_cinematic,Enable,,1.4,-1" "OnTrigger" "engieboss_cosmetics,TurnOn,,1.4,-1" "OnTrigger" "engieboss_introtalk,PlaySound,,2,-1" "OnTrigger" "player,$DisplayTextChat,You dun incurred my wrath son.,2,-1" "OnTrigger" "camera_engieboss,$DisableAll,,5,-1" "OnTrigger" "fade_out,Fade,,3,-1" "OnTrigger" "fade_in,Fade,,5,-1" "OnTrigger" "spawnbot_engieboss,Enable,,5,-1" "OnTrigger" "engieboss_cinematic,Kill,,5,-1" "OnTrigger" "camera_engieboss,$DisableAll,,7,-1" "OnTrigger" "camera_engieboss,$DisableAll,,9,-1" "OnTrigger" "camera_engieboss,$DisableAll,,11,-1" "OnTrigger" "camera_engieboss,$DisableAll,,13,-1" "OnTrigger" "camera_engieboss,$DisableAll,,15,-1" "OnTrigger" "camera_engieboss,$DisableAll,,17,-1" "OnTrigger" "camera_engieboss,$DisableAll,,19,-1" "OnTrigger" "camera_engieboss,$DisableAll,,21,-1" "OnTrigger" "camera_engieboss,$DisableAll,,23,-1" "OnTrigger" "camera_engieboss,$DisableAll,,25,-1" "OnTrigger" "camera_engieboss,$DisableAll,,27,-1" "OnTrigger" "camera_engieboss,$DisableAll,,29,-1" "OnTrigger" "camera_engieboss,$DisableAll,,31,-1" } ambient_generic { health 10 message crush/warp_snd.mp3 radius 20 spawnflags 49 targetname engieboss_warp_sound } ambient_generic { health 10 message #*vo\mvm\norm\engineer_mvm_dominationengineer_mvm05.mp3 radius 20 spawnflags 49 targetname engieboss_introtalk } ambient_generic { health 10 message #*crush/dellorom_bosstune.mp3 // mp3 can't loop for reasons radius 20 spawnflags 17 fadeinsecs 3 fadeoutsecs 3 volstart 12 targetname engieboss_bossmusic } prop_dynamic // engie boss for the cinematic { angles "0 240 0" origin "130 -2851 144" DefaultAnim "competitive_winnerstate_idle" DisableBoneFollowers 1 disableshadows 0 SetBodyGroup 1 StartDisabled 1 // keep hidden until cinematic starts model "models/player/engineer.mdl" solid 0 targetname engieboss_cinematic } prop_dynamic_ornament // trespasser gives a helping hand once again { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/player/items/engineer/hwn2020_wavefinder/hwn2020_wavefinder.mdl" } prop_dynamic_ornament // use TurnOff and wait for the cutscene to fix shit { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/player/items/all_class/sbox2014_zipper_suit/sbox2014_zipper_suit_engineer.mdl" } prop_dynamic_ornament { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/player/items/engineer/sf14_iron_fist/sf14_iron_fist.mdl" } prop_dynamic_ornament { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/player/items/engineer/hwn2015_iron_lung/hwn2015_iron_lung.mdl" } prop_dynamic_ornament { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/player/items/engineer/sum19_brain_interface/sum19_brain_interface.mdl" } prop_dynamic_ornament { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/bots/gameplay_cosmetic/bot_light_chest.mdl" } prop_dynamic_ornament { InitialOwner engieboss_cinematic spawnflags 256 DisableBoneFollowers 1 disableshadows 1 solid 0 targetname engieboss_cosmetics model "models/workshop/weapons/c_models/c_invasion_sniperrifle/c_invasion_sniperrifle.mdl" } } Camera_Crew_Finale { NoFixup 1 point_viewcontrol // soldier cam { angles "19 84 0" origin "-217 -2626 36" acceleration 0 deceleration 0 spawnflags 0 targetname camera_finale_soldier wait 99 // we can just enable/disable to jiggle around this, iirc? interpolatepositiontoplayer 0 speed 0 } point_viewcontrol // wizard cam { angles "9 270 0" origin "-153 -8273 11" acceleration 0 deceleration 0 spawnflags 0 targetname camera_finale_merasmus wait 99 // we can just enable/disable to jiggle around this, iirc? interpolatepositiontoplayer 0 speed 0 } prop_dynamic // soldier model { angles "0 270 0" origin "-217 -2319 -64" DefaultAnim "competitive_loserstate_idle" DisableBoneFollowers 1 disableshadows 0 StartDisabled 0 // keep hidden until cinematic starts model "models/player/soldier.mdl" solid 0 targetname soldierboss_cinematic } prop_dynamic // merismo { angles "0 90 0" origin "-209 -8637 -100" DefaultAnim "Stand_MELEE" DisableBoneFollowers 1 disableshadows 0 Skin 0 StartDisabled 0 // keep hidden until cinematic starts model "models/bots/merasmus/merasmus.mdl" solid 0 targetname wizard_cinematic } ambient_generic // I'm done with your boardgame crap, merasmus { health 10 message #*crush/soldier_boardgamecrap.mp3 radius 20 spawnflags 49 targetname finale_vo_1 } ambient_generic // get your spectral ass in here { health 10 message #*vo/soldier_sf12_seeking02.mp3 radius 20 spawnflags 49 targetname finale_vo_2 } ambient_generic // merasmus is merasmus { health 10 message #*vo/halloween_merasmus/hall2015_fightmeras_04.mp3 radius 20 spawnflags 49 targetname finale_vo_3 } ambient_generic // his teleport sound { health 10 message misc\halloween\merasmus_appear.wav radius 20 spawnflags 49 targetname finale_vo_3 } ambient_generic // you're going down etc. { health 10 message #*vo/soldier_sf12_taunts09.mp3 radius 20 spawnflags 49 targetname finale_vo_4 } ambient_generic // epic boss tunes vol. 2 { health 10 message #*crush/finale_bosstune.mp3 radius 20 spawnflags 17 fadeinsecs 3 fadeoutsecs 3 targetname finale_bossmusic } env_fade // make the transition less abrupt { targetname fade_out duration 1.8 holdtime 0.5 rendercolor "0 0 0" // 100% black } env_fade { targetname fade_in duration 2 spawnflags 1 rendercolor "0 0 0" } logic_relay { targetname crewcam_finale "OnTrigger" "respawner,ForceTeamRespawn,2,0,-1" // in case a comedian killed themselves "OnTrigger" "camera_finale_soldier,$EnableAll,,0,-1" "OnTrigger" "finale_vo_1,PlaySound,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}I'm done with your board game crap Merasmus!{FFFFFF},0,-1" "OnTrigger" "soldierboss_cinematic,SetAnimation,layer_taunt_the_profane_puppeteer,4.6,-1" "OnTrigger" "finale_vo_2,PlaySound,,2.75,-1" "OnTrigger" "player,$DisplayTextChat,{red}Get out here so I can kick you right in your frilly wizard dress!{FFFFFF},2.75,-1" "OnTrigger" "camera_finale_merasmus,$EnableAll,,6.3,-1" "OnTrigger" "finale_vo_3,PlaySound,,6.3,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}You dare to fight ME?{FFFFFF},6.3,-1" "OnTrigger" "wizard_cinematic,SetAnimation,teleport_in,6.3,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}Ohh mortal. This is going to be EMBARRASSING.{FFFFFF},8.7,-1" "OnTrigger" "camera_finale_soldier,$EnableAll,,12,-1" "OnTrigger" "finale_vo_4,PlaySound,,12,-1" "OnTrigger" "player,$DisplayTextChat,{red}You are going down you spell-casting maggot!{FFFFFF},12,-1" "OnTrigger" "finale_bossmusic,PlaySound,,12,-1" "OnTrigger" "fade_out,Fade,,14.5,-1" "OnTrigger" "fade_in,Fade,,16.5,-1" "OnTrigger" "camera_*,$DisableAll,,16.5,-1" "OnTrigger" "soldierboss_cinematic,Kill,,16.5,-1" "OnTrigger" "wizard_cinematic,Kill,,16.5,-1" "OnTrigger" "respawner,ForceTeamRespawn,2,16.5,-1" // in case a comedian killed themselves "OnTrigger" "camera_*,$DisableAll,,18,-1" // in case a comedian killed themselves "OnTrigger" "camera_*,$DisableAll,,20,-1" "OnTrigger" "camera_*,$DisableAll,,22,-1" "OnTrigger" "camera_*,$DisableAll,,24,-1" "OnTrigger" "camera_*,$DisableAll,,26,-1" } ambient_generic { health 10 message #*vo/soldier_sf12_taunts17.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_1 } ambient_generic { health 10 message #*vo/halloween_merasmus/sf12_found08.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_2 } ambient_generic { health 10 message #*vo/soldier_sf12_scared01.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_3 } ambient_generic { health 10 message #*vo/soldier_sf12_goodmagic04.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_4 } ambient_generic // poop { health 10 message #*vo/halloween_merasmus/sf12_wheel_scared08.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_5 } ambient_generic { health 10 message #*crush/soldier_nopants.mp3 radius 20 spawnflags 17 targetname finale_chatterbox_6 } logic_relay // chatterbox { targetname soldierboss_phase_2 "OnTrigger" "finale_chatterbox_1,PlaySound,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}I am not afraid of no ghost! I REFUSE to be afraid of no ghost!{FFFFFF},0,-1" "OnTrigger" "finale_chatterbox_2,PlaySound,,4.2,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}BOO!{FFFFFF},4.2,-1" "OnTrigger" "finale_chatterbox_3,PlaySound,,5,-1" "OnTrigger" "player,$DisplayTextChat,{red}I am scared you maggots.{FFFFFF},5,-1" } logic_relay // chatterbox pt. 2 { targetname soldierboss_phase_3 "OnTrigger" "finale_chatterbox_4,PlaySound,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}Hah I'm coming for you wizard!{FFFFFF},0,-1" "OnTrigger" "finale_chatterbox_5,PlaySound,,2.4,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}Fear me!{FFFFFF},2.4,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}POOP!{FFFFFF},4.1,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}Poop in your pumpkin pants!{FFFFFF},5.5,-1" "OnTrigger" "finale_chatterbox_6,PlaySound,,7,-1" "OnTrigger" "player,$DisplayTextChat,{red}Hah the only thing in my pants is passion... FOR WAR!{FFFFFF},7,-1" } logic_relay // snuck in here { targetname engie_hints "OnTrigger" "nest_1,Disable,,0,-1" "OnTrigger" "nest_2,Disable,,0,-1" "OnTrigger" "nest_3,Disable,,0,-1" "OnTrigger" "nest_6,Disable,,0,-1" } } Finale_HUDText { NoFixup 1 OnSpawnOutput // thanks, Yaki { Target "tf_objective_resource" Action "$SetProp$m_iszMvMPopfileName" Param "No more games" } } Soldier_Tank { NoFixup 1 // no!!!!!!!!!!!!!!!!!! KeepAlive 1 // OnSpawnOutput // { // Target autotank_idle // Action PlaySound // } prop_dynamic // tank { angles "0 0 0" origin "0 0 -8" DisableBoneFollowers 1 disableshadows 0 model "models/props_frontline/tank_animated.mdl" DefaultAnim "move_slow" ModelScale 0.55 solid 0 targetname autotank_body } prop_dynamic // gibby~ { angles "0 0 0" origin "0 0 -8" DisableBoneFollowers 1 disableshadows 0 StartDisabled 1 model "models\bots\soldier\bot_soldier_gibby.mdl" DefaultAnim "PRIMARY_stun_middle" ModelScale 1.75 solid 0 targetname autotank_gibby parentname autotank_body } info_particle_system { angles "0 0 0" origin "0 0 0" effect_name cinefx_goldrush start_active 0 targetname autotank_blast parentname autotank_body } ambient_generic { targetname autotank_deathsound spawnflags 17 health 10 // this is volume radius 8000 pitch 100 message "crush/treadkill_death.mp3" parentname autotank_body } ambient_generic { targetname autotank_explosionsound spawnflags 17 health 10 // this is volume radius 8000 pitch 100 message "mvm\mvm_tank_explode.wav" parentname autotank_body } // ambient_generic // { // targetname autotank_idle // spawnflags 48 // health 10 // this is volume // radius 1200 // pitch 90 // message "mvm/mvm_tank_loop.wav" // parentname autotank_body // } info_particle_system { angles "0 180 0" origin "-70 38 52" effect_name kartdamage_smoke4 start_active 1 targetname autotank_smoke parentname autotank_body } info_particle_system { angles "0 180 0" origin "-70 -39 52" effect_name kartdamage_smoke4 start_active 1 targetname autotank_smoke parentname autotank_body } env_shake { amplitude 16 duration 1.5 frequency 2.5 radius 1500 spawnflags 1 targetname autotank_shake } logic_relay { targetname autotank_death "OnTrigger" "autotank_idle,StopSound,,0,-1" "OnTrigger" "autotank_gibby,Enable,,0,-1" "OnTrigger" "autotank_smoke,Stop,,0,-1" "OnTrigger" "autotank_gibby,SetAnimation,PRIMARY_Stun_begin,0,-1" "OnTrigger" "autotank_gibby,SetPlaybackRate,0.36,0.3,-1" // stun animation has that blend that doesn't work "OnTrigger" "autotank_deathsound,PlaySound,,0,-1" "OnTrigger" "autotank_gibby,Disable,,3,-1" "OnTrigger" "autotank_body,Disable,,3,-1" "OnTrigger" "autotank_explosionsound,PlaySound,,3,-1" "OnTrigger" "autotank_blast,Start,,3,-1" "OnTrigger" "autotank_shake,StartShake,,3,-1" "OnTrigger" "autotank_*,Kill,,8,-1" } } Merasmus_Shield // move merasmus away and stun giants when outro begins { NoFixup 1 trigger_teleport { filtername "filter_stopwatch" spawnflags 1 StartDisabled 1 target "timer_warp" targetname "merasmus_uber" mins "-16 -16 -24" maxs "16 16 24" } info_particle_system { start_active 1 effect_name merasmus_ambient_body } } Pit_Block // damn it merasmus stop chilling in the pit { func_forcefield // pit blocker { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname bossfight_blocker TeamNum 2 mins "-1048 -3776 -160" maxs "-1024 -3520 112" } func_forcefield { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname bossfight_blocker TeamNum 3 mins "-1048 -3776 -160" maxs "-1024 -3520 112" } prop_dynamic // pit wall { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "-1017 -3539 -65" angles "0 270 0" StartDisabled 0 targetname bossfight_wallprop disableshadows 1 } } Camera_Crew_Outro // epic cutscene bro { NoFixup 1 trigger_stun // disable remaining enemies when boss dies { targetname merasmus_uber StartDisabled 1 spawnflags 1 move_speed_reduction 0.8 stun_duration 3 stun_type 2 filtername filter_red origin "-48 -4960 264" mins "-1776 -3040 -584" maxs "1776 3040 584" } point_viewcontrol // end cam { angles "357 44 0" origin "244 -961 50" acceleration 0 deceleration 0 spawnflags 0 targetname camera_curtaincall wait 99 // we can just enable/disable to jiggle around this, iirc? interpolatepositiontoplayer 0 speed 0 } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "458 -794 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "452 -841 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "385 -843 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "390 -815 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "410 -785 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "430 -808 10" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } prop_dynamic // money!!!!!!! { angles "0 0 0" origin "417 -798 22" disableshadows 1 StartDisabled 1 model "models/items/currencypack_large.mdl" solid 0 targetname outro_moneypile } env_fade // make the transition less abrupt { targetname fade_out duration 1.8 holdtime 0.5 rendercolor "0 0 0" // 100% black } env_fade { targetname fade_in duration 2 spawnflags 1 rendercolor "0 0 0" } ambient_generic { targetname ending_vo_1 spawnflags 49 health 10 radius 20 pitch 100 message "vo/soldier_sf12_reseeking03.mp3" } ambient_generic { targetname ending_vo_2 spawnflags 49 health 10 radius 20 pitch 100 message "vo/halloween_merasmus/sf12_wheel_nonspecific04.mp3" } ambient_generic { targetname ending_vo_3 spawnflags 49 health 10 radius 20 pitch 100 message "vo/halloween_merasmus/sf12_combat_idle02.mp3" } ambient_generic { targetname ending_vo_4 spawnflags 49 health 10 radius 20 pitch 100 message "vo/taunts/soldier/soldier_taunt_cong_fun_04.mp3" } logic_relay { targetname ending_cinematic // fired when soldier dies "OnTrigger" "merasmus_uber,Enable,,0,-1" "OnTrigger" "spawnbot_middle,Disable,,0,-1" "OnTrigger" "spawnbot_engieboss_support,Disable,,0,-1" "OnTrigger" "spawnbot_gate_b_nostop,Disable,,0,-1" "OnTrigger" "finale_bossmusic,StopSound,,0,-1" "OnTrigger" "fade_out,Fade,,3,-1" "OnTrigger" "fade_in,Fade,,5,-1" "OnTrigger" "camera_curtaincall,$EnableAll,,5,-1" "OnTrigger" "spawnbot_endcutscene_soldier,Enable,,5,-1" "OnTrigger" "ending_vo_1,PlaySound,,7,-1" "OnTrigger" "player,$DisplayTextChat,{red}Come on out Merasmus. I've got your rent.{FFFFFF},7,-1" "OnTrigger" "spawnbot_endcutscene_mersu,Enable,,9,-1" "OnTrigger" "outro_moneypile,Enable,,15,-1" "OnTrigger" "ending_vo_2,PlaySound,,15.5,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}Yes! YES! Perfect!{FFFFFF},15.5,-1" "OnTrigger" "ending_vo_3,PlaySound,,19,-1" "OnTrigger" "player,$DisplayTextChat,{7D4071}Ohohohohohohahah!{FFFFFF},19,-1" "OnTrigger" "ending_vo_4,PlaySound,,21,-1" "OnTrigger" "player,$DisplayTextChat,{red}Hah hah conga!{FFFFFF},21,-1" "OnTrigger" "hatch_magnet,Enable,,24,-1" "OnTrigger" "hatch_hurt_outer,Enable,,24,-1" "OnTrigger" "hatch_prop_destroy,Enable,,24,-1" "OnTrigger" "hatch_destroy_particle,Start,,24,-1" "OnTrigger" "hatch_deploy_anim_gate_relay,Trigger,,24,-1" "OnTrigger" "hatch_destroy_sound,PlaySound,,24,-1" "OnTrigger" "blu_win,RoundWin,,24.5,-1" // "OnTrigger" "camera_curtaincall,$DisableAll,,24,-1" } } } ExtraSpawnPoint { Name "spawnbot_middle" StartDisabled 0 TeamNum 3 X "-256" Y "-8832" Z "-28" } ExtraSpawnPoint { Name "spawnbot_middle" StartDisabled 0 TeamNum 3 X "-192" Y "-8704" Z "-28" } ExtraSpawnPoint { Name "spawnbot_middle" StartDisabled 0 TeamNum 3 X "-128" Y "-8832" Z "-28" } ExtraSpawnPoint // spawns at first gate { Name "spawnbot_gate_a" StartDisabled 0 TeamNum 2 X "179" Y "-3816" Z "38" } ExtraSpawnPoint { Name "spawnbot_gate_a" StartDisabled 0 TeamNum 2 X "-384" Y "-3927" Z "38" } ExtraSpawnPoint { Name "spawnbot_gate_a_flank" StartDisabled 0 TeamNum 2 X "680" Y "-4515" Z "-82" } ExtraSpawnPoint // spawns at second gate { Name "spawnbot_gate_b" StartDisabled 1 TeamNum 2 X "179" Y "-1660" Z "-21" } ExtraSpawnPoint { Name "spawnbot_gate_b" StartDisabled 1 TeamNum 2 X "-804" Y "-1099" Z "104" } ExtraSpawnPoint { Name "spawnbot_gate_b_flank" StartDisabled 1 TeamNum 2 X "-1080" Y "-1561" Z "-1" } ExtraSpawnPoint // I forgot what this is for but it is used somewhere { Name "spawnbot_gate_b_nostop" StartDisabled 0 TeamNum 2 X "-1080" Y "-1561" Z "-1" } ExtraSpawnPoint // spawns at hatch { Name "spawnbot_gate_c" StartDisabled 1 TeamNum 2 X "14" Y "-199" Z "102" } ExtraSpawnPoint { Name "spawnbot_gate_c" StartDisabled 1 TeamNum 2 X "-636" Y "-320" Z "102" } ExtraSpawnPoint { Name "spawnbot_gate_c_giant" StartDisabled 1 TeamNum 2 X "-69" Y "-445" Z "106" } ExtraSpawnPoint // spawn for timer { Name "spawnbot_stopwatch" StartDisabled 0 TeamNum 3 X "-262" Y "-347" Z "100" } ExtraSpawnPoint // engieboss spawns { Name "spawnbot_engieboss" StartDisabled 1 TeamNum 2 X "130" Y "-2851" Z "180" } ExtraSpawnPoint // engieboss spawns { Name "spawnbot_engieboss_support" TeamNum 2 X "1204" Y "-2032" Z "-20" } ExtraSpawnPoint { Name "spawnbot_endcutscene_soldier" StartDisabled 1 TeamNum 3 X "31" Y "-743" Z "36" } ExtraSpawnPoint { Name "spawnbot_endcutscene_mersu" StartDisabled 1 TeamNum 3 X "553" Y "-1213" Z "36" } PlayerSpawnTemplate "fill_meter" // rev up the bars SpawnTemplate "ForceField_SetUp" SpawnTemplate "corelogic" // none of this works if this isn't here!!!! SpawnTemplate "ScaryAlarmTimer" SpawnTemplate "Spawn_Relays" SpawnTemplate "Stopwatch_Warp" SpawnTemplate "Spawn_Nudge" // stop SpawnTemplate "plague" SpawnTemplate "Cave_Lights" SpawnTemplate { Name "Front_Gates" Origin "-279 -8223 -224" } SpawnTemplate { Name "Front_Gates" Origin "-206 -8223 -224" } SpawnTemplate { Name "Front_Gates" Origin "-67 -8223 -224" angles "0 180 0" } SpawnTemplate { Name "Tunnel_Prop" Origin "-1395 -7982 -168" angles "0 90 0" solid 2 } SpawnTemplate { Name "Tunnel_Prop" Origin "1530 -7920 268" angles "0 0 0" } SpawnTemplate { Name "Arms_Box" Origin "920 -8024 130" angles "0 225 0" } SpawnTemplate { Name "Arms_Box" Origin "-530 -8554 -116" angles "0 135 0" } SpawnTemplate { Name "Arms_Box" Origin "-1300 -7470 -260" angles "-15 90 0" } SpawnTemplate // don't be a stinker { Name "Hatch_Prop" Origin "369 -1488 4" angles "0 90 0" } PlayerShootTemplate { Name BlackBoxRocket AttachToProjectile 1 ItemName "The Black Box" // no rockets for festive } Templates { T_TFBot_Medic_Kritzkrieg //Pops Kritz on entering field, has to recharge { Name "Kritzkrieg Medic" Class Medic Skill Hard ClassIcon medic_kritz Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 10 "uber duration bonus" 4 } CharacterAttributes { "bot medic uber health threshold" 500 } } T_TFBot_Engineer_Borg { Name "Dell-OROM" Class Engineer Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly ClassIcon engineer_boss_borg UseMeleeThreatPrioritization 1 AlwaysGlow 1 Health 50000 Skill Expert Scale 1.4 Item "The Cute Suit" Item "The Purity Fist" Item "Iron Fist" Item "Iron Lung" Item "Brain Interface" Item "The Pomson 6000" Item "The Eureka Effect" Item "Employee Badge A" // dunno use a badge so he can wear Wavefinder WeaponResist { "TF_WEAPON_MINIGUN" 0.75 // is this classname or not??? } ItemModel { ItemName "Employee Badge A" Model "models/workshop/player/items/engineer/hwn2020_wavefinder/hwn2020_wavefinder.mdl" } ItemModel { ItemName "The Purity Fist" Model "models/bots/gameplay_cosmetic/bot_light_chest.mdl" } ItemModel { ItemName "The Pomson 6000" Model "models/workshop/weapons/c_models/c_invasion_sniperrifle/c_invasion_sniperrifle.mdl" } ItemAttributes { ItemName "The Pomson 6000" "override projectile type" 1 "sniper fires tracer" 1 "bullets per shot bonus" 2 "mult dmg vs giants" 2.5 "fire rate bonus" 1.5 "faster reload rate" -1 "custom weapon fire sound" "weapons/cow_mangler_explosion_charge_04.wav" } ItemAttributes { ItemName "TF_WEAPON_PISTOL" "override projectile type" 13 "mult dmg vs giants" 2 "projectile spread angle penalty" 7 // "fire rate bonus" 3 "burst fire count" 5 "burst fire rate mult" 2 // "faster reload rate" -1 "custom item model" "models/workshop/weapons/c_models/c_invasion_pistol/c_invasion_pistol.mdl" "custom weapon fire sound" "weapons/capper_shoot.wav" // SO LOUD } CharacterAttributes { "cancel falling damage" 1 "always allow taunt" 1 "voice pitch scale" 0 "bombinomicon effect on death" 1 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0 "dmg taken mult from special damage type 1" 0.01 } WeaponSwitch { Delay 1 Cooldown 30 Repeats 0 Type "Secondary" IfHealthBelow 20000 } Taunt //Taunt periodically { Delay 0 Cooldown 50 Repeats 2 Name "Replay Taunt" IfHealthBelow 45000 IfHealthAbove 20000 } FireInput { Target "skyray_fire_default" Action "Trigger" Delay 1 Cooldown 50 Repeats 2 IfHealthBelow 45000 IfHealthAbove 20000 } Taunt //Taunt periodically { Delay 0 Cooldown 50 Repeats 0 Name "Replay Taunt" IfHealthBelow 20000 } FireInput { Target "skyray_fire_fast" Action "Trigger" Delay 1 Cooldown 50 Repeats 0 IfHealthBelow 20000 } } T_TFBot_Giant_Medic_Kritzkrieg { Name "Giant Kritzkrieg Medic" ClassIcon medic_kritz Skill Hard Health 4500 Class Medic Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 10 "uber duration bonus" 6 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } T_TFBot_Soldier_BurstFire_Nocrit { Class Soldier Name "Giant Burst Fire Soldier" ClassIcon soldier_burstfire Health 4200 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage bonus" 2.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "clip size upgrade atomic" 5.0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } T_TFBot_Soldier_Charged // quake radio { Class Soldier Skill Hard ClassIcon soldier_crit Item "The Original" Attributes AlwaysCrit Name "Charged Soldier" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } } T_TFBot_Soldier_Bigbad // Finale Soldier { Class Soldier Skill Expert Attributes MiniBoss Scale 1 Health 60000 ClassIcon soldier_head Attributes UseBossHealthBar AimLeadProjectileSpeed 1 UseMeleeThreatPrioritization 1 AimTrackingInterval 0.02 AlwaysGlow 1 Attributes AutoJump AutoJumpMin 5 AutoJumpMax 8 ExtAttr SuppressCanteenUse // use only when I tell you to ExtAttr IgnoreRealPlayers ExtAttr IgnoreBuildings AddCond { Name TF_COND_REPROGRAMMED } EventChangeAttributes { Phase_1 { Item "Power Up Canteen (MvM)" ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "custom weapon fire sound" Weapon_RPG.Single "faster reload rate" 0.25 "fire rate bonus" 0.6 "mult dmg vs giants" 2 } WeaponResist { "TF_WEAPON_MINIGUN" 0.75 } CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0 "increased jump height" 1.4 "dmg taken mult from special damage type 1" 0.01 } } Phase_2 { Item "Power Up Canteen (MvM)" ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "custom item model" models\weapons\c_models\c_dumpster_device\c_dumpster_device.mdl "custom weapon fire sound" Weapon_Does_Dumpster.Single "custom kill icon" dumpster_device "faster reload rate" 1.6 "reload full clip at once" 1 "fire rate bonus" 0.2 "clip size upgrade atomic" 3.0 // "auto fires full clip" 1 "mult dmg vs giants" 2 "projectile spread angle penalty" 3 } WeaponResist { "TF_WEAPON_MINIGUN" 0.75 } FireWeapon // in case people try blocking him { Delay 1 Cooldown 1 Repeats 0 Duration 1.3 IfSeeTarget 1 Type "Primary" } ItemAttributes // recall canteen breaks Reprogram { ItemName "Power Up Canteen (MvM)" "ubercharge" 1 "powerup charges" 1 } CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0 "increased jump height" 1.4 "dmg taken mult from special damage type 1" 0.01 } } Phase_3 { Item "Power Up Canteen (MvM)" ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "custom item model" models\weapons\c_models\c_dumpster_device\c_dumpster_device.mdl "custom weapon fire sound" Weapon_Does_Dumpster.Single "custom kill icon" dumpster_device "faster reload rate" 0.25 "fire rate bonus" 0.2 "mult dmg vs giants" 2 "projectile spread angle penalty" 3 } WeaponResist { "TF_WEAPON_MINIGUN" 0.75 } FireWeapon // in case people try blocking him { Delay 0.5 Cooldown 0.7 Repeats 0 Duration 1 IfSeeTarget 1 Type "Primary" } ItemAttributes { ItemName "Power Up Canteen (MvM)" "critboost" 1 "powerup charges" 3 } CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0 "increased jump height" 1.4 "dmg taken mult from special damage type 1" 0.01 } } } ChangeAttributes // kick off { Delay 1 Cooldown 1 Repeats 1 Name "Phase_1" } ChangeAttributes // swoop back when taking too much damage { Delay 1 Cooldown 1 Repeats 1 IfSeeTarget 0 IfHealthBelow 45000 Name "Phase_2" } FireInput // activate chatterbox { Target "soldierboss_phase_2" Action "Trigger" Delay 3 Cooldown 1 Repeats 1 IfHealthBelow 45000 } FireWeapon // pop recall { Delay 2 Cooldown 1 Repeats 1 Duration 0.5 Type "Action" IfHealthBelow 45000 } ChangeAttributes // I'm about to die, pull out all the stops { Delay 1 Cooldown 1 Repeats 1 IfSeeTarget 0 IfHealthBelow 25000 Name "Phase_3" } FireInput // activate chatterbox pt. 2 { Target "soldierboss_phase_3" Action "Trigger" Delay 1 Cooldown 1 Repeats 1 IfHealthBelow 25000 } FireWeapon // pop crit canteens { Delay 10 Cooldown 15 Repeats 2 Duration 0.5 Type "Action" IfHealthBelow 25000 } } T_TFBot_Treadkill // Tank Man { Class Pyro Name "Salvaged Treadonator" Skill Hard Attributes MiniBoss Health 32000 ClassIcon tank // placeholder Attributes UseBossHealthBar Attributes DisableDodge // you're too fucking big to dodge WeaponRestrictions MeleeOnly AimTrackingInterval 0.83 Item "The Conscientious Objector" UseCustomModel "models\bots\soldier\bot_soldier_gibby.mdl" // trash boys UseHumanAnimations 1 AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Conscientious Objector" "custom item model" "models\weapons\c_models\c_w_chainsaw\c_w_chainsaw.mdl" "move speed bonus" 0.25 "no_jump" 1 "damage bonus" 2 "crit kill will gib" 1 "fire rate bonus" 2 "always crit" 1 "melee cleave attack" 1 "gesture speed increase" 1.33 // sync attack animation better "cancel falling damage" 1 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "custom weapon fire sound" "=150|crush/chainsaw_swing.wav" "custom hit sound" SawMill.BladeImpact "custom kill icon" saw_kill } CharacterAttributes { "voice pitch scale" 0 "dmg taken mult from special damage type 1" 0.01 } VoiceCommand // scary finger pointing { Delay 5 Cooldown 15 Repeats 0 IfSeeTarget 1 Type "Move up" } } T_TFBot_Merasmus // him { Class Sniper Skill Hard Health 80000 Name "MERASMUS!" ClassIcon boss_merasmus Attributes UseBossHealthBar Attributes MiniBoss AlwaysGlow 1 Scale 1.74 // no ragdoll because problems UseCustomModel "models/bots/merasmus/merasmussmall.mdl" WeaponRestrictions MeleeOnly Item Jarate Item "The Loose Cannon" WeaponResist { "TF_WEAPON_MINIGUN" 0.5 "TF_WEAPON_ROCKETLAUNCHER" 0.75 } ItemAttributes { ItemName TF_WEAPON_CLUB "custom item model" "models/empty.mdl" "custom kill icon" merasmus_decap "damage bonus" 3 "apply look velocity on damage" -1000 "apply z velocity on damage" -256 "melee range multiplier" 1.33 } ItemAttributes { ItemName Jarate "effect bar recharge rate increased" 0.001 } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "fire rate bonus" 0.025 "clip size upgrade atomic" 14 "faster reload rate" -0.8 "damage bonus" 4 "custom projectile model" models/weapons/w_models/w_drg_ball.mdl // probably needs an effect attached? "projectile trail particle" spell_fireball_small_trail_blue // more visible magic "explosion particle" merasmus_bomb_explosion "reload full clip at once" 1 "custom item model" "models/empty.mdl" "custom kill icon" merasmus_zap "projectile spread angle penalty" 128 // less laser pointed magic "custom weapon fire sound" "player\taunt_sorcery_fail.wav" // merasmus spell might be too loud "Projectile speed increased" 0.75 "blast radius increased" 1.25 "grenade explode on impact" 1 "damage causes airblast" 1 "Set DamageType Ignite" 1 } FireInput { Target "tf_gamerules" Action "PlayVO" Param "Halloween.MerasmusCastJarateSpell" Delay 1.2 Cooldown 20 Repeats 0 IfSeeTarget 1 IfHealthAbove 65000 } WeaponSwitch //Periodically switches weapon { Delay 1 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Secondary" IfHealthAbove 65000 } WeaponSwitch //Periodically switches weapon { Delay 2 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Melee" IfHealthAbove 65000 } Sequence // use that damn animation of his, good thing this was mentioned on Midnight Patrol somewhere...? { Name zap_attack Cooldown 30 Delay 0 Repeats 0 IfHealthBelow 65000 } FireInput { Target "tf_gamerules" Action "PlayVO" Param "Halloween.MerasmusLaunchSpell" Delay 0 Cooldown 30 Repeats 0 IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 0 Cooldown 30 Repeats 0 Type "Primary" IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 2.5 Cooldown 30 Repeats 0 Type "Melee" IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 2.7 Cooldown 30 Repeats 0 Type "Melee" IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 3 Cooldown 30 Repeats 0 Type "Melee" IfHealthBelow 65000 } FireInput { Target "tf_gamerules" Action "PlayVO" Param "Halloween.MerasmusCastJarateSpell" Delay 26 Cooldown 30 Repeats 0 IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 25 Cooldown 30 Repeats 0 Type "Secondary" IfHealthBelow 65000 } WeaponSwitch //Periodically switches weapon { Delay 28 Cooldown 30 Repeats 0 Type "Melee" IfHealthBelow 65000 } CharacterAttributes // no { "voice pitch scale" 0 "cancel falling damage" 1 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 1 "health from packs decreased" 0.2 // this is 80% right? } } } ///////////////////////////////////////////////////////////////////////////////////// // Legerdemain Advanced ( Castle Crush ) // Cash given at start: $0 // Wave payouts: 500 each ///////////////////////////////////////////////////////////////////////////////////// //ROUND 1 /////////////////////////////////////////////////////////////////////////// // Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate { Name "ForceField_Warning" } SpawnTemplate "ForceField_Front" SpawnTemplate "ForceField_Hatch" Explanation { Line "{yellow}Help Merasmus settle a dispute with a game of Castle Crush!" Line "{yellow}Deliver the bomb and destroy Soldier's castle to win!" Line "{yellow}You have a time limit and Soldier will do his best to stall you." Line "{yellow}You have additional weapons and Giants to help you out." Line "{yellow}You can receive special weapons from your local Toolbox Arms Dealer." Line "{yellow}The Support tab will indicate support you will receive on the waves." } CustomMaxWaveNumber 0 WaitWhenDone 65 Checkpoint Yes // RED SPAWNS WaveSpawn // soldiers at the start { Name "wave01a" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 48 MaxActive 15 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 50 StartWaveWarningSound "misc/halloween/strongman_bell_01.wav" TFBot { Class Soldier Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 1 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Move up" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } } WaveSpawn // use something else than soldiers, already { Name "wave01b" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 64 MaxActive 12 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 7 WaitForAllSpawned "wave01a" TotalCurrency 150 FirstSpawnMessage "Enemies wearing glowing hats will stay near the Bomb or gates!" RandomChoice { TFBot { Class Pyro Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge Name Soldier UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 2 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Move up" } ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "crit mod disabled" 0 } } TFBot { Class Pyro Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge Name Soldier UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 5 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Move up" } ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "crit mod disabled" 0 } } TFBot { Class Heavy Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Tag "gate_defense" Item "MvM GateBot Light Soldier" Action PushToCapturePoint Attributes DisableDodge Name Soldier UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 1 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_MINIGUN "crit mod disabled" 0 } } TFBot { Class Heavy Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Tag gate_defense Item "MvM GateBot Light Soldier" Action PushToCapturePoint Attributes DisableDodge Name Soldier UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 2 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_MINIGUN "crit mod disabled" 0 } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge Name Soldierknight UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 1 Cooldown 8 Repeats 0 IfSeeTarget 1 Type "Battle cry" } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge Name Soldierknight UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 1 Cooldown 8 Repeats 0 IfSeeTarget 1 Type "Battle cry" } } } } WaveSpawn // last stand { Name "wave01c" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 999 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 4 WaitForAllSpawned "wave01b" TotalCurrency 200 RandomChoice { TFBot { Class Demoman Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Name Soldier Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 5 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Move up" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 } } TFBot { Class Demoman Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Name Soldier Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 1 Cooldown 20 Repeats 0 IfSeeTarget 1 Type "Activate Charge" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 } } TFBot { Class Demoman Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Tag "gate_defense" Item "MvM GateBot Light Soldier" Action PushToCapturePoint Attributes DisableDodge Name Soldier UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Activate Charge" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 } } } } WaveSpawn // last stand { Name "wave01c" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 999 MaxActive 9 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 6 WaitForAllSpawned "wave01b" TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Uber Soldier" Attributes IgnoreEnemies ClassIcon medic_uberkritzsplit VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } } TFBot { Template T_TFBot_Medic_Kritzkrieg AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Attributes IgnoreEnemies Name "Kritzkrieg Soldier" ClassIcon medic_uberkritzsplit VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } } } } // BLU SPAWNS WaveSpawn // give the first alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 1 FirstSpawnMessage "Bomb will arrive in thirty seconds!" FirstSpawnOutput { Target text_reverse_msg30 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 FirstSpawnMessage "Bomb will arrive in ten seconds!" FirstSpawnOutput { Target text_reverse_msg10 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // turn on the bomb just before it 'arrives' { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 30 FirstSpawnOutput { Target intel_classic_1 Action Enable } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "boysinblue" // it's on now Where spawnbot_middle TotalCount 30 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support 1 WaitBeforeStarting 31 WaitBetweenSpawnsAfterDeath 1 TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } TFBot { Class Scout UseCustomModel "models/bots/scout/bot_scout.mdl" NoBombUpgrades 1 } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" // it's on now Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 31.2 FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 360 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 300 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 330 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "boysinblue" // it's on now Where spawnbot_middle TotalCount 30 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support 1 WaitBeforeStarting 31 WaitBetweenSpawnsAfterDeath 1 TotalCurrency 0 FirstSpawnOutput { Target text_reverse_arrival Action Display } TFBot { Class Scout UseCustomModel "models/bots/scout/bot_scout.mdl" NoBombUpgrades 1 } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 2 /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "ForceField_Front" SpawnTemplate "ForceField_Hatch" // RED SPAWNS WaveSpawn // bats { Name "wave02a" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 63 MaxActive 21 SpawnCount 7 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 100 StartWaveWarningSound "misc/halloween/strongman_bell_01.wav" TFBot { Class Scout Skill Hard WeaponRestrictions MeleeOnly Attributes AlwaysCrit Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ItemAttributes { ItemName TF_WEAPON_BAT "custom item model" models/weapons/c_models/c_shovel/c_shovel.mdl "custom kill icon" shovel } VoiceCommand { Delay 0 Cooldown 3 Repeats 0 IfSeeTarget 1 Type "Battle cry" } } } WaveSpawn // blaster boys { Name "wave02b" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c TotalCount 48 MaxActive 16 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 5 WaitForAllSpawned "wave02a" TotalCurrency 100 TFBot { Template T_TFBot_Soldier_RocketPush AddCond { Name TF_COND_REPROGRAMMED } Action Mobber VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName "The Liberty Launcher" "crit mod disabled" 0 } } } WaveSpawn // blaster boys { Name "wave02b" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c_giant TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 10 WaitForAllDead "wave02a" TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_FAN Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Force-a-Nature Super Soldier" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName "The Force-a-Nature" "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn // blaster boys { Name "wave02c" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 20 WaitForAllSpawned "wave02b" TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName TF_WEAPON_MINIGUN "damage bonus" 1.5 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Battalion ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } } } WaveSpawn // blaster boys { Name "wave02c" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 20 WaitForAllSpawned "wave02b" TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Skill Hard Item "MvM GateBot Light Soldier" AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_MINIGUN "damage bonus" 1.5 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Item "MvM GateBot Light Soldier" ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Concheror Item "MvM GateBot Light Soldier" ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } TFBot { Template T_TFBot_Soldier_Extended_Battalion Item "MvM GateBot Light Soldier" ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 } } } } WaveSpawn // blaster boys { //Name "wave02d" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 20 WaitForAllDead "wave02c" TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Skill Hard ClassIcon demo_burst_red_giant Item "MvM GateBot Light Soldier" Attributes AlwaysCrit AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Burst Fire Soldier" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Demo_Burst Skill Hard ClassIcon demo_burst_red_giant Item "MvM GateBot Light Soldier" Attributes AlwaysCrit AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag "gate_defense" Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Burst Fire Soldier" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } } } WaveSpawn { Name "wave02d" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c TotalCount 999 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 WaitForAllDead "wave02c" TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Soldier Shotgun" VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Go" } ItemAttributes { ItemName TF_WEAPON_SHOTGUN_HWG "crit mod disabled" 0 } } } WaveSpawn // they snipin { Name "wave02snipers" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 999 MaxActive 5 SpawnCount 5 WaitBeforeStarting 6 WaitBetweenSpawns 40 TotalCurrency 0 TFBot { Class Sniper Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Tag sniper_locations // maybe give them a Prefer? Action Sniper Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } } } // BLU SPAWNS WaveSpawn // give the first alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 1 FirstSpawnMessage "Bomb will arrive in thirty seconds!" FirstSpawnOutput { Target text_reverse_msg30 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 FirstSpawnMessage "Bomb will arrive in ten seconds!" FirstSpawnOutput { Target text_reverse_msg10 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // turn on the bomb just before it 'arrives' { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 30 FirstSpawnOutput { Target intel_classic_1 Action Enable } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "boysinblue" // it's on now Where spawnbot_middle TotalCount 30 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support 1 WaitBeforeStarting 31 WaitBetweenSpawnsAfterDeath 1 TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } TFBot { Class Scout ClassIcon scout_giant UseCustomModel "models/bots/scout/bot_scout.mdl" NoBombUpgrades 1 } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 30 MaxActive 8 SpawnCount 4 RandomSpawn 1 Support 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 WaitForAllSpawned "wave02b" TotalCurrency 0 FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Class Soldier Skill Hard UseCustomModel "models/bots/soldier/bot_soldier.mdl" NoBombUpgrades 1 } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" // it's on now Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 31.2 FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 360 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 300 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 330 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 3 /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "ForceField_Front" SpawnTemplate "ForceField_Hatch" SpawnTemplate { Name "Sentrygun" Origin "-560 -4360 -123" Angles "0 315 0" } SpawnTemplate { Name "Sentrygun" Origin "207 -4363 -123" Angles "0 225 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3837 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3513 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "1374 -3969 68" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "830 -3481 -56" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "1743 -2705 4" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "-58 -2343 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "-260 -2340 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "71 -1420 2" Angles "0 45 0" } // RED SPAWNS WaveSpawn { Name "wave03a" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 36 MaxActive 12 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 50 StartWaveWarningSound "misc/halloween/strongman_bell_01.wav" TFBot { Class Pyro AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Move Up" } ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "crit mod disabled" 0 } } } WaveSpawn { Name "wave03a" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c_giant TotalCount 6 MaxActive 4 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 12 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Spammer Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Move Up" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "wave03a" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c_giant TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Spammer Skill Hard Item "MvM GateBot Light Soldier" AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Attributes DisableDodge Tag gate_defense VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Incoming" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "wave03a" Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 40 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Medic_Regen ClassIcon medic_shield_qf Attributes ProjectileShield Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from healers reduced" 2 "damage force reduction" 0 "increase buff duration" 3 "ubercharge rate bonus" 0.01 "generate rage on heal" 1 } } } WaveSpawn // iron lich { Name "wave03lich_1" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllSpawned "wave03a" TotalCurrency 0 FirstSpawnWarningSound "crush/HEDSIT.wav" TFBot { SpawnTemplate "Iron_Lich_Cosmetics" ClassIcon special_magicskull Class Heavy Skill Hard Name "Skull Magician" AddCond { Name TF_COND_REPROGRAMMED } Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload WeaponRestrictions SecondaryOnly Action Mobber Health 15000 Scale 1.2 UseCustomModel "models/empty.mdl" // no UseMeleeThreatPrioritization 1 AimOffset "0 0 48" ItemAttributes { ItemName TF_WEAPON_SHOTGUN_HWG "damage bonus" 10 //"Projectile speed increased" 0.45 "projectile spread angle penalty" 7 "fire rate bonus" 0.25 "faster reload rate" 0.5 "clip size bonus" 3 "override projectile type" 2 "mod projectile heat seek power" 10 "set damagetype ignite" 1 "projectile trail particle" spell_fireball_small_red "custom projectile model" models/weapons/w_models/w_drg_ball.mdl "custom kill icon" "spellbook_fireball" "custom item model" "models/empty.mdl" "mod weapon blocks healing" 1 "custom weapon fire sound" "misc/halloween/spell_fireball_cast.wav" // SO LOUD } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "voice pitch scale" 0 "torso scale" 0.1 "dmg taken mult from special damage type 1" 0.01 } } } WaveSpawn { Name "wave03lich_2" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 WaitForAllSpawned "wave03a" TotalCurrency 0 FirstSpawnWarningSound "crush/HEDSIT.wav" TFBot { SpawnTemplate "Iron_Lich_Cosmetics" ClassIcon special_magicskull Class Demoman Skill Hard Name "Skull Magician" AddCond { Name TF_COND_REPROGRAMMED } Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload WeaponRestrictions PrimaryOnly Action Mobber Health 15000 Item "The Loose Cannon" Scale 1.2 UseCustomModel "models/empty.mdl" // no UseMeleeThreatPrioritization 1 RocketCustomModel "models/empty.mdl" ShootTemplate { Name Tornado ItemName "The Loose Cannon" Speed 100 Offset "0 0 0" Angles "0 0 0" AttachToProjectile 1 // my parent is the rocket now Spread 0 } ItemAttributes { ItemName "The Loose Cannon" "fuse bonus" 6 "grenade launcher mortar mode" 0 "fire rate bonus" 2.2 "custom projectile model" models/weapons/w_models/w_drg_ball.mdl // probably needs an effect attached? "custom item model" "models/empty.mdl" "custom weapon fire sound" "crush/HEDAT3.wav" "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "voice pitch scale" 0 "dmg taken mult from special damage type 1" 0.01 } } } WaveSpawn { Name "wave03lich_3" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 2 WaitForAllSpawned "wave03a" TotalCurrency 0 FirstSpawnWarningSound "crush/HEDACT.wav" TFBot { SpawnTemplate "Iron_Lich_Cosmetics" SpawnTemplate "Thunder_Wave" ClassIcon special_magicskull Class Demoman Skill Hard Name "Skull Magician" AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint StripItemSlot 0 StripItemSlot 1 Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes UseBossHealthBar Health 15000 Scale 1.2 UseCustomModel models/empty.mdl UseMeleeThreatPrioritization 1 ItemAttributes { ItemName TF_WEAPON_BOTTLE "fire rate bonus" 1.75 "damage bonus" 3 "apply z velocity on damage" 256 "apply look velocity on damage" 256 "crit mod disabled" 0 "mod weapon blocks healing" 1 "custom hit sound" "mvm/physics/robo_impact_hard_04.wav" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "voice pitch scale" 0 "dmg taken mult from special damage type 1" 0.01 } } } WaveSpawn { Name "wave03c" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 32 MaxActive 8 SpawnCount 4 WaitBeforeStarting 24 WaitBetweenSpawns 5 WaitForAllSpawned "wave03a" TotalCurrency 150 TFBot { Template T_TFBot_Heavyweapons_Fist AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Steel Soldlet" VoiceCommand { Delay 0 Cooldown 5 Repeats 0 IfSeeTarget 1 Type "Battle Cry" } ItemAttributes { ItemName "Fists of Steel" "crit mod disabled" 0 } } } WaveSpawn { Name "wave03e" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c_giant TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 WaitForAllSpawned "wave03c" TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Crit Item "MvM GateBot Light Soldier" AddCond { Name TF_COND_REPROGRAMMED } Tag gate_defense Attributes DisableDodge Action PushToCapturePoint ItemAttributes { ItemName "The Original" "damage bonus" 1.5 "damage force reduction" 0 } } } WaveSpawn { Name "wave03e" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 999 MaxActive 6 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 8 WaitForAllSpawned "wave03c" TotalCurrency 0 TFBot { Template T_TFBot_Medic_BigHeal AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Quick-Fix Soldier" } } WaveSpawn { Name "wave03snort" Where spawnbot_gate_a Where spawnbot_gate_b Where spawnbot_gate_c TotalCount 999 MaxActive 3 SpawnCount 3 WaitBeforeStarting 80 WaitBetweenSpawns 25 TotalCurrency 0 TFBot { Class Spy AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge // UseCustomModel "models/player/soldier.mdl" // UseHumanAnimations 1 // Name Soldier ItemAttributes { ItemName TF_WEAPON_KNIFE "armor piercing" 150 } } } // BLU SPAWNS WaveSpawn // give the first alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 1 FirstSpawnMessage "Bomb will arrive in thirty seconds!" FirstSpawnOutput { Target text_reverse_msg30 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 FirstSpawnMessage "Bomb will arrive in ten seconds!" FirstSpawnOutput { Target text_reverse_msg10 Action Display } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // give the second alert message { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 21 RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // turn on the bomb just before it 'arrives' { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 30 FirstSpawnOutput { Target intel_classic_1 Action Enable } RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "boysinblue" // it's on now Where spawnbot_middle TotalCount 30 MaxActive 3 SpawnCount 3 RandomSpawn 1 Support 1 WaitBeforeStarting 31 WaitBetweenSpawns 1 TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } //FirstSpawnWarningSound "mvm\mvm_warning.wav" TFBot { Class Heavy ClassIcon heavy_deflector Skill Hard Item Deflector ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } UseCustomModel "models/bots/heavy/bot_heavy.mdl" NoBombUpgrades 1 } } WaveSpawn { Name "boysinblue" Where spawnbot_left TotalCount 30 MaxActive 6 SpawnCount 3 RandomSpawn 1 Support 1 WaitBeforeStarting 15 WaitBetweenSpawns 6 WaitForAllSpawned "wave03a" TotalCurrency 0 FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Skill Hard UseCustomModel "models/bots/heavy/bot_heavy.mdl" NoBombUpgrades 1 } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 30 MaxActive 3 SpawnCount 3 RandomSpawn 1 Support 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllSpawned "wave03c" TotalCurrency 0 FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Class Pyro Skill Normal UseCustomModel "models/bots/pyro/bot_pyro.mdl" NoBombUpgrades 1 } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" // it's on now Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 31.2 FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 360 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 300 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 330 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "wave03lich_1" FirstSpawnWarningSound "crush/HEDDTH.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "wave03lich_2" FirstSpawnWarningSound "crush/HEDDTH.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "wave03lich_3" FirstSpawnWarningSound "crush/HEDDTH.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 4 /////////////////////////////////////////////////////////////////////////////////////////////////////// // // The rules change, it's Escort Time Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "Tankround_Stalematent" SpawnTemplate { Name "Sentrygun" Origin "-560 -4360 -123" Angles "0 315 0" } SpawnTemplate { Name "Sentrygun" Origin "207 -4363 -123" Angles "0 225 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3837 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3513 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "1374 -3969 68" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "830 -3481 -56" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "1743 -2705 4" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "-58 -2343 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "-260 -2340 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "71 -1420 2" Angles "0 45 0" } SpawnTemplate { Name "Spawn_Marker" Origin "-1080 -1561 -48" Angles "0 270 0" } Explanation { Line "{yellow}The rules of the game have changed." Line "{yellow}Escort your Tank to destroy Soldier's castle!" Line "{yellow}The Tank will drop a bomb if it is destroyed." } WaveSpawn { Name "wave04a" Where spawnbot_gate_b_nostop TotalCount 30 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 50 StartWaveWarningSound "misc/halloween/strongman_bell_01.wav" FirstSpawnOutput { Target pushback_red_2 Action Trigger } TFBot { Template T_TFBot_Giant_Scout_Fast Skill Hard AddCond { Name TF_COND_REPROGRAMMED } FastUpdate 1 Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Super Soldier" ItemAttributes { ItemName "The Holy Mackerel" "custom item model" models/weapons/c_models/c_shovel/c_shovel.mdl "custom kill icon" shovel "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "wave04b" Where spawnbot_gate_b_nostop TotalCount 16 MaxActive 12 SpawnCount 4 WaitForAllSpawned "wave04a" WaitBeforeStarting 4 WaitBetweenSpawns 15 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber VoiceCommand { Delay 2 Cooldown 5 Repeats 1 IfSeeTarget 1 Type "Activate Charge" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "mult dmg vs giants" 2 "damage force reduction" 0 } } TFBot { Template T_TFBot_Medic_Kritzkrieg AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Kritzkrieg Soldier" } } } WaveSpawn { Name "wave04c" Where spawnbot_gate_c_giant TotalCount 16 MaxActive 8 SpawnCount 4 WaitForAllSpawned "wave04b" WaitBeforeStarting 15 WaitBetweenSpawns 12 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Skill Hard ClassIcon demo_burst_red_giant AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Burst Fire Soldier" VoiceCommand { Delay 2 Cooldown 5 Repeats 1 IfSeeTarget 1 Type "Activate Charge" } ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Uber Soldier" } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Uber Soldier" } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Uber Soldier" } } } WaveSpawn { Where spawnbot_gate_c TotalCount 999 MaxActive 12 SpawnCount 4 WaitBeforeStarting 8 WaitBetweenSpawns 6 WaitForAllSpawned "wave04b" TotalCurrency 100 TFBot { Class Soldier Skill Hard Item "The Direct Hit" AddCond { Name TF_COND_REPROGRAMMED } RocketJump 1 ItemAttributes { ItemName "The Direct Hit" "faster reload rate" -0.8 "rocket jump damage reduction" 0.85 "rocketjump attackrate bonus" 0.35 "clip size upgrade atomic" 2 "mod projectile heat seek power" 360 "mod projectile heat aim error" 90 "crit mod disabled" 0 } Action Mobber Attributes DisableDodge } } WaveSpawn { Where spawnbot_gate_c TotalCount 999 MaxActive 6 SpawnCount 3 WaitBeforeStarting 1 WaitBetweenSpawns 8 WaitForAllSpawned "wave04a" TotalCurrency 200 TFBot { Class Pyro ClassIcon pyro_giant // no icon issues Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier UseBestWeapon 1 Item "The Scorch Shot" Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "The Scorch Shot" "fire rate bonus" 0.6 "faster reload rate" 0.4 "crit mod disabled" 0 } ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "crit mod disabled" 0 } } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 30 MaxActive 6 SpawnCount 3 Support 1 WaitBeforeStarting 3 WaitBetweenSpawns 5 WaitForAllSpawned "wave04a" FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Class Pyro Skill Normal UseCustomModel "models/bots/pyro/bot_pyro.mdl" Action Mobber Attributes IgnoreFlag NoBombUpgrades 1 } } WaveSpawn { Name "boysinblue" Where spawnbot_left // right is that fucking tunnel!!! TotalCount 2 MaxActive 2 SpawnCount 2 Support 1 WaitBeforeStarting 62 WaitBetweenSpawns 40 TFBot { Class Spy Skill Hard UseCustomModel "models/bots/spy/bot_spy.mdl" ItemAttributes { ItemName TF_WEAPON_KNIFE "armor piercing" 150 } } } WaveSpawn // the tanks { Name "bluetank" TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support limited Tank { Health 25000 Speed 50 Name "tankboss" StartingPathTrackNode "objtank_blu_1" SpawnTemplate "BlueTank_Warp" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_bombwarp Action Trigger } } } WaveSpawn { Name "bomb_spawner" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support limited WaitBeforeStarting 0.5 // give the pt some time WaitBetweenSpawns 0 WaitForAllDead "bluetank" TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } DoneOutput { Target warp_target Action Kill } TFBot { Class Pyro Skill Hard Tag swooce NoBombUpgrades 1 } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 0.2 WaitForAllDead "bluetank" FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 270 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 210 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 240 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 5 /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "Camera_Crew_Payload" SpawnTemplate "Tankround_Stalematent" SpawnTemplate "Redtank_Glowie" SpawnTemplate { Name "Sentrygun" Origin "-560 -4360 -123" Angles "0 315 0" } SpawnTemplate { Name "Sentrygun" Origin "207 -4363 -123" Angles "0 225 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3837 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "-926 -3513 131" Angles "0 0 0" } SpawnTemplate { Name "Sentrygun" Origin "1374 -3969 68" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "830 -3481 -56" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "1743 -2705 4" Angles "0 180 0" } SpawnTemplate { Name "Sentrygun" Origin "-58 -2343 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "-260 -2340 -60" Angles "0 270 0" } SpawnTemplate { Name "Sentrygun" Origin "71 -1420 2" Angles "0 45 0" } SpawnTemplate { Name "Spawn_Marker" Origin "-1080 -1561 -48" Angles "0 270 0" } WaveSpawn { Name "wave05a" Where spawnbot_gate_b_nostop TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 80 TotalCurrency 50 FirstSpawnOutput { Target pushback_red_2 Action Trigger } Squad { TFBot { Class Heavyweapons Name "Giant Deflector Soldier" ClassIcon heavy_deflector Skill Expert Health 5000 Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 Attributes MiniBoss Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Tag gate_defense Action PushToCapturePoint Item "MvM GateBot Light Soldier" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "Deflector" "damage bonus" 1.5 "attack projectiles" 2 "no_jump" 1 "crit mod disabled" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "damage force reduction" 0 } VoiceCommand { Delay 0 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Activate Charge" } } TFBot { Template T_TFBot_Medic_Kritzkrieg AddCond { Name TF_COND_REPROGRAMMED } Attributes IgnoreFlag Attributes IgnoreEnemies // get a grip Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Kritzkrieg Soldier" } } } WaveSpawn // payload { Name "wave05bombs" TotalCount 3 SpawnCount 1 MaxActive 3 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 50 FirstSpawnMessage "Payloads are coming to blow up your base! Destroy them!" FirstSpawnOutput { Target crewcam_payload Action Trigger } Tank // custom tank with bombs all over it { Health 12000 Speed 50 Name "tankbossred" StartingPathTrackNode "objtank_red_1" ClassIcon payload_red TeamNum 2 Scale 0.5 DisableTracks 1 DisableBomb 1 DisableSmokestack 1 SpawnTemplate "Bombtank_Prop" Model "models/empty.mdl" PingSound "misc/null.wav" DeploySound "crush/payload_deploy.mp3" // make one later? StartSound "Cart.RollStart" EngineLoopSound "Cart.Roll" OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "wave05b" Where spawnbot_gate_c_giant TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 25 TotalCurrency 50 WaitForAllDead "wave05c" TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Skill Hard ClassIcon heavy_shotgun_red Action Mobber AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Shotgun Soldier" ItemAttributes { ItemName TF_WEAPON_SHOTGUN_HWG "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { // Name "wave05b" Where spawnbot_gate_c_giant TotalCount 6 MaxActive 4 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 50 WaitForAllSpawned "wave05c" RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Skill Hard Action Mobber ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Action Mobber Skill Hard ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Action Mobber Skill Hard ClassIcon soldier_banner_trio AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "crit mod disabled" 0 "damage force reduction" 0 } } } } WaveSpawn { Name "wave05c" Where spawnbot_gate_c_giant TotalCount 8 MaxActive 6 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 100 WaitForAllSpawned "wave05bombs" TFBot { Template T_TFBot_Giant_Pyro Action Mobber Skill Hard Attributes AlwaysCrit Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "damage force reduction" 0 } } } WaveSpawn { Name "wave05d" Where spawnbot_gate_c TotalCount 999 MaxActive 6 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 6 WaitForAllSpawned "wave05b" TotalCurrency 200 TFBot { Class Heavy Skill Normal Action Mobber WeaponRestrictions PrimaryOnly Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_MINIGUN "crit mod disabled" 0 } } } WaveSpawn { Where spawnbot_gate_c TotalCount 999 MaxActive 8 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Sniper_Huntsman Skill Hard ClassIcon sniper_bow_multi //Attributes AlwaysCrit Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Action Mobber Name Soldman AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "arrow mastery" 1 "crit mod disabled" 0 } } } WaveSpawn { Name "boysinblue" Where spawnbot_middle // right is that fucking tunnel!!! TotalCount 2 MaxActive 2 SpawnCount 2 Support 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper Action Sniper UseCustomModel "models/bots/sniper/bot_sniper.mdl" } } WaveSpawn // wait for that intro to end before spawning the tank { Name "bluetank" TotalCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 0 Support limited FirstSpawnWarningSound "misc/halloween/strongman_bell_01.wav" Tank { Health 26500 Speed 50 Name "tankboss" StartingPathTrackNode "objtank_blu_1" SpawnTemplate "BlueTank_Warp" OnBombDroppedOutput // secondary win condition { Target boss_deploy_relay Action Trigger } OnKilledOutput { Target boss_dead_bombwarp Action Trigger } } } WaveSpawn { Name "bomb_spawner" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support limited WaitBeforeStarting 0.5 // give the pt some time WaitBetweenSpawns 0 WaitForAllDead "bluetank" TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } DoneOutput { Target warp_target Action Kill } TFBot { Template T_TFBot_Soldier_Extended_Concheror Tag swooce NoBombUpgrades 1 UseCustomModel "models/bots/soldier/bot_soldier.mdl" } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 30 MaxActive 4 SpawnCount 4 Support 1 WaitBeforeStarting 5 WaitBetweenSpawns 5 WaitForAllDead "bomb_spawner" FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Template T_TFBot_Soldier_Extended_Concheror UseCustomModel "models/bots/soldier/bot_soldier.mdl" NoBombUpgrades 1 } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 0.2 WaitForAllDead "bluetank" FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 270 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 210 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 240 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 6 /////////////////////////////////////////////////////////////////////////////////////////////////////// // // The rules change again albeit slightly Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "Tankround_Stalematent" SpawnTemplate { Name "Spawn_Marker" Origin "-1080 -1561 -48" Angles "0 270 0" } WaveSpawn { Name "wave06a" Where spawnbot_gate_a Where spawnbot_gate_a_flank TotalCount 32 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 FirstSpawnOutput { Target pushback_red_2 Action Trigger } TFBot { Template T_TFBot_Soldier_Charged Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } // WaveSpawn // { // Name "wave06b" // Where spawnbot_gate_c // TotalCount 12 // MaxActive 3 // SpawnCount 3 // WaitBeforeStarting 10 // WaitBetweenSpawns 6 // WaitForAllSpawned "wave06a" // TotalCurrency 50 // // TFBot // { // Class Engineer // Skill Expert // Action Mobber // ClassIcon engineer_shortcircuit_lite // AddCond { Name TF_COND_REPROGRAMMED } // WeaponRestrictions SecondaryOnly // Item "The Short Circuit" // ExtAttr AlwaysFireWeaponAlt // ItemAttributes // { // ItemName "The Short Circuit" // "fire rate bonus" 2.5 // } // } // } WaveSpawn { Name "wave06b" Where spawnbot_gate_b_nostop TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 15 WaitForAllSpawned "wave06a" TotalCurrency 100 Squad { TFBot { Class Engineer Health 3400 Skill Normal Attributes MiniBoss Action Mobber Name "Super Widowmaker" Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 ClassIcon engineer_widowmaker_nys_giant AddCond { Name TF_COND_REPROGRAMMED } Item "The Widowmaker" ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.4 "crit mod disabled" 0 "penetrate teammates" 1 // stop blocking each other "damage force reduction" 0 } VoiceCommand { Delay 2 Cooldown 30 Repeats 0 IfSeeTarget 1 Type "Activate Charge" } } TFBot { Template T_TFBot_Giant_Medic_Kritzkrieg AddCond { Name TF_COND_REPROGRAMMED } Attributes IgnoreEnemies // get a grip Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Kritzkrieg Soldier" CharacterAttributes { "damage force reduction" 0 } } } } WaveSpawn { Name "wave06c" Where spawnbot_gate_c TotalCount 36 MaxActive 12 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 8 WaitForAllSpawned "wave06a" TotalCurrency 100 Squad { TFBot { Class Pyro Skill Hard Item "The Phlogistinator" Action Mobber Skill Expert Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldier Attributes SpawnWithFullCharge AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Phlogistinator" // "damage bonus" 1.25 "mod rage on hit bonus" 3 } FireWeapon //Periodically fires weapon { Delay 4 Cooldown 5 Repeats 0 IfSeeTarget 1 Duration 0.5 Type "Secondary" } } TFBot { Template T_TFBot_Medic_QuickUber AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge Attributes IgnoreEnemies UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Uber Soldier" // CharacterAttributes // { // "bot medic uber health threshold" 75 // haw haw // } } } } WaveSpawn { //Name "wave06d" Where spawnbot_gate_c TotalCount 999 MaxActive 12 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 5 WaitForAllSpawned "wave06b" TotalCurrency 200 TFBot { Template T_TFBot_Demoman_Knight Action Mobber AddCond { Name TF_COND_REPROGRAMMED } Attributes AlwaysCrit Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldierknight } } // WaveSpawn // { // Name wave06scouts // Where spawnbot_gate_c // TotalCount 64 // MaxActive 12 // SpawnCount 4 // WaitBeforeStarting 8 // WaitBetweenSpawns 3 // WaitForAllSpawned "wave06c" // TotalCurrency 200 // // TFBot // { // Class Scout // Skill Hard // Action Mobber // AddCond { Name TF_COND_REPROGRAMMED } // } // } WaveSpawn { Name "wave06snort" Where spawnbot_gate_c TotalCount 999 MaxActive 2 SpawnCount 2 WaitBeforeStarting 40 WaitBetweenSpawns 40 // WaitForAllDead "wave06scouts" TotalCurrency 0 TFBot { Class Spy AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge // UseCustomModel "models/player/soldier.mdl" // UseHumanAnimations 1 // Name Soldier ItemAttributes { ItemName TF_WEAPON_KNIFE "armor piercing" 150 } } } WaveSpawn { Where spawnbot_gate_a_flank Where spawnbot_gate_b_flank Where spawnbot_gate_c TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 20 WaitForAllSpawned bomb_spawner // be patient, you sods TFBot { Template T_TFBot_Engineer_Sentry_Teleporter AddCond { Name TF_COND_REPROGRAMMED } ExtAttr BuildDispenserAsTeleporter Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name Soldineer CharacterAttributes { "engy dispenser radius increased" 16 "engineer teleporter build rate multiplier" 3 "mult dispenser rate" 2 } } } WaveSpawn { Name "bluetank" TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support limited FirstSpawnWarningSound "misc/halloween/strongman_bell_01.wav" Tank { Health 28000 Speed 50 Name "tankboss" StartingPathTrackNode "objtank_blu_1" SpawnTemplate "BlueTank_Warp" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } OnKilledOutput // make relay that warps the bomb to tank { Target boss_dead_bombwarp Action Trigger } } } WaveSpawn { Name "bomb_spawner" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support limited WaitBeforeStarting 0.5 // give the pt some time WaitBetweenSpawns 0 WaitForAllDead "bluetank" TotalCurrency 0 FirstSpawnMessage "Bomb has arrived! Game on!" FirstSpawnOutput { Target text_reverse_arrival Action Display } TFBot { Class Demoman Skill Hard Tag swooce NoBombUpgrades 1 UseCustomModel "models/bots/demo/bot_demo.mdl" } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 1 MaxActive 1 SpawnCount 1 Support 1 WaitBeforeStarting 5 WaitForAllDead "bomb_spawner" WaitBetweenSpawnsAfterDeath 15 FirstSpawnOutput { Target text_reverse_backup Action Display } TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector UseCustomModel "models/bots/heavy_boss/bot_heavy_boss.mdl" } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 4 MaxActive 4 SpawnCount 4 Support 1 WaitBeforeStarting 5 WaitForAllDead "bomb_spawner" WaitBetweenSpawns 5 FirstSpawnOutput { Target warp_target Action Kill } TFBot { Class Demoman Skill Hard NoBombUpgrades 1 UseCustomModel "models/bots/demo/bot_demo.mdl" Attributes AlwaysCrit } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 0.2 WaitForAllDead "bluetank" FirstSpawnWarningSound "mvm\mvm_warning.wav" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "Tim, moral support" Health 270 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 210 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 240 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } } //ROUND 7 /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave // engineer boss fight { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomMaxWaveNumber 0 SpawnTemplate "ForceField_Front" SpawnTemplate "EngieBoss_HatchField" // someone walks to spot, field goes up, vine boom sfx SpawnTemplate "EngieBoss_Skyray" // BEAAAM SpawnTemplate "Camera_Crew_EngieBoss" // quiet on set SpawnTemplate { Name "Spawn_Marker" Origin "1204 -2032 -70" Angles "0 270 0" } SpawnTemplate { Name "Spawn_Marker" Origin "-1080 -1561 -48" Angles "0 270 0" } WaveSpawn { Name "wave07a" Where spawnbot_gate_a Where spawnbot_gate_b TotalCount 48 MaxActive 20 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 250 FirstSpawnWarningSound "misc/halloween/strongman_bell_01.wav" FirstSpawnOutput { Target engieboss_cosmetics_relay Action Trigger } TFBot { Class Demoman Skill Hard Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/demo/bot_demo.mdl" ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 } } } WaveSpawn { Name "wave07b" Where spawnbot_gate_a Where spawnbot_gate_b TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 10 WaitForAllSpawned "wave07a" TotalCurrency 250 DoneOutput // better this way than letting bots activate the boss too early { Target hatchfield_relay Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Skill Hard Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/heavy_boss/bot_heavy_boss.mdl" ItemAttributes { ItemName TF_WEAPON_MINIGUN "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" Attributes IgnoreEnemies Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "bot medic uber health threshold" 75 // haw haw } } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" Attributes IgnoreEnemies Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "bot medic uber health threshold" 75 // haw haw } } TFBot { Template T_TFBot_Medic AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" Attributes IgnoreEnemies Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "bot medic uber health threshold" 75 // haw haw } } } } WaveSpawn // just chillin { Where spawnbot_gate_c WaitBeforeStarting 60 TotalCount 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Attributes AlwaysCrit } } } } WaveSpawn { Name "wave07bossman" Where spawnbot_engieboss TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 LastSpawnMessage "Defeat the Dell-OROM to lower the barrier!" // test later DoneOutput { Target bossfight_end Action Trigger } TFBot { Template T_TFBot_Engineer_Borg Action Mobber Attributes DisableDodge InterruptAction { Target "gate_holdout_b" // run back to gate Delay 5 Repeats 0 Cooldown 15 Duration 3 WaitUntilDone 1 } AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "wave07bossman" FirstSpawnWarningSound "crush/dellorom_death.mp3" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "wave07support" Where spawnbot_gate_b_nostop Where spawnbot_engieboss_support TotalCount 1998 MaxActive 15 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 5 WaitForAllSpawned "wave07bossman" RandomChoice { TFBot { Class Engineer WeaponRestrictions MeleeOnly UseCustomModel "models/bots/engineer/bot_engineer.mdl" ClassIcon engineer_beepboy Action Mobber Attributes DisableDodge Item "Beep Man" Health 225 Name "Beep Boy" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_WRENCH "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "move speed bonus" 0.8 } } TFBot { Class Soldier WeaponRestrictions MeleeOnly UseCustomModel "models/bots/soldier/bot_soldier.mdl" ClassIcon engineer_beepboy Action Mobber Attributes DisableDodge Item "Beep Man" Health 225 Name "Beep Boy" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_SHOVEL "custom item model" models/weapons/c_models/c_wrench/c_wrench.mdl "custom kill icon" wrench "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "move speed bonus" 0.8 } } TFBot { Class Engineer WeaponRestrictions MeleeOnly UseCustomModel "models/bots/engineer/bot_engineer.mdl" ClassIcon engineer_beepboy Action Mobber Attributes DisableDodge Item "Beep Man" Health 225 Name "Beep Boy" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_WRENCH "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "move speed bonus" 0.8 } } TFBot { Class Sniper WeaponRestrictions MeleeOnly UseCustomModel "models/bots/sniper/bot_sniper.mdl" ClassIcon engineer_beepboy Action Mobber Attributes DisableDodge Item "Beep Man" Health 225 Name "Beep Boy" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_CLUB "custom item model" models/weapons/c_models/c_wrench/c_wrench.mdl "custom kill icon" wrench "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "move speed bonus" 0.8 } } TFBot { Class Demoman WeaponRestrictions MeleeOnly UseCustomModel "models/bots/demo/bot_demo.mdl" ClassIcon engineer_beepboy Scale 1.05 Action Mobber Attributes DisableDodge Item "Beep Man" Health 320 Name "Mobile Gun Platform" AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate { Name "Sentry_Mover" Bone "bip_spine_2" } ItemAttributes { ItemName TF_WEAPON_BOTTLE "custom item model" models/weapons/c_models/c_wrench/c_wrench.mdl "custom kill icon" wrench "crit mod disabled" 0 } CharacterAttributes { "voice pitch scale" 0 "move speed bonus" 0.3 } } } } WaveSpawn // the stopwatch wavespawn { Name "timelimitman" // it's on now Where spawnbot_stopwatch TotalCount 1 MaxActive 1 SpawnCount 1 RandomSpawn 1 Support Limited WaitBeforeStarting 0 WaitForAllSpawned "wave07bossman" RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon timer_lite Name "John, covering for Tim" Health 300 Scale 0.01 Tag "bot_stopwatch" Attributes UseBossHealthBar Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 } FireInput { Target "!activator" Action "$TakeDamage" Param "1" Delay 1 Cooldown 1 Repeats 0 } } } } } WaveSpawn // time limit warning { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 240 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have one minute remaining!" FirstSpawnOutput { Target text_reverse_60sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds60seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // danger time, cue the music { TotalCount 0 SpawnCount 0 Support limited WaitBeforeStarting 270 WaitForAllSpawned "timelimitman" FirstSpawnMessage "You have thirty seconds remaining!" FirstSpawnOutput { Target text_reverse_30sec_warning Action Display } FirstSpawnWarningSound Announcer.RoundEnds30seconds RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn // time's up { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "timelimitman" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon sniper } } } } WaveSpawn { Name "boysinblue" Where spawnbot_middle TotalCount 3 MaxActive 3 SpawnCount 3 Support 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 StartWaveOutput { Target text_reverse_msg30 Action Display } FirstSpawnOutput { Target text_reverse_arrival Action Display } FirstSpawnWarningSound "mvm\mvm_warning.wav" TFBot { Template T_TFBot_Demoman_Knight UseCustomModel "models/bots/demo/bot_demo.mdl" NoBombUpgrades 1 } } } //ROUND 8 /////////////////////////////////////////////////////////////////////////////////////////////////////// // // This isn't cool anymore, lets just fight to the death Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } CustomWaveNumber 404 CustomMaxWaveNumber 0 // SpawnTemplate "Finale_HUDText" SpawnTemplate "Camera_Crew_Finale" SpawnTemplate "Camera_Crew_Outro" // when soldier dies, play the epilogue SpawnTemplate "ForceField_Hatch" // dont let bots break into the cutscene SpawnTemplate "Pit_Block" WaveSpawn { Name "bigboss" Where spawnbot_gate_c TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 17 WaitBetweenSpawns 0 FirstSpawnMessage "Defeat Soldier to win the game!" DoneWarningSound "vo/soldier_sf12_falling02.mp3" FirstSpawnOutput { Target pushback_red_2 Action Trigger } DoneOutput { Target ending_cinematic Action Trigger } TFBot { Template T_TFBot_Soldier_Bigbad Action Mobber InterruptAction { Target "objtank_red_6" // Delay 5 Repeats 0 Cooldown 15 Duration 3 WaitUntilDone 1 } } } WaveSpawn // tank man { Name "tanky" Where spawnbot_engieboss_support Where spawnbot_gate_b_nostop TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 WaitForAllSpawned "bigboss" RandomSpawn 1 FirstSpawnWarningSound "vo/taunts/soldier/soldier_tank_16.wav" DoneOutput { Target autotank_death Action Trigger } TFBot { Template T_TFBot_Treadkill Action Mobber Attributes DisableDodge SpawnTemplate Soldier_Tank } } WaveSpawn // now the giants have the custom guns { Where spawnbot_gate_b_nostop TotalCount 999 MaxActive 6 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 8 WaitForAllSpawned "bigboss" FirstSpawnWarningSound "vo/soldier_mvm_stand_alone02.mp3" // DoneWarningSound "vo/soldier_mvm_stand_alone01.mp3" RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Spammer ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier_RocketPush ClassIcon red2_lite Skill Hard Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Liberty Launcher" "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge Item "The Cow Mangler 5000" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Cow Mangler 5000" "fire rate penalty" 1.5 "Blast radius increased" 1.2 "set damagetype ignite" 1 "damage bonus vs burning" 1.5 "faster reload rate" -1 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge Item "The Beggar's Bazooka" AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Beggar's Bazooka" "Reload time decreased" 0.33 "clip size upgrade atomic" 6 "projectile spread angle penalty" 4 "fire rate bonus" 0.05 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Soldier ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge Item "The Air Strike" RocketJump 1 AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Air Strike" "mod projectile heat seek power" 360 "mod projectile heat aim error" 90 "increased jump height" 2.5 "bot custom jump particle" 1 "Reload time decreased" 0.25 "cancel falling damage" 1 "clipsize increase on kill" 12 "clip size bonus" 1.5 "fire rate bonus" 0.4 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Pyro AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" Name "Giant Soldier" UseHumanAnimations 1 ClassIcon red2_lite ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "lunchbox adds minicrits" 2 "mult airblast refire time" 0.75 "damage bonus" 1.5 "weapon burn dmg increased" 2 "extinguish restores health" 300 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Pyro Item "The Backburner" Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Backburner" "lunchbox adds minicrits" 2 "damage bonus" 1.25 "weapon burn dmg increased" 2 "extinguish restores health" 300 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Pyro Item "The Phlogistinator" Attributes SpawnWithFullCharge Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Phlogistinator" "weapon burn dmg increased" 1.5 "damage bonus vs burning" 1.5 "increase buff duration" 1.25 "weapon burn time reduced" 2 "crit mod disabled" 0 "damage force reduction" 0 } FireWeapon { Delay 5 Cooldown 30 Repeats 0 Duration 1 IfSeeTarget 1 IfHealthBelow 2700 Type "Secondary" } } TFBot { Template T_TFBot_Giant_Pyro Item "The Dragon's Fury" Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 1.5 "energy weapon no deflect" 1 "weapon burn dmg increased" 2 "extinguish restores health" 300 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Pyro_Pusher Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Degreaser" "airblast pushback scale" 5 "mult airblast refire time" 0.5 "weapon burn dmg increased" 1.5 "extinguish restores health" 300 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName TF_WEAPON_MINIGUN "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Deflector Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "Deflector" "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons_Natascha Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "Natascha" "damage bonus" 1.5 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.25 "bullets per shot bonus" 2 "spunup_push_force_immunity" 1 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Soldier" ClassIcon red2_lite Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Huo Long Heatmaker" "damage penalty" 0.5 "bullets per shot bonus" 3 "minigun spinup time increased" 1.25 "spread penalty" 1.75 "ring of fire while aiming" 50 "weapon burn dmg increased" 1.5 "set damagetype ignite" 1 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Shotgun Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName TF_WEAPON_SHOTGUN_HWG "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun WeaponRestrictions SecondaryOnly Item "The Family Business" Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Shotgun Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Family Business" "fire rate bonus" 1.25 "bullets per shot bonus" 5 "auto fires full clip" 1 "clip size bonus" 1.5 "fire rate bonus with reduced health" 0.2 "faster reload rate" 0.1 "speed boost when active" 1.2 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Demoman Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Rapid Fire Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Demoman Item "The Iron Bomber" Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Rapid Fire Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Iron Bomber" "fire rate bonus" -1 "fuse bonus" 2 "clip size upgrade atomic" 12.0 "projectile spread angle penalty" 6 "Reload time decreased" 0.5 "blast radius increased" 0.5 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_Demoman Item "The Loose Cannon" Action Mobber Skill Hard Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Rapid Fire Soldier" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Loose Cannon" "grenade explode on impact" 1 "grenade launcher mortar mode" 0 "damage bonus" 2 "blast dmg to self increased" 6 "override projectile type" 3 "Blast radius increased" 2 "fire rate bonus" 2 "clip size penalty" 0.25 "explosion particle" hightower_explosion "custom projectile model" "models\props_trainyard\cart_bomb_separate.mdl" "custom impact sound" "misc/doomsday_missile_explosion.wav" "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldierknight" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 "damage bonus" 1.5 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldierknight" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Eyelander" "damage bonus" 1.5 "fire rate bonus" 1.25 "melee cleave attack" 1 "critboost on kill" 1.5 "apply z velocity on damage" -8000 "custom item model" "models\weapons\c_models\c_big_mallet\c_big_mallet.mdl" "custom kill icon" necro_smasher "custom hit sound" "weapons/halloween_boss/knight_axe_hit.wav" "melee range multiplier" 1.15 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "The Scotsman's Skullcutter" Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldierknight" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Scotsman's Skullcutter" "critboost on kill" 3 "damage bonus" 1.65 "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Item "The Persian Persuader" Item "The Splendid Shield" Action Mobber Attributes DisableDodge UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 Name "Giant Soldierknight" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite ItemAttributes { ItemName "The Persian Persuader" "melee cleave attack" 1 "critboost on kill" 1.5 "speed boost when active" 1.2 "crit mod disabled" 0 "damage force reduction" 0 } ItemAttributes { ItemName "The Splendid Screen" "charge time increased" 2 "charge recharge rate increased" 5 "attack not cancel charge" 1 } } } } WaveSpawn // just chillin { // Where spawnbot_gate_c WaitBeforeStarting 0 TotalCount 1 Support limited FirstSpawnOutput { Target crewcam_finale Action Trigger } RandomChoice { RandomChoice { TFBot { ClassIcon dead } } } } WaveSpawn // meramsbos { Name "mörhm" Where spawnbot_middle TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 17 WaitBetweenSpawns 0 Support limited DoneWarningSound "Halloween.MerasmusBanish" TFBot { Template T_TFBot_Merasmus Action Mobber SpawnTemplate "Merasmus_Shield" Tag bot_stopwatch InterruptAction { Target "objtank_red_7" // Delay 0 Repeats 0 Cooldown 27 Duration 0.5 WaitUntilDone 1 } } } WaveSpawn // ending cutscene fellas { Where spawnbot_endcutscene_soldier TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support limited TFBot { Class Spy ClassIcon boss_merasmus // hiding Action Idle // no!!!! UseCustomModel "models/player/soldier.mdl" UseHumanAnimations 1 StripItemSlot 4 StripItemSlot 5 StripItemSlot 6 WeaponRestrictions MeleeOnly // Attributes AlwaysFireWeapon AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_KNIFE "is invisible" 1 "cannot disguise" 1 "no_jump" 1 "voice pitch scale" 0 } InterruptAction { Target "341 -743 36" AimTarget "outro_moneypile" Delay 1 Repeats 1 Cooldown 3 Duration 50 } Taunt { Delay 6 Cooldown 1 Repeats 1 Name "Buy A Life Taunt" } Taunt { Delay 16 Cooldown 1 Duration 60 // easily outlast the ending cutscene Repeats 1 Name "Conga Taunt" } } } WaveSpawn // ending cutscene fellas { Where spawnbot_endcutscene_mersu TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support limited TFBot { Class Sniper ClassIcon boss_merasmus UseCustomModel "models/bots/merasmus/merasmussmall.mdl" // what's this? UseHumanAnimations 1 WeaponRestrictions MeleeOnly // Scale 1.4 // Bodygroup 2 // custom models cant set bodygroups!!!!!!!!! Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName TF_WEAPON_CLUB "is invisible" 1 "no_jump" 1 "voice pitch scale" 0 "dmg taken from fire reduced" 0 } InterruptAction { Target "447 -902 36" AimTarget "outro_moneypile" Delay 1 Repeats 1 Cooldown 3 Duration 50 } Taunt { Delay 6 Cooldown 1 Repeats 1 Name "Laugh Taunt" } Taunt { Delay 10 Cooldown 1 Duration 60 // easily outlast the ending cutscene Repeats 1 Name "Conga Taunt" } } } WaveSpawn // zombies { Name "zombies" Where spawnbot_middle TotalCount 1 MaxActive 12 SpawnCount 3 WaitBeforeStarting 50 WaitBetweenSpawns 6 WaitForAllSpawned "bigboss" Support 1 FirstSpawnWarningSound "vo/halloween_merasmus/sf12_wheel_ghosts03.mp3" RandomChoice { TFBot { Class Soldier Name "Zombie" WeaponRestrictions MeleeOnly Skill Hard Item "Zombie Soldier" Health 250 ClassIcon heavy_zombie_lite Attributes IgnoreFlag InterruptAction { Target RandomEnemy KillAimTarget 1 Delay 1 Repeats 0 Cooldown 3 Duration 999 } ItemAttributes { ItemName TF_WEAPON_SHOVEL "is invisible" 1 "custom kill icon" fists } } TFBot { Class Sniper Name "Zombie" WeaponRestrictions MeleeOnly Skill Hard Item "Zombie Sniper" Health 225 ClassIcon heavy_zombie_lite Attributes IgnoreFlag InterruptAction { Target RandomEnemy KillAimTarget 1 Delay 1 Repeats 0 Cooldown 3 Duration 999 } } TFBot { Class Pyro Name "Zombie" WeaponRestrictions MeleeOnly Skill Hard Item "Zombie Pyro" Item "The Hot Hand" Health 225 ClassIcon heavy_zombie_lite Attributes IgnoreFlag InterruptAction { Target RandomEnemy KillAimTarget 1 Delay 1 Repeats 0 Cooldown 3 Duration 999 } } TFBot { Class Demoman Name "Zombie" WeaponRestrictions MeleeOnly Skill Hard Item "Zombie Demo" Health 250 ClassIcon heavy_zombie_lite Attributes IgnoreFlag InterruptAction { Target RandomEnemy KillAimTarget 1 Delay 1 Repeats 0 Cooldown 3 Duration 999 } ItemAttributes { ItemName TF_WEAPON_BOTTLE "is invisible" 1 "custom kill icon" fists } } TFBot { Class Heavy Name "Zombie" WeaponRestrictions MeleeOnly Skill Hard Item "Zombie Heavy" Health 400 ClassIcon heavy_zombie_lite Attributes IgnoreFlag InterruptAction { Target RandomEnemy KillAimTarget 1 Delay 1 Repeats 0 Cooldown 3 Duration 999 } } } } WaveSpawn // zombies { Name "zombies" Where spawnbot_middle TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 50 WaitBetweenSpawnsAfterDeath 10 WaitForAllSpawned "bigboss" Support 1 FirstSpawnWarningSound "misc/halloween/spell_skeleton_horde_rise.wav" FirstSpawnOutput { Target engie_hints Action Trigger } TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle TeleportWhere spawnbot_middle Name "Zombineer" Item "Zombie Engineer" CharacterAttributes { "engineer teleporter build rate multiplier" 2 "engy sentry damage bonus" 1.5 } } } WaveSpawn // damn it merasmus { TotalCount 0 SpawnCount 0 Support limited WaitForAllDead "mörhm" FirstSpawnOutput { Target redwin_relay Action Trigger } FirstSpawnWarningSound "music\mvm_lost_wave.wav" RandomChoice { RandomChoice { TFBot { ClassIcon dead } } } } } }