#base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 20000 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom Yes Advanced 1 PrecacheModel "models\player\items\all_class\troll_head_scout.mdl" PrecacheModel "models\trollface\trollface.mdl" PrecacheModel "models\props_2fort\cowtroll_reference.mdl" PrecacheModel "models\i6nis\freddy_player.mdl" PrecacheModel "models/nuke.mdl" Wave { StartWaveOutput { Target wave_start_relay_ironman Action trigger } InitWaveOutPut { Target gamerules Action RunScriptCode Param " IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`weapon_attributes.nut`, getroottable()) MissionAttrs( { `ExtraTankPath`: [ [`-1379 916 979`, `482 989 979`, `468 -235 979`, `3004 -239 979`, `2978 -1669 979`, `3620 -1675 979`] ] PrecacheModel(`models\props_2fort\cowtroll_reference.mdl`) }) `SoundOverrides` : { `MVM.BombWarning`: `ambient/alarms/klaxon1.wav` `MVM.GiantCommonExplodes`: `npc/env_headcrabcanister/explosion.wav` `MVM.GiantCommonExplodes`: `npc/env_headcrabcanister/explosion.wav` `MVM.GiantHeavyExplodes`: `npc/env_headcrabcanister/explosion.wav` `MVM.GiantHeavyExplodes`: `npc/env_headcrabcanister/explosion.wav` } " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name "a" Where spawnbot TotalCount 50 MaxActive 6 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 TotalCurrency 1 FirstSpawnOutPut { Target A_door_open Action Trigger } TFBot { Class Soldier ClassIcon pyro_troll2 ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "custom projectile model" "models/nuke.mdl" } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 WaitForAllDead "a" TotalCurrency 1 DoneWarningSound "misc/ks_tier_04_death.wav" FirstSpawnWarningSound "misc/ks_tier_04.wav" TFBot { Template T_TFBot_Giant_Soldier Scale 10 Name "Troll" Health 100000 Tag "popext_spawnhere|-690.000 1152.000 -135.000|3" Attributes UseBossHealthBar Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "custom projectile model" "models\props_2fort\cowtroll_reference.mdl" "damage bonus" 3 "fire rate bonus" 2 "use large smoke explosion" 1 "faster reload rate" 0.1 "blast radius increased" 2 } } } } Wave { StartWaveOutput { Target wave_start_relay_ironman Action trigger } InitWaveOutPut { Target gamerules Action RunScriptCode Param " IncludeScript(`popextensions_main.nut`, getroottable()) MissionAttrs({ `ExtraTankPath`:[ [`-1379 916 979`, `482 989 979`, `468 -235 979`, `3004 -239 979`, `2978 -1669 979`, `3620 -1675 979`] ] }) PopExt.AddCustomTankIcon(`blimp2_lite`, 1, false, true, false, false) PopExt.AddTankName(`blimp`, { IsBlimp = true StartTrack = `extratankpath1_1` CritImmune = false NoScreenShake = false CrushDamageMult = 0 DisableSmoke = 1 DisableTracks = 1 Team = 3 Skin = 1 SoundOverrides = { Ping = `npc/combine_gunship/ping_search.wav` Start = `ui/chime_rd_2base_pos.wav` EngineLoop = `npc/combine_gunship/dropship_engine_distant_loop1.wav` Destroy = `ui/chime_rd_2base_neg.wav` Deploy = `ui/chime_rd_2base_neg.wav` } OnDeath = function(blimp, params) { PopExt.DecrementWaveIconSpawnCount(`blimp2_lite`, MVM_CLASS_FLAG_MINIBOSS | MVM_CLASS_FLAG_NORMAL, 1) } }) " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 TotalCurrency 1 Tank { Health 30000 Name "blimp" Speed 200 StartingPathTrackNode "extratankpath1_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave { StartWaveOutput { Target wave_start_relay_ironman Action trigger } InitWaveOutPut { Target gamerules Action RunScriptCode Param " IncludeScript(`popextensions_main`, getroottable()) ::PointTemplates <- { small_tank = { [0] = { OnSpawnOutPut = { Target = `!activator` Action = `setmodelscale` Param = `0.5` Delay = 0.05 } }, [1] = { OnSpawnOutput { Target = `!activator` Action = `addoutput` Param = `rendermode 1` Delay = 0.05 } }, [2] = { OnSpawnOutput { Target = `!activator` Action = `alpha` Param = `0` Delay = 0.06 } }, [3] = { OnSpawnOutput { Target = `tank_turret_shoot_relay` Action = `trigger` Param = `` Delay = 5 } }, [4] = { OnSpawnOutput { Target = `spawntr` Action = `trigger` Param = `` Delay = 1 } }, [5] = { OnSpawnOutput { Target = `!activator` Action = `addoutput` Param = `OnHealthBelow50Percent tank_turret_shoot_relay_super:trigger::0:-1` Delay = 1 } }, [6] = { OnSpawnOutput { Target = `!activator` Action = `addoutput` Param = `OnHealthBelow10Percent tank_turret_shoot_relay_super:trigger::0:-1` Delay = 1 } }, [7] = { prop_dynamic = { angles = QAngle(0, 180, 0) model = `models/props_frontline/tank_cart.mdl` targetname = `ST_model` DefaultAnim = idle solid = 0 } }, [8] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_grenade` angles = QAngle(3, 0, 0) origin = Vector(68, 0, 76) damage = 125 SpeedMax = 170 SpeedMin = 170 SplashRadius = 250 SpreadAngle = 2 WeaponType = 3 ModelScale = 1 ModelOverride = `models/weapons/w_models/w_grenade_grenadelauncher.mdl` onuser1 = `tank_turret_prop,setanimation,shoot_N,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` onuser2 = `!self,DetonateStickies,,2.8,-1` } }, [9] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_n` angles = QAngle(3, 0, 0) origin = Vector(68, 0, 76) damage = 100 SpeedMax = 1800 SpeedMin = 1800 SplashRadius = 180 SpreadAngle = 2 WeaponType = 0 onuser1 = `tank_turret_prop,setanimation,shoot_N,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` } }, [10] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_w` angles = QAngle(3, 90, 0) origin = Vector(-16, 62, 76) damage = 100 SpeedMax = 1800 SpeedMin = 1800 SplashRadius = 180 SpreadAngle = 2 WeaponType = 0 onuser1 = `tank_turret_prop,setanimation,shoot_W,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` } }, [11] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_nw` angles = QAngle(3, 45, 0) origin = Vector(40, 62, 76) damage = 100 SpeedMax = 1800 SpeedMin = 1800 SplashRadius = 180 SpreadAngle = 2 WeaponType = 0 onuser1 = `tank_turret_prop,setanimation,shoot_NW,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` } }, [12] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_e` angles = QAngle(3, -90, 0) origin = Vector(-16, -62, 76) damage = 100 SpeedMax = 1800 SpeedMin = 1800 SplashRadius = 180 SpreadAngle = 2 WeaponType = 0 onuser1 = `tank_turret_prop,setanimation,shoot_E,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` } }, [13] = { tf_point_weapon_mimic { targetname = `tank_turret_shooter_ne` angles = QAngle(3, -45, 0) origin = Vector(40, -62, 76) damage = 100 SpeedMax = 1800 SpeedMin = 1800 SplashRadius = 180 SpreadAngle = 2 WeaponType = 0 onuser1 = `tank_turret_prop,setanimation,shoot_NE,0,-1` onuser1 = `!self,fireuser2,,0.5,-1` onuser2 = `tank_turret_shoot_effect_relay,trigger,,0,-1` onuser2 = `!self,fireonce,,0.02,-1` } }, [14] = { logic_relay { targetname = `tank_turret_shoot_effect_relay` `OnTrigger#1`: `!parent,addoutput,solid 1,0,-1` `OnTrigger#2`: `!parent,addoutput,solid 2,0.12,-1` spawnflags = 2 } }, [15] = { logic_relay { targetname = `tank_turret_shoot_relay` `OnTrigger#1`: `tank_turret_shooter_n,fireuser1,,0,-1` `OnTrigger#2`: `tank_turret_shooter_e,fireuser1,,2,-1` `OnTrigger#3`: `tank_turret_shooter_ne,fireuser1,,4,-1` `OnTrigger#4`: `tank_turret_shooter_nw,fireuser1,,6,-1` `OnTrigger#5`: `tank_turret_shooter_w,fireuser1,,8,-1` `OnTrigger#6`: `tank_turret_shooter_grenade,fireuser1,,10,-1` `OnTrigger#7`: `!self,trigger,,12,-1` spawnflags = 2 } }, [16] = { logic_relay { targetname = `tank_turret_shoot_relay_super` `OnTrigger#1`: `tank_turret_shoot_relay,cancelpending,,0,-1` `OnTrigger#2`: `tank_turret_shooter_n,fireuser1,,0,-1` `OnTrigger#3`: `tank_turret_shooter_n,fireuser1,,0.5,-1` `OnTrigger#4`: `tank_turret_shooter_n,fireuser1,,1,-1` `OnTrigger#5`: `tank_turret_shooter_e,fireuser1,,2,-1` `OnTrigger#6`: `tank_turret_shooter_e,fireuser1,,2.5,-1` `OnTrigger#7`: `tank_turret_shooter_e,fireuser1,,3,-1` `OnTrigger#8`: `tank_turret_shooter_ne,fireuser1,,4,-1` `OnTrigger#9`: `tank_turret_shooter_ne,fireuser1,,4.5,-1` `OnTrigger#10`: `tank_turret_shooter_ne,fireuser1,,5,-1` `OnTrigger#11`: `tank_turret_shooter_nw,fireuser1,,6,-1` `OnTrigger#12`: `tank_turret_shooter_nw,fireuser1,,6.5,-1` `OnTrigger#13`: `tank_turret_shooter_nw,fireuser1,,7,-1` `OnTrigger#14`: `tank_turret_shooter_w,fireuser1,,8,-1` `OnTrigger#15`: `tank_turret_shooter_w,fireuser1,,8.5,-1` `OnTrigger#16`: `tank_turret_shooter_w,fireuser1,,9,-1` `OnTrigger#17`: `tank_turret_shooter_grenade,fireuser1,,10,-1` `OnTrigger#18`: `tank_turret_shooter_grenade,fireuser1,,10.5,-1` `OnTrigger#19`: `tank_turret_shooter_grenade,fireuser1,,11,-1` `OnTrigger#20`: `tank_turret_shoot_relay,trigger,,12,-1` spawnflags = 2 } } } } PopExt.AddCustomTankIcon(`tank_small_turret`, 1, false, true, false, false) PopExt.AddTankName(`tank_turret`, { SpawnTemplate(`small_tank`) } OnDeath = function(tank_turret, params) { PopExt.DecrementWaveIconSpawnCount(`tank_small_turret`, MVM_CLASS_FLAG_MINIBOSS | MVM_CLASS_FLAG_NORMAL, 1) } " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 TotalCurrency 69 Tank { Health 1000 Name "tank_turret" Speed 75 StartingPathTrackNode tank_path_a_10 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }