#base robot_standard.pop
#base robot_giant.pop
#base robot_scroob.pop
#base custom_upgrades_scroob.pop

// WAVE 1 - 0$ + B(100$)
// -------------------
// TOTAL  - 0$ + B(100$)

WaveSchedule
{
	StartingCurrency 800
	RespawnWaveTime  3
	CanBotsAttackWhileInSpawnRoom no
	NoRomevisionCosmetics 1
	AllowBotExtraSlots 1
	RobotLimit 45 //reconfigurer
    NoRedBotsRandomCrit 1	
	BotsUsePlayerTeleporters 0
	FixWavespawnReserveSlotsOnDisabledSpawnbot 1 // Fix wavespawn reserving slots even when spawnbot is disabled. There isn't much reason to not use this

	PrecacheSound "metal_popper_giant_mode_active_1.mp3"
	PrecacheSound "metal_popper_giant_mode_active_2.mp3"
	PrecacheSound "metal_popper_giant_mode_active_3.mp3"
	PrecacheSound "metal_popper_giant_mode_active_4.mp3"
	PrecacheSound "metal_popper_giant_mode_active_5.mp3"
	PrecacheSound "shrapnelgun_fire.mp3"
	PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3"
	PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3"
	PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl"

	Templates
	{
		T_TFBot_Soldier_Chief_Direct_Precise
		{
			Class Soldier
			Skill Expert
			Name "Clone Commander"
			Item "The Direct Hit"
			Health 22000
			WeaponRestrictions PrimaryOnly
			Attributes HoldFireUntilFullReload
			Attributes MiniBoss
			ClassIcon soldier_directhit_giant
			Item "Soldier's Stash"
			Item "Head Banger"
			Attributes UseBossHealthBar
			AlwaysGlow 1
			WeaponResist
			{
				"TF_WEAPON_MINIGUN"	0.6	//fuck you, play a more interesting class
			}			
			ItemModel 
			{
				ItemName "Soldier's Stash" //RAF
				Model "models/player/items/soldier/grfs_soldier.mdl"
			}
			ItemAttributes
			{
			ItemName "Soldier's Stash"
			"attachment size" 1.35
			}			
			ItemAttributes
			{
				ItemName "The Direct Hit"
				"faster reload rate" 0.2
				"fire rate bonus" 2
				"damage bonus" 3
			}			
			CharacterAttributes
			{
				"move speed bonus"	0.5
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
			}		
		}
		T_TFBot_Soldier_Chief_Burst_Reload_On_Hit
		{
			Class Soldier
			Skill Normal
			Name "Clone Commander"
			ClassIcon soldier_spammer_burstfire
			Health 22000
			WeaponRestrictions PrimaryOnly
			Attributes HoldFireUntilFullReload
			Attributes MiniBoss
			Item "Soldier's Stash"
			Item "Head Banger"
			Attributes UseBossHealthBar
			AlwaysGlow 1			
			WeaponResist
			{
				"TF_WEAPON_MINIGUN"	0.6	//fuck you, play a more interesting class
			}			
			ItemModel 
			{
				ItemName "Soldier's Stash" //RAF
				Model "models/player/items/soldier/grfs_soldier.mdl"
			}
			ItemAttributes
			{
			ItemName "Soldier's Stash"
			"attachment size" 1.35
			}			
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"fire input on hit" "popscript^$launcherReloadOnKill^"
				"preserve ubercharge" 1 //one rocket back per hit
				"faster reload rate" 0.6
				"fire rate bonus" 0.1
				"clip size upgrade atomic" 5.0
				"Projectile speed increased" 0.65
				"damage bonus" 0.7 //30% damage penalty
			}			
			CharacterAttributes
			{
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
				"move speed bonus"	0.5
			}			
		}
		T_TFBot_Soldier_Chief_Spammer_Indirect
		{
			Class Soldier
			Skill Expert
			Name "Clone Commander"
			Health 22000
			ClassIcon soldier_spammer_giant
			WeaponRestrictions PrimaryOnly
			Attributes HoldFireUntilFullReload
			Attributes MiniBoss	
			Item "Soldier's Stash"
			Item "Head Banger"
			Attributes UseBossHealthBar
			AlwaysGlow 1			
			WeaponResist
			{
				"TF_WEAPON_MINIGUN"	0.6	//fuck you, play a more interesting class
			}			
			ItemModel 
			{
				ItemName "Soldier's Stash" //RAF
				Model "models/player/items/soldier/grfs_soldier.mdl"
			}
			ItemAttributes
			{
			ItemName "Soldier's Stash"
			"attachment size" 1.35
			}
			ItemAttributes
			{
				ItemName "TF_WEAPON_ROCKETLAUNCHER"
				"faster reload rate" -0.8
				"fire rate bonus" 0.3
				"projectile gravity" 300
				"projectile spread angle penalty" 5
			}			
			CharacterAttributes
			{
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
				"move speed bonus"	0.5		
			}			
		}
		T_TFBot_Soldier_Chief_Direct_Nuke
		{
			Class Soldier
			Skill Expert
			Name "Clone Commander"
			Health 22000
			Item "The Direct Hit"
			ClassIcon soldier_directhit_giant
			WeaponRestrictions PrimaryOnly
			Attributes HoldFireUntilFullReload
			Attributes MiniBoss
			Item "Soldier's Stash"
			Item "Head Banger"
			Attributes UseBossHealthBar
			AlwaysGlow 1			
			WeaponResist
			{
				"TF_WEAPON_MINIGUN"	0.6	//fuck you, play a more interesting class
			}			
			ItemModel 
			{
				ItemName "Soldier's Stash" //RAF
				Model "models/player/items/soldier/grfs_soldier.mdl"
			}
			ItemAttributes
			{
			ItemName "Soldier's Stash"
			"attachment size" 1.35
			}			
			ItemAttributes
			{
				ItemName "The Direct Hit"
				"faster reload rate" 0.2
				"fire rate bonus" 2.25
				"damage bonus" 0.75 //makes blast radius less harmful
				"mult dmg direct hit" 3
				"hand scale" 1.25
				"dmg bonus vs buildings" 4 //so this template gets assblasted less by the wrangler existing	
				"blast radius increased"			1.5
				"use large smoke explosion"			1
				"mult dmg vs giants" 2 //so reflects give him the big ouchie more.				
			}				
			CharacterAttributes
			{
				"damage force reduction" 0.4
				"airblast vulnerability multiplier" 0.4
				"override footstep sound set" 3
				"move speed bonus"	0.5		
			}			
			SpawnTemplate "clone_commander_final_pt"
		}		
	}
	ExtraSpawnPoint 
	//W2 OR gate spawn mirror
    {
        Name "spawnbot_gated_right"
        TeamNum 5
        X	"1307.99"    
        Y	"-41.90"                  
        Z	"2107.35"             
    }
	ExtraSpawnPoint 
	//W2 OR gate spawn mirror
    {
        Name "spawnbot_gated_left"
        TeamNum 5
        X	"1364.1"    
        Y	"2030.39"                  
        Z	"2114.93"             
    }	
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support1_right"
        TeamNum 5
        X	"1307.99"    
        Y	"-41.90"                  
        Z	"2107.35"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support2_right"
        TeamNum 5
        X	"1307.99"    
        Y	"-41.90"                  
        Z	"2107.35"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support3_right"
        TeamNum 5
        X	"1307.99"    
        Y	"-41.90"                  
        Z	"2107.35"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support4_right"
        TeamNum 5
        X	"1307.99"    
        Y	"-41.90"                  
        Z	"2107.35"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support1_center"
        TeamNum 5
        X	"1466.08"    
        Y	"1143.6"                  
        Z	"2281.68"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support2_center"
        TeamNum 5
        X	"1466.08"    
        Y	"1143.6"                  
        Z	"2281.68"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support3_center"
        TeamNum 5
        X	"1466.08"    
        Y	"1143.6"                  
        Z	"2281.68"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support4_center"
        TeamNum 5
        X	"1466.08"    
        Y	"1143.6"                  
        Z	"2281.68"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support1_left"
        TeamNum 5
        X	"1364.1"    
        Y	"2030.39"                  
        Z	"2114.93"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support2_left"
        TeamNum 5
        X	"1364.1"    
        Y	"2030.39"                  
        Z	"2114.93"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support3_left"
        TeamNum 5
        X	"1364.1"    
        Y	"2030.39"                  
        Z	"2114.93"             
    }
	ExtraSpawnPoint 
	//Clone Commander Support spawn mirrors
    {
        Name "spawnbot_support4_left"
        TeamNum 5
        X	"1364.1"    
        Y	"2030.39"                  
        Z	"2114.93"             
    }	
	PointTemplates
	{
		misc_logic
		{	
			logic_relay
			{
			"targetname" "support_wipe"
			"onspawn" "spawnbot_support*,Disable,,0,-1"
			"onspawn" "spawnbot_gated*,Disable,,0,-1"
			"ontrigger" "spawnbot_support*,Disable,,0,-1"
			}
			logic_relay
			{
			"targetname" "support1_activate"
			"ontrigger" "spawnbot_support1*,Enable,,0,1"
			}
			logic_relay
			{
			"targetname" "support2_activate"
			"ontrigger" "spawnbot_support2*,Enable,,0,1"
			}	
			logic_relay
			{
			"targetname" "support3_activate"
			"ontrigger" "spawnbot_support3*,Enable,,0,1"
			}
			logic_relay
			{
			"targetname" "support4_activate"
			"ontrigger" "spawnbot_support4*,Enable,,0,1"
			}
			logic_relay
			{
			"targetname" "CC_Phase1"
			"ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤ ❤ ❤,0.25,-1"
			"ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed {FF0000} -Firing Speed,0,-1"
			"ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}Cyclord's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1"
			"onTrigger" "w5_music_player,PlaySound,,0,-1"
			}
			logic_relay
			{
			"targetname" "CC_Phase2"
			"ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤ ❤,0.25,-1"
			"ontrigger" "player,$DisplayTextChat,{00FF00}+Reload On Hit +Clip Size{FF0000} +Downtime -Damage -IQ,0,-1"
			}
			logic_relay
			{
			"targetname" "CC_Phase3"
			"ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}❤ ❤ ❤,0.25,-1"
			"ontrigger" "player,$DisplayTextChat,{00FF00}+Firing Speed{FF0000}-Precision,0,-1"
			}
			logic_relay
			{
			"targetname" "CC_Phase4"
			"ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}NONE,0.25,-1"
			"ontrigger" "player,$DisplayTextChat,{00FF00}+Numbers,0,-1"
			"ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}The Captain's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1"
			"OnTrigger" "w5_music_player,Volume,0.01,0,-1"
			"OnTrigger" "w5_music_player_final,PlaySound,,0,-1"
			}
			logic_relay
			{
			"targetname" "CC_Phase5"
			"ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}LAST CLONE,0,-1"
			"ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed +Blast Radius{FF0000}-Firing Speed,0,-1"
			}
			logic_relay
			{
			"targetname" "w5_music_end"
			"OnTrigger" "w5_music_player_final,Volume,0.01,0,-1"
			}			
			//Credit to Myeh (known as Sword Bot Mk 3 on youtube), who is the one who ripped these
			//Videos these tracks came from:
			//https://www.youtube.com/watch?v=LQAyH7kFwXo
			//https://www.youtube.com/watch?v=-zhfbFJf6iI
			ambient_generic
			{
				"targetname" "w5_music_player"
				"message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3"
				"health" "10"
				"radius" "69420"
				"spawnflags" "17"
			}
			ambient_generic
			{
				"targetname" "w5_music_player_final"
				"message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3"
				"health" "10"
				"radius" "69420"
				"spawnflags" "17"
			}
			//Copied from claudz's utility set up, see the comment on goopmakershort for source file
            filter_activator_class
            {
                "targetname" "filter_is_player"
                "Negated" "0"
                "filterclass" "player"
            }
            filter_activator_tfteam 
            {
                "targetname" "filter_is_blue"
                "Negated"    "0"
                "TeamNum"    "3"
            }	
            filter_activator_tfteam 
            {
                "targetname" "filter_is_red"
                "Negated"    "0"
                "TeamNum"    "2"
            }
            filter_multi 
            {
                "targetname" "filter_is_red_player"
                "Negated"    "0"
                "FilterType" "0" //and                
                "Filter01"   "filter_is_red"
                "Filter02"   "filter_is_player"
            }
            filter_tf_condition
            {
                "targetname" "_filter_is_not_ubered"
                "Negated"    "1"
                "condition"  "5" //medigun uber
            }
            filter_tf_condition
            {
                "targetname" "_filter_is_not_ubered2"
                "Negated"    "1"
                "condition"  "52" //canteen uber
            }
            filter_tf_condition
            {
                "targetname" "_filter_is_not_ubered3"
                "Negated"    "1"
                "condition"  "51" //hidden uber
            }
            filter_tf_condition
            {
                "targetname" "_filter_is_not_ubered4"
                "Negated"    "1"
                "condition"  "57" //WoF uber
            }
            filter_multi 
            { // is red player, AND is NOT ubered
                "targetname" "filter_is_red_not_ubered"
                "Negated"    "0"
                "FilterType" "0" //and                
                "Filter01"   "filter_is_red"
                "Filter02"   "_filter_is_not_ubered"
                "Filter03"   "_filter_is_not_ubered2"
                "Filter04"   "_filter_is_not_ubered3"
                "Filter05"   "_filter_is_not_ubered4"
                "Filter06"   "filter_is_player"
            }
            filter_multi 
            {
                "targetname" "filter_not_ubered"
                "Negated"    "0"
                "FilterType" "0"
                "Filter01"   "_filter_is_not_ubered"
                "Filter02"   "_filter_is_not_ubered2"
                "Filter03"   "_filter_is_not_ubered3"
                "Filter04"   "_filter_is_not_ubered4"
                "Filter05"   "filter_is_player"
            }			
		}
		danger_indicator
		{
			prop_dynamic
			{
				"model" "models/props_gameplay/cap_circle_320.mdl"
				"disableshadows" 1
				"modelscale" "0.625"
				"targetname" danger_indicator
				"skin" 2
				"origin" "0 0 -0.2"
			}
			prop_dynamic
			{
				"model" "models/props_gameplay/cap_circle_320.mdl"
				"disableshadows" 1
				"modelscale" "0.625"
				"targetname" danger_indicator
				"skin" 2
				"origin" "0 0 15"
			}
		}
		//This pair of templates has been made by Claudz, for night of the living bread (https://testing.potato.tf/tf/scripts/population/mvm_boogge_rc3d_adv_night_of_the_living_bread.pop)
		//Used with permission		
        goopMakerShort
        {
            KeepAlive 1
            //RemoveIfKilled "makercore"
            info_target
            {
                "targetname" "makercore"
                "origin" "0 0 100"
                "origin" "$Offset$"
            }
            env_entity_maker
            {   
                "targetname" "goop_maker"
                "entitytemplate" "goopShort"
                "$autoparent" "0"
                "$modules" "fakeparent"
                "$SetFakeParent" "makercore"
                "$positiononly" "1"
                "origin" "0 0 100"
                "origin" "$Offset$"
            }
            OnSpawnOutput
            {
                Target "goospawner"
                Action "$SetFakeParent"
                Param "makercore"
                Delay  0
            }
            logic_relay
            {
                "targetname" "goospawner"
                "OnTrigger"  "goop_maker,ForceSpawn,,0,-1"
                "OnTrigger"  "!self,Trigger,,0.8,-1"
                "spawnflags" "2"
            }
            OnSpawnOutput
            {
                Target "goospawner"
                Action "Trigger"
                Delay  2.5
                Delay "$Fuse$"
            }
            OnSpawnOutput
            {
                Target "goop_maker"
                Action "ForceSpawn"
                Delay  1.5
            }
            // OnParentKilledOutput
            // {
            //     Target "goot_maker"
            //     Action "RunScriptCode"
            //     Param  "ClientPrint(null,3,`testtest`)"
            //     Delay  0.0
            // }
            OnParentKilledOutput
            {
                Target "goop_maker"
                Action "ForceSpawn"
                Delay  0.0
            }
            OnParentKilledOutput
            {
                Target "makercore"
                Action "kill"
                Delay  0.2
            }
            OnParentKilledOutput
            {
                Target "goop_maker"
                Action "kill"
                Delay  0.1
            }
            OnParentKilledOutput
            {
                Target "goospawner"
                Action "kill"
                Delay  0.1
            }
        }
        goopShort
        {
            //RemoveIfKilled "goopPhys"
            OnSpawnOutput
            {
                Target "goologic"
                Action "Trigger"
                Delay  0.0
            }
            logic_relay
            {
                "targetname" "goologic"
                "OnTrigger"  "goopProp,$SetKey$renderfx,7,0.9,-1"
                "OnTrigger"  "goopProp,$SetKey$renderfx,0,2.6,-1"
                "OnTrigger"  "goopProp,$SetKey$renderamt,200,2.6,-1"
                "OnTrigger"  "goopPhys,DisableMotion,,3,-1"
                "OnTrigger"  "goopHurt,Enable,,1.0,-1"
                "OnTrigger"  "goopBubble,Start,,0.5,-1"
                "OnTrigger"  "goopSplash,Start,,0.2,-1"
                "OnTrigger"  "goopBubble,Stop,,1,-1"
                "OnTrigger"  "goopHurt,Disable,,4,-1"
                "OnTrigger"  "goopProp,$SetKey$renderfx,5,2.7,-1"
                "OnTrigger"  "goopPhys,kill,,5,-1"
                "OnTrigger"  "goopProp,kill,,5,-1"
                "OnTrigger"  "goopHurt,kill,,5,-1"
                "OnTrigger"  "goopSplash,kill,,5,-1"
                "OnTrigger"  "goopBubble,kill,,5,-1"
                "OnTrigger"  "!self,kill,,5.1,-1"

                "spawnflags" "1"
            }
            prop_dynamic
            {
                "targetname" "goopProp"
                "parentname" "goopPhys"
                "model"      "models/props_invasion/2fort/chem_spill_1.mdl"
                "skin"       "0"
                "origin"     "0 0 2"
                "angles"     "0 0 0"
                "modelscale" "1.0"
                "solid"      "0"
                "rendermode" "1"
                "renderfx"   "0"
                "renderamt"  "0"
                "rendercolor" "235 255 66"
                "disableshadows" "1"
            }
            prop_dynamic
            {
                "targetname" "goopPropBack"
                "parentname" "goopPhys"
                "model"      "models/props_invasion/2fort/chem_spill_1.mdl"
                "skin"       "0"
                "origin"     "0 0 -2"
                "angles"     "180 0 0"
                "modelscale" "1.0"
                "solid"      "0"
                "rendermode" "1"
                "renderfx"   "0"
                "renderamt"  "0"
                "rendercolor" "235 255 66"
                "disableshadows" "1"
            }
            // OnSpawnOutput
            // {
            //     Target "goopProp"
            //     Action "SetLocalAngles"
            //     Param  "$$='0 '..string(randomint(0, 360))..' 0'"
            //     Delay  0.1
            // }
            prop_physics_multiplayer
            {
                "targetname" "goopPhys"
                "model" "models/props_mvm/sack_stack_pallet.mdl" //"models/props_hydro/barrel_crate_half.mdl"
                "modelscale" "0.4"
                "rendermode" "10"
                "renderamt" "0"
                "physicsmode" "2"
                "origin" "0 0 0"
                "angles" "0 0 0"
                "massScale" "4.0"
                "disableshadows" "1"
                //"spawnflags" "4194304"
                "spawnflags" "4"
            }
            // trigger_hurt
            // {
            //     "parentname" "goopPhys"
            //     "targetname" "goopHurt"
            //     "origin" "0 0 0"
            //     "angles" "0 0 0"
            //     "mins" "-45 -20 -45"
            //     "maxs" "45 15 45"
            //     "damagetype" "262144"
            //     "damage" "2"
            //     "StartDisabled" "1"
            //     "spawnflags" "64"
            //     "filtername" "filter_is_red_not_ubered"
            //     "OnHurtPlayer" "!activator,bleedplayer,2,0,-1"
            //     "OnHurtPlayer" "!activator,$AddCond,24 1.5,0,-1"
            //     "OnHurtPlayer" "!activator,$AddCond,48 1.5,0,-1"
            //     //"OnHurtPlayer" "!activator,$AddCond,32 1.5,0,-1"
            //     //"OnHurtPlayer" "!activator,$PlaySoundToSelf,=40|weapons\grappling_hook_impact_flesh.wav,0,-1"
            // }
            trigger_multiple
            {
                "parentname" "goopPhys"
                "targetname" "goopHurt"
                "origin" "0 0 0"
                "angles" "0 0 0"
                "mins" "-45 -20 -45"
                "maxs" "45 15 45"
                "spawnflags" "1"
                "wait" "0.5"
                //"OnTrigger" "!activator,bleedplayer,0.1,0,-1"
                "OnTrigger" "!activator,$AddCond,24 1.5,0,-1"
                "OnTrigger" "!activator,$AddCond,48 1.5,0,-1"
                "OnTrigger" "!activatorRunScriptCodeself.TakeDamageEx(custom_acid_dmg, activator, null, Vector(), Vector(), 3, 0)0-1"
                "OnTrigger" "!activator,$PlaySoundToSelf,=30|weapons\3rd_degree_hit_01.wav,0,-1"
                "filtername" "filter_is_red_not_ubered"
            }
            trigger_multiple
            {
                "parentname" "goopPhys"
                "targetname" "goopHurt"
                "origin" "0 0 0"
                "angles" "0 0 0"
                "mins" "-45 -20 -45"
                "maxs" "45 15 45"
                "spawnflags" "1"
                "wait" "0.2"
                "OnTrigger" "!activator,$AddCond,32 1,0,-1"
                "filtername" "filter_is_player"
            }

            info_particle_system
            {
                "targetname"   "goopBubble"
                "parentname"   "goopProp"
                "origin"       "0 0 0"
                "effect_name"  "utaunt_bubbles_glow_green_parent"
                "start_active" "0"
            }
            info_particle_system
            {
                "targetname"   "goopSplash"
                "parentname"   "goopProp"
                "origin"       "0 0 0"
                "effect_name"  "breadjar_impact"
                "start_active" "0"
            }
        }		
	}
	
	//absent in the three example missions for this map for some unfathomable reason.
	Mission
	{
		Where spawnbot
		Objective DestroySentries
		InitialCooldown 35
		BeginAtWave 1
		RunForThisManyWaves 6
		CooldownTime 40
		DesiredCount 1
		TFBot
		{
			Template T_TFBot_SentryBuster
		}
	}
	Mission
	{
		Where spawnbot
		Objective Spy
		InitialCooldown 10
		BeginAtWave 4
		RunForThisManyWaves 1
		CooldownTime 25
		DesiredCount 3
		TFBot
		{
			Class Spy
			Skill Expert
		}
	}
	Mission
	{
		Where spawnbot
		Objective Sniper
		InitialCooldown 10
		BeginAtWave 4
		RunForThisManyWaves 1
		CooldownTime 25
		DesiredCount 2
		TFBot
		{
			Template T_TFBot_Sniper
		}
	}
	SpawnTemplate "misc_logic"	

	// WAVE 1 [$500]
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		//  [$0]
		WaveSpawn
		{
			Name  "wave01a1"
			Where spawnbot

			TotalCount 9
			MaxActive  6
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  15

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Soldier_Spammer_Reload_Acid
					ShootTemplate
					{
						Name "goopMakerShort"
						AttachToProjectile 1
						ItemName "TF_WEAPON_ROCKETLAUNCHER"
					}
				}
				TFBot
				{
				Template T_TFBot_Medic_Battalion
				}
				TFBot
				{
				Template T_TFBot_Medic_Battalion
				}				
			}
		}
		//  [$0]
		WaveSpawn
		{
			Name "wave01a"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 30
			MaxActive  8
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  0.6

			TFBot 
			{ 
			Template T_TFBot_Pyro_Flaregun
			Skill Normal
			}
		}		

// Wait for w1 commons to spawn, and for w1 giant combos to die before continuing
				WaveSpawn
		{
			Name "wave01Signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 2
			WaitForAllDead     "wave01a1"

		}
				WaveSpawn
		{
			Name "wave01Signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 2
			WaitForAllSpawned     "wave01a"

		}		
		
		//  [$0]
		WaveSpawn
		{
			Name  "wave01b"
			Where spawnbot_left

			TotalCount 24
			MaxActive  8
			SpawnCount 5
			TotalCurrency 150

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.2
			WaitForAllDead "wave01Signaller"

			TFBot 
			{ 
			Class Scout
			Skill Normal
			}
		}
		//  [$0]
		WaveSpawn
		{
			Name  "wave01b"
			Where spawnbot_left

			TotalCount 12
			MaxActive  5
			SpawnCount 2
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.8
			WaitForAllDead "wave01Signaller"

			TFBot 
			{ 
				Template T_TFBot_Demo_Acid_Loch
				ShootTemplate
				{
					Name "goopMakerShort"
					AttachToProjectile 1
					ItemName "the loch-n-load"
				}			
			}				
		}
		//  [$0]
		WaveSpawn
		{
			Name  "wave01b1"
			Where spawnbot

			TotalCount 3
			MaxActive  3
			SpawnCount 1
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  12
			WaitForAllDead "wave01Signaller"

			TFBot 
			{ 
			Template T_TFBot_Giant_Pyro
			Attributes AlwaysFireWeapon
			}				
		}

		//  [$0]
		WaveSpawn
		{
			Name  "wave01c1"
			Where spawnbot

			TotalCount 6
			MaxActive  6
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 12
			WaitBetweenSpawns  18
			WaitForAllSpawned "wave01b1"

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Demo_Acid_Loch
					ShootTemplate
					{
						Name "goopMakerShort"
						AttachToProjectile 1
						ItemName "the loch-n-load"
					}
				}
				TFBot
				{
					Template T_TFBot_Medic_Battalion
				}				
			}			
		}
		//  [$0]
		WaveSpawn
		{
			Name  "wave01c"
			Where spawnbot

			TotalCount 12
			MaxActive  5
			SpawnCount 3
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  2
			WaitForAllDead "wave01b1"
			Support Limited

			TFBot 
			{ 
			Class Heavy
			Skill Easy
			}				
		}

		//  [$0]
		WaveSpawn
		{
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 100
			MaxActive  6
			SpawnCount 3
			TotalCurrency 100

			WaitBeforeStarting 7
			WaitBetweenSpawns  2
			WaitForAllSpawned "wave01b"
			Support 1

			TFBot 
			{ 
			Template T_TFBot_Demo_Persian
			}				
		}		

		
	}
	// WAVE 2 [$500]
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
//  [$0]
				WaveSpawn
		{
			Name  "wave02a1"
			Where spawnbot

			TotalCount 12
			MaxActive  9
			SpawnCount 3
			TotalCurrency 25

			WaitBeforeStarting 0
			WaitBetweenSpawns  12

			Squad
			{
				TFBot 
				{ 
				Template T_TFBot_Giant_Sniper
				UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl"
				Skill Hard
				}
				TFBot
				{
				Template T_TFBot_Medic
				}
				TFBot
				{
				Template T_TFBot_Medic
				}				
			}
		}
//  [$0]
				WaveSpawn
		{
			Name  "wave02a"
			Where spawnbot_left
			Where spawnbot_right
			Where spawnbot

			TotalCount 26
			MaxActive  6
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.1

			RandomChoice
			{
				TFBot 
				{ 
				Class Soldier
				Skill Normal
				}
				TFBot 
				{ 
				Class Soldier
				Skill Normal
				}
				TFBot 
				{ 
				Class Soldier
				Skill Normal
				}				
				TFBot 
				{ 
				Class Soldier
				Skill Easy
				}
				TFBot 
				{ 
				Class Soldier
				Skill Easy
				}
				TFBot 
				{ 
				Class Soldier
				Skill Normal
				}				
			}
		}		


//  [$0]
				WaveSpawn
		{
			Name  "wave02b1"
			Where spawnbot

			TotalCount 9
			MaxActive  9
			SpawnCount 3
			TotalCurrency 30

			WaitBeforeStarting 0
			WaitBetweenSpawns  16
			WaitForAllDead "wave02a1"

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Sniper_Huntsman_Spammer_No_Trishot
					Skill Normal
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
				}
				TFBot
				{
					Template T_TFBot_Heavyweapons_Fist
				}				
			}
		}
//  [$0]
				WaveSpawn
		{
			Where spawnbot

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 30

			WaitBeforeStarting 0
			WaitBetweenSpawns  16
			WaitForAllDead "wave02a1"
			FirstSpawnMessage "{6666FF}Tank deployed with 17.5k (17500) HP!"

			Tank
			{
				Health	17500
				Name	Tank
				Speed	75
				StartingPathTrackNode	boss_path_1
				OnKilledOutput
				{
					Target	boss_dead_relay
					Action	Trigger
				}
				OnBombDroppedOutput
				{
					Target	boss_deploy_relay
					Action	Trigger
				}
			}
		}	
//  [$0]
				WaveSpawn
		{
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 350
			MaxActive  10
			SpawnCount 4
			TotalCurrency 350

			WaitBeforeStarting 0
			WaitBetweenSpawns  0.85
			WaitForAllDead "wave02a1"
			Support 1

			TFBot 
			{ 
				Template T_TFBot_Scout_Scatterbonk
			}				
		}
		//thank you package
		WaveSpawn
        {
            WaitBeforeStarting 25
            WaitForAllSpawned wave02b1
            FirstSpawnOutput
            {
                 Target wave_start_relay
                Action RunScriptCode
                Param "
                    EntFire(`spawnbot_gated*`, `Enable`)
                "
            }
        }
        WaveSpawn
        {
            WaitBeforeStarting 0
            WaitForAllDead wave02b1
            FirstSpawnOutput
            {
                 Target wave_start_relay
                Action RunScriptCode
                Param "
                    EntFire(`spawnbot_gated*`, `Enable`)
                "
            }
        }		

				WaveSpawn
		{
			Name  "wave02c1"
			Where spawnbot_gated_left

			TotalCount 4
			MaxActive  4
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  9
			WaitForAllDead "wave02a1"

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Sniper_Carbine
				}
				TFBot
				{
					Template T_TFBot_Giant_Demo_Crit
				}
			}			
		}
				WaveSpawn
		{
			Name  "wave02c2"
			Where spawnbot_gated_right

			TotalCount 2
			MaxActive  2
			SpawnCount 2
			TotalCurrency 40

			WaitBeforeStarting 13
			WaitBetweenSpawns  9
			WaitForAllSpawned "wave02c1"

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Sniper_Carbine
				}
				TFBot
				{
					Template T_TFBot_Giant_Demo_Crit
				}
			}			
		}			
	}
		// WAVE 3 [$500]
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		
		//  [$0]
		WaveSpawn
		{
			Name  "wave03a"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 42
			MaxActive  9
			SpawnCount 4
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.7

			RandomChoice
			{
				TFBot 
				{ 
				Class Demoman
				Skill Normal
				}
				TFBot 
				{ 
				Class Demoman
				Skill Easy
				}				
			}
		}		
		//  [$0]
		WaveSpawn
		{
			Name "wave03a1"
			Where spawnbot

			TotalCount 8
			MaxActive  4
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  16

			Squad
			{
				TFBot 
				{ 
				Template T_TFBot_Giant_Soldier_Cowmangler_Charged
				}
				TFBot
				{
				Template T_TFBot_Medic_Bigheal
				}
			}
		}

// DUMMY
				WaveSpawn
		{
			Name "wave03signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "wave03a1"
		}
// DUMMY
				WaveSpawn
		{
			Name "wave03signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllSpawned     "wave03a"
		}		
		
		
		
		//  [$0]
		WaveSpawn
		{
			Name "wave03b1"
			Where spawnbot

			TotalCount 6
			MaxActive  4
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  15
			WaitForAllDead "wave03signaller"

			Squad
			{
				TFBot 
				{ 
				Template T_TFBot_Giant_Soldier_RocketShotgun_Giga
				}
				TFBot
				{
				Template T_TFBot_Medic_Bigheal
				}				
			}
		}
		//  [$0]
		WaveSpawn
		{
			Name "wave03b"
			Where spawnbot

			TotalCount 24
			MaxActive  5
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.3
			WaitForAllDead "wave03signaller"

			TFBot 
			{ 
			Template T_TFBot_Sniper_Huntsman
			}
		}		
		//  [$0]
		WaveSpawn
		{
			Name "wave03b"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 8
			MaxActive  3
			SpawnCount 1
			TotalCurrency 75

			WaitBeforeStarting 2
			WaitBetweenSpawns  5.2
			WaitForAllDead "wave03signaller"

			TFBot 
			{ 
			Template T_TFBot_Pyro_EOI_MiniGiant
			}
		}


		//  [$0]
		WaveSpawn
		{
			Name "wave03c1"
			Where spawnbot

			TotalCount 9
			MaxActive  9
			SpawnCount 3
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  12
			WaitForAllDead "wave03b1"

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Soldier_Nuke
					ItemAttributes
					{
						ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER"
						"dmg bonus vs buildings" 1
					}				
				}
				TFBot 
				{ 
					Template T_TFBot_Medic
				}
				TFBot 
				{ 
					Template T_TFBot_Medic
				}			
			}
		}		
		
		//  [$0]
		WaveSpawn
		{
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 75
			MaxActive  3
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  2.6
			WaitForAllDead "wave03b1"
			Support 1

			TFBot 
			{ 
			Template T_TFBot_Sniper_Fetchflag
			}
		}		
		
		

		//  [$0]
		WaveSpawn
		{
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 75
			MaxActive  12
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 3
			WaitBetweenSpawns  0.65
			WaitForAllSpawned "wave03b"
			Support 1

			RandomChoice
			{
				TFBot 
				{ 
				Template T_TFBot_Heavy_Reg_Gauntlet
				}
				TFBot 
				{ 
				Template T_TFBot_Heavy_Reg_Gauntlet
				}
				TFBot 
				{ 
				Name "randomgauntlet"
				Template T_TFBot_Heavy_Reg_Gauntlet
				}				
			}
		}
	}
	// WAVE 4 [$500]
	Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
		//  [$0]
		WaveSpawn
		{
			Name "wave04a1"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 9
			MaxActive  9
			SpawnCount 3
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  15

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Giant_Soldier_SlowBarrage
				}
				TFBot 
				{ 
					Template T_TFBot_Medic
				}
				TFBot 
				{ 
					Template T_TFBot_Medic
				}				
			}
		}
		WaveSpawn
		{
			Name "wave04a"
			Where spawnbot

			TotalCount 20
			MaxActive  7
			SpawnCount 4
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  2

			TFBot 
			{ 
			Class Heavy
			Skill Easy
			}
		}
// DUMMY
				WaveSpawn
		{
			Name "wave04signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "wave04a1"
		}
				WaveSpawn
		{
			Name "wave04signaller"
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 5
			WaitForAllSpawned     "wave04a"
		}		

		WaveSpawn
		{
			Name "wave04b"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 32
			MaxActive  7
			SpawnCount 3
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  2
			WaitForAllDead "wave04signaller"

			TFBot 
			{ 
				Template T_TFBot_Pyro_DragonsFury
			}
		}
		WaveSpawn
		{
			Name "wave04b1"
			Where spawnbot

			TotalCount 6
			MaxActive  4
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  15
			WaitForAllDead "wave04signaller"

			Squad
			{
				TFBot 
				{ 
				Template T_TFBot_Giant_Heavyweapons
				Skill Normal //so pyro can play the game
				}
				TFBot 
				{ 
				Template T_TFBot_Medic_Kritz_Armored
				}						
			}
		}

		WaveSpawn
		{
			Name "wave04c1"
			Where spawnbot

			TotalCount 6
			MaxActive  6
			SpawnCount 2
			TotalCurrency 75

			WaitBeforeStarting 0
			WaitBetweenSpawns  26
			WaitForAllDead "wave04b1"

				Squad
				{

					TFBot
					{
					Template T_TFBot_Giant_Soldier_Crit_Spammer
					}
					TFBot 
					{ 
					Template T_TFBot_Giant_Medic_Regen
					}					
				}				
		}
		WaveSpawn
		{
			Where spawnbot_left

			TotalCount 100
			MaxActive  7
			SpawnCount 2
			TotalCurrency 100

			WaitBeforeStarting 8
			WaitBetweenSpawns  1.13
			WaitForAllSpawned "wave04b"
			Support 1

			TFBot 
			{ 
			Template T_TFBot_Soldier_Shotgun_Charge_NoShield
			}
		}
		WaveSpawn
		{
			Where spawnbot_right

			TotalCount 100
			MaxActive  4
			SpawnCount 3
			TotalCurrency 100

			WaitBeforeStarting 8
			WaitBetweenSpawns  3
			WaitForAllSpawned "wave04b"
			Support 1

			TFBot 
			{ 
			Template T_TFBot_Soldier_Shotgun_Charge_NoShield
			}
		}		
		
	}
// WAVE 5 [$500]
		Wave
	{
		StartWaveOutput
		{
			Target wave_start_relay
			Action Trigger
		}
		DoneOutput
		{
			Target wave_finished_relay
			Action Trigger
		}
//  [$50]
				WaveSpawn
		{
			Name  "wave05a"
			Where spawnbot

			TotalCount 26
			MaxActive  8
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 0
			WaitBetweenSpawns  1.5
			
				TFBot 
				{ 
					Template T_TFBot_Spy_Enforcer_Cola
					Skill Easy
				}
		}
//  [$0]
				WaveSpawn
		{
			Name  "wave05a1"
			Where spawnbot_left
			Where spawnbot_right

			TotalCount 6
			MaxActive  6
			SpawnCount 2
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  16

			Squad
			{
				TFBot 
				{ 
					Template T_TFBot_Pyro_DragonsFury_Fuel_Injected_Giant //has to be fast to be useful
				}
				TFBot
				{
					Template T_TFBot_Giant_Medic_Regen
				}
			}
		}
		// DUMMY
		WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			Name "wave05signaller"
			WaitForAllDead     "wave05a1"
		}
		// DUMMY
		WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 4
			Name "wave05signaller"
			WaitForAllSpawned     "wave05a"
		}		
//  [$50]
				WaveSpawn
		{
			Name  "wave05b1"
			Where spawnbot

			TotalCount 12
			MaxActive  12
			SpawnCount 4
			TotalCurrency 200

			WaitBeforeStarting 0
			WaitBetweenSpawns  18
			WaitForAllDead     "wave05signaller"

			Squad
			{
				TFBot 
				{ 
				Template T_TFBot_Giant_Heavyweapons_Conch
				Skill Normal //so pyro can play the game
				}
				TFBot
				{
				Template T_TFBot_Heavy_Minigiant
				}
				TFBot
				{
				Template T_TFBot_Heavy_Minigiant
				}
				TFBot
				{
				Template T_TFBot_Medic
				}
			}
		}		
	//  [$50]
			WaveSpawn
		{
			Name  "wave05b"
			Where spawnbot_right

			TotalCount 12
			MaxActive  4
			SpawnCount 2
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  1
			WaitForAllDead     "wave05signaller"

			TFBot 
			{ 
			Class Soldier
			Skill Normal
			}
		}
	//  [$50]
			WaveSpawn
		{
			Name  "wave05b"
			Where spawnbot_left

			TotalCount 26
			MaxActive  6
			SpawnCount 4
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  0.2
			WaitForAllDead     "wave05signaller"

			TFBot 
			{ 
			Class Pyro
			Skill Easy
			}
		}		
		
//  [$0]
				WaveSpawn
		{
			Where spawnbot_support1_left
			Where spawnbot_support1_right

			TotalCount 50
			MaxActive  5
			SpawnCount 2
			TotalCurrency 50

			WaitBeforeStarting 3
			WaitBetweenSpawns  2
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Class Demoman
				Skill Normal 
			}
		}
//  [$0]
				WaveSpawn
		{
			Where spawnbot_support1_left
			Where spawnbot_support1_right

			TotalCount 50
			MaxActive  5
			SpawnCount 2
			TotalCurrency 50

			WaitBeforeStarting 3
			WaitBetweenSpawns  2
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Template T_TFBot_Sniper_Huntsman
				Skill Normal
			}
		}

//  [$0]
				WaveSpawn
		{
			Where spawnbot_support2_center

			TotalCount 50
			MaxActive  3
			SpawnCount 1
			TotalCurrency 50

			WaitBeforeStarting 2
			WaitBetweenSpawns  2
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Class Heavy
				Skill Easy				
			}
		}
//  [$0]
				WaveSpawn
		{
			Where spawnbot_support2_left
			Where spawnbot_support2_right

			TotalCount 50
			MaxActive  7
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 2
			WaitBetweenSpawns  0.4
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Template T_TFBot_Demoman_Knight
				Skill Normal
			}
		}

//  [$0]
				WaveSpawn
		{
			Where spawnbot_support3_left
			Where spawnbot_support3_right
			Where spawnbot_support3_center

			TotalCount 50
			MaxActive  10
			SpawnCount 3
			TotalCurrency 50

			WaitBeforeStarting 2
			WaitBetweenSpawns  0.4
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Class Scout
				Skill Expert
				WeaponRestrictions MeleeOnly
				ClassIcon scout_bat_nys
			}
		}

//  [$0]
				WaveSpawn
		{
			Where spawnbot_support4_left
			Where spawnbot_support4_right

			TotalCount 50
			MaxActive  4
			SpawnCount 2
			TotalCurrency 50

			WaitBeforeStarting 2
			WaitBetweenSpawns  2
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Class Demoman
				Skill Normal
			}
		}
//  [$0]
				WaveSpawn
		{
			Where spawnbot_support4_center

			TotalCount 50
			MaxActive  2
			SpawnCount 1
			TotalCurrency 50

			WaitBeforeStarting 2
			WaitBetweenSpawns  3
			WaitForAllSpawned     "wave05b"
			Support 1

			TFBot 
			{
				Class Heavy
				Skill Easy
			}
		}		
		
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase1"
			Where spawnbot

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  0
			WaitForAllDead     "wave05b1"
			FirstSpawnOutput
			{
				Target support1_activate
				Action Trigger
			}
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Direct_Precise
				FireInput
				{
					Target "CC_Phase1"
					Action "Trigger"
					Delay 0.01
					Repeats 1	
				}
			}			
		}
		
		
// DUMMY
				WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "CloneCommanderPhase1"

			FirstSpawnOutput
			{
				Target support_wipe
				Action Trigger
			}
		}
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase2"
			Where spawnbot

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0.01
			WaitBetweenSpawns  0
			WaitForAllDead     "CloneCommanderPhase1"
			FirstSpawnOutput
			{
				Target support2_activate
				Action Trigger
			}
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Burst_Reload_On_Hit
				FireInput
				{
					Target "CC_Phase2"
					Action "Trigger"
					Delay 0.01
					Repeats 1	
				}				
			}			
		}

// DUMMY
				WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "CloneCommanderPhase2"

			FirstSpawnOutput
			{
				Target support_wipe
				Action Trigger
			}
		}
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase3"
			Where spawnbot

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0.01
			WaitBetweenSpawns  0
			WaitForAllDead     "CloneCommanderPhase2"
			FirstSpawnOutput
			{
				Target support3_activate
				Action Trigger
			}
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Spammer_Indirect
				FireInput
				{
					Target "CC_Phase3"
					Action "Trigger"
					Delay 0.01
					Repeats 1	
				}				
			}			
		}

// DUMMY
				WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "CloneCommanderPhase3"

			FirstSpawnOutput
			{
				Target support_wipe
				Action Trigger
			}
		}
		
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase4"
			Where spawnbot_left

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0.01
			WaitBetweenSpawns  0
			WaitForAllDead     "CloneCommanderPhase3"
			FirstSpawnOutput
			{
				Target support4_activate
				Action Trigger
			}
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Spammer_Indirect
				Health 15000
				FireInput
				{
					Target "CC_Phase4"
					Action "Trigger"
					Delay 0.01
					Repeats 1	
				}				
			}			
		}
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase4"
			Where spawnbot

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0
			WaitBetweenSpawns  0
			WaitForAllDead     "CloneCommanderPhase3"
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Direct_Precise
				Health 15000
			}			
		}
		//  [$0]
		WaveSpawn
		{
			Name  "CloneCommanderPhase4"
			Where spawnbot_right

			TotalCount 1
			MaxActive  1
			SpawnCount 1
			TotalCurrency 100

			WaitBeforeStarting 0.01
			WaitBetweenSpawns  0
			WaitForAllDead     "CloneCommanderPhase3"
			TFBot 
			{
				Template T_TFBot_Soldier_Chief_Burst_Reload_On_Hit
				Health 15000
			}			
		}
// DUMMY
				WaveSpawn
		{
			TotalCount 0
			SpawnCount 0

			WaitBeforeStarting 0
			WaitForAllDead     "CloneCommanderPhase4"

			FirstSpawnOutput
			{
				Target support_wipe
				Action Trigger
			}
		}
			WaveSpawn
			{
				Where spawnbot //lower

				TotalCount 1
				MaxActive  1
				SpawnCount 1
				TotalCurrency 0

				WaitBeforeStarting 0
				WaitBetweenSpawns  0
				WaitForAllDead "CloneCommanderPhase4"
				Support Limited
				DoneOutput
				{
					Target w5_music_end
					Action Trigger
				}								
			}		

		
	}
}