#base robot_giant.pop #base robot_standard.pop #base robot_D_I_L.pop #base robot_deathmatch_base.pop #base robot_deathmatch_commonspawns.pop #base robot_deathmatch_giant_spawns.pop //Updated Version WaveSchedule { StartingCurrency 0 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 1 AllowBotExtraSlots 1 MaxRedPlayers 40 ExtraBotSlotsNoDeathcam 1 RobotLimit 90 SniperAllowHeadshots 1 NoReanimators 1 UpgradeStationKeepWeapons 1 ExtendedUpgradesOnly 1 BluPlayersAreRobots 1 RedPlayersAreRobots 1 BodyPartScaleSpeed 99 NoRedBotsRandomCrit 1 BotPushaway 0 PointTemplates { corelogic { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "spawnbot_lower,Kill,,0,-1" "OnMapSpawn" "spawnbot_invasion,Kill,,0,-1" "OnMapSpawn" "spawnbot_mission_sniper,Kill,,0,-1" "OnMapSpawn" "spawnbot_mission_spy,Kill,,0,-1" } NoFixup 1 logic_relay { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "pit_explosion_wav,PlaySound,,0,-1" //map dependent "OnTrigger" "failuresound,PlaySound,,0,-1" //map dependent } NoFixup 1 game_round_win //do not { "origin" "0 0 0" "TeamNum" "3" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } NoFixup 1 trigger_multiple { "targetname" "thirdperson" "StartDisabled" "1" "spawnflags" "3" "origin" "1542.488770 739.029175 -143.968689" "maxs" "50 50 50" "mins" "-50 -50 -50" "filtername" "filter_blue" "OnStartTouch" "!activator,setforcedtauntcam,1,0.1,-1" "OnStartTouch" "!activator,SetHUDVisibility,0,0.1,-1" "OnStartTouch" "!activator,DisableDamageForces,,0,-1" //doesn't work? "OnEndTouch" "!activator,setforcedtauntcam,0,0,-1" "OnEndTouch" "!activator,SetHUDVisibility,1,0,-1" "OnEndTouch" "!activator,EnableDamageForces,,0,-1" } NoFixup 1 ambient_generic { "targetname" "failuresound" "health" "10" "message" "vo\announcer_failure.mp3" "pitch" "100" "pitchstart" "100" "radius" "20000" "spawnflags" "49" "origin" "0 0 0" } } NoFixup 1 finaltele { trigger_teleport //teleport timer to box { "targetname" "timertele" "origin" "-333 -2759 420" "spawnflags" "1" "solid" "0" "StartDisabled" "0" "maxs" "30 30 30" "mins" "-30 -30 -30" "target" "timerbox" } info_target { "targetname" "timerbox" "origin" "65 -3137 450" } } NoFixup 1 blueman { trigger_add_tf_player_condition { "condition" "43" "origin" "110 -2950 450" "maxs" "30 30 30" "mins" "-30 -30 -30" "spawnflags" "1" "duration" "999" } trigger_teleport //teleport timer to box { "targetname" "timertele" "origin" "110 -2950 450" "spawnflags" "1" "solid" "0" "StartDisabled" "0" "maxs" "20 20 30" "mins" "-20 -20 -30" "target" "timeregg" } info_target { "targetname" "timeregg" "origin" "2163 2687 544" } trigger_add_tf_player_condition { "condition" "43" "origin" "-50 -2950 450" "maxs" "30 30 30" "mins" "-30 -30 -30" "spawnflags" "1" "duration" "999" } trigger_teleport //teleport timer to box { "targetname" "timertele" "origin" "-50 -2950 450" "spawnflags" "1" "solid" "0" "StartDisabled" "0" "maxs" "20 20 30" "mins" "-20 -20 -30" "target" "timeregg2" } info_target { "targetname" "timeregg2" "origin" "-520 3130 512" } } NoFixup 1 unstucktele { trigger_teleport //teleport timer to box { "targetname" "unstucktele" "origin" "-65 -2845 420" "spawnflags" "1" "solid" "0" "StartDisabled" "0" "maxs" "150 3 30" "mins" "-150 -3 -30" "target" "unstuckbox" } info_target { "targetname" "unstuckbox" "origin" "-65 -2623 450" } } spawnIndicators { NoFixup 1 entity { "id" "6" "classname" "prop_dynamic" "angles" "0 90 0" "DefaultAnim" "idle" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "0.6" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "targetname" "2ndLeftG" "origin" "-333 -2759 386" editor { "color" "30 220 220" "visgroupshown" "1" "visgroupautoshown" "1" "logicalpos" "[0 0]" } } NoFixup 1 entity { "id" "6" "classname" "prop_dynamic" "angles" "0 0 0" "DefaultAnim" "idle" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "0.6" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "targetname" "2ndLeftG" "origin" "110 -2950 424" editor { "color" "30 220 220" "visgroupshown" "1" "visgroupautoshown" "1" "logicalpos" "[0 0]" } } NoFixup 1 entity { "id" "6" "classname" "prop_dynamic" "angles" "0 180 0" "DefaultAnim" "idle" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "0.6" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "targetname" "2ndLeftG" "origin" "-50 -2950 424" editor { "color" "30 220 220" "visgroupshown" "1" "visgroupautoshown" "1" "logicalpos" "[0 0]" } } } } ExtendedUpgrades { TitanDamage1 { Name "Titan Slayer" Attribute "special damage type" Cap 2 Increment 1 Cost 600 PlayerUpgrade 1 Description "Deal more damage to your objective" } } Spawntemplate "corelogic" Spawntemplate "finaltele" Spawntemplate "unstucktele" Spawntemplate "blueman" Spawntemplate "spawnIndicators" ExtraSpawnPoint { Name "red" TeamNum 2 X "900" Y "-2000" Z "510" } ExtraSpawnPoint { Name "red" TeamNum 2 X "-115" Y "-890" Z "580" } ExtraSpawnPoint { Name "red" TeamNum 2 X "-1100" Y "-190" Z "580" } ExtraSpawnPoint { Name "red" TeamNum 2 X "-465" Y "-1495" Z "530" } ExtraSpawnPoint { Name "red" TeamNum 2 X "-60" Y "-2064" Z "547" } ExtraSpawnPoint { Name "spawnbot_vip" TeamNum 3 X "529" Y "1672" Z "14" } ExtraSpawnPoint { Name "red_vip" TeamNum 2 X "-63" Y "-1675" Z "374" } Templates { } Mission // sentry buster { Objective DestroySentries InitialCooldown 5 Where spawnbot BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 35 TFBot { Template T_TFBot_SentryBuster } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes Explanation //Dispayed once the wave is initialized { Line "{green}Get money and buy new playstyles with !missionitems" Line "{green}Destroy that enemy VIP!" Line "{blu}Go through the Robot indicators to become blu for a single life" } WaveSpawn // 1 Heavyweight champ spawnbot ignore flag push (10) { Where spawnbot_vip TotalCount 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_URL_Giant_Soldier_Homing_Swarm Attributes IgnoreFlag Action Idle Name "Titan Homing Swarm Soldier" Health 800000 Scale 4 AlwaysGlow 1 Attributes UseBossHealthBar ClassIcon soldier_barrage_heat_nys_blu AimOffset "0 0 5000" UseMeleeThreatPrioritization 1 Attributes DisableDodge ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 0.25 "projectile spread angle penalty" 60.0 "fire rate bonus" 0.5 "clip size upgrade atomic" 5.0 "damage bonus" 1.5 "mod projectile heat seek power" 200 "mod projectile heat aim error" 0 "rocket jump damage reduction" 0.01 "projectile trail particle" eyeboss_projectile "Projectile speed increased" 0.14 "mult projectile count" 4 "mod projectile heat aim time" 1.7 "projectile acceleration start time" 2.2 "projectile acceleration time" 3 "projectile lifetime" 5 "projectile acceleration" 4500 "mod projectile heat no predict target speed" 1 "mult dmg vs giants" 1.5 "fire rate bonus with reduced health" 0.65 } CharacterAttributes { "health regen" 0 "mult_dmgtaken_active" 5 "damage force reduction" 0.05 "airblast vulnerability multiplier" 0.05 "override footstep sound set" 7 "airblast vertical vulnerability multiplier" 0.05 "rage giving scale" 0.65 "healing received penalty" 0.25 "dmg taken mult from special damage type 1" 1.4 "dmg taken mult from special damage type 2" 2 "move speed bonus" 1.1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-385 709 25" Delay 1100 Repeats 1 Duration 1 WaitUntilDone 1 Distance 5 } } } WaveSpawn // 1 Heavyweight champ spawnbot ignore flag push (10) { Where red_vip TotalCount 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited Name "VIP" TFBot { Template T_TFBot_URL_Giant_Soldier_Homing_Swarm Attributes IgnoreFlag Action Idle Name "Titan Homing Swarm Soldier" Health 800000 Scale 4 AlwaysGlow 1 Attributes UseBossHealthBar ClassIcon soldier_barrage_heat_nys AimOffset "0 0 5000" AddCond { Name "TF_COND_REPROGRAMMED" } Attributes DisableDodge ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 0.25 "projectile spread angle penalty" 60.0 "fire rate bonus" 0.5 "clip size upgrade atomic" 5.0 "damage bonus" 1.5 "mod projectile heat seek power" 200 "mod projectile heat aim error" 0 "rocket jump damage reduction" 0.01 "projectile trail particle" eyeboss_projectile "Projectile speed increased" 0.14 "mult projectile count" 4 "mod projectile heat aim time" 1.7 "projectile acceleration start time" 2.2 "projectile acceleration time" 3 "projectile lifetime" 5 "projectile acceleration" 4500 "mod projectile heat no predict target speed" 1 "mult dmg vs giants" 1.5 "fire rate bonus with reduced health" 0.65 } CharacterAttributes { "health regen" 0 "mult_dmgtaken_active" 5 "damage force reduction" 0.05 "airblast vulnerability multiplier" 0.05 "override footstep sound set" 7 "airblast vertical vulnerability multiplier" 0.05 "rage giving scale" 0.65 "healing received penalty" 0.25 "dmg taken mult from special damage type 1" 1.4 "dmg taken mult from special damage type 2" 2 "move speed bonus" 1.1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "423 -473 257" Delay 1100 Repeats 1 Duration 1 WaitUntilDone 1 Distance 5 } } } Wavespawn // VIP { WaitForAllDead "VIP" Support Limited FirstSpawnOutput { //disable tunnel barrier forcefield Target redwin_relay Action trigger } } WaveSpawn // blu light { Where spawnbot TotalCount 700 MaxActive 7 SpawnCount 1 WaitBetweenSpawns 1 TotalCurrency 3600 Template T_Wavespawn_Blu_Light } WaveSpawn // blu Med { Where spawnbot TotalCount 100 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 1 TotalCurrency 400 Template T_Wavespawn_Blu_Medium } WaveSpawn // blu Heavy { Where spawnbot TotalCount 200 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 25 TotalCurrency 10000 Template T_Wavespawn_Blu_Heavy Support 1 } WaveSpawn // blu event { Where spawnbot TotalCount 8 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 360 WaitBeforeStarting 300 TotalCurrency 4000 RandomSpawn 1 Support 1 RandomChoice { TFBot { Template MrBomber Action Mobber Attributes IgnoreFlag ClassIcon Random_lite } TFBot { Template HomingStar Action Mobber Attributes IgnoreFlag ClassIcon Random_lite } TFBot { Template WeeBeastie Action Mobber Attributes IgnoreFlag ClassIcon Random_lite } TFBot { Template SoldierSupreme Action Mobber Attributes IgnoreFlag ClassIcon Random_lite } TFBot { Template PipePirate Action Mobber Attributes IgnoreFlag ClassIcon Random_lite } } } WaveSpawn // red light { Where red TotalCount 900 MaxActive 7 SpawnCount 1 WaitBetweenSpawns 1 Template T_Wavespawn_Red_Light } WaveSpawn // red Med { Where red TotalCount 100 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 1 Template T_Wavespawn_Red_Medium } WaveSpawn // red heavy { Where red TotalCount 900 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 25 Template T_Wavespawn_Red_Heavy Support 1 } WaveSpawn // red event { Where red TotalCount 900 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 360 WaitBeforeStarting 480 RandomSpawn 1 Support 1 RandomChoice { TFBot { Template MrBomber Action Mobber Attributes IgnoreFlag ClassIcon red2_lite AddCond { Name "TF_COND_REPROGRAMMED" } } TFBot { Template HomingStar Action Mobber Attributes IgnoreFlag ClassIcon red2_lite AddCond { Name "TF_COND_REPROGRAMMED" } } TFBot { Template WeeBeastie Action Mobber Attributes IgnoreFlag ClassIcon red2_lite AddCond { Name "TF_COND_REPROGRAMMED" } } TFBot { Template SoldierSupreme Action Mobber Attributes IgnoreFlag ClassIcon red2_lite AddCond { Name "TF_COND_REPROGRAMMED" } } TFBot { Template PipePirate Action Mobber Attributes IgnoreFlag ClassIcon red2_lite AddCond { Name "TF_COND_REPROGRAMMED" } } } } } }