// Mission designer: Lyney // Map Designer: RC_Polygons #base robot_giant.pop #base robot_standard.pop #base butcher_meat_grinder_weapon_testfile.pop //#base judge_restricts.pop // WAVE 1 Current Money: 1200$ // WAVE 2 Current Money: 1200$ + 1600$ + 100$ Bonus = 2900$ (No Bonus: 2800$) // WAVE 3 Current Money: 2900$ + 1600$ + 100$ Bonus = 4600$ (No Bonus: 4400$) // Total Possible Money: 4600$ + 1400$ = 6000$ (No Bonus: 5800$) WaveSchedule { StartingCurrency 12000 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no CustomNavFile mvm_butcher_rc1b_cleaner Mission // sentry buster { Objective DestroySentries InitialCooldown 5 Where spawnbot_mission_sentry_buster BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 45 TFBot { Template T_TFBot_SentryBuster } } PointTemplates // this piece of code is to remove the powerup from the game if its dropped, hence making it only be used by the designated class { powerup_fix { logic_timer { "targetname" "powerup_kill" "RefireTime" "0.1" "OnTimer" "item_powerup_rune,kill,,0,-1" } } } SpawnTemplate powerup_fix Mission { Objective Sniper InitialCooldown 45 Where spawnbot_mission_sniper_left BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 DesiredCount 2 TFBot { Class Sniper Skill Hard } } Mission { Objective Spy InitialCooldown 30 Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 2 CooldownTime 52 DesiredCount 3 TFBot { Class Spy Skill Hard } } PointTemplates { BluBotSpawns { prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "targetname" "spawnbot_surpised_attack" "origin" "2663 1956 128" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "targetname" "spawnbot_tank" "origin" "2663 1956 128" } } BluBotSpawns { prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "targetname" "spawnbot_blue" "origin" "2635 1504 128" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "targetname" "spawnbot_blue" "origin" "2635 1504 128" } } } SpawnTemplate BluBotSpawns ExtraSpawnPoint { Name "spawnbot_red" TeamNum 3 //2 for red 3 for blu X "2663" Y "1956" Z "128" } ExtraSpawnPoint { Name "spawnbot_blue" TeamNum 3 //2 for red 3 for blu X "2635" Y "1504" Z "128" } ExtraSpawnPoint { Name "spawnbot_killtank" TeamNum 3 //2 for red 3 for blu X "2281" Y "3384" Z "128" } Templates { T_TFBot_Giant_Soldier_Extended_Buff_Banner_Bugfixed { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner ItemAttributes { ItemName "The Buff Banner" "single wep holster time increased" 0.35 "single wep deploy time increased" 0.35 } CharacterAttributes { "increase buff duration" 99 "faster reload rate" -0.8 "cancel falling damage" 1 "blast dmg to self increased" 0 } } T_TFBot_Giant_Demoman_Buff_Banner { Class Demoman Name "Giant Buff Demoman" ClassIcon demo_buff_yoovy_giant Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Buff Banner" Tag bot_giant ItemAttributes { ItemName "The Buff Banner" "single wep holster time increased" 0.35 "single wep deploy time increased" 0.35 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "increase buff duration" 99.0 "cancel falling damage" 1 "blast dmg to self increased" 0 } } } //WAVE 1 (1600$) Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_ironman Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay_ironman Action RunScriptCode Param " IncludeScript(`popextensions_main`, getroottable()) EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_clearall_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `Trigger`) EntFire(`bombpath_left_upper_relay`, `TurnOff`) EntFire(`Ironman_Mode_Intel`, `SetReturnTime`, `60`) IncludeScript(`disablesquad`) ClientPrint(null,3,`\x0800FF00FFThe bomb will stop resetting when the last subwave!`) IncludeScript(`butcher_extrahealthammokit`) SpawnTemplate(`HealthAmmoKit`) MissionAttrs ( { `NoRome`: 2 `NoCrumpkins`: 1 `NoThrillerTaunt`: 1 } ) local EventsID = UniqueString() getroottable()[EventsID] <- { // Cleanup events on round restart. Do not remove this event. OnGameEvent_scorestats_accumulated_update = function(params) { delete getroottable()[EventsID] } function OnScriptHook_OnTakeDamage(params) { if (params.const_entity.GetClassname() == `tank_boss` && params.attacker && params.attacker.IsPlayer() && params.attacker.InCond(90) && !(params.damage_type & DMG_ACID)) params.damage *= 2 } } local EventsTable = getroottable()[EventsID] foreach (name, callback in EventsTable) EventsTable[name] = callback.bindenv(this) __CollectGameEventCallbacks(EventsTable) " } WaveSpawn { Name 1a-support Where spawnbot_blue TotalCount 10 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit Attributes IgnoreFlag Attributes IgnoreEnemies } } WaveSpawn { Name 1a TotalCount 1 WaitBeforeStarting 0 TotalCurrency 50 FirstSpawnWarningSound "mvm\mvm_tank_start.wav" FirstSpawnOutPut { Target wave_start_relay_ironman Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 300000 HP!`) " } Tank { Health 300000 Skin 1 Speed 70 Name "tank_boss" StartingPathTrackNode "tank_path_b_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name 1a-support Where spawnbot_killtank TotalCount 100 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Giant_Demoman_Buff_Banner //Class Demoman //Skill Expert Attributes IgnoreFlag AddCond { Name TF_COND_REPROGRAMMED } } } } }