#base robot_standard.pop #base robot_giant.pop tomboy { StartingCurrency 1984 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 0 Templates { T_TFBot_Helicopter_Base { SpawnTemplate Yakuza_Title_Card_HunterChopper Name "Hunter-Chopper" Class Scout Action Mobber Skill Expert Attributes SuppressFire UseCustomModel "models/empty.mdl" Scale 0.0001 AddCond { Index 52 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } CharacterAttributes { "not solid to players" 1 "voice pitch scale" 0 "move speed bonus" 0.5 "no_jump" 1 "damage force reduction" 0.001 "airblast pushback scale" 0.0001 "airblast vertical pushback scale" 0.0001 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "cannot be backstabbed" 1 "cannot pick up intelligence" 1 } } T_TFBot_Helicopter_Shoot { SpawnTemplate Helicopter_Phase2_Transition ShootTemplate { Name TridentBurst AttachToProjectile 1 } Name "Hunter-Chopper" Class Soldier Action Mobber Skill Expert Health 1984 UseCustomModel "models/empty.mdl" Scale 0.1 AddCond { Index 52 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "mod max primary clip override" -1 //"fire rate bonus" 0.7 //"reload time decreased" 0.5 } CharacterAttributes { "not solid to players" 1 "move speed bonus" 0.5 "no_jump" 1 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "cannot be backstabbed" 1 "cannot pick up intelligence" 1 } EventChangeAttributes { Default { Attributes HoldFireUntilFullReload } Phase2 { //weapon and stat for phase 2 is applied through phase2 logic relay because I'm too paranoid of it crashing Attributes AlwaysFireWeapon FireWeapon { Delay 0 Cooldown 1 Duration 1 Type "Secondary" } } } } } PointTemplates { Yakuza_Title_Card_HunterChopper { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "HEAVY WEAPONRY ROTORCRAFT FROM ANOTHER TIME" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "HUNTER-CHOPPER" "x" "-1" "y" "0.45" "channel" "1" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } TridentBurst { OnSpawnOutput { Target "firer" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } tf_point_weapon_mimic { "targetname" "firer" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 10 -3" "teamnum" "2" "Crits" "0" "Damage" "120" "ModelScale" "1" "SpeedMax" "1000" "SpeedMin" "1000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } tf_point_weapon_mimic { "targetname" "firer" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 -10 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "1000" "SpeedMin" "1000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } } Helicopter_Base_Init { NoFixup 1 OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname helicopter_bot" Delay 0 } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname " Delay 0 } info_target { "targetname" "helicopterhitbox_position" "origin" "-100 0 450" } info_target { "targetname" "helicoptershooter_position" "origin" "0 0 420" } } Helicopter_Phase2_Transition { NoFixup 1 logic_relay { "targetname" "helicopter_phase2_relay" "spawnflags" "2" "OnTrigger" "player,$DisplayTextChat,phase 2,0,-1" "OnTrigger" "helicopter_bot_shoot,$GiveItem,TF_WEAPON_SNIPERRIFLE,0,-1" "OnTrigger" "helicopter_bot_shoot,$ChangeAttributes,Phase2,0,-1" "OnTrigger" "helicopter_bot_shoot,$AddCond,46,0,-1" "OnTrigger" "helicopter_bot_shoot,$AddItemAttribute,is invisible|1|0,0.01,-1" "OnTrigger" "helicopter_bot_shoot,$AddItemAttribute,sniper fires tracer|1|0,0.01,-1" "OnTrigger" "helicopter_bot_shoot,$AddItemAttribute,damage bonus|1.3|0,0.01,-1" "OnTrigger" "helicopter_bot_shoot,$AddItemAttribute,sniper only fire zoomed|1|0,0.01,-1" "OnTrigger" "helicopter_bot_shoot,$AddItemAttribute,fire rate bonus|0.3|0,0.01,-1" } } Helicopter_Shooter_Init { OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname helicopter_bot_shoot" Delay 0 } OnSpawnOutput { Target "helicopter_relay" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "stickies" Action "FireUser1" Delay 5 } OnSpawnOutput { Target "stickies" Action "SetOwner" Param "!activator" Delay 0 } logic_relay { "targetname" "helicopter_relay" "OnUser1" "!activator,$TeleportToEntity,helicoptershooter_position,0,-1" "OnUser1" "!self,FireUser1,,0.01,-1" } tf_point_weapon_mimic { "targetname" "stickies" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "3" "Crits" "0" "Damage" "100" "ModelScale" "1" "SpeedMax" "1000" "SpeedMin" "100" "SplashRadius" "144" "SpreadAngle" "30" "WeaponType" "3" "OnUser1" "!self,FireMultiple,10,0,-1" "OnUser1" "!self,DetonateStickies,,3,-1" "OnUser1" "!self,FireUser1,,5,-1" } //model prop_dynamic { "targetname" "helicopter_model" "model" "models/combine_helicopter.mdl" "origin" "-100 -10 100" "angles" "0 0 0" "DefaultAnim" "idle" "solid" "0" } //glow, doesn't work tf_glow { "GlowColor" "88 133 162" "Mode" "0" "target" "helicopter_model" } } Helicopter_Tank_Init { OnSpawnOutput { Target "helicopter_relay" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "helicopter_phase2_detect" Action "Trigger" Delay 0 } OnParentKilledOutput { Target "helicopter_bot*" Action "SetHealth" Param "0" Delay 0 } OnParentKilledOutput { Target "helicopter_bot*" Action "AddOutput" Param "targetname " Delay 0.1 } logic_relay { "targetname" "helicopter_relay" "OnUser1" "!activator,$TeleportToEntity,helicopterhitbox_position,0,-1" "OnUser1" "!self,FireUser1,,0.01,-1" } logic_relay { "targetname" "helicopter_phase2_detect" "spawnflags" "2" "OnTrigger" "!activator,AddOutput,OnHealthBelow90Percent helicopter_phase2_relay:Trigger:0:-1,0,-1" } } } ExtraSpawnPoint { Name "helicopter" TeamNum 3 X "-1375.0" Y "-4.2" Z "-127.0" } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Where helicopter TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Tank { SpawnTemplate "Helicopter_Tank_Init" Health 1000 Speed 0 Scale 1 DisableSmokestack 1 MaxTurnRate 0 Model "models/empty.mdl" StartSound "misc/null.wav" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableTracks 1 DisableChildModels 1 Name "tankboss" //StartingPathTrackNode "Helicopter_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Where helicopter TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support Limited RandomChoice { RandomChoice { TFBot { SpawnTemplate "Helicopter_Base_Init" Template T_TFBot_Helicopter_Base } } } } WaveSpawn { Where helicopter TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support Limited RandomChoice { RandomChoice { TFBot { SpawnTemplate "Helicopter_Shooter_Init" Template T_TFBot_Helicopter_Shoot } } } } } }