// Reverse MvM mission by Space Jockey // Akure // // Starting Currency: 1200 // // +----------+----------+----------+ // | Wave | Currency | A+ | // +----------+----------+----------+ // | Wave 1 | 900 | 1000 | // | Wave 2 | 900 | 1000 | // | Wave 3 | 1000 | 1100 | // | Wave 4 | 1000 | 1100 | // | Wave 5 | 1100 | 1200 | // | Wave 6 | 1000 | 1100 | // | Wave 7 | 700 | 800 | // +----------+----------+----------+ // | Total | 6600 | 7300 | // +----------+----------+----------+ // // Version 2 changes: // general: added disable weapon switch on half-zatoichi and increased respawn time // weapon rebalances: natascha now heals on hit, removed slow mechanic // wave 1: fixed minor error with shotgun engineers // wave 2: made the tank go faster after second giant heavy dies // wave 3: giant demo and medic pair now spawns earlier, removed rapid fire bowmen, added support giant scouts at the end // wave 4: burst soldiers and demos now spawn in red team spawnroom, removed incedinary busters, support bots now spawn after all 'players' are dead, made all 'player' resistances consistent, also now randomchoiced players // wave 5: reduced blimp health to 8500, added giant pyro support on the hatch // wave 6: buffed spec ops sniper's health to 20k // wave 7: made saxton hale immune to sapper, reduced totalcount of deflector commons // // Version 3 changes: // general: made the tank go faster, added some logic that makes the tank move when all giants/commons in certain areas are killed, also gave all giants 0 damage force reduction, added some sentries to prevent spawncamping // wave 1: reduced totalcount and maxactive giant skullcutters to 2 and made them drop no money, increased totalcurrency of common scouts to 200, removed df pyro and qf medic pairs // wave 2: first giant heavy and scouts now wait until all of subwave 1 is dead, added disabledodge on samurai demos, giant burst demo and giant medic now waits after second giant heavy is dead, made ambassador spies infinite // wave 3: lowered tank health to 20k, rebalanced money, persian knights are now infinite // wave 4: swapped the player and sniper + ubermed combo subwaves, lowered tank health to 25k, removed shortstop scouts, giant sniper and heavy now spawn at roughly the same time, reduced totalcount of burst soldiers and demos to 20 // wave 5: lowered tank health to 30k, made heavies infinite, redistributed money a bit // wave 6: removed red soldiers, redistributed money, made sticky demos infinite // wave 7: fixed invisible resistance fighters // Version 4 changes: // changes were made based on feedback from Braindawg // general: made some minor visual fixes, added collisions for the carrier tank, added negative critboost on kill to the samurai demo, added an invisible locker model to prevent console spam // wave 3: chew chew now has its own icon (thanks lite), added custom smoke stack // wave 5: reduced blimp hp to 8000 // wave 6: ak47 boss now has 0 damage force reduction #base robot_standard.pop #base robot_giant.pop #base robot_standard_red.pop #base robot_giant_red.pop #base robot_spacejockey.pop WaveSchedule { StartingCurrency 1200 CanBotsAttackWhileInSpawnRoom yes RespawnWaveTime 5 RespawnWaveTimeBlue 5 //replaces the normal respawn kv's PlayerMiniBossMinRespawnTime 60 FixedRespawnWaveTimeBlue 1 AddSentryBusterWhenDamageDealtExceeds 1000000 AddSentryBusterWhenKillCountExceeds 1000000 // Essential stuff ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 //sniper and amby un-exist without this // MaxTotalPlayers 6 // currently doesn't work in reverse // Optional stuff ImprovedAirblast 1 // pyro bots can reflect grenades arrows and stickies SendBotsToSpectatorImmediately 1 //keeps the populator less clogged, bot projectiles vanish on death + causes weird killcams RobotLimit 26 //going higher will eat player slots BluHumanInfiniteAmmo 1 BluHumanInfiniteCloak 0 FlagCarrierMovementPenalty 1 // (default: 0.5) BluHumanFlagCapture 0 BluHumanFlagPickup 0 BluPlayersAreRobots 1 SniperHideLasers 1 DisplayRobotDeathNotice 1 MedigunShieldDamage 1 NoRomevisionCosmetics 1 NoSapUnownedBuildings 1 BodyPartScaleSpeed 50 StandableHeads 1 FixSetCustomModelInput 1 CustomUpgradesFile "mvm_upgrades_reverse.txt" // Engi-bot style teleporter. Not recommended for gatebot, highly recommended for non-gatebot // Entrances will also act like bot tele exits BotTeleportUberDuration 2 BluHumanTeleportOnSpawn 1 // BluHumanBotTeleporter 1 // bugged, teleports red bots for some reason WaveStartCountdown 3 ForceHoliday 2 NoThrillerTaunt 1 NoHolidayPickups 1 NoCritPumpkin 1 TextPrintTime 0 MinibossSentrySingleKill 1 StealthDamageReduction 0.1 RestoreNegativeDamageHealing 1 // CustomNavFile "mvm_akure_rc1_reverse" // BotsRandomCrit 1 // BotPushaway 0 //helpful for tele's but clumps squads into a ball // SentryBusterFriendlyFire 0 // CustomUpgradesFile "mvm_upgrades_example.txt" // DisallowUpgrade "generate rage on heal" // Temporary restriction DisallowUpgrade "maxammo primary increased" //players have infinite ammo DisallowUpgrade "maxammo secondary increased" //players have infinite ammo DisallowUpgrade "maxammo metal increased" //players have infinite ammo DisallowUpgrade "metal regen" //players have infinite ammo // DisallowUpgrade "uber duration bonus" //overpowered for reverse DisallowUpgrade "rocket specialist" //overpowered for reverse // Precache all custom models and sounds PrecacheModel "models/props_mvm/mvm_upgrade_blu_center.mdl" PrecacheModel "models/props_mvm/mvm_upgrade_blu_tools.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp.mdl" PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl" PrecacheModel "models/props_frontline/helicopter.mdl" PrecacheModel "models/props_frontline/helicopter_windows.mdl" PrecacheModel "models/weapons/c_models/c_lead_pipe/c_lead_pipe.mdl" PrecacheModel "models/weapons/c_models/c_pilot_flaregun/c_pilot_flaregun.mdl" PrecacheModel "models/weapons/c_models/c_super_shotgun.mdl" PrecacheModel "models/weapons/c_models/c_critbanner/c_critbanner_red.mdl" PrecacheModel "models/workshop/weapons/c_models/c_tokamak/c_tomislav.mdl" PrecacheModel "models/weapons/c_models/c_ak47/c_mmg.mdl" PrecacheModel "models/weapons/c_models/c_assault_minigun/c_assault_minigun.mdl" PrecacheModel "models/weapons/c_models/c_biobreaker/c_biobreaker.mdl" PrecacheModel "models/weapons/c_models/c_clinical_trial/c_clinical_trial.mdl" PrecacheModel "models/weapons/c_models/c_gamma_gazer/c_gamma_gazer.mdl" PrecacheModel "models/weapons/c_models/c_cratesmasher/c_cratesmasher_1.mdl" PrecacheModel "models/weapons/c_models/c_brief_negotiator/c_lmg.mdl" PrecacheModel "models/lilchewchew/lilchewchew_v3_red.mdl" PrecacheModel "models/player/saxton_hale_jungle_inferno/saxton_hale.mdl" PrecacheSound "weapons/assaultcannon_wind_up.wav" PrecacheSound "weapons/assaultcannon_wind_down.wav" PrecacheSound "weapons/assaultcannon_shoot.wav" PrecacheSound "weapons/assaultcannon_spin.wav" PrecacheSound "saxton_hale/saxton_hale_132_jump_1.wav" PrecacheSound "saxton_hale/saxton_hale_132_jump_2.wav" PrecacheSound "saxton_hale/saxton_hale_132_kill_w_and_m1.wav" PrecacheSound "saxton_hale/saxton_hale_132_kill_toy.wav" PrecacheSound "saxton_hale/saxton_hale_132_kspree_1.wav" PrecacheSound "saxton_hale/saxton_hale_132_kspree_2.wav" PrecacheSound "saxton_hale/saxton_hale_132_start_1.wav" PrecacheSound "saxton_hale/saxton_hale_responce_3.wav" PrecacheSound "saxton_hale/saxton_hale_responce_fail1.wav" PrecacheSound "saxton_hale/saxton_hale_responce_rage1.wav" PrecacheSound "saxton_hale/saxton_hale_responce_rage2.wav" PrecacheSound "saxton_hale/saxton_hale_responce_rage3.wav" PrecacheSound "saxton_hale/saxton_hale_responce_spree1.wav" PrecacheSound "saxton_hale/saxton_hale_responce_spree2.wav" PrecacheSound "saxton_hale/saxton_hale_responce_spree3.wav" PrecacheSound "saxton_hale/saxton_hale_responce_spree4.wav" PrecacheSound "saxton_hale/saxton_hale_responce_spree5.wav" 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_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" OverrideSounds { "MVM.BombWarning" "ambient/alarms/doomsday_lift_alarm.wav" // "MVM.GiantHeavyStep" "#mvm\giant_heavy\giant_heavy_step02.wav" // "MVM.GiantScoutStep" "#mvm\giant_scout\giant_scout_step_01.wav" // "MVM.GiantSoldierStep" "#mvm\giant_soldier\giant_soldier_step03.wav" // "MVM.GiantDemomanStep" "#mvm\giant_demoman\giant_demoman_step_03.wav" // "MVM.GiantPyroStep" "#mvm\giant_pyro\giant_pyro_step_04.wav" // "mvm\giant_common\giant_common_step_01.wav" "mvm\giant_heavy\giant_heavy_step02.wav" // "mvm\giant_common\giant_common_step_02.wav" "mvm\giant_scout\giant_scout_step_01.wav" // "mvm\giant_common\giant_common_step_03.wav" "mvm\giant_soldier\giant_soldier_step03.wav" // "mvm\giant_common\giant_common_step_04.wav" "mvm\giant_demoman\giant_demoman_step_03.wav" // "mvm\giant_common\giant_common_step_05.wav" "mvm\giant_pyro\giant_pyro_step_04.wav" "MVM.GiantHeavyLoop" "empty.wav" "MVM.GiantScoutLoop" "empty.wav" "MVM.GiantSoldierLoop" "empty.wav" "MVM.GiantDemomanLoop" "empty.wav" "MVM.GiantPyroLoop" "empty.wav" "Regenerate.Touch" "misc/null.wav" "Announcer.MVM_All_Dead" "misc/null.wav" } PointTemplates { corelogic //all the things we want to automatically run when the popfile reloads. Use this the most to avoid spaghetti { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" //delete as much unnecessary/unwanted stuff as you can from your map of choice. //you probably won't risk crashes on simpler/smaller mvm maps, but the further away from the edict limit you can be the better //out-of-bounds decorations, ropes, unreachable easter egg room ents, etc. "OnMapSpawn" "filter_blue_bombhat,Kill,,0,-1" //gatebot maps will need their capture filter deleted for players to cap "OnMapSpawn" "gate1_alarm*,Kill,,0,-1" //gets spammed by both red and blu team "OnMapSpawn" "bot_stun_*,Kill,,0,-1" //some gates may stun players "OnMapSpawn" "item_ammopack*,Kill,,0,-1" //might want to comment this out if players have limited ammo "OnMapSpawn" "Barricade*,Kill,,0,-1" //rottenburg specific, deletes front tank barricade //if there is no targetname for wasteful ents, you can also delete them by classname //deleting these decoration ropes frees up nearly 100 edicts on mvm_yiresa_rc5 "OnMapSpawn" "move_rope,Kill,,0,-1" "OnMapSpawn" "keyframe_rope,Kill,,0,-1" "OnMapSpawn" "blabber_endround,Kill,,0,-1" // "OnMapSpawn" "filter_redteam,Kill,,0,-1" //red team filters might cause problems, deleting them might cause more problems "OnMapSpawn" "trigger_push,Disable,,0,-1" //some maps use trigger_pushes intended to un-stick bots "OnMapSpawn" "spawnbot_right,Disable,,0,-1" //disable bad spawns "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger forcefield*:Disable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger forcefield*:Enable::0:-1,0,-1" "OnMapSpawn" "obj_sentrygun,Disable,,0,-1" "OnMapSpawn" "obj_sentrygun,Sethealth,648,0.01,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger obj_sentrygun:Show::0:-1,0,-1" //resupply "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger func_regenerate:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger func_regenerate:Enable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger teleportblubacktospawn:Enable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger teleportblubacktospawn:Disable::0.1:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger tele_disable_relay,Trigger::0:-1,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger red_bots_start_relay:Trigger:5:-1" "OnMapSpawn" "team_control_point_master,AddOutput, custom_position_x 2:0:-1,0,-1" //What we're doing: //"wave_start_relay*,AddOutput, //most entities accept the input 'AddOutput', letting us daisy-chain them together. // * will trigger our relay alongside any others with wave_start_relay in the name (i.e. wave_start_relay_classic or wave_start_relay_endurance), this only works for suffixes (*_start_relay* will not work) //OnTrigger spawnbarrier*:Disable:0:-1" //When wave_start_relay_classic/endurance triggers, it will trigger Disable on 'spawnbarrierA' and 'spawnbarrierA1' with a 0 second delay, -1 means this relay can be triggered an infinite amount of times. //We can also use AddOutput to change logic rather than just latch onto it: // "OnMapSpawn" "hint,AddOutput,display_text test,10,-1" //change annotation text to test 10s after map spawn // "OnMapSpawn" "wave_start_relay_classic,AddOutput,OnTrigger hint:Show:0:-1" // pitstop 1 "OnMapSpawn" "tank_path_a_9,AddOutput,OnPass pitstop_relay:Enable:0:-1" "OnMapSpawn" "tank_path_a_9,AddOutput,OnPass pitstop_relay:Trigger:0:-1" // pitstop 2 "OnMapSpawn" "tank_path_a_37,AddOutput,OnPass pitstop_relay:Enable:0:-1" "OnMapSpawn" "tank_path_a_37,AddOutput,OnPass pitstop_relay:Trigger:0:-1" // "OnMapSpawn" "tank_path_a_37,AddOutput,OnPass tank_heal_5000:Trigger:2:-1" // pitstop 3 "OnMapSpawn" "tank_path_a_23,AddOutput,OnPass tankfast_relay:Enable:0:-1" "OnMapSpawn" "tank_path_a_23,AddOutput,OnPass tankfast_relay:Trigger:0:-1" // "OnMapSpawn" "tank_path_a_30,AddOutput,OnPass pitstop_relay:Enable:0:-1" // "OnMapSpawn" "tank_path_a_30,AddOutput,OnPass pitstop_relay:Trigger:0:-1" } logic_relay { "targetname" "pitstop_relay" "OnTrigger" "tankboss*,SetSpeed,10,0,-1" "OnTrigger" "pitstop_annotation,Show,0,0,-1" "OnTrigger" "red_all_dead,SetValue,3,0,-1" "spawnflags" "2" } logic_relay { "targetname" "tankfast_relay" "OnTrigger" "tankboss,SetSpeed,110,0,-1" "spawnflags" "2" } logic_relay { "targetname" "red_giants_all_killed" "OnTrigger" "red_all_dead,SetValue,0,0,-1" "OnTrigger" "red_all_dead,Compare,,0.1,-1" } logic_relay { "targetname" "red_commons_all_killed" "OnTrigger" "red_all_dead,SetCompareValue,0,0,-1" "OnTrigger" "red_all_dead,Compare,,0.1,-1" } logic_compare { "targetname" "red_all_dead" "CompareValue" "2" "InitialValue" "3" "OnEqualTo" "tankboss,SetSpeed,90,0,-1" "OnEqualTo" "pitstop_annotation,Disable,,0,-1" "OnEqualTo" "pitstop_relay,CancelPending,,0,-1" "OnEqualTo" "pitstop_relay,Disable,,0.01,-1" } logic_relay { "targetname" "red_bots_start_relay" "OnTrigger" "tankboss,SetSpeed,75,0,-1" "spawnflags" "2" } NoFixup 1 trigger_teleport { "origin" "0 0 0" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_bluteam" "target" "spawnbot" "targetname" "teleportblubacktospawn" } NoFixup 1 logic_relay //trigger this to lose { "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 interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } ambient_generic { "targetname" "failuresound" "health" "10" "message" "vo/announcer_failure.mp3" "pitch" "100" "pitchstart" "100" "radius" "20000" "spawnflags" "49" "origin" "0 0 0" } tf_point_nav_interface { "targetname" "nav_refresh" } func_regenerate { "targetname" "regenerate" "associatedmodel" "locker_model" "TeamNum" "3" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "origin" "0 0 0" } prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "6" "rendermode" "10" "renderfx" "6" "angles" "0 0 0" "origin" "0 0 -1000" "disableshadows" "1" } logic_relay { "targetname" "powerup_logic_relay" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,93,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,103,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,109,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,93,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,103,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,109,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,91,0.1,-1" } trigger_teleport { "targetname" "teleportblu" "origin" "272 -224 -368" "mins" "-272 -128 -112" "maxs" "272 128 112" "spawnflags" "1" "filtername" "filter_bluteam" "StartDisabled" "0" "target" "spawnbot" } trigger_brush { "origin" "0 0 0" "targetname" "game_playerdie" "StartDisabled" "0" "OnUse" "item_powerup_rune,Kill,0,-1" } logic_relay { "targetname" "hudbgone" "OnTrigger" "player*,SetHUDVisibility,0,0,-1" } logic_relay { "targetname" "hudcome" "OnTrigger" "player*,SetHUDVisibility,1,0,-1" } training_annotation { "targetname" "blimp_warn" "display_text" "Destroy the blimp!" "lifetime" "5" "origin" "3968 -2496 -128" } } Tankround_Antistalemate { NoFixup 1 logic_timer { "RefireTime" "90" "OnTimer" "red_bots_start_relay,Trigger,,0,-1" "OnTimer" "!self,Disable,,0,-1" } } PayloadTank { NoFixup 1 // OnSpawnOutput // { // Target tank_annotation1 // Action Show // Delay 0.1 // } // OnSpawnOutput // { // Target tank_annotation2 // Action Show // Delay 12 // } // annotations training_annotation { "targetname" "tank_annotation1" "display_text" "Escort the tank to the hatch." "lifetime" "10" "origin" "0 0 100" } training_annotation { "targetname" "tank_annotation2" "display_text" "Stay close to the tank to get banner buffs." "lifetime" "10" "origin" "0 0 100" } training_annotation { "targetname" "pitstop_annotation" "display_text" "Destroy all remaining enemies to advance" "lifetime" "8" "origin" "0 0 100" } training_annotation { "targetname" "healing_annotation" "display_text" "Healing..." "lifetime" "5" "origin" "0 0 100" } logic_relay { "targetname" "annotations_relay" "OnTrigger" "tank_annotation1,Show,,0.1,-1" "OnTrigger" "tank_annotation2,Show,,12,-1" } logic_relay { "targetname" "tank_heal_5000" "OnTrigger" "healing_annotation,Show,,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow50Percent !self:FireUser1::1:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow50Percent !self:FireUser1::2:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow50Percent !self:FireUser1::3:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow50Percent !self:FireUser1::4:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow50Percent !self:FireUser1::5:-1,0,-1" "OnUser1" "tankboss*,AddHealth,1000,0,-1" } dispenser_touch_trigger { "targetname" "cart_dispenser_trigger" "mins" "-300 -300 -300" "maxs" "300 300 300" "spawnflags" "1" } mapobj_cart_dispenser { "targetname" "cart_dispenser" "origin" "-42 0 172" "spawnflags" "14" "TeamNum" "3" "touch_trigger" "cart_dispenser_trigger" } info_particle_system { "targetname" "cart_particles" "angles" "-75 180 180" "effect_name" "mvm_emergencylight_glow" "start_active" "1" "origin" "-65.0746 0 221" } info_particle_system { "targetname" "cart_particles" "angles" "-75 180 180" "effect_name" "cart_flashinglight" "start_active" "1" "origin" "-65.0746 0 222.016" } trigger_multiple { "targetname" "buffs" "wait" "0.01" "StartDisabled" "0" "spawnflags" "1" "filtername" "filter_bluplayer" "mins" "-300 -300 -300" "maxs" "300 300 300" "OnStartTouch" "!activator,$AddCond,26,0,-1" "OnStartTouch" "!activator,$AddCond,29,0,-1" "OnStartTouch" "!activator,$AddCond,16,0,-1" // "OnStartTouch" "!activator,$AddCond,109,0,-1" "OnEndTouch" "!activator,$RemoveCond,26,0,-1" "OnEndTouch" "!activator,$RemoveCond,29,0,-1" "OnEndTouch" "!activator,$RemoveCond,16,0,-1" // "OnStartTouch" "!activator,$RemoveCond,109,0,-1" } prop_dynamic { "targetname" "tankhat" "angles" "0 0 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/player/items/pyro/hardhat_tower.mdl" "modelscale" "2.26" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "origin" "-60 0 138" } prop_dynamic { "targetname" "sign01" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medical/street_sign002.mdl" "modelscale" "1.25" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "origin" "46 -38 135" } prop_dynamic { "targetname" "sign02" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medical/street_sign002.mdl" "modelscale" "1.25" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "origin" "55 40 135" } filter_tf_bot_has_tag { "targetname" "filter_tankrepair" "tags" "bot_repair" "require_all_tags" "1" "Negated" "0" } filter_tf_bot_has_tag { "targetname" "filter_notplayer" "tags" "bot_notplayer" "require_all_tags" "1" "Negated" "1" } filter_multi { "targetname" "filter_bluplayer" "FilterType" "0" "filter01" "filter_bluteam" "filter02" "filter_notplayer" } info_target { "targetname" "tankposition" } info_target { "targetname" "tankteleporter_dest" "origin" "69 6 186" } prop_dynamic { "targetname" "tankteleporter" "angles" "0 0 0" "DefaultAnim" "running" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/buildables/teleporter_light.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "0" "StartDisabled" "0" "origin" "69 6 157" } info_particle_system { "angles" "0 0 0" "effect_name" "teleported_mvm_bot_glowdust" "flag_as_weather" "0" "start_active" "1" "targetname" "tank_telebeam_dust" "origin" "69 6 177" } RemoveIfKilled "buffs" } forcefields { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "targetname" "forcefield1" "origin" "-1872 -384 213" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "mins" "-16 -288 -520" "maxs" "16 288 520" "StartDisabled" "0" } prop_dynamic { "targetname" "forcefield1sign" "origin" "-1934 -466 -128" "angles" "0 180 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } func_forcefield { "disablereceiveshadows" "0" "targetname" "forcefield2" "origin" "-1648 144 213" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "mins" "-240 -240 -520" "maxs" "240 240 520" "StartDisabled" "0" } prop_dynamic { "targetname" "forcefield2sign" "origin" "-1582 212 -151" "angles" "0 135 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } func_forcefield { "disablereceiveshadows" "0" "targetname" "forcefield3" "origin" "-1152 368 213" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "mins" "-256 -16 -520" "maxs" "256 16 520" "StartDisabled" "0" } prop_dynamic { "targetname" "forcefield3sign" "origin" "-1152 368 213" "angles" "0 90 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } func_forcefield { "disablereceiveshadows" "0" "targetname" "forcefield4" "origin" "-256 392 176" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "mins" "-256 -16 -520" "maxs" "256 16 520" "StartDisabled" "0" } prop_dynamic { "targetname" "forcefield4sign" "origin" "-256 392 176" "angles" "0 90 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } func_forcefield { "disablereceiveshadows" "0" "targetname" "forcefield5" "origin" "-256 392 176" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "mins" "-256 -16 -520" "maxs" "256 16 520" "StartDisabled" "0" } prop_dynamic { "targetname" "forcefield5sign" "origin" "-256 392 176" "angles" "0 90 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } } station { NoFixup 1 prop_dynamic //upgrade station { "targetname" "upgradestation" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_mvm/mvm_upgrade_blu.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } func_upgradestation { "mins" "-105 -100 0" "maxs" "105 100 242" "parentname" "upgradestation" } prop_dynamic { "targetname" "shopcollision" "angles" "0 -90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_vehicles/train_flatcar_container.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "0" "rendermode" "10" "SetBodyGroup" "0" "skin" "0" "CollisionGroup" "5" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } } Nuke { NoFixup 1 ambient_generic { "origin" "-2953.718750 1027.582886 -79.814919" "volstart" "0" "targetname" "wav_nuke_ambient" "spinup" "0" "spindown" "0" "spawnflags" "33" "radius" "99999" "preset" "0" "pitchstart" "100" "pitch" "100" "message" "ambient/atmosphere/cave_outdoor1.wav" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } ambient_generic { "origin" "-2953.718750 1027.582886 -79.814919" "volstart" "0" "targetname" "wav_nuke" "spinup" "0" "spindown" "0" "spawnflags" "33" "radius" "99999" "preset" "0" "pitchstart" "100" "pitch" "100" "message" "items/cart_explode.wav" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } ambient_generic { "origin" "-2953.718750 1027.582886 -79.814919" "volstart" "0" "targetname" "missile" "spinup" "0" "spindown" "0" "spawnflags" "33" "radius" "99999" "preset" "0" "pitchstart" "100" "pitch" "100" "message" "misc/doomsday_missile_launch.wav" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } env_fade { "targetname" "fd_nuke_fast" "spawnflags" "0" "rendercolor" "254 237 197" "renderamt" "50" "holdtime" "5" "duration" "0.5" } env_fade { "targetname" "fd_nuke_slow" "spawnflags" "0" "rendercolor" "254 237 197" "renderamt" "50" "holdtime" "5" "duration" "0.5" } env_viewpunch { "punchangle" "-90 0 0" "radius" "9999" "spawnflags" "3" "targetname" "punch" "origin" "-1751.165161 481.067780 -130.486755" } env_shake { "targetname" "shakeit" "spawnflags" "1" "radius" "5000" "frequency" "50" "duration" "3" "amplitude" "16" } info_particle_system { "origin" "-3088.277588 1715.463501 293.441833" "targetname" "ps_nuke" "start_active" "0" "flag_as_weather" "0" "effect_name" "dooms_nuke_ring" "angles" "0 0 0" } info_particle_system { "origin" "-3088.277588 1715.463501 -33.053253" "targetname" "ps_nuke" "start_active" "0" "flag_as_weather" "0" "effect_name" "base_destroyed_smoke_doomsday" "angles" "0 0 0" } info_particle_system { "origin" "-3088.277588 1715.463501 674.098511" "targetname" "ps_nuke" "start_active" "0" "flag_as_weather" "0" "effect_name" "dooms_nuke_collumn" "angles" "0 0 0" } info_particle_system { "origin" "-3088.277588 1715.463501 60.131905" "targetname" "ps_flash" "start_active" "0" "flag_as_weather" "0" "effect_name" "flash_doomsday" "angles" "0 0 0" } info_particle_system { "origin" "-2868.626221 949.329407 29.499710" "targetname" "boom" "start_active" "0" "flag_as_weather" "0" "effect_name" "cinefx_goldrush" "angles" "0 0 0" } trigger_hurt { "targetname" "ded" "origin" "0 0 0" "angles" "-45 -90 0" "mins" "-8000 -8000 -1000" "maxs" "8000 8000 1000" "nodmgforce" "0" "damagetype" "1048576" "damagemodel" "0" "damagecap" "0" "damage" "99999" "StartDisabled" "1" "spawnflags" "64" } logic_relay { "targetname" "nuke_launch" "OnTrigger" "fd_nuke_fast,Fade,,0,-1" "OnTrigger" "missile,PlaySound,,0,-1" "OnTrigger" "punch,ViewPunch,,0,-1" "OnTrigger" "player,igniteplayer,,0,1" "OnTrigger" "ps_flash,Start,,0,-1" "OnTrigger" "shakeit,StartShake,,0,-1" "OnTrigger" "boom,Start,,0.25,-1" "OnTrigger" "ded,Enable,,0.25,-1" "OnTrigger" "obj_dispenser,RemoveHealth,5000,0.25,-1" "OnTrigger" "obj_sentrygun,RemoveHealth,5000,0.25,-1" "OnTrigger" "obj_teleporter,RemoveHealth,5000,0.25,-1" "OnTrigger" "explosion_prop,SetAnimation,boom,0.25,-1" "OnTrigger" "explosion_cutscene,$EnableAll,,0.5,-1" "OnTrigger" "wav_nuke,PlaySound,,0,-1" "OnTrigger" "fd_nuke_slow,Fade,,1,-1" "OnTrigger" "ps_nuke,Start,,1,-1" "OnTrigger" "wav_nuke_ambient,PlaySound,,1.5,-1" "OnTrigger" "redwin_relay,Trigger,,1.5,-1" } } camera { NoFixup 1 point_viewcontrol { "targetname" "explosion_cutscene" "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "0" "speed" "0" "wait" "10" "origin" "-1930.825439 655.794617 267.675751" "angles" "12.080543 142.605525 0" } point_viewcontrol { "targetname" "camera_heli" "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "44" "speed" "0" "wait" "60" "origin" "36.578110 2568.362793 145.824158" "angles" "26.27334 -176.646337 0" } point_viewcontrol { "targetname" "camera_outside" "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "44" "speed" "0" "wait" "100" "origin" "-1822.506226 -802.324591 -18.673340" "angles" "-17.26024 54.185810 0" } } explode { NoFixup 1 prop_dynamic { "angles" "0 0 0" "DefaultAnim" "idle" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/hybridphysx/badwater_destruction_part5.mdl" "modelscale" "1.5" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "targetname" "explosion_prop" "origin" "-3457 1996 -346" } } turretbody { NoFixup 1 prop_dynamic { "id" "3" "classname" "prop_dynamic" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_badlands/barrel02.mdl" "modelscale" "1.75" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } } wallsentry { NoFixup 1 OnSpawnOutput { Target "wallsentry" Action "sethealth" Param 500 } obj_sentrygun { "targetname" "wallsentry" "origin" "0 0 0" "teamnum" "2" "spawnflags" "8" "SolidToPlayer" "1" "defaultupgrade" "1" "modelscale" 1.5 } } hatchsentry { NoFixup 1 OnSpawnOutput { Target "hatchsentry" Action "sethealth" Param 250 } obj_sentrygun { "targetname" "hatchsentry" "origin" "0 0 0" "teamnum" "2" "spawnflags" "8" "SolidToPlayer" "0" "defaultupgrade" "0" } } spawnsentry { NoFixup 1 OnSpawnOutput { Target "spawnsentry" Action SetHealth Param 1984 } obj_sentrygun { "targetname" "spawnsentry" "origin" "0 0 0" "teamnum" "2" "spawnflags" "10" "SolidToPlayer" "0" "defaultupgrade" "0" "SetBodygroup" "1" "modelscale" "1" } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/buildables/sentry_shield.mdl" "rendercolor" "255 255 255" "solid" "0" "targetname" "sentryshield" } } tinydeskengineer { prop_dynamic { "angles" "0 0 0" "DefaultAnim" "taunt_russian" "disablereceiveshadows" "1" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/bots/engineer/bot_engineer.mdl" "modelscale" "0.15" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "targetname" "tinydesk" "origin" "0 0 0" } } powerup_logic_player { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } } spawnpoints { NoFixUp 1 prop_dynamic { "targetname" "spawnpoint_red1a" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "3" "solid" "0" "origin" "-200 -1272 -416" } // prop_dynamic // { // "targetname" "spawnpoint_centre" // "angles" "0 0 0" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "MinAnimTime" "5" // "model" "models/props_mvm/robot_spawnpoint.mdl" // "modelscale" "1.0" // "renderamt" "255" // "rendercolor" "255 255 255" // "skin" "3" // "solid" "0" // "origin" "-308 -847 -416" // } prop_dynamic { "targetname" "spawnpoint_red1b" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "3" "solid" "0" "origin" "86 -1667 -352" } prop_dynamic { "targetname" "spawnpoint_red2a" "angles" "90 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "3" "solid" "0" "origin" "1864 -2201 -119.43" } prop_dynamic { "targetname" "spawnpoint_red2b" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "3" "solid" "0" "origin" "109 917 -224" } prop_dynamic { "targetname" "spawnpoint_red2c" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "3" "solid" "0" "origin" "2779.115479 953.863525 -92.463127" } // off logic logic_relay { "targetname" "red1a_off_logic" "OnTrigger" "spawnpoint_red1a,skin,3,0,-1" } logic_relay { "targetname" "red1b_off_logic" "OnTrigger" "spawnpoint_red1b,skin,3,0,-1" } logic_relay { "targetname" "red2a_off_logic" "OnTrigger" "spawnpoint_red2a,skin,3,0,-1" } logic_relay { "targetname" "red2b_off_logic" "OnTrigger" "spawnpoint_red2b,skin,3,0,-1" } logic_relay { "targetname" "red2c_off_logic" "OnTrigger" "spawnpoint_red2c,skin,3,0,-1" } // on logic logic_relay { "targetname" "red1a_on_logic" "OnTrigger" "spawnpoint_red1a,skin,0,0,-1" } logic_relay { "targetname" "red1b_on_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } logic_relay { "targetname" "red2a_on_logic" "OnTrigger" "spawnpoint_red2a,skin,0,0,-1" } logic_relay { "targetname" "red2b_on_logic" "OnTrigger" "spawnpoint_red2b,skin,0,0,-1" } logic_relay { "targetname" "red2c_on_logic" "OnTrigger" "spawnpoint_red2c,skin,0,0,-1" } } shop_scout { NoFixup 1 prop_dynamic { "angles" "0 0 0" "DefaultAnim" "stand_melee" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/bots/scout/bot_scout.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "targetname" "shopscout" "origin" "0 0 0" } } samuraidemosword { OnSpawnOutput { Target demo_checker Action Trigger Delay 0.1 } OnParentKilledOutput { Target remove_samurai_attributes Action Trigger Delay 0 } filter_tf_class { "targetname" "filter_demo" "Negated" "0" "tfclass" "4" } filter_multi { "targetname" "filter_bludemo" "Filter01" "filter_demo" "Filter02" "filter_bluteam" "filtertype" "0" "Negated" "0" "OnPass" "apply_samurai_attributes,Trigger,0.1,-1" } logic_relay { "targetname" "demo_checker" "OnTrigger" "filter_bludemo,TestActivator,!activator,0,-1" } logic_relay { "targetname" "apply_samurai_attributes" "OnTrigger" "!activator,AddOutput,modelscale 1.3,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,max health additive bonus|475|2,0.11,-1" "OnTrigger" "!activator,SetHealth,650,0.3,-1" "OnTrigger" "!activator,$GiveItem,Demo Kabuto,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,charge time increased|2|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,charge recharge rate increased|7|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,increased jump height|2.3|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,cancel falling damage|1|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,damage bonus|1.5|2,0,-1" } logic_relay { "targetname" "remove_samurai_attributes" "OnTrigger" "!activator,AddOutput,modelscale 1,0,-1" "OnTrigger" "!activator,$RemoveItem,Demo Kabuto,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,max health additive bonus|475|2,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,charge time increased|2|2,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,charge recharge rate increased|7|2,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,increased jump height|2.3|2,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,cancel falling damage|1|2,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,damage bonus|1.5|2,0,-1" } } crit_radius { KeepAlive 1 OnParentKilledOutput { Target "crit_radius_brush" Action Disable } OnParentKilledOutput { Target "crit_radius_brush" Action Kill Delay 0.2 } OnSpawnOutput { Target "crit_radius_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "crit_radius_brush" "filtername" "filter_redteam" "spawnflags" "1" "StartDisabled" "1" "mins" "-225 -225 -450" "maxs" "225 225 450" "origin" "100 0 0" "onstarttouch" "@c@!activator,$fireuser5,,0,-1" "onendtouch" "@c@!activator,$fireuser6,,0,-1" } RemoveIfKilled "crit_radius_brush" } powerup_logic_critbuff_recipient { OnParentKilledOutput { Target "item_powerup_rune" Action Kill } OnSpawnOutput { Target "parentoutput_target" Action SetParent Param "!activator" } info_target { "targetname" "parentoutput_target" "$OnUser5" "recipient_counter,Add,1,0,-1" "$OnUser6" "recipient_counter,Subtract,1,0,-1" } math_counter { "targetname" "recipient_counter" "max" "9999" "outvalue" "countcompare,setvaluecompare,,0,-1" } logic_compare { "targetname" "countcompare" "onequalto" "!parent,$removecond,40,0,-1" "onequalto" "!parent,$removecond,20,0,-1" "ongreaterthan" "!parent,$addcond,40,0,-1" "ongreaterthan" "!parent,$addcond,20,0,-1" } } Combo_Pyro { NoFixup 1 logic_relay { "targetname" "combo_primary_to_secondary" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0.6,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.61,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary^Trigger^|0,0.62,-1" } logic_relay { "targetname" "combo_primary_to_secondary_longhold" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,1.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,1.51,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary_longhold^Trigger^|0,1.52,-1" } } powerup_logic_medic { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnParentKilledOutput { Target "powerup_logic_relay" Action Trigger Delay 0.001 } } cutscene_intro { NoFixup 1 point_viewcontrol { "targetname" "introcam" "acceleration" "0" "deceleration" "0" "angles" "0 180 0" "spawnflags" "128" "wait" "10" "interpolatepositiontoplayer" "0" "origin" "-1792 -896 -384" } logic_relay { "targetname" "introcam_relay" "OnTrigger" "introcam,$EnableAll,,0,-1" "OnTrigger" "introcam,$DisableAll,,3,-1" } env_fade { "targetname" "fader" "angles" "0 0 0" "duration" "1" "rendercolor" "0 0 0" "spawnflags" "1" } } bluteleporter { NoFixup 1 trigger_teleport { "filtername" "filter_bluplayer" "origin" "-2656 704 -160" "mins" "-160 -128 -96" "maxs" "160 128 96" "spawnflags" "4097" "StartDisabled" "1" "target" "tankteleporter_dest" "targetname" "tank_tele_trigger" "OnEndTouch" "!activator,$PlaySoundToSelf,mvm/mvm_tele_deliver.wav,0,-1" "OnEndTouch" "!activator,$AddCond,6,0,-1" "OnEndTouch" "!activator,$RemoveCond,6,3,-1" } trigger_teleport { "filtername" "filter_bluplayer" "origin" "-2720 -128 -160" "mins" "-160 -128 -96" "maxs" "160 128 96" "spawnflags" "4097" "StartDisabled" "1" "target" "tankteleporter_dest" "targetname" "tank_tele_trigger" "OnEndTouch" "!activator,$PlaySoundToSelf,mvm/mvm_tele_deliver.wav,0,-1" "OnEndTouch" "!activator,$AddCond,6,0,-1" "OnEndTouch" "!activator,$RemoveCond,6,3,-1" } trigger_teleport { "filtername" "filter_bluplayer" "origin" "-608 576 -160" "mins" "-160 -128 -96" "maxs" "160 128 96" "spawnflags" "4097" "StartDisabled" "1" "target" "tankteleporter_dest" "targetname" "tank_tele_trigger" "OnEndTouch" "!activator,$PlaySoundToSelf,mvm/mvm_tele_deliver.wav,0,-1" "OnEndTouch" "!activator,$AddCond,6,0,-1" "OnEndTouch" "!activator,$RemoveCond,6,3,-1" } logic_relay { "targetname" "tele_enable_relay" "OnTrigger" "tank_tele_trigger*,Enable,,0,-1" } logic_relay { "targetname" "tele_disable_relay" "OnTrigger" "tank_tele_trigger*,Disable,,0,-1" } } initialize_logic_rocketminisentry { NoFixUp 1 //IMPORTANT!! /// detect buildings template OnSpawnOutput { Target "rafmod_map_rot" Action "Open" } //filters filter_activator_class //detects all engineer devices { "targetname" "rafmod_filter_obj" "filterclass" "obj_*" } // func_door needed to detect buildings func_door { "targetname" "rafmod_map_rot" "mins" "-10 -10 -10" "maxs" "10 10 10" "movedir" "-90 0 0" "spawnflags" "4104" "speed" "0.1" "wait" "0.01" "OnFullyClosed" "!self,Open,,0,-1" } trigger_multiple { "targetname" "map_detect_building" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "filtername" "rafmod_filter_obj" "spawnflags" "64" "parentname" "rafmod_map_rot" "OnStartTouch" "rafmod_filter_obj_sentrygun_is_rocket_mini,TestActivator,,0,-1" } filter_multi { "targetname" "rafmod_filter_obj_sentrygun_is_rocket_mini" "filter01" "rafmod_filter_obj_sentrygun_rocket_mini" "filter02" "rafmod_filter_var_rocket_mini" "filter03" "rafmod_filter_is_mini_sentry" "OnPass" "m_rocket_minisentry,ForceSpawnAtEntityOrigin,!activator,0,-1" } filter_activator_class { "targetname" "rafmod_filter_obj_sentrygun_rocket_mini" "filterclass" "obj_sentrygun" } $filter_variable { "targetname" "rafmod_filter_var_rocket_mini" "$name" "rocket_can_fire" "$value" "1" "Negated" "1" "$compare" "equal" } $filter_sendprop { "targetname" "rafmod_filter_is_mini_sentry" "$name" "m_bMiniBuilding" "$value" "1" } /// rocket minisentry maker env_entity_maker { "targetname" "m_rocket_minisentry" "EntityTemplate" "t_rocket_minisentry" } } /// Special thanks to Yakibomb for the rocket sentry template t_rocket_minisentry { /// This entire part parents the weapon mimic to the sentry. /// The "rafmod_obj_minirocket_trigger" is parented to the sentry ... that way we can adjust the weapon mimic's position on the sentry /// OnSpawnOutput { Target "rafmod_obj_minirocket_rot" Action "Open" } filter_activator_class { "targetname" "rafmod_filter_minirocketsentry_obj_sentrygun" "filterclass" "obj_sentrygun" } func_door { "targetname" "rafmod_obj_minirocket_rot" "mins" "-10 -10 -10" "maxs" "10 10 10" "movedir" "-90 0 0" "spawnflags" "4104" "speed" "0.1" "wait" "0.01" "OnFullyClosed" "!self,Open,,0,-1" } trigger_multiple { "targetname" "rafmod_obj_minirocket_trigger" "parentname" "rafmod_obj_minirocket_rot" "filtername" "rafmod_filter_minirocketsentry_obj_sentrygun" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "64" "OnStartTouchAll" "rafmod_obj_minirocket_trigger,$SetKey$parentname,,0,1" "OnStartTouchAll" "rafmod_obj_minirocket_rot,Kill,,0.1,1" "OnStartTouchAll" "rafmod_obj_minirocket_trigger,SetParent,!activator,0,1" "OnStartTouchAll" "rafmod_obj_minirocket_trigger,SetParentAttachment,muzzle,0.1,1" ///sets the parent attachment to the "muzzle" part of the gun "OnStartTouchAll" "!activator,AddOutput,OnUser2 rafmod_filter_rocket_mini_can_fire:TestActivator::0:1,0,1" //allows for firing of rockets "OnStartTouchAll" "!activator,FireUser2,,1,1" // begins the check loop "OnStartTouchAll" "!activator,$SetVar$rocket_can_fire,1,0,1" //custom var allows us to not have to name the sentrygun "OnStartTouchAll" "!activator,$SetKey$spawnflags,8,0,1" //sets the sentry to have infinite ammo when shooting normally } /// sets the weapon mimic owner to sentry OnSpawnOutput { Target "rafmod_rocket_mini_shooter" Action "$SetOwner" Param "!activator" } tf_point_weapon_mimic { "targetname" "rafmod_rocket_mini_shooter" "parentname" "rafmod_obj_minirocket_trigger" "origin" "50 0 0" //use origin to adjust where the rockets shoot from "speedmin" "1000" "speedmax" "1000" "WeaponType" "0" "SplashRadius" "160" "Damage" "75" "teamnum" "3" "OnUser1" "!self,FireOnce,,0,-1" } /// Goes through a series of filters to check if: /// It's firing + not disabled, /// If wrangled (if no, fire every 1 second) (if yes, fire every 0.5 seconds) /// ++ This part goes through a relay to ensure the sentry doesn't fire two rockets quickly /// "rocket_minisentry_has_ammo_can_fire_math" is used to track ammo /// ++ This constantly updates every time the rocket fires, and doesn't get muddled with an Engie repairing ammo /// Finally, sees if the sentry has greater than 10 ammo before firing. /// ++ comes with firing and empty clip sounds, too! filter_multi { "targetname" "rafmod_filter_rocket_mini_can_fire" "filter01" "rafmod_filter_rocket_mini_state" "filter02" "rafmod_filter_rocket_mini_disabled" "OnPass" "rafmod_filter_rocket_mini_is_player_controlled,TestActivator,,0,-1" "OnFail" "rafmod_filter_rocket_mini_can_fire,TestActivator,,0.5,-1" } $filter_sendprop { "targetname" "rafmod_filter_rocket_mini_is_player_controlled" "$name" "m_bPlayerControlled" "$value" "1" "OnPass" "rafmod_relay_rocket_mini_fire,CancelPending,,0,-1" "OnPass" "rafmod_relay_rocket_mini_fire,FireUser1,,0.01,-1" "OnFail" "rafmod_relay_rocket_mini_fire,CancelPending,,0,-1" "OnFail" "rafmod_relay_rocket_mini_fire,FireUser2,,0.01,-1" } logic_relay { "targetname" "rafmod_relay_rocket_mini_fire" "OnUser1" "rocket_minisentry_has_ammo_can_fire_math,GetValue,,0.5,-1" //wrangler fire rate "OnUser2" "rocket_minisentry_has_ammo_can_fire_math,GetValue,,1,-1" //standard, non-wrangled fire rate } math_counter { "targetname" "rocket_minisentry_has_ammo_can_fire_math" "min" "0" //minimum ammo value "max" "150" //max ammo value "startvalue" "150" //starting ammo value "OutValue" "!activator,$SetProp$m_iAmmoShells,,0,-1" "OutValue" "rafmod_filter_rocket_mini_can_fire,TestActivator,,0,-1" "OnGetValue" "!activator,$GetProp$m_iAmmoShells,rocket_minisentry_has_ammo_can_fire_math|SetValueNoFire|,0,-1" "OnGetValue" "rafmod_filter_rocket_mini_has_enough_ammo,TestActivator,,0,-1" } /// The filters $filter_sendprop { "targetname" "rafmod_filter_rocket_mini_state" "$name" "m_iState" "$value" "2" //means it's firing or wrangled } $filter_sendprop { "targetname" "rafmod_filter_rocket_mini_disabled" "$name" "m_bDisabled" "$value" "0" //if disabled } /// Final Touch /// This controls how much ammo is used, and subtracts the difference. If it doesn't have enough ammo, loops logic and plays an empty clip sound. $filter_sendprop //compares if ammo if >=10 { "targetname" "rafmod_filter_rocket_mini_has_enough_ammo" "$name" "m_iAmmoShells" "$value" "10" "$compare" "greater than or equal" "OnPass" "rocket_minisentry_has_ammo_can_fire_math,Subtract,10,0,-1" //Subtracts 10 ammo on mini "OnPass" "rafmod_rocket_mini_shooter,FireUser1,,0,-1" //fires the rocket, used in conjunction with "rafmod_filter_rocket_mini_has_enough_ammo" "OnPass" "!activator,$PlaySound,Building_Sentrygun.FireRocket,0,-1" //sound for rocket fire "OnFail" "rocket_minisentry_has_ammo_can_fire_math,Add,0,0,-1" //forces OutValue to refire "OnFail" "!activator,$PlaySound,Building_Sentrygun.Empty,0,-1" } RemoveIfKilled "rafmod_filter_minirocketsentry_obj_sentrygun" RemoveIfKilled "rafmod_obj_minirocket_trigger" RemoveIfKilled "rafmod_rocket_mini_shooter" RemoveIfKilled "rafmod_filter_rocket_mini_can_fire" RemoveIfKilled "rafmod_filter_rocket_mini_is_player_controlled" RemoveIfKilled "rafmod_relay_rocket_mini_fire" RemoveIfKilled "rocket_minisentry_has_ammo_can_fire_math" RemoveIfKilled "rafmod_filter_rocket_mini_state" RemoveIfKilled "rafmod_filter_rocket_mini_disabled" RemoveIfKilled "rafmod_filter_rocket_mini_has_enough_ammo" } checkpoint { NoFixup 1 prop_dynamic { "targetname" "cappoint" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/cap_point_small.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "2176 -448 -159" } logic_auto { "OnMapSpawn" "tank_path_a_20,AddOutput,OnPass cappoint:Skin:2:0:-1,0,-1" "OnMapSpawn" "tank_path_a_20,AddOutput,OnPass spawnbot_gianttp:Enable::0:-1,0,-1" "OnMapSpawn" "tank_path_a_20,AddOutput,OnPass capsound:PlaySound::0:-1,0,-1" "OnMapSpawn" "tank_path_a_20,AddOutput,OnPass gianttp*:Enable::0:-1,0,-1" } ambient_generic { "health" "10" "message" "ui/scored.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "targetname" "capsound" "origin" "2176 -265 -91.3891" } ambient_generic { "health" "10" "message" "ambient/alarms/alarm_citizen_loop1.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "targetname" "tankalarm" "origin" "2176 -265 -91.3891" } training_annotation { "targetname" "giant_notify_text" "display_text" "Tank is dead! Deploying bomb bot..." "lifetime" "4" "origin" "2176 -448 -143" } logic_relay { "targetname" "boss_dead_relay" "OnTrigger" "tankalarm,PlaySound,,0,-1" "OnTrigger" "tankalarm,StopSound,,2,-1" "OnTrigger" "giant_notify_text,Show,,0,-1" "OnTrigger" "tele_disable_relay,Trigger,,0,-1" "OnTrigger" "lose_time_relay,Trigger,,0,-1" "OnTrigger" "hatchcover_maker,ForceSpawn,,0,-1" "OnTrigger" "red_bots_start_relay,CancelPending,,0,-1" "OnTrigger" "nav_refresh,RecomputeBlockers,,0.75,-1" } env_entity_maker { "targetname" "hatchcover_maker" "EntityTemplate" "hatchcover_template" } logic_relay { "targetname" "unblockhatch" "OnTrigger" "hatchcover*,Kill,,0,-1" "OnTrigger" "hatchopen,Show,,0,-1" } training_annotation { "targetname" "hatchopen" "parentname" "hatch_prop" "display_text" "The bomb can now be deployed!" "lifetime" "10" "origin" "-859 2191 -274" } } hatchcover_template { NoFixup 1 prop_dynamic { "targetname" "hatchcover" "angles" "0 0 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_powerhouse/powerhouse_turbine.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "StartDisabled" "0" "origin" "-859 2191 -274" } func_forcefield { "disablereceiveshadows" "0" "origin" "-859 2191 -274" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "hatchcovercollision" "mins" "-120 -120 -120" "maxs" "120 120 120" "StartDisabled" "0" } } giantteleporter { NoFixup 1 trigger_teleport { "filtername" "filter_bluteam" "origin" "-2656 704 -160" "mins" "-160 -128 -96" "maxs" "160 128 96" "spawnflags" "1" "StartDisabled" "1" "target" "gianttp_dest" "targetname" "gianttp" "OnEndTouch" "!activator,$PlaySoundToSelf,mvm/mvm_tele_deliver.wav,0,-1" "OnEndTouch" "!activator,$AddCond,6,0,-1" "OnEndTouch" "!activator,$RemoveCond,6,5,-1" "OnEndTouch" "teleported,Start,,0,-1" "OnEndTouch" "teleported,Stop,,0.5,-1" } info_teleport_destination { "targetname" "gianttp_dest" "origin" "2183 -449 -140" } info_particle_system { "targetname" "teleported" "angles" "0 0 0" "effect_name" "merasmus_spawn" "start_active" "0" "origin" "2183 -449 -120" } } moneycollector { NoFixup 1 trigger_hurt { "targetname" "reversemvm_autocollectmoney" "damage" "0" "damagecap" "20" "damagemodel" "0" "damagetype" "0" "filtername" "filter_useless*" "nodmgforce" "0" "spawnflags" "1" "StartDisabled" "0" "origin" "0 0 0" "mins" "-6000 -6000 -6000" "maxs" "6000 6000 6000" } filter_activator_name { "targetname" "filter_useless" "filtername" "i_believe_in_tomboy_supremacy" "Negated" "0" } } timerbot_logic { NoFixup 1 trigger_teleport { "targetname" "timertele" "filtername" "filter_timer" "origin" "109 917 -199" "mins" "-500 -500 -500" "maxs" "500 500 500" "spawnflags" "1" "StartDisabled" "1" "target" "timertele_dest" } info_teleport_destination { "targetname" "timertele_dest" "origin" "1408 320 -216" } filter_tf_bot_has_tag { "targetname" "filter_timer" "Negated" "0" "require_all_tags" "1" "tags" "bot_timer" } trigger_hurt { "targetname" "timer_subtract_2minutes" "damage" "120" "damagecap" "20" "damagemodel" "0" "damagetype" "0" "filtername" "filter_timer" "nodmgforce" "1" "spawnflags" "64" "StartDisabled" "1" "origin" "1408 320 -216" "mins" "-216 -86 -53" "maxs" "216 86 53" } logic_relay { "targetname" "lose_time_relay" "OnTrigger" "timer_subtract_2minutes,Enable,,0,-1" "OnTrigger" "timer_subtract_2minutes,Disable,,0.1,-1" } game_text { "targetname" "timer_notify_text_10" "message" "10 minutes remaining" "x" "-1" "y" "0.2" "spawnflags" "1" "effect" "2" "channel" "2" "fxtime" "0.2" "color" "115 255 115" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "timer_notify_text_5" "message" "5 minutes remaining" "x" "-1" "y" "0.2" "spawnflags" "1" "effect" "2" "channel" "2" "fxtime" "0.2" "color" "115 255 115" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "timer_notify_text_2" "message" "2 minutes remaining" "x" "-1" "y" "0.2" "spawnflags" "1" "effect" "2" "channel" "2" "fxtime" "0.2" "color" "115 255 115" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "timer_notify_text_1" "message" "1 minute remaining" "x" "-1" "y" "0.2" "spawnflags" "1" "effect" "2" "channel" "2" "fxtime" "0.2" "color" "115 255 115" "fadeout" "1" "holdtime" "4" } } timerloss { NoFixup 1 OnParentKilledOutput { Target lose_time_relay Action Trigger Delay 0.001 } } wave7controlpoint { NoFixup 1 trigger_capture_area { "classname" "trigger_capture_area" "area_cap_point" "cap_point" "area_time_to_cap" "40" //multiply this number by 2 to get the capture duration in seconds, raising "team_numcap_3" and "team_numcap_2" will also increase the time taken by a factor of the value (e.g. raising it to 2 will multiply the duration by 2) "StartDisabled" "0" "targetname" "cap_area" "team_cancap_2" "0" //setting this number to 0 disables red team from recapturing, 1 enables red team to recapture "team_cancap_3" "1" //1 enables blu team to cap "team_numcap_2" "99" //changing this number will change the number of red players required to stand on the point to finish capturing "team_numcap_3" "1" //changing this number will change the number of blu players required to stand on the point to finish capturing "team_spawn_2" "0" "team_spawn_3" "0" "team_startcap_2" "99" //changing this number will change the number of red players required to stand on the point to begin capturing "team_startcap_3" "1" //changing this number will change the number of blu players required to stand on the point to begin capturing "mins" "-216 -216 -216" "maxs" "216 216 216" "origin" "-3079 1628 -39" "spawnflags" "1" "OnCapTeam2" "blu_checker,Trigger,,0,-1" "OnCapTeam2" "chopper_collision*,Disable,,3,-1" "OnCapTeam2" "heli,SetAnimation,Lift_off,3,-1" "OnCapTeam2" "camera_heli,$EnableAll,,3,-1" "OnCapTeam2" "player,SetHUDVisibility,0,3,-1" "OnCapTeam2" "player,SetHUDVisibility,0,3.002,-1" "OnCapTeam2" "blu_player,$AddCond,66,3,-1" "OnCapTeam2" "player,SetForcedTauntCam,1,3,-1" // "OnCapTeam2" "teleportblubacktospawn,Disable,,3.05,-1" "OnCapTeam2" "skychopper_train,StartForward,,9,-1" "OnCapTeam2" "heli,Disable,,9,-1" "OnCapTeam2" "skychopper,Enable,,9,-1" "OnCapTeam2" "camera_outside,$EnableAll,,9,-1" "OnCapTeam2" "blu_player,$RemoveCond,66,18,-1" "OnCapTeam2" "camera_*,$DisableAll,,18,-1" "OnCapTeam2" "bots_win,RoundWin,,18.001,-1" ////////////////////////////////////////////editable outputs//////////////////////////////////////////// OnStartTeam1,OnBreakTeam1,OnCapTeam1,OnStartTeam2,OnBreakTeam2.OnCapTeam2,OnStartCap,OnBreakCap,OnEndCap,OnNumCappersChanged,OnNumCappersChanged2 //add your outputs here using "OnCapTeam2" for blu team capture, or "OnCapTeam1" for red team capture } team_control_point { "classname" "team_control_point" "angles" "0 0 0" "point_default_owner" "0" //this is the team that the control point will spawn in, set this number to 0 for neutral, 2 for red, 3 for blu "point_group" "0" "point_index" "0" //if you plan on having multiple control points at once, you must give each one a unique "point_index", spawning more than 8 control points on the map will crash the server "point_printname" "The Chopper" //this is the name of the control point that will show up in the kill feed "point_start_locked" "0" "point_warn_on_cap" "0" "point_warn_sound" "misc/null.wav" "random_owner_on_restart" "0" "spawnflags" "6" "targetname" "cap_point" "team_bodygroup_0" "3" "team_bodygroup_2" "1" "team_bodygroup_3" "1" "team_icon_0" "sprites/obj_icons/icon_obj_neutral" //this is the image shown on the hud icon "team_icon_2" "sprites/obj_icons/icon_obj_red" "team_icon_3" "sprites/obj_icons/icon_obj_blu" "team_model_0" "models/effects/cappoint_hologram.mdl" //this is the model of the hologram that appears above the control point "team_model_2" "models/effects/cappoint_hologram.mdl" "team_model_3" "models/effects/cappoint_hologram.mdl" "team_previouspoint_3_0" "cap_point" //if you want to create a sequence of control points similar to an attack/defense map, this keyvalue determines the order in which they can be captured //it represents the names of the previous control points that must be owned by blu team before this point can be unlocked, if this is the first control point on the map, it must refer to itself or else it will be locked "team_timedpoints_2" "0" "team_timedpoints_3" "0" "origin" "-3066 1806 -135.069" } team_control_point_master { "classname" "team_control_point_master" "caplayout" "2, 0 1" "cpm_restrict_team_cap_win" "1" //this makes it so the wave does not end when all the points are owned by a team, set this to 0 for neither team (this will end the wave on capture), 1 to restrict both teams, 2 to restrict red team winning, and 3 to restrict blu team winning "custom_position_x" "2" //you can change the number here to move the control points on the hud if something is blocking it, accepted values are from 0 to 1 and is expressed as a percentage of the screen from left to right, 0.5 or "-1" will center the hud "custom_position_y" "-1" "partial_cap_points_rate" "0" //this keyvalue allows money to be gained by capturing points, setting it to a number above 0 will allow players who are capturing to receive money, a higher number results in higher revenue, decimals accepted "play_all_rounds" "0" "score_style" "0" "StartDisabled" "0" "switch_teams" "0" "targetname" "cap_master" "team_base_icon_2" "sprites/obj_icons/icon_base_red" "team_base_icon_3" "sprites/obj_icons/icon_base_blu" } OnSpawnOutput //very important to keep this output otherwise the control point will not function { Target cap_area Action SetControlPoint Param cap_point } OnSpawnOutput //this output is optional but it is kept here for debugging purposes, if you do not restrict a team from winning and the control point spawned is not neutral, it will automatically end the wave so make sure you set the restriction { Target cap_master Action RoundSpawn } } Chopper { NoFixup 1 prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "disableshadows" "1" "model" "models/props_frontline/helicopter.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "6" "targetname" "heli" "StartDisabled" "1" "origin" "-849 2447 -286" } prop_dynamic { "angles" "-90 0 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/barrel_crate.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-801 2451 -250" } prop_dynamic { "angles" "-90 0 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/barrel_crate.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-817 2451 -195" } prop_dynamic { "angles" "-90 90 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/miningcrate001.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-1002.08 2470.42 -195" } prop_dynamic { "angles" "-90 90 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/miningcrate001.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-1075 2470.42 -195" } prop_dynamic { "angles" "-90 90 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/miningcrate001.mdl" "modelscale" "1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-1147 2470.42 -195" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_trainyard/crane_platform001.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "chopper_collision" "origin" "-888 2439 -117" } training_annotation { "targetname" "chopper_hint" "display_text" "Get to the Chopper!" "lifetime" "5" "origin" "-864 2192 -185.473" } } ending_logic { NoFixup 1 OnSpawnOutput { Target skychopper Action AddOutput Param "modelscale 0.1" Delay 0.01 } filter_activator_tfteam { "TeamNum" "3" "targetname" "filter_bluteam_check" "Negated" "Allow entities that match criteria" "OnPass" "!activator,AddOutput,targetname blu_player:0:-1,0,-1" } logic_relay { "targetname" "blu_checker" "OnTrigger" "filter_bluteam_check,$TestEntity,player,0,-1" } logic_relay { "targetname" "activate_chopper_escape" "OnTrigger" "team_control_point_master,AddOutput,custom_position_x 0.4,0,-1" "OnTrigger" "team_control_point_master,RoundSpawn,,0.1,-1" "OnTrigger" "chopper_collision*,EnableCollision,,0,-1" "OnTrigger" "heli,Enable,,0,-1" "OnTrigger" "chopper_hint,Show,,0,-1" "OnTrigger" "nav_refresh,RecomputeBlockers,,0.5,-1" } func_tracktrain { "targetname" "skychopper_train" "bank" "0" "disablereceiveshadows" "0" "disableshadows" "1" "dmg" "0" "height" "1" "ManualAccelSpeed" "0" "ManualDecelSpeed" "0" "ManualSpeedChanges" "0" "MoveSoundMaxPitch" "200" "MoveSoundMaxTime" "0" "MoveSoundMinPitch" "60" "MoveSoundMinTime" "0" "orientationtype" "1" "origin" "5951.5 6142 1544.4" "mins" "-1 -1 -1" "maxs" "1 1 1" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "spawnflags" "513" "speed" "0" "startspeed" "20" "target" "skychopper_track_1" "velocitytype" "0" "volume" "10" "wheels" "50" } prop_dynamic { "targetname" "skychopper" "angles" "0 0 0" "DefaultAnim" "Hover_idle" "DisableBoneFollowers" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_frontline/helicopter.mdl" "modelscale" "1" "parentname" "skychopper_train" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "SetBodyGroup" "0" "skin" "1" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "origin" "5954.49 6144 1538" } path_track { "target" "skychopper_track_2" "targetname" "skychopper_track_1" "origin" "5951.5 6142 1544.4" } path_track { "target" "skychopper_track_3" "targetname" "skychopper_track_2" "origin" "6005 6141 1559" } path_track { "target" "skychopper_track_4" "targetname" "skychopper_track_3" "origin" "6074 6141 1589" } path_track { "target" "skychopper_track_5" "targetname" "skychopper_track_4" "origin" "6153 6141 1626" } path_track { "target" "skychopper_track_6" "targetname" "skychopper_track_5" "origin" "6232 6141 1674" } path_track { "target" "skychopper_track_7" "targetname" "skychopper_track_6" "origin" "6292 6141 1728" } path_track { "targetname" "skychopper_track_7" "origin" "6347 6141 1781" } } SawBlade { OnSpawnOutput { target "rot" action "addoutput" param "avelocity 0 400 0" delay 0.01 } OnSpawnOutput { target "!activator" action "addoutput" param "rendermode 10" delay 0.01 } prop_dynamic { "targetname" "blade1" "parentname" "rot" "model" "models/props_forest/saw_blade.mdl" "angles" "0 0 90" } func_rotating { "targetname" "rot" "spawnflags" "593" "fanfriction" "333333" "maxspeed" "400" } } ChewChewTank { OnSpawnOutput { Target boss_smokestack Action Start } prop_dynamic { "targetname" "chewchew" "model" "models/lilchewchew/lilchewchew_v3_red.mdl" "defaultanim" "move" "modelscale" "1" "disablebonefollowers" "1" "disableshadows" "1" "solid" "0" "origin" "16 0 4" "angles" "0 0 0" } prop_dynamic { "targetname" "chewchewheels" "model" "models/lilchewchew/lilchewchew_wheels_v3.mdl" "defaultanim" "move" "modelscale" "1" "disablebonefollowers" "1" "disableshadows" "1" "solid" "0" "origin" "23 7 3" "angles" "0 0 0" } info_particle_system { "targetname" "boss_smokestack" "origin" "41.82 -4.42692e-06 185.132" "angles" "-75 180 -180" "effect_name" "smoke_train" } trigger_hurt { "targetname" "chew_hurt" "damage" "100000" "damagecap" "20" "damagemodel" "0" "damagetype" "16" "filtername" "filter_bluteam" "nodmgforce" "0" "origin" "145.5 0 100.17" "mins" "-81 -81 -81" "maxs" "81 81 81" "parentname" "chewchew" "spawnflags" "64" "StartDisabled" "0" "OnHurt" "chewchew,SetAnimation,chomp,0,-1" "OnHurtPlayer" "chewchew,SetAnimation,chomp,0,-1" "OnEndTouchAll" "chewchew,SetAnimation,move,0.66,-1" } } boss_logic { NoFixup 1 logic_relay { "targetname" "saxton_death_relay" "OnTrigger" "voiceline_*,Volume,0,0.01,-1" "OnTrigger" "voiceline_*,StopSound,0,0,-1" "OnTrigger" "saxton_death,PlaySound,,0,-1" } ambient_generic { "targetname" "saxton_death" "health" "8" "message" "saxton_hale/saxton_hale_responce_fail1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "0 0 0" } ambient_generic { "targetname" "saxton_death" "health" "8" "message" "saxton_hale/saxton_hale_responce_fail1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "0 0 0" } trigger_multiple { "targetname" "sentrygun_disabler" "spawnflags" "64" "filtername" "filter_blu_sentrygun" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "origin" "0 0 0" "StartDisabled" "1" "OnTrigger" "!activator,Disable,,0,-1" "OnTrigger" "!activator,$TakeDamage,100,0.01,-1" "OnTrigger" "!activator,Show,,3,-1" } filter_activator_class { "targetname" "filter_sentrygun" "Negated" "1" "filterclass" "obj_sentrygun" } filter_multi { "targetname" "filter_blu_sentrygun" "Filter01" "filter_sentrygun" "Filter02" "filter_bluteam" } logic_relay { "targetname" "boss_checkforkill" "OnTrigger" "detect_bosskill_trigger,Enable,,0.01,-1" "OnTrigger" "detect_bosskill_trigger,Disable,,0.02,-1" } logic_relay { "targetname" "detect_bosskill_buffer" "OnTrigger" "detect_bosskill_trigger,Disable,,0,-1" "OnTrigger" "detect_bosskill_trigger,Enable,,2,-1" } trigger_multiple { "targetname" "detect_bosskill_trigger" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "0 -0.02 47.99" "filtername" "filter_bossunusedcond" "OnStartTouch" "hale_kill_case,PickRandom,,0.1,-1" "OnStartTouch" "!activator,$RemoveCond,78,0.02,-1" "OnTrigger" "voiceline_saxton_jumping*,AddOutput,health 0:0:-1,0,-1" "OnTrigger" "voiceline_saxton_rage*,AddOutput,health 0:0:-1,0,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8:1.1:-1,0,-1" } logic_relay { "targetname" "rage_voiceline_relay" "OnTrigger" "hale_rage_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_saxton_jumping*,AddOutput,health 0:0:-1,0,-1" "OnTrigger" "voiceline_saxton_rage*,AddOutput,health 8:0:-1,0,-1" "OnTrigger" "voiceline_*AddOutput,health 8:2.5:-1,0,-1" "OnTrigger" "saxton_spook_trigger,Enable,,0,-1" "OnTrigger" "saxton_spook_trigger,Disable,,0.05,-1" "OnTrigger" "sentrygun_disabler,Enable,,0,-1" "OnTrigger" "sentrygun_disabler,Disable,,0.05,-1" "OnTrigger" "@p@hale_target,$AddCond,26,4.2,-1" "OnTrigger" "@p@hale_target,$RemoveCond,26,8.2,-1" "OnTrigger" "!self,Disable,,0.1,-1" "OnTrigger" "!self,Enable,,3.51,-1" } logic_relay { "targetname" "jumping_voiceline_relay" "OnTrigger" "hale_sjump_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_saxton_jumping*,AddOutput,health 8:0:-1,0,-1" "OnTrigger" "voiceline_saxton_rage*,AddOutput,health 0:0:-1,0,-1" "OnTrigger" "voiceline_*AddOutput,health 8:2.5:-1,0,-1" "OnTrigger" "!self,Disable,,0.03,-1" "OnTrigger" "!self,Enable,,3.51,-1" } logic_case { "targetname" "hale_sjump_case" "OnCase01" "voiceline_saxton_jumping_1,PlaySound,,0.01,-1" "OnCase02" "voiceline_saxton_jumping_2,PlaySound,,0.01,-1" "OnCase03" "voiceline_saxton_jumping_3,PlaySound,,0.01,-1" "OnCase04" "voiceline_saxton_jumping_4,PlaySound,,0.01,-1" } logic_case { "targetname" "hale_kill_case" "OnCase01" "voiceline_saxton_kill_1,PlaySound,,0.01,-1" "OnCase02" "voiceline_saxton_kill_2,PlaySound,,0.01,-1" "OnCase03" "voiceline_saxton_kill_3,PlaySound,,0.01,-1" "OnCase04" "voiceline_saxton_kill_4,PlaySound,,0.01,-1" "OnCase05" "voiceline_saxton_kill_5,PlaySound,,0.01,-1" "OnCase06" "voiceline_saxton_kill_6,PlaySound,,0.01,-1" "OnCase07" "voiceline_saxton_kill_7,PlaySound,,0.01,-1" "OnCase08" "voiceline_saxton_kill_8,PlaySound,,0.01,-1" "OnCase08" "voiceline_saxton_kill_9,PlaySound,,0.01,-1" } logic_case { "targetname" "hale_rage_case" "OnCase01" "voiceline_saxton_rage_1,PlaySound,,0.01,-1" "OnCase02" "voiceline_saxton_rage_2,PlaySound,,0.01,-1" "OnCase03" "voiceline_saxton_rage_3,PlaySound,,0.01,-1" "OnCase04" "voiceline_saxton_rage_4,PlaySound,,0.01,-1" } filter_multi { "targetname" "filter_bossunusedcond" "Filter01" "filter_boss" "Filter02" "filter_unusedcond" } filter_tf_condition { "condition" "78" "targetname" "filter_unusedcond" } filter_tf_bot_has_tag { "Negated" "1" "require_all_tags" "1" "tags" "saxton" "targetname" "filter_boss_exclude" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "saxton" "targetname" "filter_boss" } } saxton_boss { NoFixup 1 OnSpawnOutput { Target hale_target Action SetParent Param "!activator" Delay 0.05 } OnParentKilledOutput { Target saxton_death_relay Action Trigger Delay 0.001 } trigger_stun { "targetname" "saxton_spook_trigger" "filtername" "filter_bluteam" "spawnflags" "1" "StartDisabled" "1" "stun_duration" "4" "stun_effects" "1" "stun_type" "2" "trigger_delay" "0" "move_speed_reduction" "0.4" "mins" "-512 -512 -512" "maxs" "512 512 512" } info_target { "targetname" "hale_target" "origin" "0 0 0" } // Jumping ambient_generic { "targetname" "voiceline_saxton_jumping_1" "health" "8" "message" "saxton_hale/saxton_hale_responce_jump1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_1" "health" "8" "message" "saxton_hale/saxton_hale_responce_jump1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_2" "health" "8" "message" "saxton_hale/saxton_hale_responce_jump2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_2" "health" "8" "message" "saxton_hale/saxton_hale_responce_jump2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_3" "health" "8" "message" "saxton_hale/saxton_hale_132_jump_1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_3" "health" "8" "message" "saxton_hale/saxton_hale_132_jump_1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_4" "health" "8" "message" "saxton_hale/saxton_hale_132_jump_2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_jumping_4" "health" "8" "message" "saxton_hale/saxton_hale_132_jump_2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } // Got a kill ambient_generic { "targetname" "voiceline_saxton_kill_1" "health" "8" "message" "saxton_hale/saxton_hale_132_kspree_1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_1" "health" "8" "message" "saxton_hale/saxton_hale_132_kspree_1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_2" "health" "8" "message" "saxton_hale/saxton_hale_132_kspree_2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_2" "health" "8" "message" "saxton_hale/saxton_hale_132_kspree_2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_3" "health" "8" "message" "saxton_hale/saxton_hale_132_kill_w_and_m1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_3" "health" "8" "message" "saxton_hale/saxton_hale_132_kill_w_and_m1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_4" "health" "8" "message" "saxton_hale/saxton_hale_132_kill_toy.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_4" "health" "8" "message" "saxton_hale/saxton_hale_132_kill_toy.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_5" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_5" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_6" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_6" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_7" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_7" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_8" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree4.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_8" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree4.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_9" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree5.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_kill_9" "health" "8" "message" "saxton_hale/saxton_hale_responce_spree5.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } // Rage ambient_generic { "targetname" "voiceline_saxton_rage_1" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_1" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_2" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_2" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_3" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_3" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_4" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage4.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_saxton_rage_4" "health" "8" "message" "saxton_hale/saxton_hale_responce_rage4.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } carrierescape { NoFixup 1 prop_dynamic // floor { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3214.12 1691.77 -278" } prop_dynamic // floor { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3248.18 1815.16 -278" } prop_dynamic // floor { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3280.03 1935 -278" } prop_dynamic // floor { "angles" "0 105 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-2936.29 1801.41 -278" } prop_dynamic // floor { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3181.24 1568.06 -278" } prop_dynamic // wall { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/mine_elevator_door.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3426.38 1648.35 -133.069" } prop_dynamic // wall { "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/mine_elevator_door.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-2926.96 1751.12 -133.069" } prop_dynamic // back wall { "angles" "0 105 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/mine_elevator_door.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3330.98 1918.24 -159" } prop_dynamic // back wall { "angles" "0 105 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/mine_elevator_door.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-2997.67 2007.28 -159" } prop_dynamic // ramp { "angles" "0 15 -60" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_island/large_yeti_container01.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3017.07 1433.59 -251.944" } prop_dynamic // ramp { "angles" "0 15 -60" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_island/large_yeti_container01.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-3167.6 1393.53 -251.944" } prop_dynamic // roof { "angles" "0 280 180" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_moonbase/moon_bluebase_roof02.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "6" "rendermode" "10" "skin" "0" "solid" "6" "targetname" "carriercollision" "origin" "-2846.86 2330.05 536" } prop_dynamic // teleporter { "angles" "0 0 0" "DefaultAnim" "running" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/buildables/teleporter_light.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "skin" "1" "solid" "0" "StartDisabled" "1" "targetname" "escapetele_model" "origin" "1077 2130 -319" } trigger_teleport //escape tele { "targetname" "escapetele" "filtername" "filter_bluteam" "origin" "1072 2122 -247" "spawnflags" "1" "StartDisabled" "1" "maxs" "50 50 50" "mins" "-50 -50 -50" "target" "escapenode" "OnEndTouch" "!activator,$PlaySoundToSelf,mvm/mvm_tele_deliver.wav,0,-1" } logic_relay { "targetname" "escape_relay" "OnTrigger" "escape_tele,Enable,,0,-1" "OnTrigger" "escapetele_model,Enable,,0,-1" } } } // SpawnTemplate "corelogic" // SpawnTemplate "forcefields" // SpawnTemplate "spawnpoints" // SpawnTemplate "Combo_Pyro" // SpawnTemplate "cutscene_intro" // SpawnTemplate "bluteleporter" SpawnTemplate "initialize_logic_rocketminisentry" SpawnTemplate "checkpoint" SpawnTemplate "giantteleporter" SpawnTemplate "moneycollector" SpawnTemplate "timerbot_logic" SpawnTemplate "Nuke" SpawnTemplate "camera" SpawnTemplate "explode" SpawnTemplate "ending_logic" SpawnTemplate "boss_logic" SpawnTemplate "carrierescape" SpawnTemplate { Name "station" Origin "-2680 462 -286" Angles "0 90 0" } SpawnTemplate { Name "station" Origin "-353 707 -289" Angles "0 270 0" } SpawnTemplate { Name "station" Origin "-2471.95 -670 -285" Angles "0 90 0" } SpawnTemplate { Name "shop_scout" Origin "-2766 483 -273" Angles "0 90 0" } SpawnTemplate { Name "shop_scout" Origin "-2563.429451 -646.878892 -279" Angles "0 90 0" } SpawnTemplate { Name "shop_scout" Origin "-273.788 681.185 -279" Angles "0 270 0" } SpawnTemplate { Name "wallsentry" Origin "-1258 2148 130.754" Angles "0 90 90" } SpawnTemplate { Name "turretbody" Origin "-1366 2148 130.754" Angles "0 90 90" } SpawnTemplate { Name "hatchsentry" Origin "-359 2129 -254.75" Angles "0 0 0" } SpawnTemplate { Name "hatchsentry" Origin "-1250 1920 -222.75" Angles "0 0 0" } SpawnTemplate { Name "hatchsentry" Origin "-1250 2350 -222.75" Angles "0 0 0" } SpawnTemplate { Name "spawnsentry" Origin "-1920 1664 -190.75" Angles "0 0 0" } SpawnTemplate { Name "spawnsentry" Origin "-1920 2688 -190.75" Angles "0 0 0" } SpawnTemplate { Name "tinydeskengineer" Origin "-268.606 644 -246" Angles "0 270 0" } ///////////////////////////////////////////////////////////////////////////////////// SPAWN POINTS ExtraSpawnPoint // timer { Name "spawnbot_timer" TeamNum 2 X "109" Y "1028" Z "-199" } ExtraSpawnPoint // blu { Name "spawnbot_gianttp" TeamNum 3 StartDisabled 1 // If the spawn point starts disabled (Default: 0) X "2183" Y "-449" Z "-140" } ExtraSpawnPoint //bots will randomly select between identically named spawns, use RandomSpawn 1 to split spawns evenly { Name "respawnpoints" TeamNum 2 X "-2016" Y "2240" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-2016" Y "2144" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-1920" Y "2144" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-1920" Y "2144" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-2016" Y "2304" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-1920" Y "2304" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-2016" Y "2080" Z "-160" } ExtraSpawnPoint { Name "respawnpoints" TeamNum 2 X "-1920" Y "2080" Z "-160" } ExtraSpawnPoint { Name "spawnbot_big" TeamNum 2 X "-1699.99" Y "2773.97" Z "-180" } ExtraSpawnPoint { Name "spawnbot_big" TeamNum 2 X "-1699.99" Y "1679" Z "-180" } ExtraSpawnPoint { Name "spawnbot_front1" TeamNum 2 X "90" Y "-1669" Z "-338" } ExtraSpawnPoint { Name "spawnbot_front2" TeamNum 2 X "-192" Y "-1080" Z "-384" } // ExtraSpawnPoint // { // Name "spawnbot_front" // TeamNum 2 // X "71" // Y "-1731" // Z "-331" // } // ExtraSpawnPoint // { // Name "spawnbot_mid1" // TeamNum 2 // X "-511.997" // Y "-2366.02" // Z "-362" // } ExtraSpawnPoint { Name "spawnbot_mid1" TeamNum 2 X "1836" Y "-2150" Z "-174" } ExtraSpawnPoint { Name "spawnbot_mid2" TeamNum 2 X "117.963158" Y "921.298340" Z "-155.968689" } ExtraSpawnPoint { Name "spawnbot_mid3" TeamNum 2 X "2779.115479" Y "953.863525" Z "-27.968681" } ExtraSpawnPoint { Name "hatchspawn" TeamNum 2 X "-636" Y "2191" Z "-280" } ExtraSpawnPoint { Name "spawnbot_special" StartDisabled 1 TeamNum 2 X "-1248" Y "2192" Z "-190" } ExtraSpawnPoint { Name "spawnbot_powerups1" TeamNum 2 X "-896" Y "-80" Z "-475.993" } ExtraSpawnPoint { Name "spawnbot_powerups2" TeamNum 2 X "-896" Y "-128" Z "-475.993" } ExtraSpawnPoint { Name "spawnbot_powerups3" TeamNum 2 X "1024" Y "-512" Z "-185.993" } ExtraSpawnPoint { Name "spawnbot_powerups4" TeamNum 2 X "1424" Y "-256" Z "-358.28" } ExtraTankPath { Name "tank_path_red" Node "1088 128 -160" Node "1312 -128 -160" Node "1392 -224 -160" Node "1457 -289 -160" Node "1545 -832 -160" Node "1545 -1280 -160" Node "1280 -1888 -160" Node "768 -1888 -288" Node "672 -1824 -288" Node "480 -1664 -288" Node "480 -1216 -288" Node "352 -992 -288" Node "128 -800 -288" Node "-384 -800 -288" Node "-704 -896 -288" Node "-896 -896 -288" Node "-1376 -896 -384" Node "-1536 -720 -400" Node "-1536 -544 -400" Node "-1312 -384 -400" Node "-448 -384 -400" Node "-128 -224 -400" } ExtraTankPath { Name "blimp" Node "3968 -2496 -128" Node "3456 -2496 0" Node "2880 -2496 128" Node "2560 -2496 192" Node "2187 -2340 320" Node "1984 -2240 384" Node "1728 -2112 448" Node "1280 -1920 448" Node "960 -1792 448" Node "640 -1536 448" Node "640 -320 448" Node "320 -64 448" Node "-64 -64 448" Node "-512 -128 384" Node "-896 -256 384" Node "-1152 -512 384" Node "-1408 -704 384" Node "-1664 -832 384" Node "-2048 -832 384" } ExtraTankPath { Name "chewchew_path" Node "363 1004 -192" Node "1248 960 -192" Node "1888 960 -192" Node "2176 704 -128" Node "2240 512 -96" Node "2240 160 -96" Node "2176 -32 -96" Node "2176 -481 -96" Node "2305 -736 -96" Node "2305 -1280 -160" Node "1920 -1792 -160" Node "1568 -1888 -128" Node "1280 -1888 -128" Node "768 -1888 -288" Node "672 -1824 -288" Node "480 -1664 -288" Node "480 -1216 -288" Node "352 -992 -288" Node "128 -800 -288" Node "-384 -800 -288" Node "-704 -896 -288" Node "-896 -896 -288" Node "-1376 -896 -384" Node "-1696 -864 -400" } PlayerSpawnTemplate "powerup_logic_player" PlayerItemEquipSpawnTemplate { Name "samuraidemosword" ItemName "Demo Katana" } // Just in case // PlayerSpawnTemplate // { // Name "GiantSniperModel" // Class Sniper // } // PlayerSpawnTemplate // { // Name "GiantScoutModel" // Class Scout // } // PlayerSpawnTemplate // { // Name "GiantSoldierModel" // Class Soldier // } // PlayerSpawnTemplate // { // Name "GiantPyroModel" // Class Pyro // } // PlayerSpawnTemplate // { // Name "GiantDemoModel" // Class Demoman // } // PlayerSpawnTemplate // { // Name "GiantHeavyModel" // Class Heavyweapons // } // PlayerSpawnTemplate // { // Name "RoboEngieModel" // Class Engineer // } // PlayerSpawnTemplate // { // Name "RoboMedicModel" // Class Medic // } // PlayerSpawnTemplate // { // Name "RoboSpyModel" // Class Spy // } // RandomPlacement // { // Count 12 // MinimumSeparation 1024 // NavAreaFilter SNIPER_SPOT // SentryGun { Level 1 } // } PlayerAttributes { // "damage applies to sappers" 1 Demoman { "charge impact damage increased" 5 "collect currency on kill" 1 } Engineer { "max health additive bonus" 125 // "upgrade rate decrease" 2 "mult teleporter recharge rate" 0.01 "engineer teleporter build rate multiplier" 3 "engineer sentry build rate multiplier" 3 "building cost reduction" 0.5 // "maxammo metal increased" 2 // "dmg taken from crit reduced" 0.1 "collect currency on kill" 1 } Medic { "medic machinery beam" 2.5 // "dmg taken from crit reduced" 0.1 "overheal fill rate reduced" 0 "collect currency on kill" 1 } Heavyweapons { "minigun spinup time decreased" 0.5 "mod minigun can holster while spinning" 1 "boots falling stomp" 1 // "ragdolls become ash" 1 "collect currency on kill" 1 } Pyro { "flame_reflect_on_collision" 1 "max_flame_reflection_count" 2 "reflected_flame_dmg_reduction" 2 "collect currency on kill" 1 } Scout { "collect currency on kill" 1 } Soldier { "collect currency on kill" 1 "increased air control" 4 } Sniper { "weapon spread bonus" 0.001 "damage all connected" 1 // "arrow mastery" 2 "cancel falling damage" 1 "collect currency on kill" 1 } Spy { "cannot pick up intelligence" 1 "dmg taken from crit reduced" 0.1 "collect currency on kill" 1 } } ItemBlacklist //Disallows using specified weapons below { Name "Kritz Or Treat Canteen" Name "Default Power Up Canteen (MvM)" Name "Power Up Canteen (MvM)" Name "Battery Canteens" } // ClassLimit // { // Scout 2 // Soldier 1 // Pyro 2 // Demoman 2 // Heavyweapons 2 // Engineer 2 // Medic 2 // Sniper 2 // Spy 2 // } ItemAttributes { Itemname "The Short Circuit" "fire rate penalty" 2 } ItemAttributes // too powerful with infinite ammo { Itemname "The Widowmaker" "damage penalty" 0.75 } ItemAttributes // make redtape a stock sapper { ItemName "The Red-Tape Recorder" "sapper degenerates buildings" 0 "sapper damage penalty" 1 } // ItemAttributes // make deadringer not infinite // { // ItemName "The Dead Ringer" // "cloak_consume_on_feign_death_activate" 3 // } ItemAttributes // Super Scout { ItemName "The Holy Mackerel" "max health additive bonus" 1075 "is miniboss" 1 "cannot upgrade" 1 "move speed bonus" 1.3 "no double jump" 1 "no_duck" 1 // "provide on active" 1 // "disable weapon switch" 1 } // ItemAttributes // Rapid Fire Soldier // { // ItemName "The Direct Hit" // "mod no reload display only" 1 // "maxammo primary increased" 5 // "mod max primary clip override" -1 // "fire rate bonus" 0.5 // "Projectile speed increased" 0.65 // } // ItemAttributes // Rapid Fire Soldier // { // ItemName "The Cow Mangler 5000" // "faster reload rate" 0.0025 // "fire rate bonus" 0.5 // "Projectile speed increased" 0.65 // "dmg bonus vs buildings" 2 // "disable buildings on hit" 2 // } ItemAttributes // Black Box Soldier { ItemName "The Black Box" "damage penalty" 0.33 "fire rate bonus" 0.001 "faster reload rate" 0.9 "blast radius increased" 1.25 "projectile spread angle penalty" 2 "heal on hit for rapidfire" 60 "crit mod disabled" 0 } // ItemAttributes // Giant Blast Soldier // { // ItemName "The Liberty Launcher" // "damage bonus" 0.75 // "apply z velocity on damage" 250 // "fire rate bonus" 0.25 // "clip size upgrade atomic" 5 // "faster reload rate" 0.2 // "blast radius increased" 1.2 // "projectile spread angle penalty" 4 // } ItemAttributes // Giant Charged { ItemName "The Original" "mod no reload display only" 1 "maxammo primary increased" 5 "mod max primary clip override" -1 "fire rate bonus" 2 "Projectile speed increased" 0.5 "always crit" 1 "apply z velocity on damage" 250 "is miniboss" 1 "cannot upgrade" 1 "max health additive bonus" 2800 "health from packs decreased" 0.5 "override footstep sound set" 3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.25 "move speed bonus" 0.675 "voice pitch scale" 0.7 "patient overheal penalty" 0 } ItemAttributes // Steel Gauntlet Pusher { ItemName "Fists of Steel" "max health additive bonus" 600 "move speed penalty" 0.8 "model scale" 1.5 "damage causes airblast" 1 "damage bonus" 1.5 "patient overheal penalty" 0 "single wep holster time increased" 20 } ItemAttributes //mini-giant shortstop { ClassName "tf_weapon_handgun_scout_primary" "special item description" "Weapon switch disabled" "head scale" 0.7 // "always crit" 1 "disable weapon switch" 1 "move speed bonus" 1.25 "model scale" 1.4 "patient overheal penalty" 0 "max health additive bonus" 525 "health from packs decreased" 0.5 "health from healers reduced" 0.5 "ubercharge rate bonus for healer" 0.25 } ItemAttributes { ItemName "Natascha" "slow enemy on hit" 0 "lunchbox adds minicrits" 0 "spunup_damage_resistance" 1 "heal on hit for rapidfire" 4 "special item description" "Heals on hit, replicates the old Ludmila gun" } ItemAttributes { ItemName "Festive Gloves of Running Urgently" "mod_maxhealth_drain_rate" 0 "damage penalty" 0.75 "self mark for death" 3 } ////////////////////////////////////////////////////////////////////////////////// CustomWeapon // Rapid Fire Bowman { Name "Arrow Master" OriginalItemName "The Fortified Compound" "arrow mastery" 1 "model scale" 1.5 "fire rate bonus" 0.6 "max health additive bonus" 1075 "head scale" 0.7 "move speed penalty" 0.85 "voice pitch scale" 0.9 } CustomWeapon { Name "Lead Pipe" OriginalItemName "Memory Maker" "custom item model" "models/weapons/c_models/c_lead_pipe/c_lead_pipe.mdl" "custom kill icon" "candy_cane" "custom hit sound" "weapons/bat_hit.wav" "speed_boost_on_hit" 1.5 "speed_boost_on_kill" 8 "minicritboost on kill" 5 "damage bonus" 1.25 // "melee range multiplier" 1.25 // "melee bounds multiplier" 1.1 "fire rate bonus" 1.25 // "single wep holster time increased" 1.3 // "single wep deploy time increased" 1.3 "is_a_sword" 1 "dmg taken increased" 1.15 } CustomWeapon { Name "Spitfire" OriginalItemName "The Scorch Shot" "custom item model" "models/weapons/c_models/c_pilot_flaregun/c_pilot_flaregun.mdl" "override projectile type" 2 "set damagetype ignite" 1 "mod flaregun fires pellets with knockback" 0 "mini rockets" 1 "damage penalty" 1 "projectile gravity" 600 "mult projectile count" 3 "projectile spread angle penalty" 3 "hand scale" 1.5 "faster reload rate" 2 } CustomWeapon { Name "Rustler's Revolver" OriginalItemName "TF_WEAPON_PISTOL" "custom item model" "models/workshop/weapons/c_models/c_ttg_sam_gun/c_ttg_sam_gun.mdl" "custom kill icon" "samrevolver" "custom weapon fire sound" "weapons/revolver_shoot.wav" "damage bonus" 3 "clip size penalty" 0.5 "fire rate penalty" 4 "hidden secondary max ammo penalty" 0.68 } CustomWeapon // Giant Burst Fire { Name "Burst Fire Launcher" OriginalItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.1 "clip size upgrade atomic" 5 "projectile speed increased" 0.65 "force fire full clip" 1 "reload time increased" 7.5 "reload full clip at once" 1 "is miniboss" 1 "cannot upgrade" 1 "max health additive bonus" 2800 "health from packs decreased" 0.5 "override footstep sound set" 3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.25 "move speed bonus" 0.675 "voice pitch scale" 0.7 "patient overheal penalty" 0 } CustomWeapon { Name "Super Shotgun" OriginalItemName "The Force-a-Nature" "custom item model" "models/weapons/c_models/c_super_shotgun.mdl" "damage penalty" 1 "crit on hard hit" 1 // "dmg current health" 0.08 "scattergun has knockback" 0 // "dmg pierces resists absorbs" 1 "fire full clip at once" 1 "mult_spread_scales_consecutive" 1 "bullets per shot bonus" 2 "spread penalty" 2 "reload time increased" 2 // "move accuracy mult" 0.9 } CustomWeapon { Name "Assault Cannon" OriginalItemName "TF_WEAPON_MINIGUN" "custom item model" "models/weapons/c_models/c_assault_minigun/c_assault_minigun.mdl" "fire rate bonus with reduced health" 0.8 "minigun spinup time decreased" 0.7 "damage penalty" 0.9 "weapon spread bonus" 0.8 // "custom wind up sound" ")weapons/assaultcannon_wind_up.wav" "custom wind down sound" "=80|weapons/assaultcannon_wind_down.wav" // "custom weapon fire sound" "=80|weapons/assaultcannon_shoot.wav" "custom minigun spin sound" "=80|weapons/assaultcannon_spin.wav" } CustomWeapon { Name "Bio-Breaker" OriginalItemName "TF_WEAPON_MINIGUN" "custom item model" "models/weapons/c_models/c_biobreaker/c_biobreaker.mdl" "minigun spinup time decreased" 0.25 "damage bonus" 5 "aiming movespeed decreased" 2.5 "particle effect use head origin" 1 "particle effect vertical offset" -5000 "custom minigun spin sound" "=80|ambient/machines/spin_loop.wav" "custom wind up sound" "=80|tokamak_wind_up.wav" "custom kill icon" "skull_tf" "override projectile type" 2 "projectile lifetime" 0.25 "projectile speed increased" 0.25 "blast radius decreased" 0.25 "no self blast dmg" 2 "self dmg push force decreased" -3 "no explosion particles" 1 "no damage falloff" 1 "centerfire projectile" 1 "custom projectile model" "models/empty.mdl" "remove damage type" 64 "special damage type" 1 "dmg taken mult from special damage type 1" 0.01 } CustomWeapon { Name "Frontier Justice for Heavy" OriginalItemName "TF_WEAPON_SHOTGUN_HWG" "custom item model" "models/weapons/c_models/c_frontierjustice/c_frontierjustice.mdl" "custom weapon fire sound" "Weapon_FrontierJustice.Single" "custom kill icon" "frontier_kill" "clip size penalty" 0.5 "minicritboost on kill" 1 } CustomWeapon { Name "Crowbar" OriginalItemName "Necro Smasher" "custom item model" "models/weapons/c_models/c_cratesmasher/c_cratesmasher_1.mdl" } CustomWeapon { Name "Gamma Gazer" OriginalItemName "The C.A.P.P.E.R" "custom item model" "models/weapons/c_models/c_gamma_gazer/c_gamma_gazer.mdl" "fire rate penalty" 1.2 "damage applies to sappers" 1 "damage penalty" 0.1 "dmg penalty vs players" 10 "dmg bonus vs buildings" 10 } CustomWeapon { Name "AK-47" OriginalItemName "TF_WEAPON_SMG" "damage bonus" 2 "clip size bonus" 1.2 "maxammo secondary increased" 2 "single wep deploy time increased" 1.6 "reload time increased" 2 // "cannot be upgraded" 1 "custom item model" "models/weapons/c_models/c_ak47/c_mmg.mdl" "custom weapon fire sound" "=30|ak_shoot.wav" "custom weapon reload sound" "ak_reload.wav" } CustomWeapon //Allows you to use an alias for items with custom attributes { Name "Tommy Gun" OriginalItemName "TF_WEAPON_SMG" "fire rate bonus" 0.7 "bullets per shot bonus" 1.2 "clip size penalty" 0.8 "spread penalty" 1.25 "custom item model" "models/weapons/c_models/c_brief_negotiator/c_lmg.mdl" "custom weapon fire sound" "=45|lmg_shoot.wav" "custom weapon reload sound" "lmg_reload.wav" // "cannot be upgraded" 1 } CustomWeapon { Name "Skullcutter for Pyro" OriginalItemName "TF_WEAPON_FIREAXE" "custom item model" "models/workshop/weapons/c_models/c_battleaxe/c_battleaxe.mdl" "is_a_sword" 1 "provide on active" 1 "damage bonus" 1.2 "move speed penalty" 0.85 "decapitate type" 1 "custom kill icon" "battleaxe" "custom weapon fire sound" "Weapon_Sword.Swing" "custom hit sound" "Weapon_Sword.HitFlesh" } CustomWeapon { Name "Demo Katana" OriginalItemName "The Half-Zatoichi" "min respawn time" 60 "provide on active" 1 "disable weapon switch" 1 "critboost on kill" -3 } CustomWeapon { Name "The Clinical Trial" OriginalItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "custom item model" "models/weapons/c_models/c_clinical_trial/c_clinical_trial.mdl" "override projectile type" 1 "sniper fires tracer hidden" 1 "projectile spread angle penalty" 2 "damage bonus" 1.25 "reload time increased" 1.5 "fire rate penalty" 1.2 "ragdolls become ash" 1 } CustomWeapon { Name "Rocket Sentry Prototype" OriginalItemName "The Gunslinger" "engy sentry damage bonus" 0 "engy sentry fire rate increased" 5 "mod sentry cost" 1.25 "engy building health bonus" 2.16 } ExtraLoadoutItems { AllowEquipOutsideSpawn 1 Scout { Primary { Item "Super Shotgun" Cost 200 } Melee "Crowbar" } Soldier { Primary { Item "Burst Fire Launcher" Cost 800 } Melee "Crowbar" } Pyro { Secondary { Item "Spitfire" Cost 100 } Melee "Crowbar" Melee "Skullcutter for Pyro" } Demoman { Melee "Crowbar" Melee { Item "Demo Katana" Cost 200 } } Heavyweapons { Primary { Item "Assault Cannon" Cost 200 } Primary { Item "Bio-Breaker" Cost 200 } Melee { Item "Lead Pipe" Cost 100 } Melee "Crowbar" Secondary "Frontier Justice for Heavy" } Engineer { Secondary "Rustler's Revolver" Secondary "Gamma Gazer" Melee "Crowbar" Melee { Item "Rocket Sentry Prototype" Cost 200 } } Medic { Primary { Item "The Clinical Trial" Cost 100 } Melee "Crowbar" } Sniper { Primary { Item "Arrow Master" Cost 400 } Secondary { Item "AK-47" Cost 200 } Secondary { Item "Tommy Gun" Cost 200 } Melee "Crowbar" } } ItemReplacement { "Gloves of Running Urgently MvM" { Name "Gloves of Running Urgently" } } ItemReplacement // easter egg { "Balloonicorpse" { Name "Pet Reindoonicorn" } } ItemReplacement // easter egg { "Balloonicorpse" { Name "Pet Balloonicorn" } } Templates { RedBot { Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } CharacterAttributes { "crit mod disabled" 0 } } RedBotGiant { Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "health from packs decreased" 0.01 "crit mod disabled" 0 } } NoRandomCrits { AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } // invulnerable when teleported in CharacterAttributes { "crit mod disabled" 0 } } T_TFBot_Carrier_GSoldier { Name "Giant Soldier" Class Soldier ClassIcon blu2_lite Health 8000 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Skill Expert WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 3 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "health from packs decreased" 0.01 "collect currency on kill" 1 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_Huntsman { Name "Giant Bowman" Class Sniper ClassIcon blu2_lite Health 8000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Huntsman" Item "Larrikin Robin" ItemAttributes { ItemName "The Huntsman" "faster reload rate" 0.5 "damage bonus" 0.75 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_Engineer { Name "Giant Shotgun Engineer" Class Engineer ClassIcon blu2_lite Health 8000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Frontier Justice" Item "Engineer's Cap" ItemAttributes { ItemName "The Frontier Justice" "bullets per shot bonus" 2.5 "minicritboost on kill" 3 "faster reload rate" 0.25 "fire rate bonus" 0.8 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 6 "head scale" 0.8 "voice pitch scale" 0 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_Champ { Name "Super Heavyweight Champ" Class Heavyweapons ClassIcon blu2_lite Health 10000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert WeaponRestrictions MeleeOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" ItemAttributes { ItemName "The Killing Gloves of Boxing" "fire rate bonus" 0.6 "damage bonus" 1.25 "dmg bonus vs buildings" 2 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.45 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_GFlare { Name "Giant Flare Pyro" Class Pyro ClassIcon blu2_lite Health 7000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert WeaponRestrictions SecondaryOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Flare Gun" Item "Old Guadalajara" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.3 "weapon burn dmg increased" 2 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 6 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_GPyro { Name "Giant Pyro" Class Pyro ClassIcon blu2_lite Health 7000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "damage bonus" 1.25 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 6 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_Knight_Fire { Name "Giant Fire Knight" Class Demoman ClassIcon blu2_lite Health 7300 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert WeaponRestrictions MeleeOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "Ali Baba's Wee Booties" Item "The Splendid Screen" Item "The Eyelander" Item "The Person in the Iron Mask" ItemAttributes { ItemName "Ali Baba's Wee Booties" "max health additive bonus" 0 } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 "set damagetype ignite" 1 "attach particle effect" 1 "ragdolls become ash" 1 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 3 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_GSpy { Name "Giant Spy" Class Spy ClassIcon blu2_lite Health 7000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Diamondback" ItemAttributes { ItemName "The Diamondback" "fire rate bonus" 0.5 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.45 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "head scale" 0.675 "voice pitch scale" 0 "cannot disguise" 1 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Carrier_GMed_Crossbow { Name "Giant Crossbow Medic" Class Medic ClassIcon blu2_lite Health 9500 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly AlwaysGlow 1 Action EscortFlag AddCond { Name "TF_COND_INVULNERABLE_CARD_EFFECT" Duration 3 } // invulnerable when teleported in Item "The Crusader's Crossbow" ItemAttributes { ItemName "The Crusader's Crossbow" "faster reload rate" 0.375 "damage bonus" 1.2 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "health from healers reduced" 0.25 "ubercharge rate bonus for healer" 0.25 "collect currency on kill" 1 "health from packs decreased" 0.01 "health regen" 50 } SpawnTemplate "timerloss" } T_TFBot_Timer { Name "Time's up!" Class Soldier ClassIcon vex_mvm_timer Scale 0.001 Health 480 Attributes SuppressFire Attributes UseBossHealthBar Attributes IgnoreFlag Attributes IgnoreEnemies Skill Normal Tag bot_timer AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_STEALTHED_USER_BUFF_FADING" } Action Idle UseCustomModel "models/empty.mdl" CharacterAttributes { "move speed bonus" 0.000001 "no_jump" 1 "is suicide counter" 1 "dmg from ranged reduced" 0.001 "cancel falling damage" 1 "voice pitch scale" 0 } FireInput { Target "timer_notify_text_5" //Entity name to use Action "Display" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 300 //When set, the task activates only when the bot health is below specified value } FireInput { Target "timer_notify_text_2" //Entity name to use Action "Display" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 120 //When set, the task activates only when the bot health is below specified value } FireInput { Target "timer_notify_text_1" //Entity name to use Action "Display" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 60 //When set, the task activates only when the bot health is below specified value } } //////////////////////////////////////////////////////////////////////////////////////////////////// RED BOTS T_TFBot_Scout_player { Name "Player" Class Scout ClassIcon tf2_lite Skill Expert Attributes AutoJump AutoJumpMin 6 AutoJumpMax 12 MaxVisionRange 1200 UseBestWeapon 1 UseHumanModel 1 AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber ExtAttr SuppressCanteenUse Item "The Soda Popper" Item "Mad Milk" Item "The Fan O'War" Item "Saxton Hat" Item "Employee Badge C" Item "Dillinger's Duffel" Item "Default Power Up Canteen (MvM)" ItemAttributes { ItemName "The Soda Popper" "damage bonus" 1.5 "clip size bonus" 3 "damage bonus" 2 "projectile penetration" 1 } ItemAttributes { ItemName "Mad Milk" "applies snare effect" 1 "effect bar recharge rate increased" 0.5 } ItemAttributes { ItemName "Default Power Up Canteen (MvM)" "ubercharge" 1 "powerup charges" 2 "powerup duration" 5 } CharacterAttributes { "move speed bonus" 1.5 "dmg taken from crit reduced" 0.1 "deploy time decreased" 0.001 "dmg taken from blast reduced" 0.25 "dmg taken from bullets reduced" 0.25 "dmg taken from fire reduced" 0.25 } ItemModel { ItemName "Employee Badge C" Model "models/workshop/player/items/all_class/short2014_all_eyepatch/short2014_all_eyepatch_scout.mdl" } FireWeapon { Delay 0 Cooldown 0 Repeats 0 IfSeeTarget 0 IfHealthBelow 100 Type "Action" } WeaponSwitch { Delay 1 Repeats 1 IfSeeTarget 0 Type "Melee" IfHealthBelow 76 } VoiceCommand { Delay 0 Cooldown 9 Repeats 0 Type "Medic" IfHealthBelow 75 } FireWeapon { Delay 6 Cooldown 3 IfSeeTarget 0 Type "Jump" } } T_TFBot_Soldier_Player { Name "Player" Class Soldier ClassIcon tf2_lite Attributes SpawnWithFullCharge Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1200 Action Mobber UseBestWeapon 1 UseHumanModel 1 RocketJump 1 AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Black Box" Item "The Concheror" Item "Saxton Hat" Item "Employee Badge C" Item "Kritz Or Treat Canteen" Item "Antarctic Parka" ItemAttributes { ItemName "The Black Box" "faster reload rate" 0.6 "fire rate bonus" 0.6 "clip size upgrade atomic" 2 "killstreak tier" 2 "killstreak idleeffect" 3 } CharacterAttributes { "increase buff duration" 2 "increased air control" 4 "dmg taken from blast reduced" 0.25 "dmg taken from bullets reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.1 "health regen" 10 "deploy time decreased" 0.5 "move speed bonus" 2 } ItemModel { ItemName "Employee Badge C" Model "models/workshop/player/items/all_class/short2014_all_eyepatch/short2014_all_eyepatch_soldier.mdl" } VoiceCommand { Delay 0 Cooldown 15 Repeats 0 Type "Medic" IfHealthBelow 101 } } T_TFBot_Medic_Player { Name "Player" Class Medic ClassIcon tf2_lite Attributes SpawnWithFullCharge Attributes IgnoreFlag Attributes ProjectileShield ExtAttr SuppressCanteenUse Skill Expert MaxVisionRange 1200 // AimTrackingInterval 0 // AimLeadProjectileSpeed 1000 // UseBestWeapon 1 UseHumanModel 1 AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Vaccinator" Item "Festive Crusader's Crossbow" Item "Modest Metal Pile of Scrap" Item "Medic Mask" Item "Default Power Up Canteen (MvM)" Item "Dead of Night" ItemAttributes { ItemName "Festive Crusader's Crossbow" "damage bonus" 1.5 } ItemAttributes { ItemName "The Vaccinator" "generate rage on heal" 1 "healing mastery" 3 "overheal expert" 3 "canteen specialist" 2 } ItemAttributes { ItemName "Dead of Night" "set item tint rgb" 16738740 } ItemAttributes { ItemName "Modest Metal Pile of Scrap" "attach particle effect" 17 } ItemAttributes { ItemName "Default Power Up Canteen (MvM)" "critboost" 1 "powerup charges" 3 } CharacterAttributes { "bot medic uber deploy delay duration" 9999 "bot medic uber health threshold" 1 "deploy time decreased" 0.1 "dmg taken from blast reduced" 0.25 "dmg taken from bullets reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.1 } ItemModel { ItemName "Medic Mask" Model "models/workshop/player/items/medic/robo_medic_blighted_beak/robo_medic_blighted_beak.mdl" } FireWeapon // uses ubercharge every 3 seconds { Delay 5 Cooldown 3 Repeats 0 IfSeeTarget 0 Duration 0.1 Type "Secondary" } FireWeapon // cycles resistance every 5 seconds { Delay 7.9 Cooldown 5 Repeats 0 IfSeeTarget 0 Duration 0.1 Type "Reload" } FireWeapon // uses canteen at 100hp { Delay 1 Cooldown 0 Repeats 2 IfSeeTarget 0 IfHealthBelow 101 Duration 0.5 Type "Action" } } T_TFBot_Spy_Player { Name "Player" Class Spy ClassIcon tf2_lite Health 100 Attributes AutoJump AutoJumpMin 6 AutoJumpMax 12 Skill Expert MaxVisionRange 1200 AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 AimTrackingInterval 0.05 UseMeleeThreatPrioritization 1 Item "The Big Earner" Item "The Enforcer" Item "The Dead Ringer" Item "Murderer's Motif" Item "Bandit's Boots" Item "The Caped Crusader" Item "Default Power Up Canteen (MvM)" ItemAttributes { ItemName "The Big Earner" "fire rate bonus" 0.6 "armor piercing" 100 "max health additive penalty" 0 } ItemAttributes { ItemName "TF_WEAPON_BUILDER_SPY" "robo sapper" 3 } CharacterAttributes { "health regen" 10 "dmg taken from bullets reduced" 0.25 "dmg taken from blast reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.25 "move speed bonus" 2 "cannot pick up intelligence" 1 } FireWeapon { Delay 1 Cooldown 600 Duration 1 Repeats 1 IfSeeTarget 0 Type "Secondary" } FireWeapon { Delay 1 Cooldown 3 Duration 1 Repeats 600 IfSeeTarget 0 Type "Secondary" IfHealthBelow 66 } FireWeapon { Delay 0 Cooldown 0 IfHealthBelow 101 Type "Primary" } } T_TFBot_Sniper_Player { Name "Player" Class Sniper ClassIcon tf2_lite Attributes SpawnWithFullCharge Skill Expert MaxVisionRange 3000 Action Sniper AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 AimTrackingInterval 0 CustomEyeParticle "killstreak_t6_lvl2" Item "The Hitman's Heatmaker" Item "The Cozy Camper" Item "Frying Pan" Item "Crocleather Slouch" Item "Starduster" Item "Particulate Protector" ItemAttributes { ItemName "The Hitman's Heatmaker" "faster reload rate" 0.4 "sniper charge per sec" 2 "explosive sniper shot" 3 "damage bonus" 1.75 "killstreak tier" 2 "killstreak idleeffect" 4 } CharacterAttributes { "dmg taken from bullets reduced" 0.25 "dmg taken from blast reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.25 "increase buff duration" 3 "crit mod disabled" 0 } FireWeapon { Delay 0 Cooldown 0 Repeats 0 IfSeeTarget 0 Duration 1 Type "Reload" } } T_TFBot_Heavy_Player { Name "Player" Class Heavyweapons ClassIcon tf2_lite Attributes SpawnWithFullCharge Attributes DisableDodge Skill Expert MaxVisionRange 1200 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 UseMeleeThreatPrioritization 1 Item "Upgradeable TF_WEAPON_MINIGUN" Item "Gloves of Running Urgently MvM" Item "Jungle Booty" Item "Employee Badge A" Item "Default Power Up Canteen (MvM)" Item "White Russian" ItemAttributes { ItemName "Upgradeable TF_WEAPON_MINIGUN" "fire rate bonus" 0.6 "heal on kill" 100 "generate rage on damage" 2 "attack projectiles" 2 "killstreak tier" 3 "killstreak idleeffect" 4 "projectile penetration heavy" 3 "item style override" 1 "cannot taunt" 1 } ItemAttributes { ItemName "White Russian" "set item tint rgb" 15185211 "attach particle effect" 56 } CharacterAttributes { "dmg taken from blast reduced" 0.25 "dmg taken from bullets reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.1 "health regen" 10 "move speed bonus" 1.3 "increase buff duration" 3 } ItemModel { ItemName "Employee Badge A" Model "models/player/items/heavy/cop_glasses.mdl" } FireWeapon { Delay 0 Cooldown 0 Repeats 1 IfSeeTarget 0 Duration 1 Type "Special" } FireWeapon { Delay 6 Cooldown 3 IfSeeTarget 0 Duration 0.5 Type "Jump" } FireWeapon { Delay 7 Cooldown 3.5 IfSeeTarget 0 Duration 2 Type "Secondary" } WeaponSwitch { Delay 1 Cooldown 8 Repeats 0 IfHealthBelow 350 Type "Primary" } WeaponSwitch { Delay 1 Cooldown 8 Repeats 0 IfHealthBelow 100 Type "Melee" } } T_TFBot_Engineer_Player { Name "Player" Class Engineer ClassIcon tf2_lite Skill Expert MaxVisionRange 1500 AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 AimTrackingInterval 0 ExtAttr BuildDispenserAsTeleporter TeleportWhere respawnpoints Item "The Rescue Ranger" Item "Festive Wrangler" Item "Necro Smasher" Item "Industrial Festivizer" Item "The Dogfighter" Item "EOTL_winter_pants" ItemAttributes { ItemName "Necro Smasher" "fire rate bonus" 0.6 } CharacterAttributes { "dmg taken from bullets reduced" 0.25 "dmg taken from blast reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.1 "move speed bonus" 1.3 "engy building health bonus" 4 "engy sentry fire rate increased" 1.3 "mvm sentry ammo" 10 "engy dispenser radius increased" 2 "cannot pick up intelligence" 1 } } T_TFBot_Pyro_Player { Name "Player" Class Pyro ClassIcon tf2_lite Attributes SpawnWithFullCharge Attributes DisableDodge Skill Expert MaxVisionRange 1200 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 UseBestWeapon 1 Item "The Dragon's Fury" Item "The Thermal Thruster" Item "Fire Fighter" Item "Wanderer's Wear" Item "The Hot Huaraches" ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 2 "heal on kill" 100 } ItemAttributes { ItemName "The Thermal Thruster" "thermal_thruster_air_launch" 1 "item_meter_charge_rate" 0.01 "falling_impact_radius_stun" 1 "holster_anim_time" 0 "deploy time decreased" 0.001 } CharacterAttributes { "deploy time decreased" 0.25 "increased air control" 4 "boots falling stomp" 1 "dmg taken from blast reduced" 0.25 "dmg taken from bullets reduced" 0.25 "dmg taken from fire reduced" 0.25 "dmg taken from crit reduced" 0.1 "health regen" 10 "move speed bonus" 1.2 } FireWeapon { Delay 1 IfSeeTarget 1 Cooldown 1 Type "Primary" } FireWeapon { Delay 6 Cooldown 3 IfSeeTarget 0 Type "Jump" } } T_TFBot_Red_Chief_Heavyweapons_Plasma { Class Heavyweapons ClassIcon heavy_atomic Name "Colonel Plasma" Health 30000 Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber AimAt Feet WeaponRestrictions PrimaryOnly Item "The War Goggles" Item "Employee Badge A" Item "The Steel Sixpack" Item "The Purity Fist" Item "Yuri's Revenge" ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "override projectile type" 2 "damage bonus" 3 "fire rate bonus" 2.5 "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" "projectile trail particle" "drg_cow_rockettrail_normal" "explosion particle" "drg_cow_explosion_sparks" "custom kill icon" "skull" "custom wind up sound" "=40|tokamak_wind_up.wav" "custom wind down sound" "=40|tokamak_wind_down.wav" "custom minigun spin sound" "=40|tokamak_spin.wav" "set damagetype ignite" 1 "ragdolls plasma effect" 1 } CharacterAttributes { "move speed bonus" 0.5 //"no_jump" 1 "blast dmg to self increased" 0 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 2 "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "health regen" 100 } CustomWeaponModel { Slot 0 Model "models/workshop/weapons/c_models/c_tokamak/c_tomislav.mdl" } ItemModel { ItemName "Employee Badge A" Model "models/workshop/player/items/heavy/sbox2014_war_helmet/sbox2014_war_helmet.mdl" } } T_TFBot_Red_Giant_Pyro_Phlog { Class Pyro Name "Giant Phlog Pyro" ClassIcon pyro_phlog_ver2 Skill Expert Health 3000 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Phlogistinator" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } CharacterAttributes { "move speed bonus" 0.5 "health from packs decreased" 0.01 "voice pitch scale" 0 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Red_Soldier_Bison { Name "Bison Soldier" Class Soldier ClassIcon soldier_bison Skill Hard WeaponRestrictions SecondaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Righteous Bison" Item "Lord Cockswain's Pith Helmet" CharacterAttributes { "crit mod disabled" 0 } } T_TFBot_Red_Demoman_Caber { Name "Caber Knight" Class Demoman ClassIcon demo_caber_nys Attributes DisableDodge Skill Hard WeaponRestrictions MeleeOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Ullapool Caber" Item "The Chargin' Targe" ItemAttributes { ItemName "The Ullapool Caber" "regenerate stickbomb" 1 } CharacterAttributes { "blast dmg to self increased" 0 "crit mod disabled" 0 } } T_TFBot_Red_Medic_Kritzkrieg { Name "Kritzkrieg Medic" Class Medic ClassIcon medic_kritz_red Skill Expert Attributes SpawnWithFullCharge Attributes IgnoreFlag AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Overdose" Item "The Kritzkrieg" Item "The Weather Master" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 100 "uber duration bonus" 100 } CharacterAttributes { "bot medic uber health threshold" 999 "heal rate bonus" 10 } } T_TFBot_Red_SentryBuster_Ignite { Name "Incendiary Buster" Class Demoman ClassIcon sentry_buster_red Scale 1.5 Health 650 Attributes DisableDodge Skill Expert WeaponRestrictions PrimaryOnly MaxVisionRange 450 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } UseCustomModel "models/bots/demo/red_sentry_buster.mdl" UseBusterModel 1 UseMeleeThreatPrioritization 1 Item "The Iron Bomber" Item "The Ullapool Caber" Item "The Flamboyant Flamenco" ItemAttributes { ItemName "The Iron Bomber" "blast dmg to self increased" 50 "explosion particle" "fireSmoke_collumn" "fuse bonus" 0.0001 "mod max primary clip override" -1 "fire rate penalty" 3 "blast radius decreased" 2.25 "damage bonus" 2.25 "dmg bonus vs buildings" 3333 "set damagetype ignite" 1 "projectile speed decreased" 0.0001 "custom kill icon" "ullapool_caber" "is invisible" 1 } ItemAttributes { ItemName "The Ullapool Caber" "is_passive_weapon" 1 "damage penalty" 0 "fire rate penalty" 100 "is invisible" 1 } CharacterAttributes { "cannot be backstabbed" 1 "move speed bonus" 1.5 "head scale" 3 "torso scale" 0.2 "crit mod disabled" 0 "voice pitch scale" 0 } } T_TFBot_Red_Giant_Demo_Burst_Loch { Name "Giant Burst Fire Demo" Class Demoman ClassIcon demo_burst_red_giant Health 3500 Attributes MiniBoss Attributes DisableDodge Attributes HoldFireUntilFullReload Skill Expert WeaponRestrictions PrimaryOnly AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "damage bonus" 1.5 "clip size upgrade atomic" 5 "fire rate bonus" 0.2 "projectile speed increased" 1.7 "faster reload rate" 1.4 // 40% slower reload "blast radius decreased" 0.75 "grenade explode on impact" 1 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "voice pitch scale" 0 "health drain" -10 "health from packs decreased" 0.01 } } T_TFBot_Red_Giant_Spy_Spammer { Name "Giant Rapid Fire Spy" Class Spy ClassIcon spy_revolver_infinite Health 3000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly AimTrackingInterval 0.05 AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber Item "The Stealth Steeler" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 0.5 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot disguise" 1 "head scale" 0.679 "voice pitch scale" 0 "health from packs decreased" 0.01 } } T_TFBot_Red_Crit_Gauntlet { Name "Crit Banner Gauntlet" Class Heavyweapons ClassIcon heavy_steelfist_critbuff_red Scale 1.5 Health 900 Attributes DisableDodge Skill Expert WeaponRestrictions MeleeOnly Action Mobber StripItemSlot 0 AddCond { Name "TF_COND_REPROGRAMMED" } SpawnTemplate "crit_radius" SpawnTemplate "powerup_logic_critbuff_recipient" Item "Fists of Steel" Item "The Samson Skewer" ItemModel { ItemName "The Samson Skewer" Model "models/weapons/c_models/c_critbanner/c_critbanner_red.mdl" } CharacterAttributes { "increase buff duration" 200 "cannot taunt" 1 "voice pitch scale" 0.8 } } T_TFBot_Red_Soldier_Burst { Class Soldier ClassIcon soldier_burstfire_normal Name "Burst Fire Soldier" Attributes HoldFireUntilFullReload Skill Hard AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.4 "fire rate bonus" 0.2 "clip size upgrade atomic" 5 "blast dmg to self increased" 0 } } T_TFBot_Red_Medic_King { Class Medic Name "Kingmaker" Skill Expert Classicon medic_king Attributes SpawnWithFullCharge Attributes IgnoreFlag AddCond { Name "TF_COND_REPROGRAMMED" } Item "gentlemanne_medigun_highrollers" ItemAttributes { ItemName "gentlemanne_medigun_highrollers" "effect cond override" 109 "set_item_texture_wear" 0.2 } CharacterAttributes { "heal rate bonus" 200 "bot medic uber health threshold" 999 "uber duration bonus" 999 } } T_TFBot_Red_Medic_Shield { Name "Shield Medic" Class Medic ClassIcon medic_shield_red Attributes SpawnWithFullCharge Attributes IgnoreEnemies Attributes ProjectileShield Attributes IgnoreFlag Skill Expert AddCond { Name "TF_COND_REPROGRAMMED" } Item "Prussian Pickelhaube" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 2 "increase buff duration" 10 } CharacterAttributes { "heal rate bonus" 10 "bot medic uber deploy delay duration" 9999 "crit mod disabled" 0 } } T_TFBot_Red_Giant_Soldier_Nuker { Name "Giant Nuclear Soldier" Class Soldier ClassIcon soldier_nuker Health 4200 Attributes MiniBoss Attributes DisableDodge Attributes AlwaysCrit Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 2000 WeaponRestrictions PrimaryOnly AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber Item "The Black Box" Item "The Nuke" ItemAttributes { ItemName "The Black Box" "damage bonus" 5 "fire rate bonus" 3.2 "blast radius increased" 2 "faster reload rate" 3 "projectile speed decreased" 0.3 "explosion particle" "hightower_explosion" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 3 "voice pitch scale" 0 "health from packs decreased" 0.01 "crit mod disabled" 0 "blast dmg to self increased" 0 } } T_TFBot_Red_Demoman_Hybrid_Cannon { Name "Cannon Knight" Class Demoman ClassIcon demo_loosecannon // Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1500 AddCond { Name "TF_COND_REPROGRAMMED" } Action Sniper Item "The Loose Cannon" Item "The Tide Turner" Item "The Persian Persuader" Item "The Scrumpy Strongbox" ItemAttributes { ItemName "The Persian Persuader" "critboost on kill" 5 "maxammo primary reduced" 1 } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 } CharacterAttributes { "charge recharge rate increased" 2 "deploy time decreased" 0.001 "charge impact damage increased" 2 "crit mod disabled" 0 } } T_TFBot_Red_Demoman_Samurai_2 { Class Demoman Name "Samurai Demo" Skill Expert Item "The Half-Zatoichi" Item "The Splendid Screen" Item "Demo Kabuto" Item "The Menpo" Scale 1.3 Health 650 WeaponRestrictions MeleeOnly Attributes AirChargeOnly Attributes AutoJump Attributes AlwaysCrit AutoJumpMin 4 AutoJumpMax 4 Tag bot_red Classicon demoknight_samurai Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0.95 "crit mod disabled" 0 "ammo regen" 1 "cancel falling damage" 1 "charge time increased" 6 "charge recharge rate increased" 7 "increased jump height" 2.3 "bot custom jump particle" 1 } Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } } T_TFBot_Red_Spy_Ambassador { Class Spy Skill Expert Tag bot_red Name "Ambassador Spy" WeaponRestrictions PrimaryOnly Attributes DisableDodge Item "The Ambassador" Classicon spy_ambassador_lite ItemAttributes { ItemName "The Ambassador" // "damage bonus" 2 "crit_dmg_falloff" 0 "fire rate penalty" 3 "projectile penetration" 1 } CharacterAttributes { "voice pitch scale" 0.95 "crit mod disabled" 0 "ammo regen" 1 "cannot disguise" 1 } Action Mobber AimTrackingInterval 0.05 StripItemSlot 1 StripItemSlot 2 AimAt Head AddCond { Name "TF_COND_REPROGRAMMED" } } T_TFBot_Red_Chief_Sniper_SpecOps { Name "Spec Ops Sniper" Class Sniper ClassIcon sniper_m4a1_lite Scale 1 Health 20000 Attributes MiniBoss Attributes DisableDodge Attributes UseBossHealthBar ExtAttr IgnoreNPC Skill Expert MaxVisionRange 1500 WeaponRestrictions SecondaryOnly AimAt Head AlwaysGlow 1 UseHumanModel 1 StripItemSlot 0 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } Item "AK-47" Item "Attack Packs" Item "Hawk Eyed Hunter" Item "The Surgical Survivalist" Item "Forest Footwear" Item "The Conspicuous Camouflage" Item "The Bruiser's Bandanna" ItemAttributes { ItemName "The Bruiser's Bandanna" "item style override" 1 } CharacterAttributes { "damage force reduction" 0 "airblast vulnerability multiplier" 0 "heal on kill" 100 "health regen" 10 "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "faster reload rate" 0.5 "reveal cloaked victim on hit" 1 "reveal disguised victim on hit" 1 "boots falling stomp" 1 "dmg taken increased" 0.05 // very low fall dmg (affects bleed, eh, eoi) "dmg from melee increased" 20 // regular damage from melee "dmg from ranged reduced" 20 // regular damage from everything else "increased air control" 4 } } T_TFBot_Red_Giant_Demoman_KingTavish { Name "King Tavish" Class Demoman ClassIcon demoknight_golden_lite Scale 1.9 Health 30000 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1500 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } // AimLeadProjectileSpeed 1 Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "The Chargin' Targe" Item "The Eyelander" Item "Prince Tavish's Crown" Item "The King of Scotland Cape" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "provide on active" 1 "always crit" 1 "fire rate bonus" 0.2 "faster reload rate" 0.3 "clip size bonus" 3.0 "Projectile speed increased" 1.5 "is australium item" 1 "turn to gold" 1 "item style override" 1 "health regen" 200 } ItemAttributes { ItemName "The Eyelander" "max health additive penalty" 0 "critboost on kill" 5 "fire rate bonus" 0.5 "damage bonus" 5 "is australium item" 1 "turn to gold" 1 "item style override" 1 "attach particle effect" 13 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "rage giving scale" 0.1 "override footstep sound set" 4 "voice pitch scale" 0 "health from packs decreased" 0.01 "crit mod disabled" 0 } WeaponSwitch { Delay 0 Cooldown 1 Repeats 1 Type "Melee" } WeaponSwitch { Delay 0 Cooldown 3 Repeats 1 Type "Primary" IfHealthBelow 19000 } } T_TFBot_Red_Giant_Heavyweapons_Saw { Name "Giant Sawblade Heavy" Class Heavyweapons ClassIcon demoknight_rotate Health 5000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } Item "The Rescue Ranger" ShootTemplate { Name SawBlade //Name of the template AttachToProjectile 1 //If set, the template is spawned as a child of the projectile being fired. Incompatible with overrideshoot } ItemAttributes { ItemName "The Rescue Ranger" "projectile acceleration" -350 "projectile speed increased" 0.33 "mult projectile scale" 0.01 "projectile lifetime" 4 "projectile penetration" 1 "damage bonus" 2 "fire rate bonus" 2 "reload time decreased" 0.01 "no damage falloff" 1 "is invisible" 1 "projectile trail particle" "~unusual_magicalorb_parent" "custom kill icon" "saw_kill" "grenade bounce speed" 1 } ItemAttributes { ItemName "TF_WEAPON_FISTS" "is_passive_weapon" 1 "fire rate bonus" 2 "damage penalty" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 4 "crit mod disabled" 0 "voice pitch scale" 0 "health from packs decreased" 0.01 } } T_TFBot_Resistance_Fighter { Name "Resistance Fighter" Class Sniper ClassIcon red2_lite Health 250 Attributes DisableDodge Skill Expert MaxVisionRange 1500 WeaponRestrictions SecondaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } UseHumanModel 1 Item "Tommy Gun" Item "Loyalty Reward" CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 } } T_TFBot_Heavy_TFC { Name "TFC Heavy" Class Heavyweapons Scale 1 Health 30000 Attributes MiniBoss Attributes UseBossHealthBar Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Action Mobber UseHumanModel 1 NoIdleSound 1 AlwaysGlow 1 DeathSound "vo/heavy_paincriticaldeath01.mp3" Item "Assault Cannon" Item "The War Goggles" Item "The Heavy Lifter" Item "Employee Badge A" Item "Combat Slacks" CharacterAttributes { "damage force reduction" 0 "airblast vulnerability multiplier" 0 "health from packs decreased" 0.5 "increase player capture value" 2 "damage bonus" 1.5 "health regen" 50 } ItemModel { ItemName "Employee Badge A" Model "models/player/items/heavy/heavy_bandana.mdl" } VoiceCommand { Delay 0 Cooldown 24 Type "Battle cry" } } T_TFBot_Powerups { Name " " Class Heavyweapons ClassIcon blu2_lite Attributes AlwaysFireWeapon Skill Normal Skin 3 WeaponRestrictions MeleeOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_STEALTHED_USER_BUFF_FADING" } ItemAttributes { ItemName "TF_WEAPON_FISTS" "no_jump" 1 "move speed bonus" 0.00001 "voice pitch scale" 0 "damage penalty" 0.01 "melee range multiplier" 2 "melee bounds multiplier" 2 "melee cleave attack" 1 "crit mod disabled" 0 "gesture speed increase" 0.5 "dmg from ranged reduced" 0 "dmg from melee increased" 0 } } T_TFBot_Saxton_Hale { Name "Saxton Hale" Class Soldier ClassIcon heavy_fist_nys // placeholder Scale 1.001 Health 85000 Attributes MiniBoss Attributes UseBossHealthBar Attributes DisableDodge Skill Expert WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber UseCustomModel "models/player/saxton_hale_jungle_inferno/saxton_hale.mdl" FastUpdate 1 NoIdleSound 1 AlwaysGlow 1 DeathSound "physics/body/body_medium_break3.wav" SpawnTemplate "saxton_boss" Tag saxton Item "Upgradeable TF_WEAPON_FISTS" ItemAttributes { ItemName "Upgradeable TF_WEAPON_FISTS" "kill eater" 1 "damage causes airblast" 1 "damage bonus" 2.1 "killstreak tier" 3 "fire input on hit" "boss_checkforkill^Trigger" "add cond on kill" 78 } CharacterAttributes { "move speed bonus" 1.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "crit mod disabled" 0 "voice pitch scale" 0 "health from packs decreased" 0.01 "mult dmg with reduced health" 2 "cannot be sapped" 1 "increased jump height" 7.5 "increased air control" 400 "boots falling stomp" 1 "dmg taken increased" 0.05 "dmg from ranged reduced" 15 "dmg from melee increased" 15 "backstab shield" 1 "stomp building damage" 1000 } FireWeapon { Delay 8 Cooldown 4 IfSeeTarget 0 Type "Jump" } FireInput { Target jumping_voiceline_relay Action Trigger Delay 8.2 Cooldown 5 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 74500 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 64000 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 53500 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 43000 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 32500 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 22000 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 11500 } FireInput { Target rage_voiceline_relay Action Trigger Delay 1 Cooldown 8 Repeats 1 IfHealthBelow 1000 } } } // Mission // Engineer // { // Where spawnbot // Objective Engineer // BeginAtWave 1 // RunForThisManyWaves 7 // DesiredCount 1 // CooldownTime 35 // TFBot // { // Template T_TFBot_Engineer_Sentry_Tele_Battle // CharacterAttributes // { // "cannot pick up intelligence" 1 // "engineer teleporter build rate multiplier" 4 // "collect currency on kill" 1 // } // } // } Mission // Red Engineer { Where respawnpoints Objective Engineer BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 0 CooldownTime 35 TFBot { Class Engineer Health 600 Attributes TeleportToHint Skill Expert TeleportWhere respawnpoints ExtAttr BuildDispenserAsTeleporter AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "engy building health bonus" 2 "engy dispenser radius increased" 4 "mult dispenser rate" 4 "mvm sentry ammo" 10 "metal regen" 200 "engineer sentry build rate multiplier" 5 } } } Mission // For Wave 5 { Where spawnbot Objective Sniper BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 2 CooldownTime 15 TFBot { Template T_TFBot_Sniper ClassIcon blu2_lite } } Wave // Wave 1 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}The robots have asked us to try out a new tank model." Line "{blue}There are many obstacles in the way to make the tank's journey more difficult." Line "{blue}Should the tank be destroyed however, a random giant robot is teleported to assist with the bomb." Line "{blue}You have 8 minutes to beat the wave, time will be lost if the tank or your bomb carriers die." Line "{green}Some custom weapons give special bonuses, such as making players giants!" } SpawnTemplate "Tankround_Antistalemate" WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 1 FirstSpawnOutput { Target introcam_relay Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 1 FirstSpawnOutput { Target hudbgone Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 1 FirstSpawnOutput { Target fader Action Fade } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 4 FirstSpawnOutput { Target fader Action Fade } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 4 FirstSpawnOutput { Target hudcome Action Trigger } } WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Tank 18000 HP { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited StartWaveWarningSound "music/mvm_start_tank_wave.wav" FirstSpawnOutput { Target timertele Action Disable } LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 18000 Speed 0 Skin 1 // ForceRomeVision 1 DisableSmokeStack 1 SpawnTemplate "PayloadTank" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 1 LastSpawnOutput { Target annotations_relay Action Trigger } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 10000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 10000 } TFBot { Template T_TFBot_Carrier_Champ Health 10000 } TFBot { Template T_TFBot_Carrier_GFlare Health 10000 } TFBot { Template T_TFBot_Carrier_Engineer Health 10000 } TFBot { Template T_TFBot_Carrier_GSpy Health 10000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 10000 } TFBot { Template T_TFBot_Carrier_GSoldier Health 10000 } } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 FirstSpawnOutput { Target red1b_on_logic Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn { Name "s1" Where spawnbot_front1 Where spawnbot_front2 TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } LastSpawnOutput { Target red1a_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Sniper_Huntsman_Smg WeaponRestrictions SecondaryOnly Skill Easy AddTemplate NoRandomCrits } } WaveSpawn // Dummy { WaitForAllDead "s1" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 FirstSpawnOutput { Target red1b_off_logic Action Trigger } } WaveSpawn { Name "a1.1" Where spawnbot_front1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Red_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red_giant Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "a1.1" WaitForAllSpawned "s1" Where spawnbot_front1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 200 DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Soldier Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "b1" WaitForAllDead "a1.1" Where spawnbot_mid1 TotalCount 24 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 2 TotalCurrency 200 FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Scout Skill Easy AddTemplate NoRandomCrits } } WaveSpawn { Name "b1" WaitForAllDead "a1.1" Where spawnbot_mid1 TotalCount 8 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 5 TotalCurrency 100 DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Heavyweapons_Fist Attributes DisableDodge AddTemplate NoRandomCrits } } WaveSpawn // Dummy { WaitForAllDead "b1" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 FirstSpawnOutput { Target red2a_off_logic Action Trigger } } WaveSpawn { Name "b1.1" WaitForAllDead "a1.1" Where spawnbot_big TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 100 DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Scout_Baseball_Armored ClassIcon scout_stun_armored_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } // WaveSpawn // { // Name "b1.3" // WaitForAllDead "b1.1" // Where spawnbot_mid3 // TotalCount 24 // MaxActive 12 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 100 // FirstSpawnOutput // { // Target red2c_on_logic // Action Trigger // } // LastSpawnOutput // { // Target red2c_off_logic // Action Trigger // } // Squad // { // TFBot // { // Template T_TFBot_Pyro_Dragon_Fury // UseMeleeThreatPrioritization 1 // Attributes DisableDodge // AddTemplate RedBot // } // TFBot // { // Template T_TFBot_Red_Medic_QuickFix // Attributes IgnoreFlag // AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } // Tag bot_squad_member // } // } // } WaveSpawn { Name "c1" WaitForAllDead "b1.1" Where spawnbot_big TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 0 TFBot { Template T_TFBot_Red_Giant_DemoMan_PrinceTavish ClassIcon demoknight_skullcutter_lite Attributes DisableDodge Name "Giant Skullcutter Knight" Item "The Scotsman's Skullcutter" ItemAttributes { ItemName "The Scotsman's Skullcutter" "critboost on kill" 3 "damage bonus" 1.5 } // InterruptAction // { // Target "tankposition" // Delay 0.1 // Duration 9999999 // WaitUntilDone 1 // } AddTemplate NoRandomCrits } } WaveSpawn { Name "c1.1" WaitForAllDead "b1.1" Where hatchspawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Red_Heavyweapons_Heater Name "Giant Heater Heavy" Attributes DisableDodge Item "The Bunsen Brave" CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "infinite" WaitForAllDead "b1.1" Where respawnpoints TotalCount 999 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Red_Heavyweapons_Shotgun Name "Shotgun Heavy" Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Name "Shotgun Soldier" Class Soldier ClassIcon heavy_shotgun_red Skill Hard Attributes DisableDodge WeaponRestrictions SecondaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "faster reload rate" 0.1 "bullets per shot bonus" 3 "fire rate bonus" 2.5 "damage bonus" 0.33 "crit mod disabled" 0 } } TFBot { Name "Shotgun Pyro" Class Pyro ClassIcon heavy_shotgun_red Skill Hard Attributes DisableDodge WeaponRestrictions SecondaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.1 "bullets per shot bonus" 3 "fire rate bonus" 2.5 "damage bonus" 0.33 "crit mod disabled" 0 } } TFBot { Name "Shotgun Engineer" Class Engineer ClassIcon heavy_shotgun_red Health 250 Skill Hard Attributes DisableDodge WeaponRestrictions PrimaryOnly Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PRIMARY" "faster reload rate" 0.1 "bullets per shot bonus" 3 "fire rate bonus" 2.5 "damage bonus" 0.33 "crit mod disabled" 0 } } } } } Wave // Wave 2 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } // SpawnTemplate "Tankround_Antistalemate" WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn // Tank 25000 HP { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Disable } LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 20000 Speed 0 Skin 1 // ForceRomeVision 1 DisableSmokeStack 1 SpawnTemplate "PayloadTank" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 10000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 10000 } TFBot { Template T_TFBot_Carrier_Champ Health 10000 } TFBot { Template T_TFBot_Carrier_GFlare Health 10000 } TFBot { Template T_TFBot_Carrier_Engineer Health 10000 } TFBot { Template T_TFBot_Carrier_GSpy Health 10000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 10000 } TFBot { Template T_TFBot_Carrier_GSoldier Health 10000 } } } WaveSpawn { Name "a1" Where spawnbot_front1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 200 FirstSpawnOutput { Target red1b_on_logic Action Trigger } LastSpawnOutput { Target red1b_off_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Soldier_Crit Attributes DisableDodge CharacterAttributes { "damage force reduction" 0 } } } WaveSpawn { Name "a1" Where spawnbot_front2 TotalCount 24 MaxActive 12 SpawnCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } LastSpawnOutput { Target red1a_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Heavyweapons_Heavyweight_Champ Attributes DisableDodge AddTemplate NoRandomCrits } } WaveSpawn { Name "b1" WaitForAllDead "a1" Where spawnbot_mid1 TotalCount 15 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 50 DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Soldier Skill Normal Attributes DisableDodge WeaponRestrictions PrimaryOnly AddTemplate NoRandomCrits } } WaveSpawn { Name "b1.1" WaitForAllDead "a1" Where spawnbot_big TotalCount 10 MaxActive 5 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 20 TotalCurrency 200 DoneOutput { Target red_giants_all_killed Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } } } WaveSpawn { Name "b1.1" WaitForAllDead "a1" Where spawnbot_big TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Red_Giant_Scout Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "c1" WaitForAllDead "b1.1" Where spawnbot_mid2 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.5 WaitBetweenSpawns 10 TotalCurrency 100 FirstSpawnOutput { Target red2c_on_logic Action Trigger } LastSpawnOutput { Target red2c_off_logic Action Trigger } TFBot { Template T_TFBot_Red_Demoman_Samurai_2 Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } WaveSpawn { Name "c2" WaitForAllDead "b1.1" Where spawnbot_big TotalCount 10 MaxActive 5 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_BigHeal Name "Big Heal Medic" Attributes IgnoreFlag Tag bot_squad_member } } } WaveSpawn { Name "infinite" WaitForAllSpawned "c2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Demoman_Knight // ClassIcon red2_lite Attributes DisableDodge } } WaveSpawn { Name "infinite" WaitForAllSpawned "c2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Spy_Ambassador Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } WaveSpawn { Name "hatch" WaitForAllSpawned "c2" Where hatchspawn TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target unblockhatch Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Demo_Burst Attributes DisableDodge // ForceRomeVision 1 // CharacterAttributes { "move speed bonus" 0.001 "no_jump" 1 } } TFBot { Template T_TFBot_Red_Giant_Medic_Regen Name "Giant Regen Medic" Attributes DisableDodge Attributes IgnoreEnemies // ForceRomeVision 1 // CharacterAttributes { "move speed bonus" 0.001 "no_jump" 1 } } } } } Wave // Wave 3 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // SpawnTemplate "Tankround_Antistalemate" WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn // Tank 20000 HP { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Disable } LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 20000 Speed 0 Skin 1 // ForceRomeVision 1 DisableSmokeStack 1 SpawnTemplate "PayloadTank" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 10000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 15000 } TFBot { Template T_TFBot_Carrier_Champ Health 10000 } TFBot { Template T_TFBot_Carrier_GFlare Health 10000 } TFBot { Template T_TFBot_Carrier_Engineer Health 10000 } TFBot { Template T_TFBot_Carrier_GSpy Health 15000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 15000 } TFBot { Template T_TFBot_Carrier_GSoldier Health 15000 } } } WaveSpawn { Name "blu" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 Support 1 RandomChoice { TFBot { Name "Heavy" Class Heavyweapons ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer CharacterAttributes { "collect currency on kill" 1 } } TFBot { Name "Soldier" Class Soldier ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer CharacterAttributes { "collect currency on kill" 1 } } TFBot { Name "Demoman" Class Demoman ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "a1" Where spawnbot_front2 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.2 TotalCurrency 50 FirstSpawnOutput { Target red1a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Scout ClassIcon scout_cola_nys Attributes DisableDodge Name "Cola Scout" Item "Crit-a-Cola" Item "Bonk Helm" AddTemplate NoRandomCrits } } WaveSpawn { Name "a1" Where spawnbot_front1 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0.2 TotalCurrency 0 FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Soldier_Bison Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } WaveSpawn { Name "a1.1" WaitForAllSpawned "a1" Where spawnbot_front1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 300 LastSpawnOutput { Target red1b_off_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Name "Giant Widowmaker Engineer" Class Engineer ClassIcon engineer_widowmaker_nys Skill Expert Health 3000 Attributes MiniBoss Attributes DisableDodge Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } WeaponRestrictions PrimaryOnly Item "The Widowmaker" ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" 0.7 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "health from packs decreased" 0.01 "voice pitch scale" 0 "head scale" 0.675 "crit mod disabled" 0 } } } WaveSpawn // Tank 20k HP { Name "chewchewtank" WaitForAllSpawned "a1.1" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Tank { Name "chewchewtank" StartingPathTrackNode "chewchew_path_1" Health 20000 Speed 50 Skin 0 ClassIcon chew_red_lite // thanks lite TeamNum 2 SpawnTemplate "ChewChewTank" PingSound "misc/null.wav" DeploySound "items/cart_explode_trigger.wav" DisableSmokeStack 1 Model { Default "models/empty.mdl" Damage1 "models/empty.mdl" Damage2 "models/empty.mdl" Damage3 "models/empty.mdl" Destruction "models/empty.mdl" LeftTrack "models/empty.mdl" RightTrack "models/empty.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnBombDroppedOutput { Target nuke_launch Action Trigger } } } WaveSpawn { Name "b1" WaitForAllSpawned "a1.1" Where spawnbot_mid1 TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Crit_Gauntlet } } WaveSpawn { Name "b1" WaitForAllSpawned "a1.1" Where spawnbot_mid1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Red_Giant_Demo_RapidFire Attributes DisableDodge Item "The Iron Bomber" ItemAttributes { ItemName "The Iron Bomber" "fire rate bonus" 0.5 "damage force reduction" 0.5 } SpawnTemplate "powerup_logic_critbuff_recipient" } } WaveSpawn { Name "b1" WaitForAllSpawned "a1.1" Where spawnbot_mid2 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnOutput { Target red2c_on_logic Action Trigger } LastSpawnOutput { Target red2c_off_logic Action Trigger } TFBot { Template T_TFBot_Medic_Crossbow Attributes DisableDodge SpawnTemplate "powerup_logic_critbuff_recipient" AddTemplate RedBot } } WaveSpawn { Name "b1.1" WaitForAllSpawned "a1.1" Where spawnbot_mid2 TotalCount 20 MaxActive 8 SpawnCount 2 WaitBeforeStarting 60 WaitBetweenSpawns 2 TotalCurrency 0 FirstSpawnOutput { Target red2b_on_logic Action Trigger } LastSpawnOutput { Target red2b_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Soldier_Extended_Concheror Attributes DisableDodge CharacterAttributes { "deploy time decreased" 0.5 } AddTemplate NoRandomCrits } } WaveSpawn { Name "b1.1" WaitForAllSpawned "b1" Where spawnbot_big TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 300 DoneOutput { Target red_giants_all_killed Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons_Deflector Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Medic_Shield } } } WaveSpawn { Name "infinite" WaitForAllDead "b1.1" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 LastSpawnOutput { Target red2a_off_logic Action Trigger } TFBot { Template T_TFBot_Demoman_Knight_Persian AddTemplate RedBot } } WaveSpawn { Name "infinite" WaitForAllDead "b1.1" Where respawnpoints TotalCount 999 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Scout ClassIcon scout_winger_lite Attributes DisableDodge WeaponRestrictions SecondaryOnly Item "The Winger" CharacterAttributes { "crit mod disabled" 0 } } } WaveSpawn { Name "hatch" WaitForAllDead "b1.1" Where hatchspawn TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target unblockhatch Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Soldier_SlowBarrage // ForceRomeVision 1 Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Giant_Medic Name "Giant Kritz Medic" ClassIcon medic_kritz_red // ForceRomeVision 1 Tag bot_squad_member // Attributes IgnoreEnemies Attributes DisableDodge Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 200 "uber duration bonus" 200 } CharacterAttributes { "bot medic uber health threshold" 9999 "crit mod disabled" 0 } } } } WaveSpawn { Name "infinite" WaitForAllDead "b1.1" Where spawnbot_big TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 5 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Giant_Scout_Fast Attributes DisableDodge Attributes AlwaysCrit } } } Wave // Wave 4 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // SpawnTemplate "Tankround_Antistalemate" WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn // Tank 25000 HP { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Disable } LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 25000 Speed 0 Skin 1 SpawnTemplate "PayloadTank" DisableSmokeStack 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 15000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 15000 } TFBot { Template T_TFBot_Carrier_Champ Health 15000 } TFBot { Template T_TFBot_Carrier_GFlare Health 15000 } TFBot { Template T_TFBot_Carrier_Engineer Health 15000 } TFBot { Template T_TFBot_Carrier_GSpy Health 15000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 15000 } TFBot { Template T_TFBot_Carrier_Knight_Fire Health 15000 } TFBot { Template T_TFBot_Carrier_GSoldier Health 15000 } } } WaveSpawn { Name "blu" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" TFBot { Template T_TFBot_Scout_player } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" TFBot { Template T_TFBot_Soldier_Player } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" TFBot { Template T_TFBot_Medic_Player } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" RandomChoice { TFBot { Template T_TFBot_Pyro_Player } TFBot { Template T_TFBot_Sniper_Player } } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" RandomChoice { TFBot { Template T_TFBot_Spy_Player } TFBot { Template T_TFBot_Heavy_Player } } } WaveSpawn { Name "redplayer" // WaitForAllDead "b1.1" Where respawnpoints TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneWarningSound "mvm/mvm_player_died.wav" TFBot { Template T_TFBot_Engineer_Player } } WaveSpawn { Name "a1.1" WaitForAllDead "redplayer" Where spawnbot_front1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 300 FirstSpawnOutput { Target red1b_on_logic Action Trigger } LastSpawnOutput { Target red1b_off_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Soldier_Extended_Battalion AddTemplate NoRandomCrits } } WaveSpawn { Name "a2" WaitForAllDead "redplayer" Where spawnbot_mid1 TotalCount 15 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 RandomSpawn 1 FirstSpawnOutput { Target red2a_on_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Demoman_Hybrid_Cannon AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } // WaveSpawn // { // Name "a2" // WaitForAllSpawned "a1.1" // Where spawnbot_front2 // TotalCount 4 // MaxActive 4 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 10 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Red_SentryBuster_Ignite // } // } WaveSpawn { Name "b1" WaitForAllDead "a1.1" Where spawnbot_mid1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 12 TotalCurrency 400 TFBot { Template T_TFBot_Red_Giant_Heavyweapons_Healonkill Attributes DisableDodge Name "Giant Heal-on-Hit Heavy" Item "Deflector" Item "The Tungsten Toque" ItemAttributes { ItemName "Deflector" "heal on hit for rapidfire" 4 } CharacterAttributes { "crit mod disabled" 0 } } } WaveSpawn { Name "b1" WaitForAllDead "a1.1" Where spawnbot_big TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 15 TotalCurrency 100 DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Sniper_Huntsman_Smg Name "Giant SMG Sniper" Health 3000 Attributes MiniBoss Attributes DisableDodge UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" ItemAttributes { ItemName "The Huntsman" "damage bonus" 1 "fire rate bonus" 0.6 } ItemAttributes { ItemName "TF_WEAPON_SMG" "mod max primary clip override" -1 "spread penalty" 2 "fire rate bonus" 0.8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "override footstep sound set" 7 } } } WaveSpawn { Name "b1.1" WaitForAllDead "a2" Where respawnpoints TotalCount 20 MaxActive 10 SpawnCount 10 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 100 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Red_Soldier_Burst Attributes DisableDodge AddTemplate NoRandomCrits } TFBot { Template T_TFBot_Red_Soldier_Burst Attributes DisableDodge AddTemplate NoRandomCrits } TFBot { Template T_TFBot_Red_Demo_Burst Attributes DisableDodge AddTemplate NoRandomCrits } TFBot { Template T_TFBot_Red_Demo_Burst Attributes DisableDodge AddTemplate NoRandomCrits } } } WaveSpawn { Name "b1.2" WaitForAllSpawned "b1.1" Where respawnpoints TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 1 TotalCurrency 0 RandomSpawn 1 DoneOutput { Target red_commons_all_killed Action Trigger } Squad { TFBot { Class Sniper ClassIcon sniper_jug_shahanshah WeaponRestrictions MeleeOnly Attributes AlwaysCrit Attributes DisableDodge Item "The Shahanshah" AddTemplate RedBot } TFBot { Template T_TFBot_Red_Medic_QuickUber Name "Quick Uber Medic" Attributes IgnoreFlag Tag bot_squad_member AddTemplate NoRandomCrits } } } WaveSpawn { Name "hatch" WaitForAllDead "b1.1" Where hatchspawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Red_Giant_Demoman_KingTavish } } WaveSpawn { Name "infinite" WaitForAllDead "b1.1" Where respawnpoints TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 RandomSpawn 1 RandomChoice { TFBot { Name "Flare Gatling Heavy" Class Heavyweapons ClassIcon pyro_flare_red Skill Hard Attributes DisableDodge Item "The Huo Long Heatmaker" Item "The Bunsen Brave" ItemAttributes { ItemName "The Huo Long Heatmaker" "override projectile type" 6 "centerfire projectile" 1 "set damagetype ignite" 1 "fire rate penalty" 1.5 "crit vs burning players" 1 } AddTemplate RedBot } TFBot { Name "Pyro Pusher" Class Pyro ClassIcon pyro_flare_red Skill Expert Attributes DisableDodge Item "The Scorch Shot" WeaponRestrictions SecondaryOnly AddCond { Name "TF_COND_CRITBOOSTED_ON_KILL" } ItemAttributes { ItemName "The Scorch Shot" "damage bonus" 1 "fire rate bonus" 0.75 "faster reload rate" 1.25 "Projectile speed increased" 0.35 } AddTemplate RedBot } TFBot { Name "Manmelter Pyro" Class Pyro ClassIcon pyro_flare_red Skill Expert Attributes DisableDodge Item "The Manmelter" Item "The Bubble Pipe" WeaponRestrictions SecondaryOnly AddTemplate RedBot } TFBot { Name "Spitfire Pyro" Class Pyro ClassIcon pyro_flare_red Skill Expert Attributes DisableDodge Item "Spitfire" WeaponRestrictions SecondaryOnly AddTemplate RedBot } TFBot { Template T_TFBot_Red_Pyro_Expert_Flare Name "Combo Pyro" ClassIcon pyro_flare_red Attributes DisableDodge // UseMeleeThreatPrioritization 1 Item "The Degreaser" ItemAttributes { ItemName "The Degreaser" "fire input on hit" "combo_primary_to_secondary^Trigger^" "airblast disabled" 1 "damage penalty" 0.1 "crit mod disabled" 0 } ItemAttributes { ItemName "The Flare Gun" "faster reload rate" 0.3 } } } } } Wave // Wave 5 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } Explanation { Line "{yellow}-------------------------------------------------------------------------" Line "{blue}In this wave, you will be helped by {green}Snipers{blue} and {green}Steel Gauntlets{blue}." Line "{yellow}-------------------------------------------------------------------------" } // SpawnTemplate "Tankround_Antistalemate" WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn // Tank 30000 HP { Name "tank" WaitForAllDead "redblimp" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 30000 Speed 0 Skin 1 SpawnTemplate "PayloadTank" DisableSmokeStack 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "blu" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 0 Support 1 FirstSpawnOutput { Target timertele Action Disable } TFBot { Template T_TFBot_Heavyweapons_Fist ClassIcon blu2_lite Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 15000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 15000 } TFBot { Template T_TFBot_Carrier_Champ Health 15000 } TFBot { Template T_TFBot_Carrier_GFlare Health 15000 } TFBot { Template T_TFBot_Carrier_Engineer Health 15000 } TFBot { Template T_TFBot_Carrier_GSpy Health 15000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 15000 } TFBot { Template T_TFBot_Carrier_Knight_Fire Health 15000 } } } WaveSpawn // Tank 10k HP { Name "redblimp" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 FirstSpawnOutput { Target blimp_warn Action Show } Tank { Name "redblimp" StartingPathTrackNode "blimp_1" Health 8000 // 8500 // 10000 Speed 75 Skin 0 TeamNum 2 ClassIcon blimp2_red_lite Scale 0.8 DisableSmokeStack 1 DisableTracks 1 DisableChildModels 1 Gravity 0 RotatePitch 0 Model "models/bots/boss_bot/boss_blimp.mdl" StartSound "mvm/mvm_tank_end.wav" PingSound "npc/combine_gunship/ping_search.wav" EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" OnBombDroppedOutput { Target nuke_launch Action Trigger } } } WaveSpawn { Name "a1" Where spawnbot_front2 TotalCount 18 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Pyro Attributes DisableDodge AddTemplate NoRandomCrits } } WaveSpawn { Name "a1.1" Where spawnbot_front1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 12 TotalCurrency 300 FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Demo_Burst Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "damage force reduction" 0 } } } WaveSpawn { Name "a1.2" WaitForAllSpawned "a1" Where spawnbot_front2 TotalCount 24 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 LastSpawnOutput { Target red1a_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Soldier_RocketShotgun AddTemplate NoRandomCrits } } WaveSpawn { Name "b1" WaitForAllDead "a1.1" Where spawnbot_mid1 TotalCount 12 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 300 FirstSpawnOutput { Target red2a_on_logic Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Pyro_Phlog Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } TFBot { Template T_TFBot_Red_Medic_King Tag bot_squad_member AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } TFBot { Template T_TFBot_Red_Medic_King Tag bot_squad_member AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } TFBot { Template T_TFBot_Red_Medic_King Tag bot_squad_member AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } } WaveSpawn { Name "b1.1" WaitForAllDead "a1.1" Where spawnbot_mid3 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 4 TotalCurrency 200 FirstSpawnOutput { Target red2c_on_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Class Heavyweapons ClassIcon heavy_armored_shotgun_red Name "Armoured Shotgun Heavy" Skill Expert Health 900 Scale 1.5 WeaponRestrictions SecondaryOnly Attributes DisableDodge Item "The Family Business" Item "Der Maschinensoldaten-Helm" Item "Die Regime-Panzerung" ItemAttributes { ItemName "The Family Business" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 } AddTemplate RedBot } } WaveSpawn { Name "b1.2" WaitForAllDead "b1" Where spawnbot_mid1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 200 LastSpawnOutput { Target red2a_off_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Giant_Soldier_Spammer Attributes DisableDodge AddTemplate NoRandomCrits } } WaveSpawn { Name "c1" WaitForAllSpawned "b1.1" Where spawnbot_mid3 TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 100 LastSpawnOutput { Target red2c_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Sniper_Huntsman Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Duration 3 } } } WaveSpawn { Name "infinite" WaitForAllDead "c1" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 RandomSpawn 1 TFBot { Name "Heavy" Class Heavyweapons Skill Hard AddTemplate RedBot } } WaveSpawn { Name "infinite" WaitForAllDead "c1" Where respawnpoints TotalCount 999 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 0 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Red_Soldier ClassIcon soldier_and_demo Attributes DisableDodge AddTemplate NoRandomCrits } TFBot { Template T_TFBot_Red_Demoman ClassIcon soldier_and_demo Attributes DisableDodge AddTemplate NoRandomCrits } } } WaveSpawn { Name "hatch" WaitForAllDead "c1" Where hatchspawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Red_Chief_Heavyweapons_Plasma } } WaveSpawn { Name "infinite" WaitForAllDead "c1" Where spawnbot_big TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Pyro_Fury AddTemplate RedBotGiant } } } Wave // Wave 6 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } // SpawnTemplate "Tankround_Antistalemate" WaveSpawn { Name "timer" Where spawnbot_timer TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnOutput { Target timertele Action Enable } TFBot { Template T_TFBot_Timer } } WaveSpawn // Dummy { WaitForAllDead "timer" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "vo/announcer_failure.mp3" FirstSpawnOutput { Target nuke_launch Action Trigger } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnOutput { Target tele_enable_relay Action Trigger } } WaveSpawn // Tank 40000 HP { Name "tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited LastSpawnOutput { Target red_bots_start_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_left_a_1" Health 30000 Speed 0 Skin 1 SpawnTemplate "PayloadTank" DisableSmokeStack 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Dummy { WaitForAllDead "tank" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 FirstSpawnOutput { Target spawnbot_special Action Enable } } WaveSpawn { Name "blu" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 0 Support 1 FirstSpawnOutput { Target timertele Action Disable } RandomChoice { TFBot { Template T_TFBot_Pyro_Detonator ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer } TFBot { Template T_TFBot_Sniper_Huntsman_Bleed ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer } TFBot { Template T_TFBot_Heavyweapons_Shotgun ClassIcon blu2_lite Skill Expert Attributes IgnoreFlag BehaviorModifiers Push Tag bot_notplayer } } } WaveSpawn { Name "giant" WaitForAllDead "tank" Where spawnbot Where spawnbot_gianttp TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 10 TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" RandomChoice { TFBot { Template T_TFBot_Carrier_GPyro Health 15000 } TFBot { Template T_TFBot_Carrier_Huntsman Health 15000 } TFBot { Template T_TFBot_Carrier_Champ Health 10000 } TFBot { Template T_TFBot_Carrier_GFlare Health 10000 } TFBot { Template T_TFBot_Carrier_Engineer Health 10000 } TFBot { Template T_TFBot_Carrier_GSpy Health 15000 } TFBot { Template T_TFBot_Carrier_GMed_Crossbow Health 15000 } } } WaveSpawn { Name "redbuster" Where spawnbot_big TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 40 WaitBetweenSpawnsAfterDeath 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Red_SentryBuster Skill Expert CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } } } WaveSpawn { Name "a1" Where spawnbot_front1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnWarningSound "vo/taunts/sniper_taunts14.mp3" DoneWarningSound "vo/sniper_paincrticialdeath03.mp3" FirstSpawnOutput { Target red1b_on_logic Action Trigger } LastSpawnOutput { Target red1b_off_logic Action Trigger } DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Chief_Sniper_SpecOps } } WaveSpawn { Name "a1.1" Where spawnbot_front2 TotalCount 20 MaxActive 4 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 1 TotalCurrency 100 FirstSpawnOutput { Target red1a_on_logic Action Trigger } LastSpawnOutput { Target red1a_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } RandomChoice { TFBot { Class Scout ClassIcon scout_pistol_nys Skill Expert Attributes DisableDodge WeaponRestrictions SecondaryOnly AddTemplate RedBot } TFBot { Class Engineer ClassIcon scout_pistol_nys Skill Expert Attributes DisableDodge WeaponRestrictions SecondaryOnly AddTemplate RedBot } } } WaveSpawn { Name "b1" WaitForAllDead "a1" Where spawnbot_big TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Spy_Spammer } TFBot { Template T_TFBot_Red_Medic_Kritzkrieg Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_Kritzkrieg Tag bot_squad_member } TFBot { Template T_TFBot_Red_Medic_Kritzkrieg Tag bot_squad_member } } } WaveSpawn { Name "b1.1" WaitForAllDead "a1.1" Where spawnbot_mid1 TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 100 FirstSpawnOutPut { Target red2a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Soldier_Extended_Buff_Banner Attributes DisableDodge AddTemplate NoRandomCrits } } WaveSpawn { Name "b1.2" WaitForAllSpawned "b1.1" Where spawnbot_mid1 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 100 LastSpawnOutput { Target red2a_off_logic Action Trigger } DoneOutput { Target red_commons_all_killed Action Trigger } TFBot { Template T_TFBot_Red_Pyro_Expert_Shotgun ClassIcon pyro_backburner_red_nys Attributes DisableDodge UseMeleeThreatPrioritization 1 Item "The Backburner" ItemAttributes { ItemName "The Backburner" "airblast disabled" 1 } } } WaveSpawn { Name "c1" WaitForAllSpawned "b1" Where spawnbot_big TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Soldier ClassIcon soldier_dh_nys Item "The Direct Hit" Attributes DisableDodge AimLeadProjectileSpeed 1980 CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Giant_Medic_Regen Name "Giant Regen Medic" Attributes DisableDodge Tag bot_squad_member } } } WaveSpawn { Name "c1.2" WaitForAllDead "b1.1" Where spawnbot_big TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 10 TotalCurrency 200 DoneOutput { Target red_giants_all_killed Action Trigger } TFBot { Template T_TFBot_Giant_Heavyweapons_Fist ClassIcon heavy_steelfist_giant AddTemplate RedBotGiant } } // WaveSpawn // { // Name "c2" // WaitForAllSpawned "c1.1" // Where spawnbot_mid3 // TotalCount 18 // MaxActive 6 // SpawnCount 2 // WaitBeforeStarting 5 // WaitBetweenSpawns 2 // TotalCurrency 0 // LastSpawnOutput // { // Target red2c_off_logic // Action Trigger // } // TFBot // { // Template T_TFBot_Red_Soldier // Attributes DisableDodge // AddTemplate NoRandomCrits // } // } WaveSpawn { Name "sniper" WaitForAllDead "a1" Where respawnpoints TotalCount 999 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 50 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Sniper_Sydney_Sleeper Item "Darwin's Danger Shield" Item "Ol' Snaggletooth" AimAt Body } } WaveSpawn { Name "infinite" WaitForAllDead "c1.2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Spy Action Spy } } WaveSpawn { Name "infinite" WaitForAllDead "c1.2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Scout WeaponRestrictions PrimaryOnly Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } } WaveSpawn { Name "infinite" WaitForAllDead "c1.2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 RandomSpawn 1 TFBot { Template T_TFBot_Red_Demoman_Caber } } WaveSpawn { Name "infinite" WaitForAllDead "c1.2" Where respawnpoints TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 TFBot { Template T_TFBot_Demo_Sticky Classicon demo_sticky_red_daan Attributes AlwaysCrit Attributes DisableDodge AddTemplate RedBot } } // WaveSpawn // Dummy // { // Where spawnbot_special // WaitForAllDead "c2" // TotalCount 1 // SpawnCount 1 // WaitBeforeStarting 0 // FirstSpawnWarningSound "mvm/mvm_revive.wav" // Support Limited // TFBot // { // Template T_TFBot_Red_Scout // ClassIcon vex_mvm_timer // Scale 0.001 // Health 1 // CharacterAttributes { "health drain" -1 } // } // } WaveSpawn { Name "boss" WaitForAllDead "c1.2" Where spawnbot_special TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited FirstSpawnWarningSound "vo/sniper_specialweapon04.mp3" DoneWarningSound "vo/sniper_sf13_scared03.mp3" DoneOutput { Target unblockhatch Action Trigger } RandomChoice { Squad { TFBot { Template T_TFBot_Red_Chief_Sniper_SpecOps Health 20000 Scale 1.9 AddCond { Name "TF_COND_SPEED_BOOST" Duration 10 } Name "Powered Up Spec Ops Sniper" ItemAttributes { ItemName "AK-47" "can headshot" 1 "revolver use hit locations" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "attach particle effect" 14 } } } } } } Wave // Wave 7 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } Explanation { Line "{blue}Saxton Hale has grown tired of you robots wrecking Mann. Co's properties, now he will challenge you himself!" Line "{blue}Fortunately, we've brought a guest who may provide some assistance, and additional robot backup." Line "{blue}Defeat Saxton and secure the helicopter pad to get out of here!" } SpawnTemplate "Chopper" SpawnTemplate "wave7controlpoint" WaveSpawn { Name "blu" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Heavy_TFC } } } } WaveSpawn { Name "powerups" Where spawnbot_powerups1 Where spawnbot_powerups2 Where spawnbot_powerups3 Where spawnbot_powerups4 TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.1 TotalCurrency 0 Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Powerups AddCond { Name "TF_COND_RUNE_STRENGTH" } DamageAppliesCond { Name "TF_COND_RUNE_STRENGTH" } } TFBot { Template T_TFBot_Powerups AddCond { Name "TF_COND_RUNE_HASTE" } DamageAppliesCond { Name "TF_COND_RUNE_HASTE" } } TFBot { Template T_TFBot_Powerups AddCond { Name "TF_COND_RUNE_AGILITY" } DamageAppliesCond { Name "TF_COND_RUNE_AGILITY" } } TFBot { Template T_TFBot_Powerups AddCond { Name "TF_COND_RUNE_KING" } DamageAppliesCond { Name "TF_COND_RUNE_KING" } } } } WaveSpawn { Name "a1" Where spawnbot_front1 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 0 FirstSpawnOutPut { Target red1b_on_logic Action Trigger } LastSpawnOutput { Target red1b_off_logic Action Trigger } TFBot { Template T_TFBot_Heavyweapons_Deflector AddTemplate RedBot } } WaveSpawn { Name "a1.1" Where spawnbot_front2 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 200 FirstSpawnOutput { Target red1a_on_logic Action Trigger } TFBot { Template T_TFBot_Red_Giant_Soldier_Nuker } } WaveSpawn // Tank 12k HP { Name "redtank" WaitForAllSpawned "a1" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 FirstSpawnOutput { Target timertele Action Disable } Tank { Name "tankboss_red" StartingPathTrackNode "tank_path_red_1" Health 12000 Speed 75 Skin 1 ClassIcon tank_red Model "models/bots/boss_bot/boss_tankred.mdl" TeamNum 2 StartSound "ambient/machines/teleport1.wav" OnBombDroppedOutput { Target nuke_launch Action Trigger } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_front2 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys Name "Giant Brass Beast Heavy" Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Giant_Medic Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } } } WaveSpawn { Name "a2" WaitForAllDead "a1.1" Where spawnbot_front2 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 200 LastSpawnOutput { Target red1a_off_logic Action Trigger } Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys Name "Giant Brass Beast Heavy" Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Red_Giant_Medic Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } } } WaveSpawn { Name "b1" WaitForAllDead "a2" Where spawnbot_mid1 TotalCount 48 MaxActive 12 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 50 FirstSpawnOutput { Target red2a_on_logic Action Trigger } LastSpawnOutput { Target red2a_off_logic Action Trigger } Squad { TFBot { Template T_TFBot_Red_Soldier ClassIcon soldier_mangler Attributes DisableDodge Item "The Cow Mangler 5000" Item "The Righteous Bison" Item "Lord Cockswain's Pith Helmet" } TFBot { Template T_TFBot_Red_Medic_QuickUber Name "Quick Uber Medic" Tag bot_squad_member } } } WaveSpawn { Name "b1" WaitForAllDead "a2" Where respawnpoints TotalCount 15 MaxActive 15 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0.01 TotalCurrency 50 RandomSpawn 1 FirstSpawnOutput { Target red2b_on_logic Action Trigger } LastSpawnOutput { Target red2b_off_logic Action Trigger } RandomChoice { TFBot { Template T_TFBot_Red_Demoman Skill Easy AddTemplate NoRandomCrits } TFBot { Template T_TFBot_Red_Demoman Skill Expert AddTemplate NoRandomCrits } } } WaveSpawn // Dummy { Name "music1" WaitForAllDead "b1" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "ui/gamestartup16.mp3" FirstSpawnOutput { Target shakeit Action StartShake } } WaveSpawn // Dummy { Name "music1" WaitForAllDead "b1" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveWarningSound "ui/gamestartup16.mp3" } WaveSpawn { Name "blucommons" WaitForAllDead "b1" Where spawnbot TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 36 WaitBetweenSpawns 1 TotalCurrency 0 Support 1 FirstSpawnWarningSound "vo/mvm/norm/soldier_mvm_battlecry01.mp3" RandomChoice { TFBot { Class Soldier Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Soldier_Extended_Battalion Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Name "Heavy" Class Heavyweapons Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Class Scout Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Class Demoman Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Class Pyro Skill Expert ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Demoman_Knight ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Demoman_Knight_Persian ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Demoman_Samurai ClassIcon blu2_lite Action Mobber } } } WaveSpawn { Name "bluengis" WaitForAllDead "b1" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 36 WaitBetweenSpawns 0.5 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle ClassIcon blu2_lite ExtAttr BuildDispenserAsTeleporter CharacterAttributes { "mult dispenser rate" 4 "engy dispenser radius increased" 4 } } } WaveSpawn { Name "blugiants" WaitForAllDead "b1" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 150 WaitBetweenSpawns 1 TotalCurrency 0 Support 1 FirstSpawnWarningSound "vo/mvm/mght/soldier_mvm_m_dominationsniper13.mp3" RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Spammer ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Heavyweapons ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Pyro ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Scout_FAN ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Demo_Burst ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_Demo_RapidFire ClassIcon blu2_lite Action Mobber } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish ClassIcon blu2_lite Action Mobber } } } WaveSpawn { Name "boss" WaitForAllDead "b1" Where hatchspawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target activate_chopper_escape Action Trigger } TFBot { Template T_TFBot_Saxton_Hale } } WaveSpawn { Name "support" WaitForAllDead "boss" Where respawnpoints TotalCount 999 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 Randomspawn 1 RandomChoice { TFBot { Name "Syringe Medic" Class Medic ClassIcon red2_lite Skill Expert Attributes DisableDodge WeaponRestrictions PrimaryOnly AimLeadProjectileSpeed 1 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 } } TFBot { Template T_TFBot_Resistance_Fighter } TFBot { Template T_TFBot_Red_Pyro ClassIcon red2_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } } } } } }