#base robot_standard.pop #base robot_giant.pop #base overclock_cactus_general.pop /////////////////////////////////////////////////////////////////////////// // My hearts go out for you sinners: // // - Elizabeth+Birchly > Made the map // - DrCactus > Overclocks // /////////////////////////////////////////////////////////////////////////// WaveSchedule { StartingCurrency 800 RespawnWaveTimeBlue 2 CanBotsAttackWhileInSpawnRoom no // some crap NoReanimators 1 NoMvMDeathTune 1 SniperAllowHeadshots 1 NoSapUnownedBuildings 1 RobotLimit 26 BotPushaway 0 BotsAreHumans 2 MaxTotalPlayers 6 NoRedBotsRandomCrit 1 DisplayRobotDeathNotice 0 StealthDamageReduction 0.1 MedigunShieldDamage 1 WaveStartCountdown 3 NoRomevisionCosmetics 1 BonusRatioHalf 2 BonusRatioFull 2 ForceRedMoney 1 ReverseWinConditions 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam blue EnemyTeamForReverse red BluPlayersAreRobots 1 SetCreditTeam 3 FlagCarrierMovementPenalty 0.5 BluHumanInfiniteAmmo 0 BluHumanBotTeleporter 1 BluHumanTeleportOnSpawn 1 AllowBombBuffsForPlayerCarriers 1 CustomNavFile "mvm_humbridge_revnav" // disable sounds DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_All_Dead" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_General_Destruction" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Spawn" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" PrecacheModel "models/props_mvm/mvm_upgradesquare_glow.mdl" PrecacheModel "models/props_mvm/mvm_upgradesquare_text.mdl" ExtendedUpgrades { MaxUpgradesTier { 1 999 2 999 } MinUpgradesTier { 1 0 2 0 } // engi Engi_DispenserRate { Name "+50% dispenser health/ammo rate" Attribute "mult dispenser rate" Cap 3 Increment 0.5 Cost 200 AllowPlayerClass Engineer AllowedWeapons { Classname tf_weapon_pda_engineer_build } } } PointTemplates { corelogic { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,Covent Caper,0,-1" "OnMapSpawn" "flankers,Disable,,0,-1" "OnMapSpawn" "spawnbot_mission*,Disable,,0,-1" "OnMapSpawn" "spawnbot_chief,Disable,,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger navman:Recomputeblockers:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blocker_spawn:Disable:0:-1" "OnMapSpawn" "hatch_alarm_trigger,kill,,-1" "OnMapSpawn" "hatch_alarm,enable,,-1" "OnMapSpawn" "hatch_alarm,AddOutput,OnStartTouchFlag time_addition:Trigger:0:1" "OnMapSpawn" "hatch_alarm,AddOutput,OnStartTouchFlag bombpath_clearall_relay:Trigger:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger blocker_path_b:Enable:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger blocker_path_a:Kill:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger sniperspot_bridge:Enable:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger spawnred_2a:Enable:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger nav_blocker_a:Kill:0:-1" "OnMapSpawn" "bombpath_a,AddOutput,OnTrigger spawnmarker_mid_bridge:Skin:0:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger blocker_path_a:Enable:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger blocker_path_b:Kill:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger sniperspot_train:Enable:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger nav_blocker_b:Kill:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger spawnred_2b:Enable:0:-1" "OnMapSpawn" "bombpath_b,AddOutput,OnTrigger spawnmarker_mid_train:Skin:0:0:-1" } tf_point_nav_interface { targetname navman } logic_relay { spawnflags 2 targetname time_addition ontrigger "player,$DisplayTextChat,Bomb has reached alarm zone. Extra time awarded!,0,-1" ontrigger "player,$PlaySoundToSelf,misc\ks_tier_01.wav,0,-1" ontrigger "minutehand,add,2,0,-1" ontrigger "!self,disable,,0,-1" } func_forcefield // spawn blocker { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_spawn TeamNum 2 mins "-464 -8 -668" maxs "464 8 668" origin "480 3312 484" } func_forcefield // spawn blocker { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 0 targetname blocker_spawn TeamNum 2 mins "-244 -32 -668" maxs "244 32 668" origin "-836 3872 484" } prop_dynamic // upgrade station { model "models/props_mvm/mvm_upgradesquare_glow.mdl" disableshadows 1 solid 0 origin "824 3504 356" } prop_dynamic { model "models/props_mvm/mvm_upgradesquare_text.mdl" disableshadows 1 solid 0 defaultanim idle origin "824 3504 448" } func_upgradestation { mins "-75 -75 -75" maxs "75 75 75" origin "824 3504 356" } prop_dynamic // upgrade station { model "models/props_mvm/mvm_upgradesquare_glow.mdl" disableshadows 1 solid 0 origin "-885 4093 289" } prop_dynamic { model "models/props_mvm/mvm_upgradesquare_text.mdl" disableshadows 1 solid 0 defaultanim idle origin "-885 4093 381" } func_upgradestation { mins "-75 -75 -75" maxs "75 75 75" origin "-885 4093 289" } prop_dynamic // portcullis blocker for other path { model "models/props_medieval/portcullis.mdl" disableshadows 1 solid 6 // I doubt the collision scales right but lets humor it anyway angles "0 90 0" modelscale 1.5 startdisabled 1 origin "-764 1124 130" targetname blocker_path_a } func_forcefield // blocker for portcullis { disablereceiveshadows 0 renderamt 255 rendercolor "255 255 255" renderfx 0 rendermode 10 StartDisabled 1 targetname blocker_path_a TeamNum 2 mins "-176 -12 -171" maxs "176 12 171" origin "-768 1124 247" } // prop_dynamic // truck blocker for other path // { // model "models/props_vehicles/morevehicles/truck_trailer.mdl" // disableshadows 1 // solid 6 // angles "0 0 0" // startdisabled 1 // skin 9 // only one that's packed to map so lets use it again // origin "2203 -522 68" // targetname blocker_path_a // } func_door // used to block nav { movedir "90 0 0" speed 1400 wait -1 mins "-208 -24 -48" maxs "208 24 48" origin "-768 1128 144" targetname nav_blocker_a OnFullyOpen "!self,Kill,,-1" } prop_dynamic // fence blockers for other path { model "models/props_coalmines/wood_fence_256.mdl" disableshadows 1 solid 6 startdisabled 1 origin "220 990 198" targetname blocker_path_b } prop_dynamic { model "models/props_coalmines/wood_fence_128.mdl" disableshadows 1 solid 6 startdisabled 1 origin "336 994 198" targetname blocker_path_b } func_door // used to block nav { movedir "90 0 0" speed 1400 wait -1 mins "-208 -24 -48" maxs "208 24 48" origin "208 992 112" targetname nav_blocker_b OnFullyOpen "!self,Kill,,-1" } prop_dynamic // doors to block out train path if b is chosen { model "models/props_gameplay/door_slide_tall_door.mdl" disableshadows 1 solid 6 angles "0 315 0" startdisabled 1 origin "1941 -168 -237" targetname blocker_path_b } func_door // used to block nav { movedir "90 0 0" speed 1400 wait -1 mins "-12 -12 -32" maxs "12 12 32" origin "1949 -170 -228" targetname nav_blocker_b OnFullyOpen "!self,Kill,,-1" } prop_dynamic // doors to block out train path if a is chosen { model "models/props_gameplay/door_slide_tall_door.mdl" disableshadows 1 solid 6 angles "0 315 0" startdisabled 1 origin "2172 364 -157" targetname blocker_path_b } func_door // used to block nav { movedir "90 0 0" speed 1400 wait -1 mins "-12 -12 -32" maxs "12 12 32" origin "2172 368 -148" targetname nav_blocker_b OnFullyOpen "!self,Kill,,-1" } point_teleport { targetname intelwarp target intel origin "684 3566 332" } trigger_add_tf_player_condition // ubercharge eff on respawn in case of tele { duration 3 filtername filter_blueteam spawnflags 1 // StartDisabled 1 condition 57 mins "-9999 -9999 -9999" maxs "9999 9999 9999" origin "0 0 0" targetname spawn_uber } filter_tf_bot_has_tag // add a tag so melee bots ignore prereq { "Negated" "0" "require_all_tags" "1" "tags" "camper" "targetname" "filter_squatter" } func_nav_prerequisite // make bots not squat near spawn rocks { "targetname" "front_holdout" mins "-572 -442 -112" maxs "572 442 112" "Entity" "front_holdout" "filtername" "filter_squatter" "origin" "-516 2346 -84" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the bridge { "targetname" "bridge_holdout" mins "-432 -380 -214" maxs "432 380 214" "Entity" "bridge_holdout" "filtername" "filter_squatter" "origin" "-952 -332 -106" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the bridge { "targetname" "spawnpoint_bridgehold" mins "-96 -96 -96" maxs "96 96 96" "Entity" "bridge_holdout" "filtername" "filter_squatter" "origin" "1880 -1028 216" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the tracks { "targetname" "train_holdout" mins "-602 -570 -73" maxs "602 570 73" "Entity" "train_holdout" "filtername" "filter_squatter" "origin" "1478 346 -249" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the tracks { "targetname" "spawnpoint_trainhold" mins "-96 -96 -96" maxs "96 96 96" "Entity" "train_holdout" "filtername" "filter_squatter" "origin" "2504 704 -124" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the front { "targetname" "spawnpoint_fronthold" mins "-160 -160 -160" maxs "160 160 160" "Entity" "front_holdout" "filtername" "filter_squatter" "origin" "124 1200 120" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_nav_prerequisite // tell bots to stack up near the front { "targetname" "spawnpoint_fronthold" mins "-160 -160 -160" maxs "160 160 160" "Entity" "front_holdout" "filtername" "filter_squatter" "origin" "-1148 1528 120" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "444" } func_tfbot_hint { hint 0 team 3 mins "-32 -32 -48" maxs "32 32 48" origin "2926 -621 128" } func_tfbot_hint { hint 0 team 3 mins "-32 -32 -48" maxs "32 32 48" origin "2457 286 -24" } func_tfbot_hint { targetname sniperspot_train hint 0 team 2 startdisabled 1 mins "-32 -32 -48" maxs "32 32 48" origin "-157 1273 160" } func_tfbot_hint { targetname sniperspot_train hint 0 team 2 startdisabled 1 mins "-32 -32 -48" maxs "32 32 48" origin "-320 1272 160" } func_tfbot_hint { targetname sniperspot_train hint 0 team 2 startdisabled 1 mins "-32 -32 -48" maxs "32 32 48" origin "-480 1276 160" } func_tfbot_hint { targetname sniperspot_bridge hint 0 team 2 startdisabled 1 mins "-32 -32 -48" maxs "32 32 48" origin "-698 846 208" } func_tfbot_hint { targetname sniperspot_bridge hint 0 team 2 startdisabled 1 mins "-32 -32 -48" maxs "32 32 48" origin "-883 841 208" } } spawnmark_props { NoFixup 1 prop_dynamic // spawn markers for 'setup' { model "models\props_mvm\robot_spawnpoint.mdl" disableshadows 1 solid 0 angles "0 90 0" startdisabled 0 origin "125 1198 66" targetname spawnmarker_setup } prop_dynamic // spawn markers for 'setup' { model "models\props_mvm\robot_spawnpoint.mdl" disableshadows 1 solid 0 angles "0 0 0" startdisabled 0 origin "-1147 1527 66" targetname spawnmarker_setup } prop_dynamic // spawn markers for bridge { model "models\props_mvm\robot_spawnpoint.mdl" disableshadows 1 solid 0 angles "0 0 0" startdisabled 0 origin "1882 -1028 158" skin 3 targetname spawnmarker_mid_bridge } prop_dynamic // spawn markers for train { model "models\props_mvm\robot_spawnpoint.mdl" disableshadows 1 solid 0 angles "0 0 0" startdisabled 0 origin "2504 704 -184" skin 3 targetname spawnmarker_mid_train } prop_dynamic // giant spawn at hatch, always active { model "models\props_mvm\robot_spawnpoint.mdl" disableshadows 1 solid 0 angles "0 0 0" startdisabled 0 origin "4726 -1411 -84" } } textualtimer { nofixup 1 OnSpawnOutput { Param 7 Target minutehand Action SetValue } OnSpawnOutput { Param 30 Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "bots_win_red,RoundWin,,2,-1" "ontrigger" "player,$DisplayTextChat,You lose homeboy!,2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger:0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending:0:-1,0,-1" "onspawn" "bots_win,addoutput,onroundwin realtimer:cancelpending:0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending:0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" // "outValue" "player,$DisplayTextChat,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "1" "spawnflags" "1" "channel" "2" "x" "0.48" "y" "-0.75" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } } ExtraSpawnPoint // spawns at front for 'setup time' { Name "spawnred_setup" StartDisabled 0 TeamNum 2 X "125" Y "1198" Z "114" } ExtraSpawnPoint // spawns at front for 'setup time' { Name "spawnred_setup" StartDisabled 0 TeamNum 2 X "-1147" Y "1527" Z "114" } ExtraSpawnPoint // spawn at bridge path { Name "spawnred_2a" StartDisabled 1 TeamNum 2 X "1882" Y "-1028" Z "206" } ExtraSpawnPoint // spawn at train path { Name "spawnred_2b" StartDisabled 1 TeamNum 2 X "2504" Y "702" Z "-134" } ExtraSpawnPoint // spawn at hatch { Name "spawnred_hatch" StartDisabled 0 TeamNum 2 X "4892" Y "-303" Z "123" } ExtraSpawnPoint // spawn at hatch { Name "spawnred_hatch_giant" StartDisabled 0 TeamNum 2 X "4726" Y "-1411" Z "-6" } ExtraSpawnPoint // spawn at hatch { Name "spawnred_hatch_camper" StartDisabled 0 TeamNum 2 X "3695" Y "-548" Z "62" } PlayerAttributes // more guff for the players themselves { "crit mod disabled" 0 // you get no crits because you're bots "ammo regen" 0.25 Engineer { "max health additive bonus" 150 // more in line with valve's engineer guff "upgrade rate decrease" 2 "engineer teleporter build rate multiplier" 1.5 // convenient "metal regen" 100 } Spy { "cannot pick up intelligence" 1 // mission support bit } Sniper { "mult sniper charge per sec with enemy under crosshair" 2 "sniper beep with enemy under crosshair" 1 } Medic { "mult medigun range" 1.25 } } SpawnTemplate "corelogic" SpawnTemplate "spawnmark_props" SpawnTemplate "textualtimer" Templates { T_TFBot_Demoman_Persuader { Class Demoman Name "Demoknight" ClassIcon demoknight_persian_nys Skill Hard Item "Sultan's Ceremonial" Item "The Splendid Screen" Item "Ali Baba's Wee Booties" Item "The Persian Persuader" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Persian Persuader" "critboost on kill" 3 } } T_TFBot_Medic_Kritz //Pops Kritz on entering field, has to recharge { Name "Kritzkrieg Medic" Class Medic Skill Expert ClassIcon medic_kritz Attributes SpawnWithFullCharge Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 10 "uber duration bonus" 4 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 1 "mad milk syringes" 1 } } T_TFBot_SentryBuster_Red { Class Demoman Name "Sentry Buster" Skill Expert Health 2500 Item "The Ullapool Caber" WeaponRestrictions MeleeOnly ClassIcon sentry_buster_red Attributes DisableDodge Attributes IgnoreEnemies Attributes MiniBoss UseCustomModel models/bots/demo/red_sentry_buster_v2.mdl Action SuicideBomber UseBusterModel 1 NoPushaway 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 "voice pitch scale" 0 "dmg penalty vs players" 6 // find out later if you can boost buster damage to absolutely oneshot upgraded players } } T_Bigshoe { Class Heavy Skill Expert Health 9999 WeaponRestrictions MeleeOnly ClassIcon random Attributes MiniBoss Attributes DisableDodge AimTrackingInterval 0 FastUpdate 1 Action Mobber Tag bigshoe ExtAttr IgnoreNPC // can't hurt Tanks UseCustomModel "models/empty.mdl" AddCond { Name TF_COND_REPROGRAMMED } Scale 2.4 NoIdleSound 1 Name "Big Shoe" SpawnTemplate "Bigshoe" EventChangeAttributes { Cutscene // disable jumping somehow { } Normal { ChangeAttributes { Delay 5 Repeats 0 // IfSeeTarget 1 Name "Stomp" } CharacterAttributes { "cancel falling damage" 1 "move speed bonus" 0.1 "no_attack" 1 "ignore player clip" 1 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "ignored by enemy sentries" 1 "ignored by bots" 1 "cannot be backstabbed" 1 "voice pitch scale" 0 "increased jump height" 2 "increased air control" 8 } } Stomp { FireWeapon { Delay 0.2 Cooldown 5 Repeats 0 Duration 0.3 Type Jump } FireInput { Target "shoepush" Action "Enable" Delay 0.4 Cooldown 20 Repeats 0 } FireInput { Target "shoepush" Action "Disable" Delay 0.6 Cooldown 20 Repeats 0 } ChangeAttributes { Delay 2.4 Repeats 0 Name "Normal" } CharacterAttributes { "cancel falling damage" 1 "move speed bonus" 16 "ignore player clip" 1 "no_attack" 1 "dmg from ranged reduced" 0 "cannot be backstabbed" 1 "voice pitch scale" 0 "increased jump height" 2 "increased air control" 8 "stomp player force" -270 "stomp player damage" 70000 "stomp player time" 0.1 } } } ChangeAttributes { Delay 0 Repeats 1 Name "Stomp" } ItemAttributes { ItemName TF_WEAPON_FISTS "custom kill icon" mantreads "custom hit sound" Weapon_QuakeRPG.Explode "damage causes airblast" 1 } } } CustomWeapon { "Polish Trash Cannon" { OriginalItemName "The Family Business" "special item description" "The strongest Polish weapon" "custom item model" "models/weapons/custom/c_trashcannon.mdl" "custom weapon fire sound" "trash.mp3" "fire rate penalty" 4 "minigun spinup time increased" 5 "bullets per shot bonus" 80 "hit self on miss" 1 "explosive bullets" 300 } "The Bounce'n Blast" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "special item description" "Grenades gain speed and damage when bouncing off surfaces" "grenade bounce speed" 1.1 "grenade bounce damage" 0.5 "projectile speed decreased" 0.4 "fuse bonus" 1.2 "grenade no drag" 1 } } ExtraLoadoutItems { Heavyweapons { Secondary "Polish Trash Cannon" } Demoman { Primary "The Bounce'n Blast" } } Mission // Sniper w1 { Objective Sniper InitialCooldown 40 Where spawnbot_invasion BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 1 CooldownTime 35 TFBot { Template T_TFBot_Sniper Skill Expert UseCustomModel models\bots\sniper\bot_sniper.mdl CharacterAttributes { "explosive sniper shot" 2 } } } ///////////////////////////////////////////////////////////////////////////////////// // Humbridge Advanced (Hampton Helix) // Cash given at start: $1200 // Wave payouts: // W1: $ W2: $ W3: $ // W4: $ W5: $ W6: $ // Max amount of money: $ // Max Amount without bonus: $ ///////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name setup Where spawnred_setup TotalCount 32 MaxActive 12 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 1 Totalcurrency 100 LastSpawnOutput { Target spawnmarker_setup Action Skin Param 3 } RandomChoice { TFBot { Class Soldier Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag camper Attributes DisableDodge MaxVisionRange 600 } TFBot { Class Soldier Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag camper Attributes DisableDodge MaxVisionRange 600 } TFBot { Class Scout Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge MaxVisionRange 600 } TFBot { Class Scout Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge MaxVisionRange 600 } TFBot { Class Scout Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge MaxVisionRange 600 } } } WaveSpawn { Name "wave01a" Where spawnred_2a Where spawnred_2b TotalCount 36 MaxActive 9 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 3 WaitForAllSpawned "setup" Totalcurrency 100 TFBot { Template T_TFBot_Demoman_Knight AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge } } WaveSpawn { Name "wave01a" Where spawnred_2a Where spawnred_2b TotalCount 24 MaxActive 12 SpawnCount 6 WaitBeforeStarting 15 WaitBetweenSpawns 7 WaitForAllSpawned "setup" Totalcurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag camper Attributes DisableDodge } } WaveSpawn { Name "wave01b" Where spawnred_2a Where spawnred_2b TotalCount 18 MaxActive 6 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 8 WaitForAllSpawned "wave01a" Totalcurrency 100 Squad { TFBot { Class Heavy Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge } // TFBot // { // Template T_TFBot_Medic // AddCond { Name TF_COND_REPROGRAMMED } // Attributes DisableDodge // } } } WaveSpawn { Name "wave01b" Where spawnred_hatch TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 3 WaitForAllSpawned "wave01a" Totalcurrency 100 StartWaveOutput { Target spawnmarker_mid_* Action Skin Param 3 } TFBot { Class Pyro Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge ExtAttr AlwaysFireWeaponAlt } } WaveSpawn { Name "wave01b" Where spawnred_hatch TotalCount 999 MaxActive 8 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 3 WaitForAllSpawned "wave01a" Totalcurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge } } WaveSpawn { Name "wave01c" Where spawnred_hatch_giant TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawnsAfterDeath 20 WaitForAllSpawned "wave01a" Totalcurrency 200 TFBot { Template T_TFBot_Giant_Soldier_Spammer AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint UseMeleeThreatPrioritization 1 UseCustomModel models\bots\soldier_boss\bot_soldier_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Name "wave01b" Where spawnbot Where spawnbot_tank TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support 1 FirstSpawnWarningSound music\mvm_start_wave.wav TFBot { Class Soldier ClassIcon soldier_giant Skill Hard UseCustomModel models\bots\soldier\bot_soldier.mdl } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name setup Where spawnred_setup TotalCount 18 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Totalcurrency 100 TFBot { Class Heavy Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Tag camper Attributes DisableDodge MaxVisionRange 600 } } WaveSpawn { Name "wave02a" Where spawnred_hatch_giant TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 7 WaitForAllSpawned "setup" Totalcurrency 100 TFBot { Template T_TFBot_Giant_Demoman AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel models\bots\demo_boss\bot_demo_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Name "wave02a" Where spawnred_2a Where spawnred_2b TotalCount 48 MaxActive 12 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 3 Totalcurrency 100 WaitForAllSpawned "setup" Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge VoiceCommand { Delay 3 Cooldown 16 Repeats 0 IfSeeTarget 1 Type "Activate Charge" } } TFBot { Template T_TFBot_Medic_Kritz AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge } } } WaveSpawn { Name "wave02a_2" Where spawnred_hatch_giant TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0 Totalcurrency 100 WaitForAllSpawned "wave02a" Squad { TFBot { Template T_TFBot_Soldier_BurstFire AddCond { Name TF_COND_REPROGRAMMED } Action PushToCapturePoint Attributes DisableDodge UseCustomModel models/bots/soldier_boss/bot_soldier_boss.mdl } TFBot { Template T_TFBot_Giant_Medic AddCond { Name TF_COND_REPROGRAMMED } Attributes DisableDodge UseCustomModel models/bots/medic/bot_medic.mdl } } } WaveSpawn { // Name "wave02a_2" Where spawnred_2a Where spawnred_2b TotalCount 36 MaxActive 8 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 1 Totalcurrency 100 WaitForAllDead "wave02a" TFBot { Template T_TFBot_Heavyweapons_Fist AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge Attributes AlwaysCrit UseCustomModel models/bots/heavy/bot_heavy.mdl } } WaveSpawn { // Name "wave02b" Where spawnred_hatch TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawnsAfterDeath 20 Totalcurrency 100 WaitForAllSpawned "wave02a_2" TFBot { Class Spy Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Spy Attributes DisableDodge } } WaveSpawn { Name "wave02c" Where spawnred_hatch TotalCount 999 MaxActive 8 SpawnCount 3 WaitBeforeStarting 30 WaitBetweenSpawns 2 Totalcurrency 300 WaitForAllSpawned "wave02a_2" TFBot { Class Scout Skill Normal AddCond { Name TF_COND_REPROGRAMMED } MoveBehindEnemy 1 Action PushToCapturePoint Attributes DisableDodge } } WaveSpawn { Where spawnbot Where spawnbot_tank TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support 1 FirstSpawnWarningSound music\mvm_start_wave.wav TFBot { Template T_TFBot_Demoman_Persuader Skill Hard // Attributes AlwaysCrit UseCustomModel models\bots\demo\bot_demo.mdl } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name setup Where spawnred_setup TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 1 Totalcurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector AddCond { Name TF_COND_REPROGRAMMED } BehaviorModifiers Push Tag camper UseMeleeThreatPrioritization 1 Attributes DisableDodge UseCustomModel models/bots/heavy_boss/bot_heavy_boss.mdl CharacterAttributes { "penetrate teammates" 1 // :flushed: "damage force reduction" 0 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Giant_Medic AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel models/bots/medic/bot_medic.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } } WaveSpawn { Where spawnred_hatch_camper TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Totalcurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons AddCond { Name TF_COND_REPROGRAMMED } Action Idle Attributes AlwaysCrit UseMeleeThreatPrioritization 1 Attributes DisableDodge UseCustomModel models/bots/heavy_boss/bot_heavy_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Name setup Where spawnred_setup TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 Totalcurrency 100 TFBot { Template T_TFBot_Giant_Pyro AddCond { Name TF_COND_REPROGRAMMED } Action Mobber UseMeleeThreatPrioritization 1 Attributes DisableDodge UseCustomModel models/bots/pyro_boss/bot_pyro_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Name wave03a Where spawnred_2a Where spawnred_2b TotalCount 48 MaxActive 14 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 1 WaitForAllDead setup Totalcurrency 100 TFBot { Class Demoman Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge WeaponRestrictions SecondaryOnly MaxVisionRange 1000 // don't snipe!! ItemAttributes // don't need passive_weapon shit with human models { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" -1 "sticky arm time bonus" 2 "max pipebombs increased" -7 "faster reload rate" 0.25 "self dmg push force decreased" 0.01 } } } WaveSpawn { Name wave03b Where spawnred_2a Where spawnred_2b TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 7 WaitBetweenSpawns 1 WaitForAllSpawned wave03a Totalcurrency 100 TFBot { Class Soldier Skill Normal RocketJump 2 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUCHER" "faster reload rate" -1 "no self blast dmg" 2 } } } WaveSpawn { Name wave03c Where spawnred_hatch TotalCount 999 MaxActive 8 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 3 WaitForAllSpawned wave03b Totalcurrency 100 TFBot { Class Pyro Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge // Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUCHER" "faster reload rate" -1 "no self blast dmg" 2 } } } WaveSpawn { // Name wave03b Where spawnred_hatch_giant TotalCount 8 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 WaitForAllDead setup Totalcurrency 100 TFBot { Template T_TFBot_Giant_Scout_Fast AddCond { Name TF_COND_REPROGRAMMED } Action Mobber UseCustomModel models/bots/scout_boss/bot_scout_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Name wave03c Where spawnred_hatch_giant TotalCount 999 MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 20 WaitForAllSpawned wave03b Totalcurrency 100 TFBot { Template T_TFBot_Giant_Scout_FAN AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge UseCustomModel models/bots/scout_boss/bot_scout_boss.mdl CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 } } } WaveSpawn { Where spawnred_hatch TotalCount 999 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 25 Totalcurrency 100 TFBot { Class Sniper Skill Hard AddCond { Name TF_COND_REPROGRAMMED } Action Sniper Attributes DisableDodge } } WaveSpawn { Where spawnred_hatch_giant TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawnsAfterDeath 40 Support 1 TFBot { Template T_TFBot_SentryBuster_Red } } WaveSpawn { Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support 1 FirstSpawnWarningSound music\mvm_start_wave.wav Squad { TFBot { Template T_TFBot_Soldier_Extended_Battalion Skill Hard ClassIcon soldier_banner_trio UseCustomModel models\bots\soldier\bot_soldier.mdl CharacterAttributes { "deploy time decreased" 0.1 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Skill Hard ClassIcon soldier_banner_trio UseCustomModel models\bots\soldier\bot_soldier.mdl CharacterAttributes { "deploy time decreased" 0.1 } } TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Hard ClassIcon soldier_banner_trio UseCustomModel models\bots\soldier\bot_soldier.mdl CharacterAttributes { "deploy time decreased" 0.1 } } } } } }