#base robot_giant.pop #base robot_standard.pop #base overclock_cactus_general.pop //Thanks Cactus #base robot_tank_small_turret.pop //Changes WaveSchedule { StartingCurrency 400 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no PrecacheModel "models/props_frontline/helicopter_windows.mdl" LuaScriptFile "scripts/dover2_helicopter.lua" //Approximate position of hatch's glass that heli falls through. //-3 -1906 343 Mission // sentry buster { Objective DestroySentries InitialCooldown 5 Where spawnbot BeginAtWave 1 RunForThisManyWaves 8 DesiredCount 3 CooldownTime 38 TFBot { Template T_TFBot_SentryBuster } } Mission // Sniper - wave 1 { Objective Sniper InitialCooldown 30 Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 50 DesiredCount 1 TFBot { Class Sniper Name "Building Hating Sniper" ExtAttr IgnorePlayers } } Mission // Sniper - wave 4 { Objective Sniper InitialCooldown 15 Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 35 DesiredCount 1 TFBot { Class Sniper Skill Expert Name Sniper } } Mission // Spy - wave 3 { Objective Spy InitialCooldown 20 Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 70 DesiredCount 1 TFBot { Class Spy Skill Expert Name Spy } } Mission // Spy - wave 3 { Objective Spy InitialCooldown 25 Where spawnbot_mission_spy BeginAtWave 6 RunForThisManyWaves 1 CooldownTime 25 DesiredCount 2 TFBot { Class Spy Skill Expert Name Spy } } PointTemplates { Helicopter //Special Royal Helicopter { OnSpawnOutput { Target "popscript" Action "$HelicopterBot" } } Yakuza_Title_Card_Helicopter { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "AIRBORNE ASSAULT ARSENAL" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "HEAVY ATTACK HELICOPTER" "x" "-1" "y" "0.45" "channel" "1" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } detect_copter { NoFixup 1 filter_tf_bot_has_tag { "targetname" "filter_helicopter" "tags" "helicopter_boss" "negated" "0" } trigger_multiple { "origin" "-3 -1906 343" "targetname" "helicopter_detection" "filtername" "filter_helicopter" "spawnflags" "1" "mins" "-350 -350 -350" "maxs" "350 350 350" "OnStartTouch" "!activator,$ChangeAttributes,A,0.1,-1" } } } SpawnTemplate detect_copter Templates { T_TFBot_Helicopter_Base //Special Royal Helecopter { SpawnTemplate "Yakuza_Title_Card_Helicopter" SpawnTemplate "Helicopter" Name "Heavy Helicopter" Class Soldier ClassIcon helicopter_blue_nys Health 34000 Skill Expert Action EscortFlag Attributes MiniBoss Attributes UseBossHealthBar Attributes SuppressFire ExtAttr IgnoreBuildings WeaponRestrictions MeleeOnly UseCustomModel "models/empty.mdl" Scale 0.65 Tag bot_giant Tag helicopter_boss FireInput { Target !self //targets the bot this is on Action $setlocalorigin Cooldown 999 Delay 0 param "109 4784 1063" } AddCond { Index 52 } AddCond { Index 64 //not targeted by red bot } AddCond { Index 84 //balloon head for low gravity. } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } CharacterAttributes { "not solid to players" 1 "voice pitch scale" 0 "move speed bonus" 0.65 "no_jump" 1 "damage force reduction" 0.001 "airblast pushback scale" 0.0001 "airblast vertical pushback scale" 0.0001 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "cannot be backstabbed" 1 "cannot pick up intelligence" 1 "crit mod disabled" 0 "player gravity ballon head" 0.13 "ignored by bots" 1 "cannot pick up intelligence" 1 } EventChangeAttributes // Make sure this works. { "A" { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-271 -2147 362" Delay 0.1 Cooldown 6 Duration 0.1 WaitUntilDone 1 Distance 50 AddToQueue 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-251 -1683 355" Delay 1.1 Cooldown 6 Duration 0.1 WaitUntilDone 1 Distance 50 AddToQueue 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "218 -1698 356" Delay 2.1 Cooldown 6 Duration 0.1 WaitUntilDone 1 Distance 50 AddToQueue 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "275 -2155 360" Delay 3.1 Cooldown 6 Duration 0.1 WaitUntilDone 1 Distance 50 AddToQueue 1 } } } } T_TFBot_Large_Soldier_Shotgun { Class Soldier Name "Large Shotgun Soldier" ClassIcon heavy_shotgun_armored Health 750 Scale 1.4 WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_Shotgun_Soldier" "damage bonus" 2 "bullets per shot bonus" 0.4 "faster reload rate" -0.8 "fire rate bonus" 0.75 } CharacterAttributes { "health regen" 1 "damage force reduction" 0.8 "airblast vulnerability multiplier" 0.8 "head scale" 0.7 } } T_TFBot_Pyro_Fury { Class Pyro Name "Fury Pyro" ClassIcon pyro_dragon_fury_swordstone MaxVisionRange 450 Item "The Dragon's Fury" Item "PY-40 Incinibot" ItemColor //Set item color { ItemName "PY-40 Incinibot" Red 50 Green 50 Blue 50 } } T_TFBot_Soldier_Bison { Class Soldier Item "The Righteous Bison" Item "The Space Bracers" Item "The Jupiter Jumpers" Attributes HoldFireUntilFullReload Name "Beam Soldier" ClassIcon soldier_bison WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Righteous Bison" "projectile speed increased" 1.25 //"dmg penalty vs players" 1.25 } } T_TFBot_Medic_Vacc_Bullet { ClassIcon medic_bullet Class Medic Name "Bullet Resist Medic" Skill Normal Attributes VaccinatorBullets Attributes SpawnWithFullCharge ItemAttributes { ItemName "the vaccinator" "medigun charge is resists" 4 "ubercharge rate bonus" 100 "medigun bullet resist passive" 0.15 "medigun bullet resist deployed" 0.6 } CharacterAttributes { "heal rate bonus" 2 "bot medic uber health threshold" 9999 "dmg taken increased" 1.25 } Item "prussian pickelhaube" Item "the vaccinator" } T_TFBot_Giant_Demoman_Sticky_Trap { Class Demoman Skill Expert Health 3300 Name "Giant Sticky Trapper Demoman" Attributes Miniboss ClassIcon demo_sticky_burst WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 } FireWeapon //Periodically fires weapon { Delay 0.1 //Time before the first fire input starts (Default: 10) Cooldown 1.5 //Time between each fire input (Default: 10) Type "Secondary" // Type of fire input, Possible values: } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 //Demo-bot will fire Stickybomb immediately "projectile range increased" 0.4 // Prevents overshooting target "fire rate bonus" 0.05 "reload time decreased" 0.85 "projectile spread angle penalty" 14 "damage bonus" 1.2 "Blast radius increased" 1.15 "sticky arm time penalty" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } T_TFBot_Giant_Soldier_Spammer_Spread { Class Soldier Name "Giant Bazooka Soldier" ClassIcon soldier_bazooka_giant Health 4000 Skill Expert WeaponRestrictions PrimaryOnly Item "The Beggar's Bazooka" Attributes MiniBoss Attributes HoldFireUntilFullReload Tag bot_giant Item "The Helmet Without a Home" ItemAttributes { ItemName "The Beggar's Bazooka" "faster reload rate" 0.25 "fire rate bonus" 0.03 "clip size upgrade atomic" 2.0 "projectile spread angle penalty" 8.5 "Projectile speed increased" 0.5 "Blast radius increased" 0.8 "damage penalty" 0.9 } CharacterAttributes { "move speed bonus" 0.5 "can overload" -1 "auto fires full clip" -1 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } T_TFBot_Giant_Sniper_Huntsman { Class Sniper Name "Giant Penetrating Bowman" Skill Expert ClassIcon sniper_bow_multi_penetrator Health 2000 Attributes MiniBoss WeaponRestrictions PrimaryOnly Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage bonus" 1.2 "fire rate bonus" 0.2 //"bleeding duration" 4 "projectile penetration" 1 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "head scale" 0.7 "override footstep sound set" 2 } } T_TFBot_Giant_Scout_Melee_Armoured { Class Scout Name "Armored Scout" ClassIcon scout_bat_nys_armored Skill Expert Health 3000 WeaponRestrictions MeleeOnly Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_BAT" "damage bonus" 1.5 } CharacterAttributes { "move speed penalty" 0.75 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Sniper_SMG //Use AlwaysFireWeapon in Vanilla and use Action FetchFlag if you have Rafmod. { Class Sniper Name "SMG Sniper" ClassIcon sniper_smg_tind WeaponRestrictions SecondaryOnly Action FetchFlag } T_TFBot_Giant_Pyro_Fury { Class Pyro Name "Giant Fury Pyro" ClassIcon pyro_dragon_fury_swordstone_giant Skill Expert MaxVisionRange 450 Health 3000 Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "PY-40 Incinibot" ItemColor //Set item color { ItemName "PY-40 Incinibot" Red 50 Green 50 Blue 50 } ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Large_Soldier_RocketShotgun { Class Soldier ClassIcon soldier_blackbox_armored_seel Item "The Black Box" Name "Large Black Box Soldier" WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Health 750 Scale 1.4 ItemAttributes { ItemName "The Black Box" "damage bonus" 0.33 "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 0.8 "blast radius increased" 1.25 "projectile spread angle penalty" 2 "heal on hit for rapidfire" 140 } CharacterAttributes { "health regen" 1 "damage force reduction" 0.8 "airblast vulnerability multiplier" 0.8 "head scale" 0.7 } } T_TFBot_Large_Medic_BigHeal { Class Medic Name "Large Quick-Fix Medic" Skill Normal ClassIcon medic_armored_lite Item "The Quick-Fix" Scale 1.4 Health 650 ItemAttributes { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.1 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 14 "head scale" 0.7 "health regen" 1 "damage force reduction" 0.8 "airblast vulnerability multiplier" 0.8 } } } // Wave F ////////////////////////////////////////////////// //////////////////////////////////////////////////////////// // 1 Tank 30K (100) // 6 Crit Giant Soldiers (100) // Support Homewrecker Pyros, Large Blackbox Soldiers, Crit Demomen and DF Pyros (300) // ------------------------------------------------------------ // Helicopter (150) // Support Blast Soldiers (50) //////////////////////////////////////////////////////////// Wave { InitWaveOutput { Target bombpath_choose_relay Action RunScriptCode Param " self.AcceptInput(`Disable`, ``, null, null) self.AcceptInput(`CancelPending`, ``, null, null) EntFire(`bombpath_left_relay`, `Trigger`, ``, 2.0) " } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn //Helicopter (150) { Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" WaitForAllDead "A" TFBot { Template T_TFBot_Helicopter_Base Action Mobber DesiredAttackRange 100 } } } }