#base robot_standard.pop #base robot_giant.pop // Deathwish - Expert Decay // Made by PDA Expert for HH2 (it's current codename) // Just like deadweight, rafmod will be lightly poked. But more than before. // Credits to royal for minor help with scythetank logic. WaveSchedule { StartingCurrency 700 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom No Advanced 1 EventPopfile Halloween ZombiesNoWave666 1 ForceRobotBleed 1 NoThrillerTaunt 1 TextPrintTime 0 NoCritPumpkin 1 NoRomevisionCosmetics 1 SpawnTemplate "pumpkin_upgrade1" SpawnTemplate "pumpkin_upgrade2" SpawnTemplate "the_SHACK" PrecacheModel "models/weapons/c_models/c_scythe/c_scythe.mdl" PrecacheModel "models/trollface/trollface.mdl" PrecacheModel "models/props_owo/sign001.mdl" Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 7 CooldownTime 20 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 30 CooldownTime 30 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 30 CooldownTime 30 TFBot { Template T_TFBot_Sniper_Razorback } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 4 InitialCooldown 10 CooldownTime 25 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 1 DesiredCount 3 InitialCooldown 50 CooldownTime 50 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 25 CooldownTime 25 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 6 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 30 CooldownTime 40 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 6 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 30 CooldownTime 30 TFBot { Template T_TFBot_Spy } } Mission { Objective Engineer Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 35 CooldownTime 25 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot_invasion Item "Buzz Killer" Item "Frontier Flyboy" Item "Legend of Bugfoot" } } Templates { T_TFBot_Giant_Pyro_Dragon { Class Pyro Name "Giant Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone_giant Skill Expert Health 3000 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Dragon's Fury" Item "Brim of Fire" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Heavy_Copper_Gauntlet // Non-minigiant version of a steel gauntlet. { Class Heavyweapons Name "Copper Gauntlet" ClassIcon heavy_steelfist Skill Hard WeaponRestrictions MeleeOnly Item "Fists of Steel" ItemColor { ItemName "Fists of Steel" Red 176 Green 101 Blue 44 } } T_TFBot_Medic_Kritzkrieg // Simple kritzkreig medic. { Class Medic Name "Kritz Medic" ClassIcon medic_kritz Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 60 "bot medic uber health threshold" 600 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } } T_TFBot_Soldier_Homing_Low // Soldier with low quality homing properties. { Class Soldier Name "Homing Soldier" ClassIcon soldier_homing_nys Skill Normal Attributes HoldFireUntilFullReload Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "set item tint RGB" 8208497 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "fire rate penalty" 1.33 "paintkit_proto_def_index" 223 "set_item_texture_wear" 0 "projectile trail particle" eyeboss_projectile } AddCond { Index 36 } HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 0 AimTime 1.8 RocketSpeed 0.45 TurnPower 45 MaxAimError 75 } } T_TFBot_Soldier_Charged // Small variant of g charged soldiers, best used for ints or early waves. { Class Soldier Name "Charged Soldier" ClassIcon soldier_crit Skill Easy Attributes AlwaysCrit Item "The Original" Item "The Hat With No Name" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } } T_TFBot_Medic_Shield { Class Medic Name "Shield Medic" ClassIcon medic_shield_lite Skill Normal Attributes ProjectileShield Attributes SpawnWithFullCharge Attributes IgnoreEnemies Item "Lo-Fi Longwave" Item "Upgradeable TF_WEAPON_MEDIGUN" ItemAttributes { ItemName "Upgradeable TF_WEAPON_MEDIGUN" "generate rage on heal" 1 "ubercharge rate bonus" 0.01 } CharacterAttributes { "bot medic uber deploy delay duration" 5000 } } T_TFBot_Giant_Demoman_Monoculus_Nuke { Class Demoman Name "Giant Monocular Demoman" ClassIcon demo_jarate Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "MONOCULUS!" Item "Bombinomicon" Item "The Loose Cannon" ItemAttributes { ItemName "The Loose Cannon" "faster reload rate" 0.6 "fire rate penalty" 4 "dmg penalty vs players" 2.8 "Blast radius increased" 1.9 "fuse bonus" 1.3 "explosion particle" eyeboss_death //"remove cond on hit" 22 // in case you're on fire. "add cond on hit" 24 // the reason why you're put out (it's piss) "add cond on hit duration" 4 "grenade launcher mortar mode" 0 } CharacterAttributes { "move speed bonus" 0.5 "head scale" 0.55 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Giant_Pyro_Combo { Class Pyro Name "Giant Combo Pyro" ClassIcon pyro_degreaser_flare Skill Expert Health 3000 Attributes MiniBoss UseBestWeapon 1 Item "The Degreaser" Item "The Flare Gun" Item "The Burning Question" ItemAttributes { ItemName "The Degreaser" "airblast disabled" 1 } ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } PointTemplates { pumpkin_upgrade1 { NoFixup 1 prop_dynamic { "model" "models\props_sunshine\cafe_chair001.mdl" "angles" "0 -104 0" "origin" "-800 -2148 480" "solid" "6" "fademindist" "1200" "fademaxdist" "1300" "disableshadows" "1" } prop_dynamic { "model" "models\props_halloween\pumpkin_explode.mdl" "angles" "0 99 0" "name" "pumpkin1" "origin" "-800 -2148 508" "disableshadows" "1" "health" "99999" "max_health" "99999" "minhealthdmg" "80" // no minigun spam "solid" "6" "fademindist" "1200" "fademaxdist" "1300" "OnTakeDamage" "yowtf1,PickRandom,0,0,-1" } ambient_generic { "targetname" "pumpkin_dude1_threat1" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_05.mp3" "origin" "-800 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude1_threat2" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_04.mp3" "origin" "-800 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude1_threat3" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_12.mp3" "origin" "-800 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude1_threat1" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_05.mp3" "origin" "-800 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude1_threat2" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_04.mp3" "origin" "-800 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude1_threat3" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_12.mp3" "origin" "-800 -2148 508" "health" "10" } logic_case // threaten the shooter { "targetname" "yowtf1" "OnCase01" "pumpkin_dude1_threat1,PlaySound,,0,-1" "OnCase02" "pumpkin_dude1_threat2,PlaySound,,0,-1" "OnCase03" "pumpkin_dude1_threat3,PlaySound,,0,-1" } } pumpkin_upgrade2 { NoFixup 1 prop_dynamic { "model" "models\props_sunshine\cafe_chair001.mdl" "angles" "0 -78 0" "origin" "780 -2148 480" "solid" "6" "skin" "1" "fademindist" "1200" "fademaxdist" "1300" "disableshadows" "1" } prop_dynamic { "model" "models\props_halloween\pumpkin_explode.mdl" "angles" "0 94 0" "name" "pumpkin2" "origin" "780 -2148 508" "disableshadows" "1" "health" "99999" "max_health" "99999" "minhealthdmg" "80" // no minigun spam "solid" "6" "fademindist" "1200" "fademaxdist" "1300" "OnTakeDamage" "yowtf2,PickRandom,0,0,-1" } ambient_generic { "targetname" "pumpkin_dude2_threat1" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_02.mp3" "origin" "780 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude2_threat2" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_06.mp3" "origin" "780 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude2_threat3" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_08.mp3" "origin" "780 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude2_threat1" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_02.mp3" "origin" "780 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude2_threat2" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_06.mp3" "origin" "780 -2148 508" "health" "10" } ambient_generic { "targetname" "pumpkin_dude2_threat3" "spawnflags" "48" "radius" "2200" "pitchstart" "100" "pitch" "100" "message" "vo/halloween_merasmus/hall2015_pumpbomb_08.mp3" "origin" "780 -2148 508" "health" "10" } logic_case // threaten the shooter { "targetname" "yowtf2" "OnCase01" "pumpkin_dude2_threat1,PlaySound,,0,-1" "OnCase02" "pumpkin_dude2_threat2,PlaySound,,0,-1" "OnCase03" "pumpkin_dude2_threat3,PlaySound,,0,-1" } } the_SHACK { NoFixup 1 prop_dynamic { "targetname" "shack" "model" "models/props_mining/mining_shack001a.mdl" "origin" "1412 -3320 -511" "fademindist" "400" "fademaxdist" "500" "disableshadows" "1" } prop_dynamic { "targetname" "shack" "model" "models\props_sunshine\cafe_chair001.mdl" "origin" "1441 -3366 -511" "angles" "0 120 0" "fademindist" "400" "fademaxdist" "500" "disableshadows" "1" } prop_dynamic { "targetname" "shack" "model" "models\props_mining\rock005.mdl" "origin" "1441 -3366 -485" "angles" "0 45 0" "fademindist" "400" "fademaxdist" "500" "modelscale" "0.05" "disableshadows" "1" } prop_dynamic { "targetname" "shack" "model" "models\props_owo\sign001.mdl" "origin" "1382 -3378 -511" "angles" "0 60 0" "fademindist" "400" "fademaxdist" "500" "disableshadows" "1" } prop_dynamic { "targetname" "shack" "model" "models/trollface/trollface.mdl" "origin" "1437 -3260 -511" "angles" "0 65 0" "fademindist" "400" "fademaxdist" "500" "disableshadows" "1" } logic_relay // shh... schizo shit. { "targetname" "Intel_Reset" "OnTrigger" "intel,forceresetsilent,,0,-1" "OnTrigger" "gayportal,kill,,0,-1" // kills the fabeled gay portal if it is ever reopened. } logic_auto { "targetname" "gayportal_timer" "OnMapSpawn" "gayportal,kill,,8,-1" "OnMapSpawn" "gayportal_spot,kill,,8,-1" } info_particle_system { "targetname" "gayportal" "effect_name" "eyeboss_tp_vortex" "origin" "-90 -1235 165" "start_active" "1" } trigger_teleport { "targetname" "gayportal" "target" "gayportal_spot" "spawnflags" "1" "mins" "-84 -84 -84" "maxs" "84 84 84" "origin" "-90 -1235 165" } info_target { "targetname" "gayportal_spot" "origin" "1305 -3415 -511" "angles" "0 60 0" } func_nobuild { "targetname" "gaylocation_nobuild" "origin" "1412 -3320 -511" "mins" "-156 -156 -100" "maxs" "156 156 100" "AllowTeleporters" "0" "AllowSentry" "0" "AllowDispenser" "1" // only dispenser to FOOL people } } ZombieTank { OnSpawnOutput { Target "!activator" Action "color" Param "120 150 120" } } Lumberjack_Tank // only one out at a time. { prop_dynamic { "targetname" "hat" "model" "models/player/items/heavy/fwk_heavy_lumber.mdl" "origin" "-50 0 143" "skin" "1" "modelscale" "2.2" } prop_dynamic { "model" "models/props_forest/sawblade_moving.mdl" "name" "sawblade" "solid" "0" "origin" "150 0 55" "angles" "0 120 90" "solid" "0" "skin" "1" "defaultanim" "idle" } prop_dynamic { "model" "models/props_forest/sawblade_moving.mdl" "name" "sawblade" "solid" "0" "origin" "100 0 60" "angles" "0 270 270" "solid" "0" "skin" "1" "modelscale" "0.7" "defaultanim" "idle" } trigger_hurt { "targetname" "sawblade_hurt" "filtername" "filter_redteam" "damage" "500" "damagetype" "65536" "spawnflags" "1" "origin" "150 25 65" "mins" "-50 -50 -40" "maxs" "50 50 40" "OnHurtPlayer" "saw_hit,PlaySound,,0,-1" "OnHurtPlayer" "saw_blood,Start,,0,-1" "OnHurtPlayer" "saw_blood,Stop,,0.1,-1" //"OnHurtPlayer" "!activator,$takedamage,500,0,-1" // janky ass trigger_hurts } trigger_hurt { "targetname" "sawblade_hurt" "filtername" "filter_redteam" "damage" "500" "damagetype" "65536" "spawnflags" "1" "origin" "150 -25 65" "mins" "-50 -50 -40" "maxs" "50 50 40" "OnHurtPlayer" "saw_hit,PlaySound,,0,-1" "OnHurtPlayer" "saw_blood,Start,,0,-1" "OnHurtPlayer" "saw_blood,Stop,,0.1,-1" //"OnHurtPlayer" "!activator,$takedamage,500,0,-1" // janky ass trigger_hurts } trigger_hurt { "targetname" "sawblade_hurt" "filtername" "filter_redteam" "damage" "500" "damagetype" "65536" "spawnflags" "1" "origin" "200 25 65" "mins" "-50 -50 -40" "maxs" "50 50 40" "OnHurtPlayer" "saw_hit,PlaySound,,0,-1" "OnHurtPlayer" "saw_blood,Start,,0,-1" "OnHurtPlayer" "saw_blood,Stop,,0.1,-1" //"OnHurtPlayer" "!activator,$takedamage,500,0,-1" // janky ass trigger_hurts } trigger_hurt { "targetname" "sawblade_hurt" "filtername" "filter_redteam" "damage" "500" "damagetype" "65536" "spawnflags" "1" "origin" "200 -25 65" "mins" "-50 -50 -40" "maxs" "50 50 40" "OnHurtPlayer" "saw_hit,PlaySound,,0,-1" "OnHurtPlayer" "saw_blood,Start,,0,-1" "OnHurtPlayer" "saw_blood,Stop,,0.1,-1" //"OnHurtPlayer" "!activator,$takedamage,500,0,-1" // janky ass trigger_hurts } ambient_generic { "targetname" "saw_hit" "message" "ambient/sawblade_impact1.wav" "health" "10" "radius" "2200" "spawnflags" "32" "origin" "150 0 65" } ambient_generic { "targetname" "saw_idle" "message" "ambient/sawblade.wav" "health" "10" "radius" "2200" "origin" "150 0 65" } ambient_generic { "targetname" "saw_idle" "message" "ambient/sawblade.wav" "health" "10" "radius" "2200" "origin" "150 0 65" } info_particle_system { "targetname" "saw_blood" "effect_name" "env_sawblood" "origin" "190 0 65" } } KaboomTank1 { NoFixup 1 OnSpawnOutput { Target "!activator" Action "color" Param "110 90 15" } prop_dynamic { "targetname" "kaboomtank1_helmet" "model" "models/workshop/player/items/demo/sum22_head_banger/sum22_head_banger.mdl" "origin" "-50 0 -15" "skin" "1" "modelscale" "2.2" } prop_dynamic { "targetname" "kaboomtank1_guns" "model" "models/workshop/weapons/c_models/c_lochnload/c_lochnload.mdl" "origin" "0 45 90" "angles" "-40 0 0" "modelscale" "4" } prop_dynamic { "targetname" "kaboomtank1_guns" "model" "models/workshop/weapons/c_models/c_lochnload/c_lochnload.mdl" "origin" "0 -45 90" "angles" "-40 0 0" "modelscale" "4" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "150" "SpeedMax" "480" "SpeedMin" "300" "SplashRadius" "180" "SpreadAngle" "8" "modelscale" "1" "targetname" "kaboomtank1_gunfire" "WeaponType" "1" "origin" "90 -45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "150" "SpeedMax" "480" "SpeedMin" "300" "SplashRadius" "180" "SpreadAngle" "8" "modelscale" "1" "targetname" "kaboomtank1_gunfire" "WeaponType" "1" "origin" "90 45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "150" "SpeedMax" "1256" "SpeedMin" "512" "SplashRadius" "180" "SpreadAngle" "4" "modelscale" "1" "targetname" "kaboomtank1_gunfire_long" "WeaponType" "1" "origin" "90 -45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "150" "SpeedMax" "1256" "SpeedMin" "512" "SplashRadius" "180" "SpreadAngle" "4" "modelscale" "1" "targetname" "kaboomtank1_gunfire_long" "WeaponType" "1" "origin" "90 45 185" } ambient_generic { "health" "10" "message" "weapons/loch_n_load_shoot.wav" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "5000" "spawnflags" "48" "targetname" "kaboomtank1_gunfire_sound" "origin" "0 0 80" } ambient_generic { "health" "10" "message" "weapons/loch_n_load_shoot.wav" "pitch" "90" "pitchstart" "90" "preset" "0" "radius" "5000" "spawnflags" "48" "targetname" "kaboomtank1_gunfire_long_sound" "origin" "0 0 80" } logic_timer { "targetname" "kaboomtank1_firetimer" "refiretime" "10" "OnTimer" "kaboomtank1_gunfire,fireonce,,0,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.1,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.1,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.2,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.2,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.3,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.3,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.4,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.4,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.5,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.5,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.6,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.6,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.7,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.7,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.8,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.8,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,0.9,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,0.9,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1.1,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1.1,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1.2,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1.2,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1.3,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1.3,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1.4,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1.4,-1" "OnTimer" "kaboomtank1_gunfire,fireonce,,1.5,-1" "OnTimer" "kaboomtank1_gunfire_sound,playsound,,1.5,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.1,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.1,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.2,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.2,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.3,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.3,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.4,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.4,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.5,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.5,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.6,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.6,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.7,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.7,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.8,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.8,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,5.9,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,5.9,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6.1,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6.1,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6.2,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6.2,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6.3,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6.3,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6.4,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6.4,-1" "OnTimer" "kaboomtank1_gunfire_long,fireonce,,6.5,-1" "OnTimer" "kaboomtank1_gunfire_long_sound,playsound,,6.5,-1" } } KaboomTank2 { NoFixup 1 OnSpawnOutput { Target "!activator" Action "color" Param "110 90 15" } prop_dynamic { "targetname" "kaboomtank2_helmet" "model" "models/workshop/player/items/demo/sum22_head_banger/sum22_head_banger.mdl" "origin" "-50 0 -15" "skin" "1" "modelscale" "2.2" } prop_dynamic { "targetname" "kaboomtank2_guns" "model" "models/workshop/weapons/c_models/c_lochnload/c_lochnload.mdl" "origin" "0 45 90" "angles" "-40 0 0" "modelscale" "4" } prop_dynamic { "targetname" "kaboomtank2_guns" "model" "models/workshop/weapons/c_models/c_lochnload/c_lochnload.mdl" "origin" "0 -45 90" "angles" "-40 0 0" "modelscale" "4" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "120" "SpeedMax" "480" "SpeedMin" "300" "SplashRadius" "180" "SpreadAngle" "8" "modelscale" "1" "targetname" "kaboomtank2_gunfire" "WeaponType" "1" "origin" "90 -45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "120" "SpeedMax" "480" "SpeedMin" "300" "SplashRadius" "180" "SpreadAngle" "8" "modelscale" "1" "targetname" "kaboomtank2_gunfire" "WeaponType" "1" "origin" "90 45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "120" "SpeedMax" "1256" "SpeedMin" "512" "SplashRadius" "180" "SpreadAngle" "4" "modelscale" "1" "targetname" "kaboomtank2_gunfire_long" "WeaponType" "1" "origin" "90 -45 185" } tf_point_weapon_mimic { "angles" "-40 0 0" "Damage" "120" "SpeedMax" "1256" "SpeedMin" "512" "SplashRadius" "180" "SpreadAngle" "4" "modelscale" "1" "targetname" "kaboomtank2_gunfire_long" "WeaponType" "1" "origin" "90 45 185" } ambient_generic { "health" "10" "message" "weapons/loch_n_load_shoot.wav" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "5000" "spawnflags" "48" "targetname" "kaboomtank2_gunfire_sound" "origin" "0 0 80" } ambient_generic { "health" "10" "message" "weapons/loch_n_load_shoot.wav" "pitch" "90" "pitchstart" "90" "preset" "0" "radius" "5000" "spawnflags" "48" "targetname" "kaboomtank2_gunfire_long_sound" "origin" "0 0 80" } logic_timer { "targetname" "kaboomtank2_firetimer" "refiretime" "10" "OnTimer" "kaboomtank2_gunfire,fireonce,,0,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.1,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.1,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.2,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.2,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.3,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.3,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.4,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.4,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.5,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.5,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.6,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.6,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.7,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.7,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.8,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.8,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,0.9,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,0.9,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1.1,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1.1,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1.2,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1.2,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1.3,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1.3,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1.4,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1.4,-1" "OnTimer" "kaboomtank2_gunfire,fireonce,,1.5,-1" "OnTimer" "kaboomtank2_gunfire_sound,playsound,,1.5,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.1,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.1,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.2,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.2,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.3,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.3,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.4,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.4,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.5,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.5,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.6,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.6,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.7,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.7,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.8,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.8,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,5.9,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,5.9,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6.1,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6.1,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6.2,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6.2,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6.3,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6.3,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6.4,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6.4,-1" "OnTimer" "kaboomtank2_gunfire_long,fireonce,,6.5,-1" "OnTimer" "kaboomtank2_gunfire_long_sound,playsound,,6.5,-1" } } ScytheTank { NoFixup 1 OnSpawnOutput { Target "!activator" Action "color" Param "45 45 45" } trigger_hurt { "targetname" "scythe1_hurt" "filtername" "filter_redteam" "damage" "0" "damagetype" "65536" "spawnflags" "1" "origin" "0 165 45" "mins" "-80 -80 -25" "maxs" "80 80 25" "OnHurtPlayer" "scythe1_hurtsound,PlaySound,,0,-1" "OnHurtPlayer" "!activator,$takedamage,100,0,-1" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe1_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 165 45" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe1_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 165 45" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe1_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 165 45" "parentname" "scythe_spin1" } trigger_hurt { "targetname" "scythe2_hurt" "filtername" "filter_redteam" "damage" "0" "damagetype" "65536" "spawnflags" "1" "origin" "0 -165 45" "mins" "-80 -80 -25" "maxs" "80 80 25" "OnHurtPlayer" "scythe2_hurtsound,PlaySound,,0,-1" "OnHurtPlayer" "!activator,$takedamage,100,0,-1" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe2_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 -165 45" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe2_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 -165 45" "parentname" "scythe_spin1" } ambient_generic { "targetname" "scythe2_hurtsound" "health" "10" "message" "ambient/machines/slicer4.wav" "pitch" "100" "radius" "1250" "spawnflags" "48" "origin" "0 -165 45" "parentname" "scythe_spin1" } info_particle_system { "targetname" "scythe1_particle" "effect_name" "eyeboss_projectile" "origin" "0 165 45" "parentname" "scythe_spin1" "start_active" "1" } prop_dynamic { "targetname" "scythetank_scythe1" "model" "models/weapons/c_models/c_scythe/c_scythe.mdl" "origin" "0 165 45" "angles" "0 90 90" "skin" "1" "modelscale" "1.5" "solid" "1" "parentname" "scythe_spin2" } func_rotating { "targetname" "scythe_spin2" "origin" "0 165 45" "mins" "-8 -8 -8" "maxs" "8 8 8" "fanfriction" "20" "maxspeed" "500" "rendermode" "10" "spawnflags" "65" "parentname" "scythe_spin1" } func_rotating { "targetname" "scythe_spin1" "origin" "0 0 45" "mins" "-8 -8 -8" "maxs" "8 8 8" "fanfriction" "5" "maxspeed" "100" "rendermode" "10" "spawnflags" "65" } info_particle_system { "targetname" "scythe2_particle" "effect_name" "eyeboss_projectile" "origin" "0 -165 45" "parentname" "scythe_spin1" "start_active" "1" } prop_dynamic { "targetname" "scythetank_scythe2" "model" "models/weapons/c_models/c_scythe/c_scythe.mdl" "origin" "0 -165 45" "angles" "0 -90 90" "skin" "1" "modelscale" "1.5" "solid" "1" "parentname" "scythe2_spin2" } func_rotating { "targetname" "scythe2_spin2" "origin" "0 -165 45" "mins" "-8 -8 -8" "maxs" "8 8 8" "fanfriction" "20" "maxspeed" "500" "rendermode" "10" "spawnflags" "65" "parentname" "scythe_spin1" } } } // Wave 1/6 ($500) // 3 Giant DF Pyros // 16 Heavyweight Champs // 16 Copper Gauntlets (Critboosted) // 24 Soldiers // 3 Giant Charged Soldiers with 1 Uber Medic Each. // 12 Scouts (Some flank) Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 11.5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Dragon } } WaveSpawn { //Name "wave01" TotalCount 16 MaxActive 8 SpawnCount 1 Where spawnbot WaitBetweenSpawns 2.5 TotalCurrency 50 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ } } WaveSpawn { //Name "wave01" TotalCount 16 MaxActive 8 SpawnCount 1 Where spawnbot WaitBetweenSpawns 2.5 TotalCurrency 50 TFBot { Template T_TFBot_Heavy_Copper_Gauntlet Attributes AlwaysCrit } } WaveSpawn { Name "wave01" TotalCount 24 MaxActive 12 SpawnCount 6 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "wave02" TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave01" WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave02" TotalCount 6 MaxActive 3 SpawnCount 1 Where spawnbot Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Scout Skill Easy } } WaveSpawn { Name "wave02" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 15 WaitBetweenSpawns 2 TotalCurrency 25 TFBot { Class Scout BehaviorModifiers Push Tag nav_prefer_flank_left Skill Easy } } WaveSpawn { Name "wave02" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 15 WaitBetweenSpawns 2 TotalCurrency 25 TFBot { Class Scout BehaviorModifiers Push Tag nav_prefer_flank_right Skill Easy } } } // Wave 2/6 ($1300) // 3 Giant Combo Pyros // 12 Bonk Scouts (Critboosted) // 24 Soldiers (Normal AI) // 1 Tank (20k HP) // 1 Giant Soldier with a Kritz Medic // 1 Giant Demoman with a Kritz Medic // 38 Backburner Pyros (Flank) // 26 Shotgun Heavies (Stock) // 2 Giant Rapid Fire Demomen // 2 Giant Rapid Fire Soldiers // Support : Bat Scouts Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput // fix decay's wacky shit { Target Intel_Reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave00" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitBeforeStarting 1 WaitBetweenSpawns 7 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Combo } } WaveSpawn { Name "wave00" TotalCount 12 MaxActive 12 SpawnCount 4 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Bonk Name "Bonk Scout" Attributes AlwaysCrit } } WaveSpawn { Name "wave00" TotalCount 24 MaxActive 10 SpawnCount 1 Where spawnbot WaitBeforeStarting 3 WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Class Soldier Skill Normal } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 250 WaitForAllDead "wave00" Tank { Name "Tank" Health 20000 Speed 75 Model "models/bots/boss_bot/boss_tank_color.mdl" StartingPathTrackNode "path1" SpawnTemplate ZombieTank OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave01" TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 9 WaitForAllDead "wave00" TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Demoman Name "Giant Demoman" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave01" TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 1 WaitForAllDead "wave00" TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave02" TotalCount 38 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot_right Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 34 WaitBetweenSpawns 10 TotalCurrency 50 // not a major amount RandomChoice { TFBot { Class Pyro Skill Easy ClassIcon pyro_backburner_nys BehaviorModifiers Push Tag nav_prefer_flank_left Item "The Backburner" ItemAttributes { ItemName "The Backburner" "airblast disabled" 1 } } TFBot { Class Pyro Skill Easy ClassIcon pyro_backburner_nys BehaviorModifiers Push Tag nav_prefer_flank_right Item "The Backburner" ItemAttributes { ItemName "The Backburner" "airblast disabled" 1 } } } } WaveSpawn { Name "wave02" TotalCount 26 MaxActive 6 SpawnCount 2 Where spawnbot Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 3 WaitBetweenSpawns 2.5 TotalCurrency 100 TFBot { Class Heavy ClassIcon heavy_shotgun Skill Easy Name "Shotgun Heavy" WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload MaxVisionRange 900 } } WaveSpawn { Name "wave03" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllDead "wave01" WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Demoman ClassIcon demo_spammer } } WaveSpawn { Name "wave03" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllDead "wave01" WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Spammer } } //WaveSpawn //{ // TotalCount 16 // MaxActive 8 // SpawnCount 1 // // Where spawnbot // // Support 1 // // WaitForAllDead "wave02" // WaitBetweenSpawns 4 // TFBot // { // Class Scout // WeaponRestrictions MeleeOnly // ClassIcon scout_bat_nys // } //} } // Wave 3/6 ($700) // 5 Giant Bat Scout // 16 Burst Fire Demomen // 30 Pistol Scouts // 16 Bonk Scouts // 32 Homing Soldiers (Low-Tier) // 3 Giant Heavies // 3 Giant Bat Scouts // 20 Burst Fire Demomen Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target Intel_Reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 5 MaxActive 4 SpawnCount 1 Where spawnbot WaitBeforeStarting 0.1 WaitBetweenSpawns 9.5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout ClassIcon scout_bat_nys Item "Fuel Injector" WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave01" TotalCount 16 MaxActive 8 SpawnCount 2 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "wave01" TotalCount 30 MaxActive 10 SpawnCount 2 Where spawnbot WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Scout Skill Normal WeaponRestrictions SecondaryOnly ClassIcon scout_pistol_nys } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 6 SpawnCount 3 Where spawnbot_left WaitBeforeStarting 12 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Bonk Name "Bonk Scout" } } WaveSpawn { Name "wave02" TotalCount 32 MaxActive 20 SpawnCount 1 Where spawnbot Where spawnbot_right WaitForAllDead "wave01" FirstSpawnWarningSound "music/stingers/industrial_suspense1.wav" WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Homing_Low Attributes AlwaysFireWeapon } } WaveSpawn { Name "wave02" TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllDead "wave01" FirstSpawnWarningSound "music/stingers/industrial_suspense1.wav" WaitBetweenSpawns 13 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons } } WaveSpawn { Name "wave03" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave02" WaitBetweenSpawns 9 TotalCurrency 75 TFBot { Template T_TFBot_Giant_Scout ClassIcon scout_bat_nys Item "Fuel Injector" WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave03" TotalCount 20 MaxActive 10 SpawnCount 5 Where spawnbot Support Limited WaitForAllSpawned "wave02" WaitBeforeStarting 6 WaitBetweenSpawns 7.5 TotalCurrency 125 TFBot { Template T_TFBot_Demo_Burst ClassIcon demo_burst_giant } } } // Wave 4/6 ($1300) // 6 Giant Burst-Fire Demomen // 26 Heavies (Easy AI) // 22 Shotgun Heavies (Stock, Hard AI) // 12 Passer Pyros // 12 Flare Pyros // 1 Tank (18k HP) // 24 Charged Soldiers // 3 Giant Heavies with 2 Quick-Uber Medics each // Lumberjack Tank (21k HP) // Support : Critboosted Fire Axe Pyros Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target Intel_Reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{9015BD}You can hear the buzzing of saws far, far away..." } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBetweenSpawns 8 TotalCurrency 200 WaitBeforeStarting 0.5 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn { Name "wave01" TotalCount 26 MaxActive 16 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBetweenSpawns 3 TotalCurrency 100 WaitBeforeStarting 3 TFBot { Class Heavy Skill Normal } } WaveSpawn { Name "wave01" TotalCount 22 MaxActive 16 SpawnCount 8 Where spawnbot WaitBetweenSpawns 6 TotalCurrency 50 WaitBeforeStarting 10 RandomChoice { TFBot { Class Heavy Name "Shotgun Heavy" ClassIcon heavy_shotgun WeaponRestrictions SecondaryOnly Skill Hard MaxVisionRange 1200 Attributes HoldFireUntilFullReload BehaviorModifiers Push Tag nav_prefer_flank_left } TFBot { Class Heavy Name "Shotgun Heavy" ClassIcon heavy_shotgun WeaponRestrictions SecondaryOnly Skill Hard MaxVisionRange 1200 Attributes HoldFireUntilFullReload BehaviorModifiers Push Tag nav_prefer_flank_right } } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 4 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Pyro ClassIcon pyro_gascann Skill Hard Name "Passer Pyro" Item "The Lawnmaker" Item "The Gas Passer" ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "airblast disabled" 1 } ItemAttributes { ItemName "The Gas Passer" "item_meter_charge_rate" 15 } } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 4 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_Flaregun } } WaveSpawn { Name "wave02" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 125 WaitForAllSpawned "wave01" Tank { Name "Tank" Health 18000 Speed 75 Model "models/bots/boss_bot/boss_tank_color.mdl" StartingPathTrackNode "path1" SpawnTemplate ZombieTank OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 24 MaxActive 12 SpawnCount 6 Where spawnbot_left Where spawnbot_right WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 175 TFBot { Template T_TFBot_Soldier_Charged } } WaveSpawn { TotalCount 26 MaxActive 12 SpawnCount 1 Support 1 Where spawnbot_invasion WaitForAllDead "wave02" WaitBetweenSpawns 0.7 TotalCurrency 50 RandomChoice { TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit } TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit } TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit } TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit } TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit BehaviorModifiers Push Tag nav_prefer_flank_left } TFBot { Class Pyro Name "Lumberjack Pyro" Skill Hard ClassIcon pyro_fireaxe_lite WeaponRestrictions MeleeOnly Item "The Outdoorsman" Attributes AlwaysCrit BehaviorModifiers Push Tag nav_prefer_flank_right } } } WaveSpawn { Name "wave03" TotalCount 9 MaxActive 9 SpawnCount 3 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 20 TotalCurrency 300 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "The Outdoorsman" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick-Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick-Uber Medic" Item "Flatliner" } } } WaveSpawn { Name "wave03" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned "wave02" TotalCurrency 200 Tank { Name "Tank" ClassIcon tank_saw_nys Health 21000 Speed 75 StartingPathTrackNode "path1" SpawnTemplate Lumberjack_Tank OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } // Wave 5/6 ($700) // 3 Giant Burst Fire Soldiers with 1 Kritz Medic each // 3 Giant Shotgun Heavies with 1 Shield Medic each // 36 Pyros // 1 Grenade Tank (30k HP) // 40 Bison Soldiers // 5 Giant Monocular Demomen with 2 Uber Medics each // 26 Direct Hit Soldiers (Hard AI) // 26 Shortstop Scouts (Normal AI) // 16 Afterburner Pyros Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target Intel_Reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { FirstSpawnWarningSound "vo/announcer_mvm_engbot_arrive03.mp3" WaitBeforeStarting 35 } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 100 Where spawnbot WaitBeforeStarting 0.1 WaitBetweenSpawns 14 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 100 Where spawnbot WaitBeforeStarting 0.1 WaitBetweenSpawns 14 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn { Name "wave01" TotalCount 36 MaxActive 12 SpawnCount 6 TotalCurrency 50 Where spawnbot WaitBeforeStarting 6 WaitBetweenSpawns 6 TFBot { Class Pyro Skill Hard ItemAttributes { ItemName TF_WEAPON_FLAMETHROWER "airblast disabled" 1 } } } WaveSpawn { Name "wave02" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned "wave01" TotalCurrency 150 WaitBeforeStarting 15 FirstSpawnWarningSound "vo/mvm/mght/taunts/demoman_mvm_m_taunts15.mp3" DoneWarningSound "vo/mvm/mght/demoman_mvm_m_paincrticialdeath02.mp3" Tank { Name "Tank" Health 30000 Speed 75 StartingPathTrackNode "path1" ClassIcon tank_grenade Model "models/bots/boss_bot/boss_tank_color.mdl" SpawnTemplate KaboomTank1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 40 MaxActive 15 SpawnCount 5 WaitForAllSpawned "wave01" TotalCurrency 100 Where spawnbot_invasion WaitBeforeStarting 10 WaitBetweenSpawns 8 RandomChoice { TFBot { Class Soldier ClassIcon soldier_bison Name "Generic Bison Soldier" Skill Normal Attributes HoldFireUntilFullReload Attributes AlwaysCrit WeaponRestrictions SecondaryOnly Item "The Righteous Bison" ItemAttributes { ItemName "The Righteous Bison" "dmg bonus vs buildings" 4 } } TFBot { Class Soldier ClassIcon soldier_bison Name "Dull Bison Soldier" Skill Normal Attributes HoldFireUntilFullReload Attributes AlwaysCrit WeaponRestrictions SecondaryOnly Item "The Righteous Bison" ItemAttributes { ItemName "The Righteous Bison" "dmg bonus vs buildings" 4 } BehaviorModifiers Push Tag nav_prefer_flank_left } TFBot { Class Soldier ClassIcon soldier_bison Name "Boring Bison Soldier" Skill Normal Attributes HoldFireUntilFullReload Attributes AlwaysCrit WeaponRestrictions SecondaryOnly Item "The Righteous Bison" ItemAttributes { ItemName "The Righteous Bison" "dmg bonus vs buildings" 4 } BehaviorModifiers Push Tag nav_prefer_flank_right } } } WaveSpawn { Name "wave03" TotalCount 15 MaxActive 9 SpawnCount 3 TotalCurrency 100 Where spawnbot WaitForAllSpawned "wave02" WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Demoman_Monoculus_Nuke } TFBot { Template T_TFBot_Medic Item "MONOCULUS!" } TFBot { Template T_TFBot_Medic Item "MONOCULUS!" } } } WaveSpawn { Name "wave03" TotalCount 26 MaxActive 13 SpawnCount 3 TotalCurrency 50 Where spawnbot_invasion WaitForAllSpawned "wave02" WaitBetweenSpawns 4 TFBot { Class Soldier Name "Direct Hit Soldier" ClassIcon soldier_directhit_lite Skill Hard Attributes HoldFireUntilFullReload Item "The Direct Hit" } } WaveSpawn { Name "wave03" TotalCount 26 MaxActive 13 SpawnCount 3 TotalCurrency 25 Where spawnbot_invasion WaitForAllSpawned "wave02" WaitBeforeStarting 4 WaitBetweenSpawns 4 TFBot { Class Scout Name "Shortstop Scout" Skill Normal ClassIcon scout_shortstop Item "The Shortstop" } } WaveSpawn { Name "wave03" TotalCount 16 MaxActive 16 SpawnCount 4 TotalCurrency 25 Where spawnbot_left Where spawnbot_right WaitForAllSpawned "wave02" WaitBeforeStarting 10 WaitBetweenSpawns 6 TFBot { Class Pyro Name "Afterburner Pyro" Skill Normal Item "The Nostromo Napalmer" Item "The Warsworn Helmet" ItemAttributes { ItemName "The Nostromo Napalmer" "weapon burn dmg increased" 4.0 "airblast disabled" 1 } } } } // Wave 6/6 // go all out, this is the last one. // 6 Super Scouts // 4 Giant Rapid-Fire Soldiers with 2 Kritz Medics each // 24 Demomen (Hard AI) // 12 Heavies (Hard AI) // 1 Grenade Tank and 1 Regular Tank (20k HP and 22k HP) // 32 Demoknights (Critboosted) // 4 Giant Burst-Fire Soldiers // 1 Scythe Tank (28k HP) // 6 Giant Brass Beast Heavies (Flank) // Support : Conch Soldiers Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target Intel_Reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 4 SpawnCount 1 Where spawnbot WaitBeforeStarting 1 WaitBetweenSpawns 7 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 12 SpawnCount 3 Where spawnbot WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave01" TotalCount 24 MaxActive 10 SpawnCount 1 Where spawnbot_right WaitBetweenSpawns 2 WaitBeforeStarting 5 TotalCurrency 120 TFBot { Class Demoman Skill Hard Attributes HoldFireUntilFullReload } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 12 SpawnCount 4 Where spawnbot WaitBetweenSpawns 8 WaitBeforeStarting 15 TotalCurrency 180 TFBot { Class Heavy Skill Hard } } WaveSpawn { Name "wave02" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned "wave01" TotalCurrency 150 Tank { Name "Tank" Health 20000 Speed 75 StartingPathTrackNode "path1" Model "models/bots/boss_bot/boss_tank_color.mdl" SpawnTemplate ZombieTank OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned "wave01" TotalCurrency 150 WaitBeforeStarting 20 FirstSpawnWarningSound "vo/mvm/mght/taunts/demoman_mvm_m_taunts16.mp3" DoneWarningSound "vo/mvm/mght/demoman_mvm_m_paincrticialdeath04.mp3" Tank { Name "Tank" Health 22000 Speed 75 StartingPathTrackNode "path2" ClassIcon tank_grenade Model "models/bots/boss_bot/boss_tank_color.mdl" SpawnTemplate KaboomTank1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 32 MaxActive 12 SpawnCount 2 TotalCurrency 180 Where spawnbot_invasion WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } WaveSpawn { Name "wave02" TotalCount 4 MaxActive 3 SpawnCount 1 TotalCurrency 200 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 5 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn { Name "wave03" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 666 FirstSpawnMessage "{9015BD}The Reaper Tank has come to reap your soul!" FirstSpawnWarningSound "vo/halloween_boss/knight_spawn.mp3" DoneWarningSound "vo/halloween_boss/knight_death02.mp3" WaitForAllSpawned "wave02" Tank { Name "tank" ClassIcon tank_reaper Health 28000 Speed 75 Skin 1 Model "models/bots/boss_bot/boss_tank_color.mdl" StartingPathTrackNode "path1" SpawnTemplate ScytheTank OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave03_1" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 10 WaitBetweenSpawns 7.5 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Heavyweapons Name "Giant Brass Beast Heavy" ClassIcon heavy_brass_nys Item "Commando Elite" Item "The Brass Beast" ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 //1.8 "spunup_damage_resistance" 1 } } } WaveSpawn { Name "wave03_2" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave03_1" WaitBeforeStarting 7.5 WaitBetweenSpawns 7.5 TotalCurrency 25 RandomChoice { TFBot { Template T_TFBot_Giant_Heavyweapons Name "Giant Brass Beast Heavy" ClassIcon heavy_brass_nys Item "Commando Elite" Item "The Brass Beast" Tag nav_prefer_flank_left BehaviorModifiers Push ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 //1.8 "spunup_damage_resistance" 1 } } TFBot { Template T_TFBot_Giant_Heavyweapons Name "Giant Brass Beast Heavy" ClassIcon heavy_brass_nys Item "Commando Elite" Item "The Brass Beast" Tag nav_prefer_flank_right BehaviorModifiers Push ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 //1.8 "spunup_damage_resistance" 1 } } } } WaveSpawn { Name "wave03_3" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave03_2" WaitBeforeStarting 7.5 WaitBetweenSpawns 7.5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavyweapons Name "Giant Brass Beast Heavy" ClassIcon heavy_brass_nys Item "Commando Elite" Item "The Brass Beast" ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 //1.8 "spunup_damage_resistance" 1 } } } WaveSpawn { Name "wave03" TotalCount 64 MaxActive 10 SpawnCount 2 Support 1 Where spawnbot WaitForAllSpawned "wave02" TotalCurrency 120 WaitBeforeStarting 8 WaitBetweenSpawns 2.5 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror Tag nav_prefer_flank_left BehaviorModifiers Push } TFBot { Template T_TFBot_Soldier_Extended_Concheror Tag nav_prefer_flank_right BehaviorModifiers Push } } } } }