#base robot_standard.pop #base robot_giant.pop //Made by Jurrell https://steamcommunity.com/id/Jurrell/ //With much help from lite https://steamcommunity.com/profiles/76561198300633951/ //Models for chewchew rotor attachments are cut from That Guy Mike's R-CAT Flying Sentry https://steamcommunity.com/sharedfiles/filedetails/?id=219340497 //A few frontline models are also used http://frontline.tf/ //lite's (mission specific) contributions: // - Icons for Pack Leader, regen bonk scouts, haste banners, and resistance medics // - Reskins for bullet banner, crit banner, and haste banner // - Reskins for lilchewchew and worker bots // - Isolated rotor attachments from the R-CAT Flying Sentry, provided gray reskin as well // - Made the entirety of the logic for the gunslinger deploying red bots instead of minis // - Provided bases for some ent odds and ends // - General advice and suggestions for ent stuff I had to work out WaveSchedule { StartingCurrency 450 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 5 RobotLimit 25 MaxSpeedLimit 1500 NoThrillerTaunt 1 NoRomevisionCosmetics 1 NoCritPumpkin 1 ForceHoliday 2 BotsAreHumans 2 StandableHeads 1 TextPrintTime 0 BodyPartScaleSpeed 10 WaveStartCountdown 5 BotsDropSpells 1 GiantsDropRareSpells 1 SpellDropRateCommon 0 SpellDropRateGiant 0 PrecacheModel "models/bots/boss_bot/boss_tank_color.mdl" PrecacheModel "models/props_tumb/mvm/tank_shield.mdl" PrecacheModel "models/bots/scout/bot_scout_gray.mdl" PrecacheModel "models/bots/demo/bot_demo_gray.mdl" PrecacheModel "models/bots/demo/bot_sentry_buster_gray.mdl" PrecacheModel "models/bots/sniper/bot_sniper_gray.mdl" PrecacheModel "models/bots/pyro/bot_pyro_gray.mdl" PrecacheModel "models/bots/heavy_boss/bot_heavy_gray_boss.mdl" PrecacheModel "models/bots/soldier/bot_soldier_gray.mdl" PrecacheModel "models/props_frontline/aa_battery.mdl" PrecacheModel "models/props_frontline/prop_bar_stool.mdl" PrecacheModel "models/weapons/c_models/c_critbanner/c_critbanner.mdl" PrecacheModel "models/weapons/c_models/c_bulletbanner/c_bulletbanner.mdl" PrecacheModel "models/weapons/c_models/c_hastebanner/c_hastebanner.mdl" PrecacheModel "models/bots/bot_worker/bot_worker_a_gry.mdl" PrecacheModel "models/lilchewchew/lilchewchew_gry.mdl" PrecacheModel "models/bots/boss_bot/lilchewchew_addon.mdl" PrecacheModel "models/weapons/c_models/c_fists_of_steel_gray/c_fists_of_steel_gray.mdl" PrecacheSound "rpg_sounds/rpg_explode.wav" PrecacheSound "rpg_sounds/rocketfire1.wav" PrecacheSound "ambient/machines/teleport1.wav" PrecacheSound "grayworker_sounds/ministrider_fire.wav" PrecacheSound "grayworker_sounds/flechette_impact_stick3.wav" PrecacheSound "grayworker_sounds/body_medium_impact_hard5.wav" PrecacheSound "grayworker_sounds/hunter_die2.wav" PrecacheSound "grayworker_sounds/hunter_defendstrider3.wav" PrecacheSound "grayworker_sounds/worker_chief_start.mp3" PrecacheSound "grayworker_sounds/hunter_scan1.wav" PrecacheSound "grayworker_sounds/hunter_flechette_preexplode1.wav" PrecacheSound "grayworker_sounds/flechette_explode1.wav" PrecacheSound "music/vlvx_song23.mp3" PrecacheSound "penulti_cmprsd.mp3" PrecacheSound "music/lastlegs_cmprsd.mp3" SpellBookRareRoll { "Meteor Shower" 1 "Summon Monoculus" 2 "Minify" 1 "Summon Skeletons" 2 } //one item (#1) ItemAttributes { ItemName "Baby Face's Blaster" "weapon spread bonus" 0.8 "clip size penalty" 1 "hype resets on jump" 25 "lose hype on take damage" 1 "special item description" "Lessened boost loss on dmg and jump, added 20% lower weapon spread, and removed clip size penalty." } //one item (#2) ItemAttributes { ItemName "The Flying Guillotine" "mark for death" 1 "minicrits become crits" 1 } //one item (#3) ItemAttributes { ClassName "TF_WEAPON_PISTOL" "max health additive bonus" 25 "critboost on kill" 3 "maxammo metal increased" 1.5 } //one item (#4) ItemAttributes { ItemName "The Liberty Launcher" "mod projectile heat follow crosshair" 1 "mod projectile heat seek power" 180 "Projectile speed increased" 0.2 "fire rate bonus hidden" 2 "damage penalty" 1 "damage bonus hidden" 2 "clip size bonus" .25 "projectile acceleration" 5000 "projectile acceleration time" .1 "projectile acceleration start time" .5 "custom weapon fire sound" "=50|rpg_sounds/rocketfire1.wav" "mod projectile heat aim time" 10 "special item description" "+100% damage bonus" } //one item (#5) ItemAttributes { ItemName "The B.A.S.E. Jumper" "dmg taken from blast reduced" 0.65 "increased air control" 4 "air dash count" 1 } //one item (#6) ItemAttributes { ItemName "The Gunboats" "max health additive bonus" 50 "deploy time decreased" 0.35 "rocket jump damage reduction" .05 "cancel falling damage" 2 } //one item i swear(#7) ItemAttributes { ItemName "Panic Attack Shotgun" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PRIMARY" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "minicritboost on kill" 5 "max health additive bonus" 25 } //one item (#8) ItemAttributes { ItemName "The Degreaser" "flame_reflect_on_collision" 1 "max_flame_reflection_count" 2 "reflected_flame_dmg_reduction" 2 "special item description" "Flames will ricochet off of surfaces up to 2 times. Ricocheted flames deal double damage" } //one item (#9) ItemAttributes { ItemName "The Pain Train" "damage bonus" 2 "dmg taken from bullets increased" 1 "bleeding duration" 5 "hit self on miss" 1 "drop health pack on kill" 1 "special damage type" 1 "dmg taken mult from special damage type 1" 0.4 } //one item (#10) ItemAttributes { ItemName "The Family Business" "health regen" 2 "heal on hit for rapidfire" 25 "switch from wep deploy time decreased" .7 "single wep deploy time decreased" .4 } //one item (#11) ItemAttributes //I really liked this on royal's mission so I just had to get permission to modify it and put it here { ItemName "The Gunslinger" "upgrade rate decrease" 2 "build rate bonus" 0.5 "mult dispenser rate" 1.5 "mult teleporter recharge rate" 0.5 "mod sentry cost" 1.5 "special item description" "+55% damage bonus on all primaries and the short circuit, +100% damage bonus for all melees. Constructs allied robots instead of sentries" } //one item (#12) ItemAttributes { ItemName "TF_WEAPON_SMG" "max health additive bonus" 25 "damage bonus" 1.30 "minicritboost on kill" 5 "dmg pierces resists absorbs" 1 "can headshot" 1 "revolver use hit locations" 1 } //one item (#13) ItemAttributes { ItemName "The Amputator" "special item description" "Alt-Fire: Provides mini-crits to nearby team members" "always crit" 1 } //one item i swear(#14) ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "special damage type" 2 "mult dmg vs tanks" 2.5 "special item description" "+150% damage vs gray robots" } ItemAttributes { ItemName "L'Etranger" "special damage type" 2 "mult dmg vs tanks" 2.5 "special item description" "+150% damage vs gray robots" } ItemAttributes { ItemName "The Diamondback" "special damage type" 2 "mult dmg vs tanks" 2.5 "special item description" "+150% damage vs gray robots" } ItemAttributes { ItemName "The Ambassador" "special damage type" 2 "mult dmg vs tanks" 2.5 "special item description" "+150% damage vs gray robots" } //one item (#15) ItemAttributes { ItemName "The Enforcer" "damage bonus" 1.5 "fire rate penalty" 2 "faster reload rate" 1.4 "explosive bullets" 147 "blast dmg to self increased" 0.6 "special damage type" 2 "mult dmg vs tanks" 2.5 "self dmg push force decreased" 0.6 "special item description" "+150% damage vs gray robots. Cannot blast jump while disguised" } PlayerItemEquipSpawnTemplate { Name "gunslinger_buff" ItemName "The Gunslinger" } //PlayerItemEquipSpawnTemplate //{ // Name "not_gunslinger" // ClassName "tf_weapon_wrench" //} PlayerItemEquipSpawnTemplate { Name "pistol_equipped" ClassName "TF_WEAPON_PISTOL" } PlayerItemEquipSpawnTemplate //required for logic { Name "can_grab_spell" ClassName "TF_WEAPON_SPELLBOOK" } PlayerItemEquipSpawnTemplate { Name "amputator_template" ItemName "The Amputator" } PlayerShootTemplate { Name rpg_shoottemplate ItemName "The Liberty Launcher" AttachToProjectile 1 } ExtraTankPath { Name chewchew_path_right Node "-884 7454 1250" Node "-884 4200 1250" Node "261 4200 1250" Node "261 2704 1250" Node "261 1900 1250" Node "32 1440 1250" Node "32 902 1250" } ExtraTankPath { Name chewchew_path_left Node "3009 6454 1550" Node "3009 4642 1450" Node "981 4642 1250" Node "981 4200 1250" Node "981 2404 1250" Node "170 902 1250" } ExtraTankPath { Name chewchew_path_middle Node "1197 9400 1250" Node "1235 5055 1250" Node "261 2704 1250" Node "261 1900 1250" Node "32 1440 1250" Node "32 792 1250" } ExtraTankPath { Name "tomb_destroy_path" Node "-1135 645 922" Node "-1052 645 922" Node "-950 814 922" Node "-930 928 922" Node "-871 987 922" Node "-815 1020 922" Node "-30 1020 656" Node "32 1184 656" Node "32 1440 656" Node "128 1536 656" Node "416 1536 656" Node "640 1760 656" Node "640 2624 656" Node "480 2848 656" Node "240 3168 712" Node "240 4400 721" Node "400 4560 712" Node "464 4560 712" Node "896 4560 648" Node "1024 4560 648" Node "1304 4720 648" Node "1536 4720 648" Node "1948 4720 744" Node "2160 4544 744" Node "2160 4096 840" Node "2160 3984 840" Node "2016 3840 840" Node "1680 3840 840" Node "1536 3696 840" Node "1536 2944 840" Node "1664 2783 814" Node "1664 2520 814" } ExtraSpawnPoint { Name "spawnbot_vip" TeamNum 3 X "-714" Y "3465" Z "961" } ExtraSpawnPoint { Name "spawnbot_laszlo_chief" StartDisabled 1 TeamNum 3 X "-414" Y "3444" Z "875" } ExtraSpawnPoint { Name "spawnbot_floatingrock1" TeamNum 3 X "-1335" Y "6699" Z "785" } ExtraSpawnPoint { Name "spawnbot_floatingrock2" TeamNum 3 X "-1229" Y "3947" Z "554" } ExtraSpawnPoint { Name "spawnbot_red_front" TeamNum 3 X "1799" Y "4943" Z "789" } ExtraSpawnPoint { Name "spawnbot_red_hatch" TeamNum 3 X "80" Y "109" Z "753" } ExtraSpawnPoint { Name "spawnbot_red_parachute" TeamNum 3 X "1739" Y "1982" Z "801" } Mission // Sentry Busters - All { Objective DestroySentries InitialCooldown 30 Where spawnbot_mission_sentry_buster BeginAtWave 1 RunForThisManyWaves 5 CooldownTime 45 TFBot { Template T_TFBot_SentryBuster CharacterAttributes { "move speed bonus" 1.2 } } } Mission // Sentry Busters - All { Objective DestroySentries InitialCooldown 30 Where spawnbot_mission_sentry_buster BeginAtWave 6 RunForThisManyWaves 1 CooldownTime 45 TFBot { Template T_TFBot_SentryBuster Tag bot_buster CharacterAttributes { "always allow taunt" 1 "voice pitch scale" 0 "move speed bonus" 1.2 } SpawnTemplate "buster_template" SpawnTemplate "buster_output" } } Mission // Sentry Busters - All { Objective DestroySentries InitialCooldown 30 Where spawnbot_mission_sentry_buster BeginAtWave 7 RunForThisManyWaves 1 CooldownTime 45 TFBot { Template T_TFBot_SentryBuster CharacterAttributes { "move speed bonus" 1.2 } } } Mission // For Wave #2 { Where spawnbot_mission_sniper Objective Sniper BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper NoIdleSound 1 Item "Zombie Sniper" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #3 { Where spawnbot_mission_sniper Objective Spy BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Spy NoIdleSound 1 Item "Zombie Spy" UseHumanModel 2 Tag bot_spy CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #4 { Where spawnbot Objective Engineer BeginAtWave 4 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 15 CooldownTime 35 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle NoIdleSound 1 Item "Zombie Engineer" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #5 { Where spawnbot_red_front Where spawnbot_red_hatch Objective Engineer BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 0 CooldownTime 15 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Health 500 ExtAttr BuildDispenserAsTeleporter Item "Packable Provisions" Item "Aim Assistant" Item "The Tools of the Trade" CharacterAttributes { "collect currency on kill" 1 "airblast vulnerability multiplier" 0 "engy dispenser radius increased" 5 "health from healers reduced" .1 } SpawnTemplate "redbot_init" SpawnTemplate "prevent_redbotbuilding" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } }} } Wave // Wave #1 { Explanation { Line "{green}Allies {B266FF}will be transported to your location to assist your defense." Line "{B266FF}But neither you nor they yet know the significance of {C0C0C0}this place." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w1_a" Where spawnbot_flank_left TotalCount 18 MaxActive 4 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 1.6 TotalCurrency 60 TFBot { Class Engineer Skill Normal WeaponRestrictions MeleeOnly Action FetchFlag NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "w1_a" Where spawnbot_flank_right TotalCount 18 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1.6 TotalCurrency 60 TFBot { Class Sniper ClassIcon sniper_kukri_lite Skill Normal WeaponRestrictions MeleeOnly Action FetchFlag NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "w1_a" Where spawnbot TotalCount 18 MaxActive 4 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 1.6 TotalCurrency 60 TFBot { Template T_TFBot_Scout_Melee NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "w1_a" Where spawnbot TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 90 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist NoIdleSound 1 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 SpawnTemplate "powerup_logic" } TFBot { Template T_TFBot_Medic_Knockout SpawnTemplate "powerup_logic_medic" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w1_a" Where spawnbot TotalCount 8 MaxActive 3 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 6 TotalCurrency 90 TFBot { Template T_TFBot_Scout_Shortstop NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "powerup_logic_end" WaitForAllDead "w1_a" WaitBeforeStarting 1 DoneOutput { Target powerup_bystander_timer Action Disable } } WaveSpawn { Name "w1_b" WaitForAllDead "w1_a" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 18 TotalCurrency 400 TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast Skill Normal Name "Giant Brass Beast Heavy" ClassIcon heavy_beast_h UseMeleeThreatPrioritization 1 NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "killtarget" } } WaveSpawn { Name "w1_b" WaitForAllDead "w1_a" Where spawnbot_all TotalCount 35 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 70 Support 1 TFBot { Class Soldier Name "Shotgun Soldier" ClassIcon heavy_shotgun Skill Normal WeaponRestrictions SecondaryOnly NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w1_b" WaitForAllDead "w1_a" Where spawnbot_all TotalCount 35 MaxActive 8 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 70 Support 1 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0.8 } } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w1_a_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 14 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 8 Support Limited Squad { TFBot { Template T_TFBot_Demoman_Caber_Human Item "The Frag Proof Fragger" Item "The Juggernaut Jacket" Item "The Sole Saviors" } TFBot { Template T_TFBot_Demoman_Caber_Human Item "Sober Stuntman" Item "EOTL_demopants" Item "Highland High Heels" } } } WaveSpawn { Name "w1_a_red" WaitForAllDead "w1_a" Where spawnbot_red_parachute TotalCount 2 MaxActive 3 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 10 Support 1 Squad { TFBot { Class Demoman ClassIcon red2_lite Name "Demoknight" Skill Expert Attributes DisableDodge Item "The Eyelander" Item "The B.A.S.E. jumper" Item "The Demo's Dustcatcher" Item "The Dayjogger" Item "dec2014 Viking Boots" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } CharacterAttributes { "charge time increased" -1 } Tag bot_redpara Tag bot_telesound_activator CharacterAttributes { "cancel falling damage" 1 "collect currency on kill" 1 } AddCond { Name TF_COND_REPROGRAMMED } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } TFBot { Name "Vaccinator Medic" Class Medic ClassIcon red2_lite Skill Expert Attributes SpawnWithFullCharge Attributes IgnoreEnemies Attributes DisableDodge Item "The Vaccinator" Item "The B.A.S.E. jumper" Item "Vitals Vest" Item "Colossal Cranium" WeaponRestrictions SecondaryOnly Tag bot_redpara_med ItemAttributes { ItemName "The Vaccinator" "medigun charge is resists" 3 "medigun bullet resist passive" 0.75 "medigun bullet resist deployed" 0.75 "ubercharge rate bonus" 50 "mod weapon blocks healing" 1 "health from healers reduced" .1 } CharacterAttributes { "bot medic uber health threshold" 225 "cancel falling damage" 1 } AddCond { Name TF_COND_REPROGRAMMED } } } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions MeleeOnly CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/scout/bot_scout.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Engineer ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions MeleeOnly CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/engineer/bot_engineer.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Sniper ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions MeleeOnly CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Demoman_Knight ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions MeleeOnly CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/demo/bot_demo.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/heavy/bot_heavy.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #2 { Explanation { Line "{C0C0C0}Something long forgotten stirs in the depths..." Line "{B266FF}Built to serve their {C0C0C0}creator{B266FF}, and decomissioned due to an inability to distinguish between {blue}friend {B266FF}and {red}foe." Line "{B266FF}Now, they've been {FFC144}reconstructed{B266FF} and given a {red}common purpose." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target enable_hologram_3_relay Action Trigger } WaveSpawn { Name "w2_a" Where spawnbot_all TotalCount 16 MaxActive 5 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 3 TotalCurrency 360 TFBot { Class Heavyweapons Name "Warrior Heavy" ClassIcon heavy_warrior_d Skill Expert Health 900 Scale 1.5 WeaponRestrictions MeleeOnly Item "Warrior's Spirit" MaxVisionRange 350 CustomEyeGlowColor "255 255 255" ItemAttributes { ItemName "Warrior's Spirit" "dmg taken increased" 1 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0.8 } AddCond { Index 19 } AddCond { Index 66 } } } WaveSpawn { Name "w2_a" Where spawnbot_all TotalCount 36 MaxActive 8 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 3.5 TotalCurrency 60 TFBot { Template T_TFBot_Scout_Scattergun_SlowFire Name "Scout" NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w2_a" Where spawnbot_all TotalCount 30 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 1.5 TotalCurrency 60 TFBot { Template T_TFBot_Demoman_Knight NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn // Tank # HP { Name "w2_a_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "boss_path_abomb" Health 12500 Speed 75 DisableSmokestack 1 SpawnTemplate "ghosttank" Model "models/bots/boss_bot/boss_tank_color.mdl" OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "enable_tomb" WaitForAllSpawned "w2_a" DoneOutput { Target tomb3_enable Action Trigger } } WaveSpawn { Name "enable_tomb" WaitForAllSpawned "w2_a" WaitBeforeStarting 9 DoneOutput { Target tomb_firstspawn_sign Action Show } } WaveSpawn // Tank # HP { Name "w2_b_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 40 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "boss_path_wbomb" Health 10000 Speed 75 DisableSmokestack 1 SpawnTemplate "ghosttank2" Model "models/bots/boss_bot/boss_tank_color.mdl" OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w2_b_pyro" WaitForAllSpawned "w2_a" Where spawnbot_flank_right TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 6 WaitBetweenSpawns 5 TotalCurrency 30 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" UseMeleeThreatPrioritization 1 CharacterAttributes { "voice pitch scale" 0 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w2_b_pyro2" WaitForAllSpawned "w2_a" Where spawnbot_flank_left TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 11 WaitBetweenSpawns 8 TotalCurrency 30 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Pyro Name "Giant Dragon's Fury Pyro" Skill Hard Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly MaxVisionRange 1000 UseMeleeThreatPrioritization 1 CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w2_b" WaitForAllSpawned "w2_a" Where spawnbot_flank_right TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 16 WaitBetweenSpawns 8 TotalCurrency 30 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Pyro Name "Giant Backburner Pyro" Attributes AlwaysFireWeapon Item "The Backburner" Item "Brim of Fire" NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" UseMeleeThreatPrioritization 1 CharacterAttributes { "voice pitch scale" 0 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w2_b" WaitForAllDead "w2_b_pyro" Where spawnbot_flank_left TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 8 TotalCurrency 30 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Pyro_Phlog ClassIcon pyro_giant NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" UseMeleeThreatPrioritization 1 CharacterAttributes { "voice pitch scale" 0 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w2_b" WaitForAllDead "w2_b_pyro2" Where spawnbot_flank_right TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 8 TotalCurrency 30 Squad { FormationSize 200 TFBot { Template T_TFBot_Giant_Pyro Name "Giant Bouncer Pyro" Item "Pyro's Beanie" Attributes AlwaysFireWeapon Item "The Degreaser" Action FetchFlag UseMeleeThreatPrioritization 1 AimOffset "0 0 -120" ItemAttributes { ItemName "The Degreaser" "flame_reflect_on_collision" 1 "max_flame_reflection_count" 3 "flame_drag" 6 } CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w2_b" WaitForAllSpawned "w2_a" Where spawnbot TotalCount 18 MaxActive 5 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0.6 TotalCurrency 70 TFBot { Template T_TFBot_Pyro_Flaregun NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "wait" WaitForAllDead "w2_b" DoneOutput { Target grybot_end_relay Action Trigger } } ///////////// //Gray Robots ///////////// WaveSpawn { Name "w2_b_gray" WaitForAllSpawned "w2_a" Where spawnbot_grave3 TotalCount 1 MaxActive 2 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 7 TotalCurrency 0 Support 1 TFBot { Class Pyro ClassIcon gry_lite Skill Hard Health 650 Scale 1.35 StripItemSlot 2 Item "The Detonator" UseBestWeapon 1 UseCustomModel "models/bots/pyro/bot_pyro_gray.mdl" Action Mobber Attributes DisableDodge NoPushaway 1 Tag bot_gry CustomEyeGlowColor "255 0 0" ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } CharacterAttributes { "collect currency on kill" 1 "head scale" 0.8 "crit mod disabled" 0 "dmg taken mult from special damage type 2" 2.5 } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } SpawnTemplate "grybot_killswitch" } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w2_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 6 Support 1 TFBot { Class Sniper Skill Hard Name "Jarate Sniper" StripItemSlot 2 Item "The Swagman's Swatter" Item "The Jarmaments" Item "The Huntsman" Item "Jarate" ClassIcon red2_lite ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.1 } ItemAttributes { ItemName "The Huntsman" "bleeding duration" 5 } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" 0.1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "w2_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 6 Support 1 TFBot { Class Scout Skill Hard Name "Mad Milk Scout" ClassIcon red2_lite StripItemSlot 2 Item "The Paisley Pro" Item "The Milkman" Item "Mad Milk" ItemAttributes { ItemName "Mad Milk" "effect bar recharge rate increased" 0.1 } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" 0.1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Scout_Scattergun_SlowFire ClassIcon red2_lite Name "Scout" Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/scout/bot_scout.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Demoman_Knight ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } WeaponRestrictions MeleeOnly AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/demo/bot_demo.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w3_a" Where spawnbot TotalCount 5 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Scout_Baseball NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "killtarget2" } } WaveSpawn { Name "w3_a" Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 330 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes AlwaysCrit Item "The Gunboats" SpawnTemplate "killtarget" SpawnTemplate "bashtarget" ItemAttributes { ItemName "The Gunboats" "no self blast dmg" 1 "rocket jump damage reduction" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" CharacterAttributes { "voice pitch scale" 0 } } } WaveSpawn { Name "w3_support" Where spawnbot_flank_right Where spawnbot_flank_left TotalCount 8 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 5 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Pyro ItemAttributes { ItemName "TF_Weapon_Flamethrower" "airblast disabled" 1 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w3_a" Where spawnbot_flank_left TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 3 TotalCurrency 120 TFBot { Class Medic Name "Crossbow Medic" Skill Hard ClassIcon medic_crossbow Item "The Crusader's Crossbow" Action FetchFlag NoIdleSound 1 UseHumanModel 2 Item "Zombie Medic" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w3_b" WaitForAllSpawned "w3_a" Where spawnbot TotalCount 36 MaxActive 8 SpawnCount 8 WaitBeforeStarting 6 WaitBetweenSpawns 16 TotalCurrency 0 Support 1 Squad { TFBot { Class Heavyweapons ClassIcon heavy_shotgun_burst Name "Burst Shotgun" Skill Hard WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "auto fires full clip" 1 "auto fires when full" 1 "faster reload rate" 0.6 "fire rate bonus" 0.35 "damage penalty" 0.33 } UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_TFBot_Medic_QuickFix UseHumanModel 2 Item "Zombie Medic" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn // Tank # HP { Name "w3_b_tank" WaitForAllSpawned "w3_a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 Totalcurrency 200 Tank { Name "spelltank" ClassIcon tank_spell StartingPathTrackNode "boss_path_abomb" Health 25000 Speed 75 DisableSmokestack 1 SpawnTemplate "spelltank_init" SpawnTemplate "spelltank_color" SpawnTemplate "killtarget2" SpawnTemplate "bashtarget" Model "models/bots/boss_bot/boss_tank_color.mdl" OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } Wavespawn { Name "w3_littleguy" WaitForAllSpawned "w3_a" Where spawnbot_floatingrock1 Totalcount 1 Spawncount 1 WaitBeforeStarting 16 Support Limited RandomChoice { RandomChoice { TFBot { SpawnTemplate "spelltank_bot_init" Name "Sentient Witch's Hat" Class Heavy Skill Expert Health 30000 StripItemSlot 0 StripItemSlot 1 UseCustomModel "models/empty.mdl" Scale 0.001 AimOffset "0 0 200" CharacterAttributes { "no_jump" 1 "move speed bonus" 0.001 "cannot pick up intelligence" 1 "voice pitch scale" 0 "airblast vulnerability multiplier" 0.0001 "dmg from melee increased" 0.0001 "dmg taken from fire reduced" 0.0001 "dmg from ranged reduced" 0.0001 "afterburn immunity" 1 "cannot be sapped" 1 } Item "TF_WEAPON_SPELLBOOK" Spell { Type "Pumpkin MIRV" Delay 7.05 Cooldown 14.1 Charges 1 Limit 1 } Spell { Type "Summon Monoculus" Delay 14.1 Cooldown 14.1 Charges 1 Limit 1 } AddCond { Index 51 } Tag bot_spelltank } } } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w3_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 6 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 10 Support Limited TFBot { Class Medic Name "Shield Medic" Skill Expert ClassIcon red2_lite WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge Action Mobber Attributes ProjectileShield Attributes SuppressFire Item "Berlin Brain Bowl" Item "Bunnyhopper's Ballistics Vest" FireWeapon { Delay 0.7 IfSeeTarget 0 Type Special } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "bash_me" AimTarget "kill_me" Delay 2 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 1 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted WaitUntilDone 1 } ItemAttributes { ItemName "tf_weapon_medigun" "ubercharge rate bonus" 0.01 "generate rage on heal" 3 "increase buff duration" 99 } CharacterAttributes { "bot medic uber deploy delay duration" 9999 "heal rate bonus" 2 "overheal penalty" 0 "dmg penalty vs players" 0.001 } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "w3_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 8 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 12 Support Limited TFBot { Template T_TFBot_Soldier_Extended_Battalion ClassIcon red2_lite //soldier_backup_ally Item "Breach and Bomb" Item "Flakcatcher" CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "w3_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 12 MaxActive 2 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 10 Support Limited TFBot { Class Scout Name "Hunter Scout" ClassIcon red2_lite Skill Expert WeaponRestrictions PrimaryOnly AimtrackingInterval 0 Item "Death Racer's Helmet" Item "Thrilling Tracksuit" CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me2" AimTarget "kill_me2" Delay 2 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0.5 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted WaitUntilDone 1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Class Medic ClassIcon red2_lite Name "Crossbow Medic" Item "The Crusader's Crossbow" Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Pyro ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Heavyweapons ClassIcon red2_lite Name "Burst Shotgun" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "auto fires full clip" 1 "auto fires when full" 1 "faster reload rate" 0.6 "fire rate bonus" 0.25 "damage penalty" 0.33 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/heavy/bot_heavy.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target enable_hologram_1_relay Action Trigger } WaveSpawn { Name "w4_a" Where spawnbot TotalCount 6 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 18 TotalCurrency 240 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "powerup_logic" } TFBot { Template T_TFBot_Medic_King CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_medic" } } } WaveSpawn { Name "w4_a" Where spawnbot_flank_left Where spawnbot_flank_right TotalCount 4 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 14 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Engineer_Widowmaker NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "w4_a" Where spawnbot_flank_right Where spawnbot_flank_left TotalCount 32 MaxActive 8 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 6 TotalCurrency 110 TFBot { Template T_TFBot_Sniper_Huntsman NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "powerup_logic_end" WaitForAllDead "w4_a" WaitBeforeStarting 1 DoneOutput { Target powerup_bystander_timer Action Disable } } WaveSpawn { Name "enable_tomb" WaitForAllDead "w4_a" DoneOutput { Target tomb1_enable Action Trigger } } WaveSpawn { Name "w4_b" WaitForAllDead "w4_a" Where spawnbot TotalCount 4 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 8 TotalCurrency 120 TFBot { Template T_TFBot_Giant_Engineer_Frontierjustice NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "voice pitch scale" 0 } } } WaveSpawn { Name "w4_b" WaitForAllDead "w4_a" Where spawnbot_all TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 90 TFBot { Class Pyro Name "Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone Skill Hard UseMeleeThreatPrioritization 1 Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly MaxVisionRange 1000 NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" ItemAttributes { ItemName "The Dragon's Fury" "airblast disabled" 1 } CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w4_b" WaitForAllDead "w4_a" Where spawnbot_all TotalCount 24 MaxActive 4 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 2 TotalCurrency 90 TFBot { Class Scout ClassIcon scout_capper_lite Skill Normal Item "The C.A.P.P.E.R" WeaponRestrictions SecondaryOnly NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w4_c" WaitForAllDead "w4_b" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 11 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Critbanner } } WaveSpawn { Name "w4_c" WaitForAllDead "w4_b" Where spawnbot_all TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Soldier ClassIcon soldier_bison Skill Normal Item "The Righteous Bison" WeaponRestrictions SecondaryOnly NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w4_c" WaitForAllDead "w4_b" Where spawnbot_all TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 50 RandomChoice { TFBot { Class Demoman Skill Easy NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Class Demoman Skill Normal NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Class Demoman Skill Hard NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Class Demoman Skill Expert NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } } } ///////////// //Gray Robots ///////////// WaveSpawn { Name "w4_gray" WaitForAllDead "w4_a" Where spawnbot_grave TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 20 Support Limited TFBot { Class Heavyweapons Name "Giant Steel Gauntlet" ClassIcon gry_lite Skill Expert Health 5000 Item "Fists of Steel" StripItemSlot 0 StripItemSlot 1 WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes DisableDodge Tag bot_gry CustomEyeGlowColor "255 0 0" ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.6 "damage bonus" 1.2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "collect currency on kill" 1 "crit mod disabled" 0 "dmg taken mult from special damage type 2" 2.5 } UseCustomModel "models/bots/heavy_boss/bot_heavy_gray_boss.mdl" Action Mobber Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } CustomWeaponModel { Slot 2 Model "models/weapons/c_models/c_fists_of_steel_gray/c_fists_of_steel_gray.mdl" } SpawnTemplate "grybot_killswitch" } } WaveSpawn { Name "w4_gray" WaitForAllDead "w4_a" Where spawnbot_grave TotalCount 30 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 4 TotalCurrency 0 Support Limited TFBot { Class Soldier WeaponRestrictions PrimaryOnly ClassIcon gry_lite Action Mobber Skill Normal Scale 1.35 Health 650 Action Mobber Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" Tag bot_gry CustomEyeGlowColor "255 0 0" CharacterAttributes { "collect currency on kill" 1 "head scale" 0.8 "crit mod disabled" 0 "dmg taken mult from special damage type 2" 2.5 } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } SpawnTemplate "grybot_killswitch" } } WaveSpawn { Name "wait" WaitForAllDead "w4_c" DoneOutput { Target grybot_end_relay Action Enable } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w4_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 10 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 18 Support 1 TFBot { Template T_TFBot_Soldier_Vacbanner SpawnTemplate "redbot_init" UseHumanModel 2 } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Pyro ClassIcon red2_lite Name "Dragon's Fury Pyro" Item "The Dragon's Fury" UseMeleeThreatPrioritization 1 WeaponRestrictions PrimaryOnly MaxVisionRange 1000 Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Scout ClassIcon red2_lite Item "The C.A.P.P.E.R" WeaponRestrictions SecondaryOnly Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/scout/bot_scout.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Soldier ClassIcon red2_lite Item "The Righteous Bison" WeaponRestrictions SecondaryOnly Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/soldier/bot_soldier.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Demoman ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/demo/bot_demo.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w5_a_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 TotalCurrency 150 FirstSpawnWarningSound "weapons/medi_shield_deploy.wav" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { ClassIcon tank_vac_trio_lite Health 30000 Name "tankboss" Speed 75 Skin 1 SpawnTemplate "VacTankRandom" SpawnTemplate "killtarget" StartingPathTrackNode "boss_path_wbomb" DisableSmokestack 1 OnKilledOutput { Target vactank_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w5_a" Where spawnbot_all TotalCount 24 MaxActive 11 SpawnCount 6 WaitBeforeStarting 1.5 WaitBetweenSpawns 16 TotalCurrency 50 TFBot { Class Heavy Skill Normal WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" WeaponSwitch //Periodically switches weapon { Delay 1 //Time before the first weapon switch starts (Default: 10) Cooldown 3 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Type "Primary" // Weapon slot, possible values: } CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Heavy" } } WaveSpawn { Name "w5_a" Where spawnbot_all TotalCount 12 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1.5 WaitBetweenSpawns 4 TotalCurrency 110 TFBot { Template T_TFBot_Sniper_Huntsman_Spammer CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Sniper" } } WaveSpawn { Name "w5_a" Where spawnbot_all TotalCount 5 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 9 TotalCurrency 110 TFBot { Template T_TFBot_Giant_Scout CharacterAttributes { "voice pitch scale" 0.8 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" } } WaveSpawn { Name "w5_b" WaitForAllDead "w5_a" Where spawnbot TotalCount 14 MaxActive 6 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 8 TotalCurrency 40 TFBot { Class Pyro Name "Panicking Pyro" Skill Hard ClassIcon heavy_shotgun_burst Item "Panic Attack Shotgun" WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload Scale 1.35 Health 650 ItemAttributes { ItemName "Panic Attack Shotgun" "auto fires full clip" 1 "auto fires when full" 1 "faster reload rate" 0.6 "fire rate bonus" 0.4 "damage penalty" 0.4 "spread penalty" 1.35 } UseHumanModel 2 Item "Zombie Pyro" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "killtarget" } } WaveSpawn { Name "w5_b" WaitForAllDead "w5_a" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 11 TotalCurrency 300 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" SpawnTemplate "killtarget" } } WaveSpawn { Name "w5_b" WaitForAllDead "w5_a" Where spawnbot_all TotalCount 26 MaxActive 12 SpawnCount 6 WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Class Medic ClassIcon medic_syringe Name "Syringe Gun Medic" WeaponRestrictions PrimaryOnly StripItemSlot 1 StripItemSlot 2 Skill Hard Attributes AlwaysCrit Action FetchFlag AimAt Head CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" SpawnTemplate "killtarget" } } ///////////////// //Ally Red Robots ///////////////// //WaveSpawn //{ // Name "w5_red" // Where spawnbot_red_front // Where spawnbot_red_hatch // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 2 // WaitBetweenSpawns 2 // Support 1 // // TFBot // { // Template T_TFBot_Engineer_Sentry_Tele_Battle // Health 500 // ExtAttr BuildDispenserAsTeleporter // ClassIcon red2_lite // Item "Packable Provisions" // Item "Aim Assistant" // Item "The Tools of the Trade" // CharacterAttributes // { // "collect currency on kill" 1 // "airblast vulnerability multiplier" 0 // "engy dispenser radius increased" 5 // } // SpawnTemplate "redbot_init" // AddCond { Name TF_COND_REPROGRAMMED } // } //} WaveSpawn { Name "w5_a_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 9 MaxActive 3 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 2 Support Limited RandomChoice { TFBot { Template T_TFBot_Pyro_VacTankBuster_Allyred ClassIcon red2_lite SpawnTemplate "redbot_init" SpawnTemplate "vactankbuster_logic_pyro" UseHumanModel 2 } TFBot { Template T_TFBot_Scout_VacTankBuster_Allyred ClassIcon red2_lite SpawnTemplate "redbot_init" SpawnTemplate "vactankbuster_logic_scout" UseHumanModel 2 } TFBot { Template T_TFBot_Soldier_VacTankBuster_Allyred ClassIcon red2_lite SpawnTemplate "redbot_init" SpawnTemplate "vactankbuster_logic_soldier" UseHumanModel 2 } TFBot { Template T_TFBot_Engineer_VacTankBuster_Allyred ClassIcon red2_lite SpawnTemplate "redbot_init" SpawnTemplate "vactankbuster_logic_engineer" UseHumanModel 2 } TFBot { Template T_TFBot_Sniper_VacTankBuster_Allyred ClassIcon red2_lite SpawnTemplate "redbot_init" SpawnTemplate "vactankbuster_logic_sniper" UseHumanModel 2 } } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Medic ClassIcon red2_lite Name "Syringe Gun Medic" WeaponRestrictions PrimaryOnly Attributes AlwaysCrit AimAt Head StripItemSlot 1 StripItemSlot 2 Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Medic ClassIcon red2_lite Name "Syringe Gun Medic" WeaponRestrictions PrimaryOnly Attributes AlwaysCrit AimAt Head StripItemSlot 1 StripItemSlot 2 Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/medic/bot_medic.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Heavy ClassIcon red2_lite WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" WeaponSwitch //Periodically switches weapon { Delay 1 //Time before the first weapon switch starts (Default: 10) Cooldown 3 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Type "Primary" // Weapon slot, possible values: } Skill Normal Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/heavy/bot_heavy.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Pyro ClassIcon red2_lite Name "Panicking Pyro" Item "Panic Attack Shotgun" WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload ItemAttributes { ItemName "Panic Attack Shotgun" "auto fires full clip" 1 "auto fires when full" 1 "faster reload rate" 0.6 "fire rate bonus" 0.4 "damage penalty" 0.4 "spread penalty" 1.35 } Skill Expert Action Mobber AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #6 { Explanation { Line "{B266FF}Your {green}allies {B266FF}are ramping up their {green}support.{B266FF} You will be transported a man with {FF99FF}special talents {B266FF}and a machine reprogrammed for a singular purpose." Line "{4980FF}Protect them,{B266FF} and they will {green}ease your burden {B266FF}in the coming skirmish." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target enable_hologram_23_relay Action Trigger } //SpawnTemplate "potion_logic" SpawnTemplate "tosser_glitch_fix" WaveSpawn { Name "vip_protection" DoneOutput { Target deathpit_barrier3_open Action Trigger } } WaveSpawn { Name "enable_tomb" DoneOutput { Target tomb2_enable Action Trigger } } WaveSpawn { Name "enable_tomb" DoneOutput { Target tomb3_enable Action Trigger } } WaveSpawn { Name "w6_vip" Where spawnbot_floatingrock1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 0 Support Limited TFBot { Template T_TFBot_VIP } } WaveSpawn { Name "w6_laszlo" Where spawnbot_floatingrock1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 0 Support Limited Squad { Squad { TFBot { Template T_TFBot_Laszlo } } } } WaveSpawn { Name "w6_a" Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 12 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" } } WaveSpawn { Name "w6_a" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro Name "Giant Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone_giant Skill Hard Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly MaxVisionRange 1000 CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" } } WaveSpawn { Name "w6_a" Where spawnbot_all TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Shortstop CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Scout" } } WaveSpawn { Name "w6_a_tossers" Where spawnbot_grave2 Where spawnbot_grave3 TotalCount 24 MaxActive 3 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 3 Support Limited TFBot { Template T_TFBot_PotionTosser_Base Scale 1.35 Health 650 Tag bot_tosser CharacterAttributes { "head scale" 0.8 } } } WaveSpawn { Name "killtossers" WaitForAllDead "w6_a" DoneOutput { Target killtosser_relay Action Trigger } } WaveSpawn { Name "w6_b" WaitForAllDead "w6_a" Where spawnbot TotalCount 5 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 300 TFBot { Template T_TFBot_Giant_Demo_Burst CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" } } WaveSpawn { Name "w6_b" WaitForAllDead "w6_a" Where spawnbot TotalCount 24 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.75 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Demo" } } WaveSpawn { Name "w6_b" WaitForAllDead "w6_a" Where spawnbot TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_Phlog CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Pyro" } } ///////////// //Gray Robots ///////////// WaveSpawn { Name "w6_b_gray_popper1" WaitForAllDead "w6_a" Where spawnbot_floatingrock2 TotalCount 21 MaxActive 3 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 8 Support Limited TFBot { Template T_TFBot_Scout_SodaPopper NoPushaway 1 ClassIcon gry_lite UseCustomModel "models/bots/scout/bot_scout_gray.mdl" Action Mobber Attributes DisableDodge Tag bot_gry CustomEyeGlowColor "255 0 0" CharacterAttributes { "collect currency on kill" 1 "crit mod disabled" 0 "dmg taken mult from special damage type 2" 2.5 } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } } } WaveSpawn { Name "w6_b_gray" WaitForAllDead "w6_a" Where spawnbot_grave2 TotalCount 9 MaxActive 2 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 4 Support Limited TFBot { Template T_TFBot_Demoknight_Skullcutter_Gray } } WaveSpawn { Name "w6_b_gray" WaitForAllDead "w6_a" Where spawnbot_grave3 TotalCount 9 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 4 Support Limited TFBot { Template T_TFBot_Demoknight_Skullcutter_Gray } } WaveSpawn { Name "w6_b_gray" WaitForAllDead "w6_a" Where spawnbot_grave2 Where spawnbot_grave3 TotalCount 6 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 12 Support Limited TFBot { Template T_TFBot_SentryBuster Name "Player Buster" NoPushaway 1 ClassIcon gry_lite Action SuicideBomber CharacterAttributes { "move speed bonus" 1.2 "voice pitch scale" 0 "always allow taunt" 1 } Tag bot_buster NoPushAway 1 UseCustomModel "models/bots/demo/bot_sentry_buster_gray.mdl" UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 "dmg taken mult from special damage type 2" 2.5 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } AddCond { Name TF_COND_REPROGRAMMED_NEUTRAL } SpawnTemplate "buster_template" SpawnTemplate "buster_output" } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w6" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 20 Support 1 TFBot { Template T_TFBot_Demoman_Samurai_Human ClassIcon red2_lite Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "" WaitForAllDead "w6_a" DoneOutput { Target tomb3_preventstuck Action Enable } } WaveSpawn { Name "w6_b_tank" WaitForAllDead "w6_a" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 7 Support Limited LastSpawnOutput { Target redtank_telein_relay Action Trigger } Tank { Name "tankboss_red" ClassIcon tank_red StartingPathTrackNode "tomb_destroy_path_1" Health 25000 Speed 75 DisableSmokestack 1 TeamNum 2 StartSound "ambient/machines/teleport1.wav" Model "models/bots/boss_bot/boss_tank_color.mdl" SpawnTemplate "killtarget" SpawnTemplate "dangercolortank" OnKilledOutput { Target redboss_dead_relay Action Trigger } OnBombDroppedOutput { Target tomb_destroy_relay Action Trigger } } } WaveSpawn { Name "" WaitForAllDead "w6_b_tank" WaitBeforeStarting 5 DoneOutput { Target tomb3_preventstuck Action Disable } } WaveSpawn { Name "wait" WaitForAllDead "w6_b_tank" WaitBeforeStarting 15 DoneOutput { Target gry_nuclearoption Action Enable } } WaveSpawn { Name "wait" WaitForAllDead "w6_b_tank" DoneOutput { Target tomb_deactivate Action Trigger } } WaveSpawn { Name "wait" WaitForAllDead "w6_b_tank" DoneOutput { Target killgry_relay Action Trigger } } WaveSpawn { Name "w6_c" WaitForAllDead "w6_b" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" SpawnTemplate "powerup_logic" } TFBot { Template T_TFBot_Medic_Resistance CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" SpawnTemplate "powerup_logic_medic" } TFBot { Template T_TFBot_Medic_Resistance CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" SpawnTemplate "powerup_logic_medic" } TFBot { Template T_TFBot_Medic_Resistance CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" SpawnTemplate "powerup_logic_medic" } } } WaveSpawn { Name "w6_c" WaitForAllDead "w6_b" Where spawnbot_all TotalCount 10 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Soldier ClassIcon soldier_blackbox Name "Offensive End" Health 900 Scale 1.5 Item "The Black Box" Item "The Buff Banner" Item "The Bolt Action Blitzer" Skill Expert WeaponRestrictions PrimaryOnly Attributes SpawnWithFullCharge Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Buff Banner" "increase buff duration" 9 "custom item model" "models/weapons/c_models/c_buffbanner/c_buffbanner.mdl" "attachment angles" "90 -90 0" "attachment offset" "0 65 -18" "attachment name" "flag" } ItemAttributes { ItemName "The Black Box" "damage bonus" 0.33 "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 0.9 "blast radius increased" 1.25 "projectile spread angle penalty" 2 "heal on hit for rapidfire" 60 } CharacterAttributes { "voice pitch scale" 0.8 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" SpawnTemplate "powerup_logic_bystander" } } WaveSpawn { Name "powerup_logic_end" WaitForAllDead "w6_c" WaitBeforeStarting 1 DoneOutput { Target powerup_bystander_timer Action Disable } } WaveSpawn { Name "wait" WaitForAllDead "w6_c" DoneOutput { Target vip_laser_event_relay Action Trigger } } WaveSpawn { Name "wait" WaitForAllDead "w6_vip" } WaveSpawn { Name "wait" WaitForAllDead "w6_laszlo" } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Pyro_Phlog ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Template T_TFBot_Pyro_Phlog ClassIcon red2_lite Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/pyro/bot_pyro.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Soldier ClassIcon red2_lite Item "The Black Box" Item "The Buff Banner" WeaponRestrictions PrimaryOnly Attributes SpawnWithFullCharge Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Buff Banner" "increase buff duration" 9 } ItemAttributes { ItemName "The Black Box" "damage bonus" 0.33 "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 0.9 "blast radius increased" 1.25 "projectile spread angle penalty" 2 "heal on hit for rapidfire" 60 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/soldier/bot_soldier.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Scout ClassIcon red2_lite Action Mobber Item "The Soda Popper" WeaponRestrictions PrimaryOnly Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/scout/bot_scout.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Scout ClassIcon red2_lite Action Mobber Item "The Soda Popper" WeaponRestrictions PrimaryOnly Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/scout/bot_scout.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Demoman ClassIcon red2_lite Name "Demoknight" WeaponRestrictions MeleeOnly Item "The Scotsman's Skullcutter" Attributes AlwaysCrit Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/demo/bot_demo.mdl" SpawnTemplate "builtbot" Tag bot_build } }} } } Wave // Wave #7 { SpawnTemplate "redengi_test_template" Explanation { Line "{B266FF}Your {FFC144}activities {B266FF}on these grounds have {red}not{B266FF} gone unnoticed." Line "{B266FF}You've {red}destroyed{B266FF} what they have worked {red}so hard{B266FF} to rebuild." Line "{red}And they've had enough." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target enable_hologram_all_relay Action Trigger } WaveSpawn // Dummy { DoneOutput { Target "wave7_a_music_relay" Action Trigger } } WaveSpawn { Name "w7_a" Where spawnbot TotalCount 24 MaxActive 5 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Hastebuff CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "powerup_logic_banner_recipient" } } WaveSpawn { Name "w7_a" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 24 TotalCurrency 180 TFBot { Template T_TFBot_Giant_Soldier_Crit CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" SpawnTemplate "powerup_logic_banner_recipient" } } WaveSpawn { Name "w7_a" Where spawnbot_flank_left Where spawnbot_flank_right TotalCount 6 MaxActive 4 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 11 TotalCurrency 120 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" SpawnTemplate "powerup_logic_banner_recipient" } } WaveSpawn { Name "w7_b" WaitForAllDead "w7_a" Where spawnbot_flank_left Where spawnbot_flank_right TotalCount 16 MaxActive 9 SpawnCount 3 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Class Heavyweapons Name "Heater Heavy" ClassIcon heavy_heater Skill Hard Item "The Huo Long Heatmaker" CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Heavy" } } WaveSpawn { Name "w7_b" WaitForAllDead "w7_a" Where spawnbot_all TotalCount 8 MaxActive 5 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Sniper Name "Split Fire Bowman" Item "The Huntsman" ClassIcon sniper_bow_ignite Skill Hard Health 1200 Scale 1.5 ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 "arrow mastery" 2 "set damagetype ignite" 1 "attach particle effect" 13 } CharacterAttributes { "move speed bonus" 0.85 "voice pitch scale" 0.8 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" } } WaveSpawn { Name "w7_b" WaitForAllDead "w7_a" Where spawnbot TotalCount 5 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Class Scout Name "Giant Regen Bonk Scout" Skill Normal Item "Bonk! Atomic Punch" WeaponRestrictions MeleeOnly ClassIcon scout_regenbonk Health 1600 Attributes MiniBoss Tag bot_regenscout ItemAttributes { ItemName "Bonk! Atomic Punch" "effect cond override" 92 } Item "Batsaber" Item "Bonk Helm" ItemColor { ItemName "Bonk! Atomic Punch" Red 202 Green 100 Blue 0 } ItemColor { ItemName "Bonk Helm" Red 255 Green 120 Blue 0 } ItemAttributes { ItemName "Batsaber" "set item tint rgb" 6901050 } CharacterAttributes { "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 "effect bar recharge rate increased" 0.55 "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" SpawnTemplate "powerup_logic" } } WaveSpawn // Dummy { WaitForAllDead "w7_b" WaitBeforeStarting 1 DoneOutput { Target "wave7_c_music_relay" Action Trigger } } WaveSpawn { Name "w7_c" WaitForAllDead "w7_b" Where spawnbot_all TotalCount 30 MaxActive 6 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 2 Support 1 TFBot { Class Demoman Name "Bumperknight" ClassIcon demoknight Skill Hard Item "Backbreaker's Guards" Item "The Chargin' Targe" Item "The Eyelander" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "bumpercar_logic" } } WaveSpawn // Dummy { WaitForAllDead "w7_b" WaitBeforeStarting 33 DoneOutput { Target "chewchewsign" Action Show } } WaveSpawn { Name "w7_c_tank" WaitForAllDead "w7_b" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 33 TotalCurrency 150 LastSpawnOutput { Target "chewchew_start" Action PlaySound } Tank { Name "tankboss_chewchew" Classicon blimp2_gray_lite Health 15000 MaxTurnRate 35 TeamNum 1 Speed 100 Scale 1.1 StartingPathTrackNode chewchew_path_middle_1 DisableSmokestack 1 Gravity 0 DisableTracks 1 DisableChildModels 1 EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" PingSound "npc/combine_gunship/ping_search.wav" Model "models/empty.mdl" SpawnTemplate "chewchew" SpawnTemplate "killtarget" OnKilledOutput { Target "chewchew_die" Action PlaySound } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w7_c_tank2" WaitForAllSpawned "w7_c_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 55 TotalCurrency 100 LastSpawnOutput { Target "chewchew_start" Action PlaySound } Tank { Name "tankboss_chewchew" Classicon blimp2_gray_lite Health 10000 MaxTurnRate 35 TeamNum 1 Speed 100 Scale 1.1 StartingPathTrackNode chewchew_path_left_1 DisableSmokestack 1 Gravity 0 DisableTracks 1 DisableChildModels 1 EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" PingSound "npc/combine_gunship/ping_search.wav" Model "models/empty.mdl" SpawnTemplate "chewchew" SpawnTemplate "killtarget" OnKilledOutput { Target "chewchew_die" Action PlaySound } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w7_c_tank3" WaitForAllSpawned "w7_c_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 65 TotalCurrency 100 LastSpawnOutput { Target "chewchew_start" Action PlaySound } Tank { Name "tankboss_chewchew" Classicon blimp2_gray_lite Health 10000 MaxTurnRate 35 TeamNum 1 Speed 100 Scale 1.1 StartingPathTrackNode chewchew_path_right_1 DisableSmokestack 1 Gravity 0 DisableTracks 1 DisableChildModels 1 EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" PingSound "npc/combine_gunship/ping_search.wav" Model "models/empty.mdl" SpawnTemplate "chewchew" SpawnTemplate "killtarget" OnKilledOutput { Target "chewchew_die" Action PlaySound } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w7_c_chief" WaitForAllDead "w7_b" Where spawnbot_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 20 TotalCurrency 150 TFBot { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Name "Sergeant Zombington" ClassIcon soldier_burstfire Health 30000 Scale 1.9 Item "The Valley Forge" Item "The First American" Item "The Colonial Clogs" Item "The Founding Father" Attributes AlwaysCrit Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload AlwaysGlow 1 Tag bot_chief ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.6 "fire rate bonus" 0.2 "clip size upgrade atomic" 7.0 "Projectile speed increased" 1.3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 "voice pitch scale" 0.7 "cancel falling damage" 1 } SpawnTemplate "killtarget3" NoIdleSound 1 Item "Zombie Soldier" UseHumanModel 2 } } WaveSpawn { Name "w7_c_backup" WaitForAllDead "w7_c_chief" Where spawnbot TotalCount 1 MaxActive 3 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 28 Support 1 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish ClassIcon demoknight NoIdleSound 1 Item "Zombie Demo" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn // Dummy { WaitForAllDead "w7_b" WaitBeforeStarting 60 DoneOutput { Target "worker_chief_start" Action PlaySound } } WaveSpawn // Dummy { WaitForAllDead "w7_b" WaitBeforeStarting 65 DoneOutput { Target "tomb_chiefspawn_sign" Action Show } } WaveSpawn { Name "w7_c_graychief" WaitForAllDead "w7_b" Where spawnbot_grave TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 64 TotalCurrency 250 TFBot { Template T_TFBot_Workerbot_Chief_Gray SpawnTemplate "killtarget4" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me3" Delay 25 // Time before the first task starts (Default: 10) Repeats 10 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 15 //Time between each task (Default: 10) Duration 10 // How long should the ai be interrupted } } } WaveSpawn { Name "wait" WaitForAllDead "w7_c_graychief" WaitBeforeStarting 1 DoneOutput { Target workerchief_nuclearoption Action Enable } } WaveSpawn { Name "w6_laszlo" WaitForAllDead "w7_b" Where spawnbot_laszlo_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 65 Support Limited Squad { Squad { TFBot { Template T_TFBot_Laszlo_Chief } } } } WaveSpawn // Dummy { WaitForAllDead "w7_a" DoneOutput { Target tomb_activate_nobell Action Trigger } } WaveSpawn // Dummy { WaitForAllDead "w7_a" DoneOutput { Target worker_start Action PlaySound } } WaveSpawn { Name "w7_b_gray" WaitForAllDead "w7_a" Where spawnbot_grave TotalCount 8 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9 WaitBetweenSpawns 20 Support 1 TFBot { Template T_TFBot_Workerbot_Gray SpawnTemplate "angry_robot1" EventChangeAttributes { Default { WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 1 } FireInput { Target "robot_phase_relay1" //Entity name to use Action "Trigger" //Input to fire Param "" //Parameter to use Delay 0.001 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 0 //How many times should the input be fired IfHealthBelow 800 //When set, the task activates only when the bot health is below specified value } } Panicked { Attributes SuppressFire WeaponRestrictions MeleeOnly CharacterAttributes { "stomp player damage" 30 "stomp player force" 500 "stomp player time" 0.5 "move speed bonus" 2 } } } } } WaveSpawn { Name "w7_b_gray" WaitForAllDead "w7_a" Where spawnbot_grave2 TotalCount 8 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9 WaitBetweenSpawns 20 Support 1 TFBot { Template T_TFBot_Workerbot_Gray SpawnTemplate "angry_robot2" EventChangeAttributes { Default { WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 1 } FireInput { Target "robot_phase_relay2" //Entity name to use Action "Trigger" //Input to fire Param "" //Parameter to use Delay 0.001 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 0 //How many times should the input be fired IfHealthBelow 800 //When set, the task activates only when the bot health is below specified value } } Panicked { Attributes SuppressFire WeaponRestrictions MeleeOnly CharacterAttributes { "stomp player damage" 30 "stomp player force" 500 "stomp player time" 0.5 "move speed bonus" 2 } } } } } WaveSpawn { Name "w7_b_gray" WaitForAllDead "w7_a" Where spawnbot_grave3 TotalCount 8 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9 WaitBetweenSpawns 20 Support 1 TFBot { Template T_TFBot_Workerbot_Gray SpawnTemplate "angry_robot3" EventChangeAttributes { Default { WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 1 } FireInput { Target "robot_phase_relay3" //Entity name to use Action "Trigger" //Input to fire Param "" //Parameter to use Delay 0.001 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 0 //How many times should the input be fired IfHealthBelow 800 //When set, the task activates only when the bot health is below specified value } } Panicked { Attributes SuppressFire WeaponRestrictions MeleeOnly CharacterAttributes { "stomp player damage" 30 "stomp player force" 500 "stomp player time" 0.5 "move speed bonus" 2 } } } } } ///////////////// //Ally Red Robots ///////////////// WaveSpawn { Name "w7_a_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 8 Support Limited TFBot { Class Pyro ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions PrimaryOnly Item "The Breather Bag" Item "The Boom Boxers" Item "Crusader's Getup" CharacterAttributes { "dmg taken from blast reduced" .25 "dmg taken from fire reduced" .25 "dmg taken from bullets reduced" .25 "dmg taken from crit reduced" .1 "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "redbot_init" UseHumanModel 2 } } WaveSpawn { Name "w7_a_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 8 Support Limited TFBot { Class Pyro ClassIcon red2_lite Skill Expert Action Mobber WeaponRestrictions PrimaryOnly Item "The Rugged Respirator" Item "Moccasin Machinery" Item "The Death Support Pack" CharacterAttributes { "dmg taken from blast reduced" .25 "dmg taken from fire reduced" .25 "dmg taken from bullets reduced" .25 "dmg taken from crit reduced" .1 "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "redbot_init" UseHumanModel 2 } } WaveSpawn { Name "w7_a_red" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 12 Support Limited TFBot { Class Heavy Skill Expert Action Mobber WeaponRestrictions PrimaryOnly Item "Tomislav" ClassIcon red2_lite Item "El Duderino" Item "Heavy Tourism" Item "Jungle Booty" CharacterAttributes { "dmg taken from blast reduced" .75 "dmg taken from fire reduced" .75 "dmg taken from bullets reduced" .75 "dmg taken from crit reduced" .7 "collect currency on kill" 1 "health from healers reduced" .1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "w7_red" WaitForAllDead "w7_b" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 12 Support Limited TFBot { Template T_TFBot_Soldier_RPG_Human Item "Sky High Fly Guy" Item "The Macho Mann" Item "Private Maggot Muncher" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "stand_target" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } } WaveSpawn { Name "w7_red" WaitForAllDead "w7_b" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 12 Support Limited TFBot { Template T_TFBot_Soldier_RPG_Human Item "Reader's Choice" Item "The Man in Slacks" Item "The Grenadier's Softcap" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "stand_target" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } } WaveSpawn { Name "w7_red" WaitForAllDead "w7_a" Where spawnbot_red_front Where spawnbot_red_hatch TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 4 Support Limited TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Health 500 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite Item "Packable Provisions" Item "Aim Assistant" Item "The Tools of the Trade" CharacterAttributes { "collect currency on kill" 1 "engy dispenser radius increased" 5 "health from healers reduced" .1 } SpawnTemplate "redbot_init" SpawnTemplate "prevent_redbotbuilding" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn // allows you to choose what bot engineers can build, can vary for each wave { Where spawnbot_build WaitBetweenSpawns 0.1 SpawnCount 1 MaxActive 3 // max red bot buildings Support 1 RandomChoice { RandomChoice { TFBot { Class Heavyweapons ClassIcon red2_lite Name "Heater Heavy" Item "The Huo Long Heatmaker" Skill Hard Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/heavy/bot_heavy.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Sniper ClassIcon red2_lite Name "Bowman Rapid Fire" Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 "arrow mastery" 2 "set damagetype ignite" 1 "attach particle effect" 13 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Class Sniper ClassIcon red2_lite Name "Bowman Rapid Fire" Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 "arrow mastery" 2 "set damagetype ignite" 1 "attach particle effect" 13 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/sniper/bot_sniper.mdl" SpawnTemplate "builtbot" Tag bot_build } TFBot { Name "Gunslinger" ClassIcon red2_lite Class Engineer MaxVisionRange 1200 Item "The Widowmaker" Item "The Gunslinger" UseMeleeThreatPrioritization 1 Attributes AlwaysFireWeapon FireInput { Target "switch_to_sentry_mode" Action "Trigger" Delay 0 Cooldown 7 IfSeeTarget 0 } FireInput { Target "switch_to_shotgun_mode" Action "Trigger" Delay 0 Cooldown 3 IfSeeTarget 1 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/engineer/bot_engineer.mdl" SpawnTemplate "builtbot" SpawnTemplate "prevent_redbotbuilding" Tag bot_build } TFBot { Name "Gunslinger" ClassIcon red2_lite Class Engineer MaxVisionRange 1200 Item "The Widowmaker" Item "The Gunslinger" UseMeleeThreatPrioritization 1 Attributes AlwaysFireWeapon FireInput { Target "switch_to_sentry_mode" Action "Trigger" Delay 0 Cooldown 7 IfSeeTarget 0 } FireInput { Target "switch_to_shotgun_mode" Action "Trigger" Delay 0 Cooldown 3 IfSeeTarget 1 } Skill Expert Action Mobber CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } UseCustomModel "models/bots/engineer/bot_engineer.mdl" SpawnTemplate "builtbot" SpawnTemplate "prevent_redbotbuilding" Tag bot_build } }} } } Templates { T_TFBot_Engineer_Widowmaker { Class Engineer ClassIcon engineer_widowmaker_nys Name "Widowmaker Engineer" Skill Normal WeaponRestrictions PrimaryOnly Action FetchFlag Item "The Widowmaker" UseHumanModel 2 Item "Zombie Engineer" //ItemAttributes //{ // ItemName "The Widowmaker" // "fire rate bonus" .6 // "damage bonus" .8 //} CharacterAttributes { "voice pitch scale" 0.8 } } T_TFBot_Testing_Bot { Class Scout Attributes SuppressFire CharacterAttributes { "move speed bonus" 0.001 "no_jump" 1 } } T_TFBot_Workerbot_Chief_Gray { Class Soldier Name "Pack Leader" ClassIcon worker_gry_lite NoPushaway 1 Health 30000 Scale 1.9 Skill Expert Attributes Miniboss NoIdleSound 1 AlwaysGlow 1 Attributes DisableDodge Attributes UseBossHealthBar Action Mobber Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Item "The Crone's Dome" Item "The Bat Outta Hell" Item "The Righteous Bison" Tag bot_angryworker Tag bot_workerchief UseCustomModel "models/empty.mdl" Item "The Air Strike" SpawnTemplate "angry_robot_chief" ItemAttributes { ItemName "The Crone's Dome" "attach particle effect" 67 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } HomingRockets { TurnPower 140 MaxAimError 180 RocketSpeed 0.4 AimTime 1.65 Acceleration 200 AccelerationTime 1 } ItemAttributes { ItemName "The Air Strike" "always crit" 1 "fire rate bonus" 0.08 "clip size upgrade atomic" 5 "faster reload rate" 0.2 "projectile spread angle penalty" 50 } ItemAttributes { ItemName "The Righteous Bison" "override projectile type" 18 "arrow hit kill time" 0.6 "custom weapon fire sound" "grayworker_sounds/ministrider_fire.wav" "custom hit sound" "=40|grayworker_sounds/flechette_flesh_impact4.wav" "centerfire projectile" 1 "custom impact sound" "grayworker_sounds/flechette_impact_stick3.wav" "mod projectile heat seek power" 1 "fire rate bonus" .01 "projectile spread angle penalty" 10 "clip size bonus upgrade" 2 } ItemAttributes { ItemName "The Bat Outta Hell" "custom hit sound" "grayworker_sounds/body_medium_impact_hard5.wav" "dmg pierces resists absorbs" 1 } CharacterAttributes { "mult stun resistance" 0.1 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 "voice pitch scale" 0 "collect currency on kill" 1 "crit mod disabled" 0 "rocket jump damage reduction" 0 "cancel falling damage" 1 "dmg taken mult from special damage type 2" 2.5 } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } ShootTemplate { Name chief_explosive_tip Speed 0 AttachToProjectile 1 ItemName "The Righteous Bison" } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me2" Delay 7 // Time before the first task starts (Default: 10) Repeats 5 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 15 //Time between each task (Default: 10) Duration 15 // How long should the ai be interrupted } EventChangeAttributes { Default { ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0.1 //Time before the first bot attribute change (Default: 10) Cooldown 3 //Time between each bot attribute change (Default: 10) Repeats 0 //How many times should bot change attributes in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Name "ShootExplosiveTips" // Name of the bot attributes listed in EventChangeAttributes } } ShootExplosiveTips { WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 10 //Time before the first bot attribute change (Default: 10) Cooldown 0 //Time between each bot attribute change (Default: 10) Repeats 0 //How many times should bot change attributes in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) //IfHealthBelow 20000 //When set, the task activates only when the bot health is below specified value Name "ShootRockets" // Name of the bot attributes listed in EventChangeAttributes } } ShootRockets { WeaponRestrictions PrimaryOnly AimOffset "0 0 2000" ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 3 //Time before the first bot attribute change (Default: 10) Cooldown 0 //Time between each bot attribute change (Default: 10) Repeats 0 //How many times should bot change attributes in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) //IfHealthBelow 15000 //When set, the task activates only when the bot health is below specified value Name "ShootExplosiveTips" // Name of the bot attributes listed in EventChangeAttributes } } GetOutOfMyFace { WeaponRestrictions MeleeOnly CharacterAttributes { "stomp player damage" 100 "stomp player force" 1000 "stomp player time" 0.1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0.5 //Time before the first bot attribute change (Default: 10) Cooldown 0 //Time between each bot attribute change (Default: 10) Repeats 0 //How many times should bot change attributes in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) //IfHealthBelow 15000 //When set, the task activates only when the bot health is below specified value Name "ShootExplosiveTips" // Name of the bot attributes listed in EventChangeAttributes } } } } T_TFBot_Workerbot_Gray { Class Soldier Name "Feral Worker Bot" ClassIcon gry_lite NoPushaway 1 Health 2400 Skill Expert Attributes Miniboss NoIdleSound 1 Attributes DisableDodge Action Mobber Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Item "The Bat Outta Hell" Item "The Righteous Bison" Tag bot_angryworker UseCustomModel "models/empty.mdl" 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" } ItemAttributes { ItemName "The Righteous Bison" "override projectile type" 18 "arrow hit kill time" 0.6 "custom weapon fire sound" "grayworker_sounds/ministrider_fire.wav" "custom hit sound" "grayworker_sounds/flechette_flesh_impact4.wav" "centerfire projectile" 1 "custom impact sound" "grayworker_sounds/flechette_impact_stick3.wav" "mod projectile heat seek power" 1 "fire rate bonus" .5 "reload time increased" 2 "clip size bonus upgrade" .75 } ItemAttributes { ItemName "The Bat Outta Hell" "custom hit sound" "grayworker_sounds/body_medium_impact_hard5.wav" //"dmg pierces resists absorbs" 1 } CharacterAttributes { "mult stun resistance" 0.1 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 "voice pitch scale" 0 "collect currency on kill" 1 "crit mod disabled" 0 "cancel falling damage" 1 "dmg taken mult from special damage type 2" 2.5 } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } ShootTemplate { Name Explosive_Tip Speed 0 AttachToProjectile 1 ItemName "The Righteous Bison" } } T_TFBot_Demoknight_Skullcutter_Gray { Class Demoman Name "Demoknight" ClassIcon gry_lite NoPushaway 1 Scale 1.3 Skill Hard Health 650 Action Mobber Attributes DisableDodge WeaponRestrictions MeleeOnly Item "The Scotsman's Skullcutter" Tag bot_gry CustomEyeGlowColor "255 0 0" UseCustomModel "models/bots/demo/bot_demo_gray.mdl" AddCond { Name TF_COND_SODAPOPPER_HYPE } Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } CharacterAttributes { "collect currency on kill" 1 "crit vs burning players" 1 "crit vs non burning players" 1 "dmg taken mult from special damage type 2" 2.5 } EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } TankDead { CharacterAttributes { "collect currency on kill" 1 "crit mod disabled" 0 } } } } T_TFBot_Soldier_RPG_Human { Class Soldier ClassIcon red2_lite Skill Expert Attributes SpawnWithFullCharge Item "The Liberty Launcher" Item "The Buff Banner" CharacterAttributes { "increase buff duration" 9 "dmg taken from blast reduced" 0.75 "dmg taken from fire reduced" 0.75 "dmg taken from bullets reduced" 0.75 "dmg taken from crit reduced" 0.7 "collect currency on kill" 1 "health from healers reduced" .1 } ItemAttributes { ItemName "The Liberty Launcher" "mod projectile heat follow crosshair" 1 "mod projectile heat seek power" 180 "Projectile speed increased" 0.2 "fire rate bonus hidden" 2 "damage penalty" 1 "damage bonus hidden" 2 "clip size bonus" .25 "projectile acceleration" 5000 "projectile acceleration time" .1 "projectile acceleration start time" .5 "custom weapon fire sound" "=50|rpg_sounds/rocketfire1.wav" "mod projectile heat aim time" 10 } ShootTemplate { Name rpg_shoottemplate ItemName "The Liberty Launcher" AttachToProjectile 1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Demoman_Caber_Human { Class Demoman Skill Hard WeaponRestrictions MeleeOnly ClassIcon red2_lite Item "Ali Baba's Wee Booties" Item "The Ullapool Caber" Item "The Chargin' Targe" Action Mobber ItemAttributes { ItemName "The Ullapool Caber" "regenerate stickbomb" 1 "fire rate penalty" 1 } CharacterAttributes { "collect currency on kill" 1 } SpawnTemplate "redbot_init" UseHumanModel 2 AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Demoman_Samurai_Human { Class Demoman Name "Samurai Demo" ClassIcon demoknight_samurai Skill Expert Item "Demo Kabuto" Item "Bushi-Dou" Item "Shin Shredders" Item "Ali Baba's Wee Booties" Item "The Half-Zatoichi" Item "The Splendid Screen" ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 "charge recharge rate increased" 4 "damage force reduction" .1 } ItemAttributes { ItemName "The Half-Zatoichi" "critboost on kill" 2 "damage bonus" 1.5 "melee attack rate bonus" .8 } WeaponRestrictions MeleeOnly CharacterAttributes { "charge time increased" 2 "dmg taken from blast reduced" .5 "dmg taken from fire reduced" .5 "dmg taken from bullets reduced" .5 "dmg taken from crit reduced" .4 "health from healers reduced" .1 } } T_TFBot_Giant_Soldier_Critbanner { Class Soldier ClassIcon soldier_critbuff Name "Giant Crit Banner Soldier" Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Soldier" Item "The Gunboats" ItemAttributes { ItemName "The Gunboats" "custom item model" "models/weapons/c_models/c_critbanner/c_critbanner.mdl" "attachment scale" 0.57 } Tag bot_critbanner SpawnTemplate "crit_radius" AddCond { Name TF_COND_CRITBOOSTED_PUMPKIN } } T_TFBot_Giant_Engineer_Frontierjustice { Class Engineer Name "Giant Frontier Engineer" Item "The Frontier Justice" ClassIcon engineer_frontier_justice_nys Attributes AlwaysCrit Skill Hard Health 2800 Attributes MiniBoss Action FetchFlag Scale 1.75 WeaponRestrictions PrimaryOnly NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 4 "voice pitch scale" 0.8 } } T_TFBot_Giant_Engineer_Widowmaker { Class Engineer ClassIcon engineer_widowmaker_nys Name "Giant Widowmaker Engineer" Skill Hard Health 2800 Scale 1.75 WeaponRestrictions PrimaryOnly Attributes MiniBoss Action FetchFlag Item "The Widowmaker" NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" .6 "damage bonus" .8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 4 "voice pitch scale" 0.8 } } T_TFBot_Tomb_Skeleton { Class Sniper Skin 3 Item "Prinny Machete" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" } T_TFBot_Medic_King { Class Medic Name "King Medic" Skill Expert Classicon medic_king Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "effect cond override" 109 } CharacterAttributes { "heal rate bonus" 200 "bot medic uber health threshold" 999 "uber duration bonus" 999 } UseHumanModel 2 Item "Zombie Medic" } T_TFBot_Medic_Knockout { Class Medic Name "Knockout Medic" Skill Expert Classicon medic_knockout Attributes SpawnWithFullCharge //CustomEyeGlowColor "255 100 0" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "effect cond override" 103 } CharacterAttributes { "heal rate bonus" 100 "bot medic uber health threshold" 999 "uber duration bonus" 999 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Medic" } T_TFBot_Medic_Resistance { Class Medic Name "Resistance Medic" Skill Expert Classicon medic_resist Attributes SpawnWithFullCharge AddCond { Index 93 } //CustomEyeGlowColor "255 100 0" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "effect cond override" 93 } CharacterAttributes { "heal rate bonus" 100 "bot medic uber health threshold" 999 "uber duration bonus" 999 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Medic" } T_TFBot_Pyro_Phlog { Class Pyro Name "Phlog Pyro" ClassIcon pyro_phlog Skill Expert Attributes SpawnWithFullCharge Item "The Phlogistinator" //CustomEyeGlowColor "255 100 0" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } } T_TFBot_Giant_Pyro_Phlog { Name "Giant Phlog Pyro" ClassIcon pyro_phlog_giant Class Pyro Skill Expert Attributes MiniBoss Health 3000 Item "The Phlogistinator" Attributes SpawnWithFullCharge UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "The Phlogistinator" "mod rage on hit bonus" 100 "airblast disabled" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "gesture speed increase" 1.25 "mult airblast refire time" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_PotionTosser_Base { Class Sniper ClassIcon potion_trap_lite Name "Potion Tosser" Action Mobber UseCustomModel "models/bots/sniper/bot_sniper_gray.mdl" CustomEyeGlowColor "255 0 0" Attributes DisableDodge Item "The Crone's Dome" Item "Jarate" StripItemSlot 0 NoPushaway 1 CharacterAttributes { "crit mod disabled" 0 } Tag bot_gry AddCond { Name TF_COND_REPROGRAMMED_NEUTRAL } FireInput { Target "switch_to_melee" Action "Trigger" Delay 1 Cooldown 2.5 IfSeeTarget 0 } FireInput { Target "switch_to_potion" Action "Trigger" Delay 0 Cooldown 9 IfSeeTarget 1 } FireInput { Target "choose_potion_effect" Action "PickRandom" Delay 0 Cooldown 6 IfSeeTarget 0 } EventChangeAttributes { Default { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 } } Cond_Minicrit { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 19 //Mini-crits "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 178 } } Cond_Marked { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 30 //Marked for death "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 44 } } Cond_Bombhead { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 53 //Bombhead "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 147 } } Cond_AmpuTaunt { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 55 //Amputator taunt "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 58 } } Cond_Stealth { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 66 //Stealth "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 82 } } Cond_Gravity { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 84 //Lowered gravity "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 155 } } Cond_Swim { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 107 //Swim in the air "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 130 } } Cond_Gas { Skill Expert //WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect cond override" 123 //Covered in gas "SPELL: set item tint RGB" 5 "fire rate bonus" 3 "effect bar recharge rate increased" 0 "attach particle effect" 106 } } } } T_TFBot_Scout_SodaPopper { Class Scout Skill Normal Action Mobber NoPushaway 1 Item "The Soda Popper" WeaponRestrictions PrimaryOnly Tag bot_popper ItemAttributes { ItemName "The Soda Popper" "hype decays over time" -10 } Attributes DisableDodge EventChangeAttributes { Default { //FireInput //{ // Target "sodapopper_push_relay" //Entity name to use // Action "Trigger" //Input to fire // Param "" //Parameter to use // Delay 0.001 //Delay before firing the input // Cooldown 1 //Cooldown between firing the input // Repeats 1 //How many times should the input be fired // //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //} InterruptAction // Stop current bot ai and force the bot to move to a location { Target "cometo_me" AimTarget "cometo_me" Delay 0.1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 10 // How long should the ai be interrupted //OnDoneChangeAttributes "JumpAndDet" } FireWeapon //Periodically fires weapon { Delay 0.1 //Time before the first fire input starts (Default: 10) Cooldown 0.65 //Time between each fire input (Default: 10) Repeats 1 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Secondary" } FireWeapon //Periodically fires weapon { Delay 0.45 //Time before the first fire input starts (Default: 10) Cooldown 0.5 //Time between each fire input (Default: 10) Repeats 5 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.15 //How long should the button be pressed (Default: 0.1) Type "Jump" } FireInput { Target "popper_target_relay" Action "Trigger" Delay 2.5 Cooldown 5 Repeats 0 } } AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackVip { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_target" AimTarget "vip_target" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackPlayers { WeaponRestrictions PrimaryOnly } } } T_TFBot_Soldier_Hastebuff { Class Soldier Name "Haste Buff Soldier" Skill Normal ClassIcon soldier_hastebuff StripItemSlot 2 Item "The Gunboats" Tag bot_hastebanner SpawnTemplate "haste_radius" SpawnTemplate "powerup_logic_banner_recipient" CustomWeaponModel { Slot 1 Model "models/weapons/c_models/c_hastebanner/c_hastebanner.mdl" } //AddCond { Index 91 } UseHumanModel 2 Item "Zombie Soldier" } T_TFBot_Soldier_Vacbanner { Template T_TFBot_Soldier_Extended_Buff_Banner Name "Bullet Vac Soldier" ClassIcon red2_lite //soldier_banner_bullet_allyred Skill Expert Attributes DisableDodge StripItemSlot 2 Tag bot_vacbanner Item "The Gunboats" Item "Attack Packs" Item "The Shellmet" CharacterAttributes { "medigun bullet resist passive" .75 "medigun bullet resist deployed" .75 "dmg taken from bullets increased" .25 } SpawnTemplate "vac_radius_fix" CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } CustomWeaponModel { Slot 1 Model "models/weapons/c_models/c_bulletbanner/c_bulletbanner.mdl" } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Pyro_VacTankBuster_Allyred { Class Pyro Skill Expert Action Mobber Item "Wanderer's Wear" Item "Spawn Camper" Item "The Back Scratcher" FireInput { Target "vactank_aliveness_check" Action "Compare" Delay 0.1 Cooldown 5 Repeats 1 } EventChangeAttributes { AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackZombies { WeaponRestrictions PrimaryOnly } } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Scout_VacTankBuster_Allyred { Class Scout Skill Expert Action Mobber Item "Greased Lightning" Item "Hot Heels" Item "The Flapjack" Item "The Soda Popper" Item "Necro Smasher" FireInput { Target "vactank_aliveness_check" Action "Compare" Delay 0.1 Cooldown 5 Repeats 1 } EventChangeAttributes { AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackZombies { WeaponRestrictions PrimaryOnly } } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Soldier_VacTankBuster_Allyred { Class Soldier Skill Expert Action Mobber Item "dec2014 Skullcap" Item "Veterans Attire" Item "The Righteous Bison" ItemAttributes { ItemName "TF_Weapon_Rocketlauncher" "no self blast dmg" 1 } FireInput { Target "vactank_aliveness_check" Action "Compare" Delay 0.1 Cooldown 5 Repeats 1 } EventChangeAttributes { AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackZombies { WeaponRestrictions PrimaryOnly } } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Engineer_VacTankBuster_Allyred { Class Engineer Skill Expert Action Mobber Item "Flash of Inspiration" Item "Wise Whiskers" Item "The Trencher's Tunic" Item "The Widowmaker" Item "Necro Smasher" FireInput { Target "vactank_aliveness_check" Action "Compare" Delay 0.1 Cooldown 5 Repeats 1 } EventChangeAttributes { AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackZombies { WeaponRestrictions PrimaryOnly } } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Sniper_VacTankBuster_Allyred { Class Sniper Name "Bowman" Skill Expert Action Mobber Item "The Bare Necessities" Item "The Most Dangerous Mane" Item "Rifleman's Regalia" Item "The Huntsman" Item "Necro Smasher" FireInput { Target "vactank_aliveness_check" Action "Compare" Delay 0.1 Cooldown 5 Repeats 1 } EventChangeAttributes { AttackTank { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me" AimTarget "kill_me" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } } AttackZombies { WeaponRestrictions PrimaryOnly } } CharacterAttributes { "collect currency on kill" 1 "health from healers reduced" .1 } AddCond { Name TF_COND_REPROGRAMMED } } T_TFBot_Laszlo_Chief { Name "Powered Up Laszlo" Class Engineer Skill Expert Attributes Miniboss Action Mobber Attributes DisableDodge WeaponRestrictions PrimaryOnly AlwaysGlow 1 Health 20000 Scale 1.9 Item "The Pencil Pusher" Item "The Trencher's Tunic" Item "Support Spurs" AddCond { Name TF_COND_REPROGRAMMED } Tag laszlo NoPushaway 1 Item "Panic Attack Shotgun" CharacterAttributes { "voice pitch scale" 0.7 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.7 //"override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.5 "rage giving scale" 0.1 "voice pitch scale" 0.7 "cancel falling damage" 1 "no_jump" 1 "health from healers reduced" 0.1 "collect currency on kill" 1 } ItemAttributes { ItemName "Panic Attack Shotgun" "cannot be upgraded" 1 "minicritboost on kill" 5 "mult_spread_scales_consecutive" 0 "weapon spread bonus" 0.5 "can headshot" 1 "revolver use hit locations" 1 "faster reload rate" .4 "fire rate bonus" .4 "heal on kill" 500 } Message //Displays message in the chat { Name "{red}Laszlo {B6FFB3}: Guess who's back!" //Message in the chat displayed Delay 1 //Time before the message is first displayed (Default: 10) Cooldown 3 //Time between each message (Default: 10) Repeats 1 //How many times should bot display the message (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "kill_me4" Delay 25 // Time before the first task starts (Default: 10) Repeats 20 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 25 //Time between each task (Default: 10) Duration 10 // How long should the ai be interrupted } SpawnTemplate "laszlo_chief_template" } T_TFBot_Laszlo { Name "Laszlo" Class Engineer Skill Expert Action Mobber Attributes DisableDodge WeaponRestrictions PrimaryOnly AimAt Head Scale 1.001 Item "The Pencil Pusher" Item "The Trencher's Tunic" Item "Support Spurs" AlwaysGlow 1 AddCond { Name TF_COND_REPROGRAMMED } Tag laszlo NoPushaway 1 DropWeapon 1 SpawnTemplate "laszlo_template" Item "Panic Attack Shotgun" CharacterAttributes { "move speed bonus" 0.75 "cancel falling damage" 2 "no_jump" 1 "collect currency on kill" 1 } ItemAttributes { ItemName "Panic Attack Shotgun" "cannot be upgraded" 1 "max health additive bonus" 25 "minicritboost on kill" 5 "mult_spread_scales_consecutive" 0 "weapon spread bonus" 0.5 "can headshot" 1 "revolver use hit locations" 1 "faster reload rate" .4 "fire rate bonus" .6 "heal on kill" 50 "health from healers reduced" 0 } EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_target" // Move target location //Target "203 290 769" Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 600 // How long should the ai be interrupted //WaitUntilDone 0 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } VipDead { } VipAscended { AddCond { Index 51 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "laszlo_stand" AimTarget "laszlo_look" Delay 10.5 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 30 // How long should the ai be interrupted WaitUntilDone 1 } Message //Displays message in the chat { Name "{red}Laszlo {FBECCB}: {B6FFB3}Hey, thanks for protecting my buddy and I from those awful things back there." //Message in the chat displayed Delay 34 //Time before the message is first displayed (Default: 10) Cooldown 3 //Time between each message (Default: 10) Repeats 1 //How many times should bot display the message (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) } Message //Displays message in the chat { Name "{red}Laszlo {FBECCB}: {B6FFB3}I have to go catch up with him, but I promise I'll be back to return the favor." //Message in the chat displayed Delay 35.5 //Time before the message is first displayed (Default: 10) Cooldown 3 //Time between each message (Default: 10) Repeats 1 //How many times should bot display the message (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) } Message //Displays message in the chat { Name "{red}Laszlo {FBECCB}: {B6FFB3}See ya again soon!" //Message in the chat displayed Delay 37 //Time before the message is first displayed (Default: 10) Cooldown 3 //Time between each message (Default: 10) Repeats 1 //How many times should bot display the message (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) } FireInput { Target "laszlo_goodend_relay" Action "Trigger" Repeats 1 Delay 37.5 } FireInput { Target "spawnbot_laszlo_chief" Action "Enable" Repeats 1 Delay 37.4 } CharacterAttributes { "voice pitch scale" 0 } } } } T_TFBot_VIP { Class Sniper Name "Sandy" Skill Expert ClassIcon vip Item "Ritzy Rick's Hair Fixative" Item "The Mislaid Sweater" Item "The Triggerman's Tacticals" Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SMG" "add cond on kill" 78 "fire input on hit" "vip_checkforkill^Trigger" } StripItemSlot 0 Action Mobber Attributes DisableDodge Attributes UseBossHealthBar WeaponRestrictions SecondaryOnly Health 650 NoPushaway 1 Tag vip CharacterAttributes { "no_jump" 1 "move speed bonus" 0.75 "voice pitch scale" 0 "cancel falling damage" 2 "collect currency on kill" 1 "health from healers reduced" 0 "no_jump" 1 } AddCond { Name TF_COND_REPROGRAMMED } UseHumanModel 1 SpawnTemplate "vip_logic_on_his_person" FireInput { Target "hurt_voiceline_relay_13" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 649 } FireInput { Target "hurt_voiceline_relay_12" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 600 } FireInput { Target "hurt_voiceline_relay_11" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 550 } FireInput { Target "hurt_voiceline_relay_10" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 500 } FireInput { Target "hurt_voiceline_relay_09" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 450 } FireInput { Target "hurt_voiceline_relay_08" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 400 } FireInput { Target "hurt_voiceline_relay_07" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 350 } FireInput { Target "hurt_voiceline_relay_06" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 300 } FireInput { Target "hurt_voiceline_relay_05" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 250 } FireInput { Target "hurt_voiceline_relay_04" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 200 } FireInput { Target "moveon_relay*" Action "Disable" Repeats 0 Cooldown 1 Delay 0 IfHealthBelow 200 } FireInput { Target "gethealth_relay*" Action "Enable" Repeats 0 Cooldown 1 Delay 0 IfHealthBelow 200 } FireInput { Target "vip_destination_state" Action "GetValue" Repeats 0 Cooldown 1 Delay 0 IfHealthBelow 200 } FireInput { Target "injured_voiceline_relay" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 200 } FireInput { Target "hurt_voiceline_relay_03" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 150 } FireInput { Target "hurt_voiceline_relay_02" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 100 } FireInput { Target "hurt_voiceline_relay_01" Action "Trigger" Repeats 0 Cooldown 5 Delay 0 IfHealthBelow 50 } WeaponSwitch //Periodically switches weapon { Delay 0.01 //Time before the first weapon switch starts (Default: 10) Cooldown 3 //Time between each weapon switch (Default: 10) Repeats 1 //How many times should bot switch weapons in total (Default: 0 - Infinite) Type "Secondary" // Weapon slot, possible values: } EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_destination_1" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } MoveOnCalm { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_destination_2" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } MoveOnCalm2 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_destination_3" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } MoveOnCalm3 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_destination_1" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } GetHealth { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_health_destination_1" Repeats 0 Cooldown 10 Delay 0.1 Duration 300 } } GetHealth2 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_health_destination_2" Repeats 0 Cooldown 10 Delay 0.1 Duration 300 } } GetHealth3 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_health_destination_3" Repeats 0 Cooldown 10 Delay 0.1 Duration 300 } } AvoidBuster { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_avoidbuster_destination_1" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } AvoidBuster2 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_avoidbuster_destination_2" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } AvoidBuster3 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "vip_avoidbuster_destination_3" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } BeginLasering { WeaponRestrictions SecondaryOnly InterruptAction // Stop current bot ai and force the bot to move to a location { AimTarget "vip_laser_target" Repeats 0 Cooldown 30 Delay 0.1 Duration 300 } } Farewell { WeaponRestrictions SecondaryOnly InterruptAction // Stop current bot ai and force the bot to move to a location { Target "igonow_target*" Repeats 5 Cooldown 1 Delay 0.2 Duration 30 } CharacterAttributes { "move speed bonus" 0.5 } } } } } PointTemplates { powerup_logic_player { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } } powerup_logic { OnSpawnOutput { Target "powerup_haver_target" Action SetParent Param "!activator" Delay 0.01 } OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } info_target { "targetname" "powerup_haver_target" } } powerup_logic_medic { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnParentKilledOutput { Target "powerup_logic_relay" Action Trigger Delay 0.001 } } powerup_logic_banner { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnParentKilledOutput { Target "powerup_logic_relay" Action Trigger Delay 0.001 } } powerup_logic_banner_recipient { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnSpawnOutput { Target "parentoutput_target" Action SetParent Param "!activator" } info_target { "targetname" "parentoutput_target" "OnUser1" "recipient_counter,Add,1,0,-1" "OnUser2" "recipient_counter,Subtract,1,0,-1" } math_counter { "targetname" "recipient_counter" "max" "9999" "outvalue" "countcompare,setvaluecompare,,0,-1" } logic_case { "targetname" "haste_debug_case" "Case01" "0" "Case02" "1" "Case03" "2" "Case04" "3" "Case05" "4" "Case06" "5" "OnCase01" "player,$DisplayTextChat,0,0,-1" "OnCase02" "player,$DisplayTextChat,1,0,-1" "OnCase03" "player,$DisplayTextChat,2,0,-1" "OnCase04" "player,$DisplayTextChat,3,0,-1" "OnCase05" "player,$DisplayTextChat,4,0,-1" "OnCase06" "player,$DisplayTextChat,5,0,-1" } logic_compare { "targetname" "countcompare" "onequalto" "!parent,$removecond,91,0,-1" "ongreaterthan" "!parent,$addcond,91,0,-1" } } powerup_logic_bonk { NoFixup 1 OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnParentKilledOutput { Target "powerup_logic_relay" Action Trigger Delay 0.001 } } powerup_logic_bonk_logic { NoFixup 1 logic_timer { "targetname" "regen_fix_timer" "RefireTime" "0.1" "spawnflags" "0" "StartDisabled" "0" "UseRandomTime" "0" "OnTimer" "regen_fix,Toggle,,0,-1" "OnTimer" "regen_fix2,Toggle,,0,-1" } trigger_multiple { "targetname" "regen_fix" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_regencond" "OnStartTouch" "!activator,$AddPlayerAttribute,health regen|128,0,-1" } trigger_multiple { "targetname" "regen_fix2" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_noregencond" "OnStartTouch" "!activator,$RemovePlayerAttribute,health regen,0,-1" } filter_tf_condition { "targetname" "filter_regencond" "condition" "92" } filter_multi { "targetname" "filter_scoutnoregen" "filter01" "filter_regenscout" "filter02" "filter_noregencond" } filter_tf_condition { "targetname" "filter_noregencond" "condition" "92" "Negated" "1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_regenscout" "targetname" "filter_regenscout" } } powerup_logic_bystander { OnSpawnOutput { Target "powerup_bystander_target" Action SetParent Param "!activator" Delay 0.01 } OnSpawnOutput { Target "powerup_bystander_timer" Action Enable Delay 0.01 } OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } info_target { "targetname" "powerup_bystander_target" } } general_logic { NoFixup 1 logic_auto { "OnMapSpawn" "tomb1_disable,AddOutput,OnTrigger spawnbot_grave:Disable:0:-1" "OnMapSpawn" "tomb2_disable,AddOutput,OnTrigger spawnbot_grave2:Disable:0:-1" "OnMapSpawn" "tomb3_disable,AddOutput,OnTrigger spawnbot_grave3:Disable:0:-1" "OnMapSpawn" "tomb1_enable,AddOutput,OnTrigger spawnbot_grave:Enable:0:-1" "OnMapSpawn" "tomb2_enable,AddOutput,OnTrigger spawnbot_grave2:Enable:0:-1" "OnMapSpawn" "tomb3_enable,AddOutput,OnTrigger spawnbot_grave3:Enable:0:-1" "OnMapSpawn" "spawnbot_red_hatch,Disable,,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger spawnbot_red_hatch:Disable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger spawnbot_red_front:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger activate_tele_stuff_hatch:Disable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger activate_tele_stuff_front:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger particle_teleport_hatch_relay:Disable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger particle_teleport_front_relay:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger sound_teleport_hatch:AddOutput:health 0:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger sound_teleport_front:AddOutput:health 8:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger sound_teleport_para_hatch:AddOutput:health 0:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger sound_teleport_para_front:AddOutput:health 8:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger laszlo_death_relay:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger vip_death_relay:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger vip_laser_event_relay:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger shift_redbots:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger tele_parachute:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger tele_parachute_med:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger tele_parachute_hatch:Disable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger tele_parachute_med_hatch:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger vac_fix_relay:Trigger:0:-1" } /////////////// //Miscellaneous /////////////// logic_relay { "targetname" "grybot_end_relay" "OnTrigger" "grybot_killswitch_relay*,Trigger,,0,-1" } training_annotation { "targetname" "tombgonesign2" "display_text" "A tomb has been permanently sealed!" "lifetime" "5" "origin" "960 2554 625" } training_annotation { "targetname" "tombgonesign3" "display_text" "A tomb has been permanently sealed!" "lifetime" "5" "origin" "1664 2500 874" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_chief" "targetname" "filter_chief" } logic_relay { "targetname" "tomb_activate_nobell" "OnTrigger" "tomb1_door,Open,,0,-1" "OnTrigger" "tomb2_door,Open,,0,-1" "OnTrigger" "tomb3_door,Open,,0,-1" } info_target { "targetname" "stand_target" "origin" "980 3908 971" } logic_relay { "targetname" "wave7_a_music_relay" "OnTrigger" "wave7_a_music,PlaySound,,0,-1" } logic_relay { "targetname" "wave7_c_music_relay" "OnTrigger" "wave7_c_music,PlaySound,,0,-1" "OnTrigger" "wave7_c_music,Volume,0,127,-1" "OnTrigger" "wave7_c_music_backup,PlaySound,,127,-1" "OnTrigger" "wave7_a_music,Volume,0,0,-1" } ambient_generic { "targetname" "wave7_a_music" "health" "7" "message" "#penulti_cmprsd.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "fadeoutsecs" "10" "origin" "-348 2853 1627" } ambient_generic { "targetname" "wave7_a_music" "health" "7" "message" "#penulti_cmprsd.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "fadeoutsecs" "10" "origin" "-348 2853 1627" } ambient_generic { "targetname" "wave7_c_music" "health" "7" "message" "#lastlegs_cmprsd.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "origin" "-348 2853 1627" } ambient_generic { "targetname" "wave7_c_music" "health" "7" "message" "#lastlegs_cmprsd.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "origin" "-348 2853 1627" } ambient_generic { "targetname" "wave7_c_music_backup" "health" "7" "message" "#music/vlvx_song23.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "origin" "-348 2853 1627" } ambient_generic { "targetname" "wave7_c_music_backup" "health" "7" "message" "#music/vlvx_song23.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "17" "origin" "-348 2853 1627" } info_target { "targetname" "lighting_target" "origin" "373 4772 795" } filter_tf_bot_has_tag { "targetname" "filter_buster" "tags" "bot_buster" "require_all_tags" "1" } filter_tf_condition { "targetname" "filter_cond" "condition" "6" } filter_multi { "targetname" "filter_detonate" "filter01" "filter_buster" "filter02" "filter_cond" } training_annotation { "targetname" "vipsign" "display_text" "The VIP is here! Protect him!" "lifetime" "8" "origin" "-691 3448 901" } logic_relay { "targetname" "kill_tombteleport_relay" "OnTrigger" "tomb1_teleport,Kill,,0,-1" "OnTrigger" "tomb2_teleport,Kill,,0,-1" "OnTrigger" "tomb3_teleport,Kill,,0,-1" } logic_timer { "targetname" "powerup_bystander_timer" "RefireTime" "1" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "@p@powerup_bystander_target*,$RemoveCond,93,0.01,-1" "OnTimer" "@p@powerup_bystander_target*,$RemoveCond,103,0.01,-1" "OnTimer" "@p@powerup_bystander_target*,$RemoveCond,109,0.01,-1" } logic_relay { "targetname" "powerup_logic_relay" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,93,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,103,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,109,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,93,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,103,0.1,-1" "OnTrigger" "@p@powerup_bystander_target*,$RemoveCond,109,0.1,-1" "OnTrigger" "@p@powerup_haver_target*,$RemoveCond,91,0.1,-1" } info_target { "targetname" "in_a_rock" "origin" "-353 1008 767" } filter_tf_bot_has_tag //our tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_gry" "targetname" "filter_gry" } filter_multi { "filtertype" "1" "Negated" "0" "targetname" "filter_notred" "Filter01" "filter_blu" "Filter02" "filter_gry" } //Vacbanner Logic logic_relay { "targetname" "vac_fix_relay" "OnTrigger" "vac_fix,Enable,,0.2,-1" "OnTrigger" "vac_fix,Disable,,0.21,-1" } logic_timer { "targetname" "vac_radius_fix_timer" "RefireTime" "1" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "vac_radius_fix_brush,TouchTest,,0.01,-1" } trigger_multiple { "targetname" "vac_fix" "spawnflags" "1" "StartDisabled" "1" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "OnStartTouch" "!activator,$RemoveCond,58,0,-1" "OnStartTouch" "!activator,$RemovePlayerAttribute,dmg taken from bullets increased,0,-1" } trigger_multiple { "targetname" "crit_fix" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_blu" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "OnStartTouch" "!activator,$RemoveCond,40,0,-1" "OnStartTouch" "!self,Disable,,0.01,-1" } trigger_multiple { "targetname" "detect_critbanner_death" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_critbanner" "OnEndTouch" "crit_fix,Enable,,0,-1" } filter_tf_bot_has_tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_critbanner" "targetname" "filter_critbanner" } filter_tf_bot_has_tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_hastebanner" "targetname" "filter_hastebanner" } trigger_multiple { "targetname" "detect_vacbanner_death" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_vacbanner" "OnEndTouch" "vac_fix_relay,Trigger,,0,-1" } filter_tf_bot_has_tag //our tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_vacbanner" "targetname" "filter_vacbanner" } //Sodapoppers Logic filter_tf_bot_has_tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_popper" "targetname" "filter_popper" } trigger_push { "alternateticksfix" "0" "origin" "-768 4032 704" "mins" "-384 -192 -128" "maxs" "384 192 128" "pushdir" "0 13.5 0" "spawnflags" "1" "speed" "400" "StartDisabled" "0" "filtername" "filter_popper" "targetname" "sodapopper_push" } logic_relay { "targetname" "sodapopper_push_relay" "OnTrigger" "sodapopper_push,Enable,,0,-1" "OnTrigger" "sodapopper_push,Disable,,2,-1" } //////////////////// //Spy Tomb Stuck Fix //////////////////// trigger_teleport { "targetname" "tomb1_spytele" "target" "spytele_target" "filtername" "filter_spy" "spawnflags" "1" "mins" "-360 -96 -168" "maxs" "360 96 168" "origin" "2840 4704 760" "StartDisabled" "1" } trigger_teleport { "targetname" "tomb2_spytele" "target" "spytele_target" "filtername" "filter_spy" "spawnflags" "1" "mins" "-256 -160 -212" "maxs" "256 160 212" "origin" "1280 2560 532" "StartDisabled" "1" } trigger_teleport { "targetname" "tomb3_spytele" "target" "spytele_target" "filtername" "filter_spy" "spawnflags" "1" "mins" "-192 -432 -200" "maxs" "192 432 200" "origin" "1728 2032 840" "StartDisabled" "1" } info_target { "targetname" "spytele_target" "origin" "2000 3365 1049" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_spy" "targetname" "filter_spy" } /////////////// //RedBots Logic /////////////// //Front logic_relay { "targetname" "particle_teleport_front_relay" "OnTrigger" "particle_teleport_front,Start,,0,-1" "OnTrigger" "particle_teleport_front,Stop,,1.5,-1" } info_particle_system { "origin" "1859 5042 801" "targetname" "particle_teleport_front" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 90 0" } info_teleport_destination { "targetname" "parachute_telehere" "origin" "957 6245 1200" "angles" "0 90 0" } info_teleport_destination { "targetname" "parachute_med_telehere" "origin" "957 6195 1200" "angles" "0 90 0" } info_particle_system { "origin" "957 6220 1200" "targetname" "particle_teleport_para_front" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 90 0" } trigger_teleport { "targetname" "tele_parachute" "target" "parachute_telehere" "filtername" "filter_red_parachute" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "1739 1982 801" "StartDisabled" "0" } trigger_teleport { "targetname" "tele_parachute_med" "target" "parachute_med_telehere" "filtername" "filter_red_parachute_medic" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "1739 1982 801" "StartDisabled" "0" } trigger_multiple { "targetname" "activate_tele_stuff_front" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "957 6220 1200" "OnStartTouch" "sound_teleport_para_front,PlaySound,,0,-1" "OnStartTouch" "particle_teleport_para_front,Start,,0,-1" "OnStartTouch" "particle_teleport_para_front,Stop,,3,-1" "filtername" "filter_telesound" } ambient_generic { "targetname" "sound_teleport_front" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "1859 5042 801" } ambient_generic { "targetname" "sound_teleport_front" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "1859 5042 801" } ambient_generic { "targetname" "sound_teleport_para_front" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "957 6220 1200" } ambient_generic { "targetname" "sound_teleport_para_front" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "957 6220 1200" } //Hatch logic_relay { "targetname" "particle_teleport_hatch_relay" "OnTrigger" "particle_teleport_hatch,Start,,0,-1" "OnTrigger" "particle_teleport_hatch,Stop,,1.5,-1" } info_particle_system { "origin" "86 237 769" "targetname" "particle_teleport_hatch" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 90 0" } info_teleport_destination { "targetname" "parachute_telehere_hatch" "origin" "603 1660 1200" "angles" "0 -90 0" } info_teleport_destination { "targetname" "parachute_med_telehere_hatch" "origin" "603 1610 1200" "angles" "0 -90 0" } info_particle_system { "origin" "603 1635 1300" "targetname" "particle_teleport_para_hatch" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 90 0" } trigger_teleport { "targetname" "tele_parachute_hatch" "target" "parachute_telehere_hatch" "filtername" "filter_red_parachute" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "1739 1982 801" "StartDisabled" "1" } trigger_teleport { "targetname" "tele_parachute_med_hatch" "target" "parachute_med_telehere_hatch" "filtername" "filter_red_parachute_medic" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "1739 1982 801" "StartDisabled" "1" } trigger_multiple { "targetname" "activate_tele_stuff_hatch" "spawnflags" "1" "mins" "-100 -100 -100" "maxs" "100 100 100" "origin" "603 1635 1200" "OnStartTouch" "sound_teleport_para_hatch,PlaySound,,0,-1" "OnStartTouch" "particle_teleport_para_hatch,Start,,0,-1" "OnStartTouch" "particle_teleport_para_hatch,Stop,,3,-1" "filtername" "filter_telesound" "StartDisabled" "1" } ambient_generic { "targetname" "sound_teleport_hatch" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "86 237 769" } ambient_generic { "targetname" "sound_teleport_hatch" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "86 237 769" } ambient_generic { "targetname" "sound_teleport_para_hatch" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "603 1635 1200" } ambient_generic { "targetname" "sound_teleport_para_hatch" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "603 1635 1200" } filter_tf_bot_has_tag //our tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_redpara" "targetname" "filter_red_parachute" } filter_tf_bot_has_tag //our tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_redpara_med" "targetname" "filter_red_parachute_medic" } filter_tf_bot_has_tag //our tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_telesound_activator" "targetname" "filter_telesound" } func_flagdetectionzone { "targetname" "shift_redbots" "origin" "832 3552 800" "mins" "-1024 -64 -384" "maxs" "1024 64 384" "TeamNum" "3" "StartDisabled" "0" "spawnflags" "1" "alarm" "0" "OnStartTouchFlag" "particle_teleport_front_relay,Disable,,0,-1" "OnStartTouchFlag" "particle_teleport_hatch_relay,Enable,,0,-1" "OnStartTouchFlag" "sound_teleport_front,AddOutput,health 0,0,-1" "OnStartTouchFlag" "sound_teleport_hatch,AddOutput,health 8,0,-1" "OnStartTouchFlag" "tele_parachute,Disable,,0,-1" "OnStartTouchFlag" "tele_parachute_med,Disable,,0,-1" "OnStartTouchFlag" "tele_parachute_hatch,Enable,,0,-1" "OnStartTouchFlag" "tele_parachute_med_hatch,Enable,,0,-1" "OnStartTouchFlag" "sound_teleport_para_front,AddOutput,health 0,0,-1" "OnStartTouchFlag" "sound_teleport_para_hatch,AddOutput,health 8,0,-1" "OnStartTouchFlag" "activate_tele_stuff_front,Disable,,0,-1" "OnStartTouchFlag" "activate_tele_stuff_hatch,Enable,,0,-1" "OnStartTouchFlag" "spawnbot_red_front,Disable,,0,-1" "OnStartTouchFlag" "spawnbot_red_hatch,Enable,,0,-1" "OnStartTouchFlag" "shift_redbots,Disable,,1,-1" } } potion_logic { NoFixup 1 logic_timer { "targetname" "potion_effect_switch_timer" "RefireTime" "6" "spawnflags" "0" "StartDisabled" "0" "UseRandomTime" "0" "OnTimer" "choose_potion_effect,PickRandom,,0.01,-1" } logic_case { "targetname" "choose_potion_effect" "OnCase01" "player,$ChangeAttributes,Cond_Minicrit,0,-1" "OnCase02" "player,$ChangeAttributes,Cond_Bombhead,0,-1" "OnCase03" "player,$ChangeAttributes,Cond_AmpuTaunt,0,-1" "OnCase04" "player,$ChangeAttributes,Cond_Stealth,0,-1" "OnCase05" "player,$ChangeAttributes,Cond_Gravity,0,-1" "OnCase06" "player,$ChangeAttributes,Cond_Swim,0,-1" "OnCase07" "player,$ChangeAttributes,Cond_Gas,0,-1" } } killtarget { NoFixup 1 info_target { "targetname" "kill_me" "origin" "0 0 50" } } killtarget2 { NoFixup 1 info_target { "targetname" "kill_me2" "origin" "0 0 50" } } killtarget3 { NoFixup 1 info_target { "targetname" "kill_me3" "origin" "100 0 50" } } killtarget4 { NoFixup 1 info_target { "targetname" "kill_me4" "origin" "150 0 50" } } followtarget { NoFixup 1 info_target { "targetname" "follow_me" "origin" "0 0 50" } } bashtarget { NoFixup 1 info_target { "targetname" "bash_me" "origin" "300 0 50" } } movetotarget { NoFixup 1 info_target { "targetname" "cometo_me" "origin" "-248 4154 701" } } vac_radius_fix { NoFixup 1 OnSpawnOutput { Target "vac_radius_fix_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "vac_radius_fix_brush" "filtername" "filter_red" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,58,0,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,dmg taken from bullets increased|.25,0,-1" "OnEndTouch" "!activator,$RemoveCond,58,0,-1" "OnEndTouch" "!activator,$RemovePlayerAttribute,dmg taken from bullets increased,0,-1" } } vac_radius_fix { NoFixup 1 OnSpawnOutput { Target "vac_radius_fix_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "vac_radius_fix_brush" "filtername" "filter_red" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,58,0,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,dmg taken from bullets increased|.25,0,-1" "OnEndTouch" "!activator,$RemoveCond,58,0,-1" "OnEndTouch" "!activator,$RemovePlayerAttribute,dmg taken from bullets increased,0,-1" } } haste_radius { KeepAlive 1 OnParentKilledOutput { Target "haste_radius_brush" Action Disable } OnParentKilledOutput { Target "haste_radius_brush" Action Kill Delay 0.2 } OnSpawnOutput { Target "haste_radius_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "haste_radius_brush" "filtername" "filter_blu" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "onstarttouch" "@c@!activator,fireuser1,,0,-1" "onendtouch" "@c@!activator,fireuser2,,0,-1" } RemoveIfKilled "haste_radius_brush" } crit_radius { NoFixup 1 OnSpawnOutput { Target "crit_radius_brush" Action Enable Delay 0.2 } OnKilledOutput { Target "crit_fix" Action Enable Delay 0 } trigger_multiple { "targetname" "crit_radius_brush" "filtername" "filter_blu" "spawnflags" "1" "StartDisabled" "1" "mins" "-225 -225 -450" "maxs" "225 225 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,40,0,-1" "OnEndTouch" "!activator,$RemoveCond,40,0,-1" } } VacTankRandom { OnSpawnOutput { Target "!parent" Action SetDamageFilter Param "filter_bullet" Delay 0.00 } logic_timer { "targetname" "tank_vacc_timer_nobullet" "RefireTime" "10" "spawnflags" "0" "StartDisabled" "0" "UseRandomTime" "0" "OnTimer" "tank_vacc_disable_all,Trigger,,0,-1" "OnTimer" "tank_vacc_sound,PlaySound,,0,-1" "OnTimer" "!self,Disable,,0,-1" "OnTimer" "tank_vacc_case_nobullet,PickRandom,,0.01,-1" } logic_timer { "targetname" "tank_vacc_timer_noblast" "RefireTime" "10" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "tank_vacc_disable_all,Trigger,,0,-1" "OnTimer" "tank_vacc_sound,PlaySound,,0,-1" "OnTimer" "!self,Disable,,0,-1" "OnTimer" "tank_vacc_case_noblast,PickRandom,,0.01,-1" } logic_timer { "targetname" "tank_vacc_timer_nofire" "RefireTime" "10" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "tank_vacc_disable_all,Trigger,,0,-1" "OnTimer" "tank_vacc_sound,PlaySound,,0,-1" "OnTimer" "!self,Disable,,0,-1" "OnTimer" "tank_vacc_case_nofire,PickRandom,,0.01,-1" } logic_relay { "targetname" "tank_vacc_disable_all" "OnTrigger" "tank_shield_fire,Disable,,0,-1" "OnTrigger" "tank_shield_bullet,Disable,,0,-1" "OnTrigger" "tank_shield_blast,Disable,,0,-1" } logic_case { "targetname" "tank_vacc_case_nobullet" "OnCase01" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase01" "tank_shield_blast,Enable,,0,-1" "OnCase01" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase01" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase01" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase01" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase01" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase01" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase01" "soldier_switch_to_secondary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase02" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase02" "tank_shield_blast,Enable,,0,-1" "OnCase02" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase02" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase02" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase02" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase02" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase02" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase02" "soldier_switch_to_secondary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase03" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase03" "tank_shield_blast,Enable,,0,-1" "OnCase03" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase03" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase03" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase03" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase03" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase03" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase03" "soldier_switch_to_secondary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// "OnCase04" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase04" "tank_shield_fire,Enable,,0,-1" "OnCase04" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase04" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase04" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase04" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase04" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase04" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase04" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase05" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase05" "tank_shield_fire,Enable,,0,-1" "OnCase05" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase05" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase05" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase05" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase05" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase05" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase05" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase06" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase06" "tank_shield_fire,Enable,,0,-1" "OnCase06" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase06" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase06" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase06" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase06" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase06" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase06" "soldier_switch_to_primary*,Trigger,,0,-1" } logic_case { "targetname" "tank_vacc_case_noblast" "OnCase01" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase01" "tank_shield_bullet,Enable,,0,-1" "OnCase01" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase01" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase01" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase01" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase01" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase01" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase01" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase02" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase02" "tank_shield_bullet,Enable,,0,-1" "OnCase02" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase02" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase02" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase02" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase02" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase02" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase02" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase03" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase03" "tank_shield_bullet,Enable,,0,-1" "OnCase03" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase03" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase03" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase03" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase03" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase03" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase03" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// "OnCase04" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase04" "tank_shield_fire,Enable,,0,-1" "OnCase04" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase04" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase04" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase04" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase04" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase04" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase04" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase05" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase05" "tank_shield_fire,Enable,,0,-1" "OnCase05" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase05" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase05" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase05" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase05" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase05" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase05" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase06" "!parent,SetDamageFilter,filter_fire,0,-1" "OnCase06" "tank_shield_fire,Enable,,0,-1" "OnCase06" "tank_vacc_timer_nofire,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase06" "player,$ChangeAttributes,VacSwitchFire,0,-1" "OnCase06" "pyro_switch_to_melee*,Trigger,,0,-1" "OnCase06" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase06" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase06" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase06" "soldier_switch_to_primary*,Trigger,,0,-1" } logic_case { "targetname" "tank_vacc_case_nofire" "OnCase01" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase01" "tank_shield_bullet,Enable,,0,-1" "OnCase01" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase01" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase01" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase01" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase01" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase01" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase01" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase02" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase02" "tank_shield_bullet,Enable,,0,-1" "OnCase02" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase02" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase02" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase02" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase02" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase02" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase02" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase03" "!parent,SetDamageFilter,filter_bullet,0,-1" "OnCase03" "tank_shield_bullet,Enable,,0,-1" "OnCase03" "tank_vacc_timer_nobullet,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase03" "player,$ChangeAttributes,VacSwitchBullet,0,-1" "OnCase03" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase03" "sniper_switch_to_melee*,Trigger,,0,-1" "OnCase03" "scout_switch_to_melee*,Trigger,,0,-1" "OnCase03" "engineer_switch_to_melee*,Trigger,,0,-1" "OnCase03" "soldier_switch_to_primary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// "OnCase04" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase04" "tank_shield_blast,Enable,,0,-1" "OnCase04" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase04" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase04" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase04" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase04" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase04" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase04" "soldier_switch_to_secondary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase05" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase05" "tank_shield_blast,Enable,,0,-1" "OnCase05" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase05" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase05" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase05" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase05" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase05" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase05" "soldier_switch_to_secondary*,Trigger,,0,-1" /////////////////////////////////////////////////////////////////////////// "OnCase06" "!parent,SetDamageFilter,filter_blast,0,-1" "OnCase06" "tank_shield_blast,Enable,,0,-1" "OnCase06" "tank_vacc_timer_noblast,Enable,,0,-1" //Added Weapon Swapping Logic "OnCase06" "player,$ChangeAttributes,VacSwitchBlast,0,-1" "OnCase06" "pyro_switch_to_primary*,Trigger,,0,-1" "OnCase06" "sniper_switch_to_primary*,Trigger,,0,-1" "OnCase06" "scout_switch_to_primary*,Trigger,,0,-1" "OnCase06" "engineer_switch_to_primary*,Trigger,,0,-1" "OnCase06" "soldier_switch_to_secondary*,Trigger,,0,-1" } ambient_generic { "targetname" "tank_vacc_sound" "message" "WeaponMedigun_Vaccinator.Toggle" "spawnflags" "49" } ambient_generic { "targetname" "tank_vacc_sound" "message" "WeaponMedigun_Vaccinator.Toggle" "spawnflags" "49" } ambient_generic { "targetname" "tank_vacc_sound" "message" "WeaponMedigun_Vaccinator.Toggle" "spawnflags" "49" } ambient_generic { "targetname" "tank_vacc_sound" "message" "WeaponMedigun_Vaccinator.Toggle" "spawnflags" "49" } prop_dynamic { "targetname" "tank_shield_bullet" "model" "models/props_tumb/mvm/tank_shield.mdl" "StartDisabled" "0" "skin" "2" } prop_dynamic { "targetname" "tank_shield_blast" "model" "models/props_tumb/mvm/tank_shield.mdl" "StartDisabled" "1" "skin" "3" } prop_dynamic { "targetname" "tank_shield_fire" "model" "models/props_tumb/mvm/tank_shield.mdl" "StartDisabled" "1" "skin" "4" } } VacTankFilters { //// BULLET //// NoFixup 1 filter_damage_type { "damagetype" "2097154" "Negated" "1" "targetname" "filter_bullet1" } filter_damage_type { "damagetype" "3145730" "Negated" "1" "targetname" "filter_bullet2" } filter_damage_type { "damagetype" "538968064" "Negated" "1" "targetname" "filter_bullet3" } filter_damage_type { "damagetype" "540016640" "Negated" "1" "targetname" "filter_bullet4" } filter_damage_type { "damagetype" "538968066" "Negated" "1" "targetname" "filter_bullet5" } filter_damage_type { "damagetype" "540016642" "Negated" "1" "targetname" "filter_bullet6" } filter_damage_type { "damagetype" "16777218" "Negated" "1" "targetname" "filter_bullet7" } filter_damage_type { "damagetype" "17825794" "Negated" "1" "targetname" "filter_bullet8" } filter_damage_type { "damagetype" "2230274" "Negated" "1" "targetname" "filter_bullet9" } filter_damage_type { "damagetype" "3278850" "Negated" "1" "targetname" "filter_bullet10" } filter_damage_type { "damagetype" "33554434" "Negated" "1" "targetname" "filter_bullet11" } filter_damage_type { "damagetype" "34603010" "Negated" "1" "targetname" "filter_bullet12" } filter_damage_type { "damagetype" "2" "Negated" "1" "targetname" "filter_bullet13" } filter_damage_type { "damagetype" "1048578" "Negated" "1" "targetname" "filter_bullet14" } filter_damage_type { "damagetype" "2232322" "Negated" "1" "targetname" "filter_bullet15" } filter_damage_type { "damagetype" "3280898" "Negated" "1" "targetname" "filter_bullet16" } filter_multi { "targetname" "filter_bullet_sub1" "Filter01" "filter_bullet1" "Filter02" "filter_bullet2" "Filter03" "filter_bullet3" "Filter04" "filter_bullet4" "Filter05" "filter_bullet5" } filter_multi { "targetname" "filter_bullet_sub2" "Filter01" "filter_bullet6" "Filter02" "filter_bullet7" "Filter03" "filter_bullet8" "Filter04" "filter_bullet9" "Filter05" "filter_bullet10" } filter_multi { "targetname" "filter_bullet_sub3" "Filter01" "filter_bullet11" "Filter02" "filter_bullet12" "Filter03" "filter_bullet13" "Filter04" "filter_bullet14" "Filter05" "filter_bullet15" } filter_multi { "targetname" "filter_bullet" "Filter01" "filter_bullet_sub1" "Filter02" "filter_bullet_sub2" "Filter03" "filter_bullet_sub3" "Filter04" "filter_bullet16" } //// BLAST //// NoFixup 1 filter_damage_type { "damagetype" "2359360" "Negated" "1" "targetname" "filter_blast1" } NoFixup 1 filter_damage_type { "damagetype" "3407936" "Negated" "1" "targetname" "filter_blast2" } NoFixup 1 filter_damage_type { "damagetype" "20185152" "Negated" "1" "targetname" "filter_blast3" } NoFixup 1 filter_damage_type { "damagetype" "262208" "Negated" "1" "targetname" "filter_blast4" } NoFixup 1 filter_damage_type { "damagetype" "1310784" "Negated" "1" "targetname" "filter_blast5" } NoFixup 1 filter_damage_type { "damagetype" "2490432" "Negated" "1" "targetname" "filter_blast6" } NoFixup 1 filter_damage_type { "damagetype" "3539008" "Negated" "1" "targetname" "filter_blast7" } NoFixup 1 filter_damage_type { "damagetype" "17039362" "Negated" "1" "targetname" "filter_blast8" } NoFixup 1 filter_damage_type { "damagetype" "18087938" "Negated" "1" "targetname" "filter_blast9" } NoFixup 1 filter_damage_type { "damagetype" "00240040" "Negated" "1" "targetname" "filter_blast10" } NoFixup 1 filter_multi { "targetname" "filter_blast_sub1" "Filter01" "filter_blast1" "Filter02" "filter_blast2" "Filter03" "filter_blast3" "Filter04" "filter_blast4" "Filter05" "filter_blast5" } NoFixup 1 filter_multi { "targetname" "filter_blast_sub2" "Filter01" "filter_blast6" "Filter02" "filter_blast7" "Filter03" "filter_blast8" "Filter04" "filter_blast9" "Filter05" "filter_blast10" } NoFixup 1 filter_multi { "targetname" "filter_blast" "Filter01" "filter_blast_sub1" "Filter02" "filter_blast_sub2" } //// FIRE //// NoFixup 1 filter_damage_type { "damagetype" "01000800" "damagetype" "16779264" "Negated" "1" "targetname" "filter_fire1" } NoFixup 1 filter_damage_type { "damagetype" "17827840" "Negated" "1" "targetname" "filter_fire2" } NoFixup 1 filter_damage_type { "damagetype" "19005440" "Negated" "1" "targetname" "filter_fire3" } NoFixup 1 filter_damage_type { "damagetype" "20054016" "Negated" "1" "targetname" "filter_fire4" } NoFixup 1 filter_damage_type { "damagetype" "16777218" "Negated" "1" "targetname" "filter_fire5" } NoFixup 1 filter_damage_type { "damagetype" "17825794" "Negated" "1" "targetname" "filter_fire6" } NoFixup 1 filter_multi { "targetname" "filter_fire_sub1" "Filter01" "filter_fire1" "Filter02" "filter_fire2" "Filter03" "filter_fire3" "Filter04" "filter_fire4" "Filter05" "filter_fire5" } NoFixup 1 filter_multi { "targetname" "filter_fire" "Filter01" "filter_fire_sub1" "Filter02" "filter_fire6" } } tomb_destroy_stuff { NoFixup 1 //Tank Logic trigger_once { "origin" "1536 3696 840" "mins" "-100 -100 -100" "maxs" "100 100 100" "spawnflags" "64" "StartDisabled" "0" "targetname" "tomb_preventstuck_brush" "OnStartTouch" "spawnbot_grave3*,Disable,,0,-1" "filtername" "filter_redtank" } filter_activator_name { "origin" "48 520 416" "targetname" "filter_redtank" "Negated" "Allow entities that match criteria" "filtername" "tankboss_red*" } logic_relay { "targetname" "redboss_dead_relay" "OnTrigger" "spawnbot_grave3*,Enable,,0,-1" "OnTrigger" "player,$ChangeAttributes,AttackPlayers,0,-1" "OnTrigger" "target_aliveness_state,Subtract,1,-1" "OnTrigger" "tank_aliveness_check,SetValue,0,0,-1" } logic_relay { "targetname" "redtank_telein_relay" "OnTrigger" "redtank_telein_particle,Start,,0,-1" "OnTrigger" "redtank_telein_particle,Stop,,2,-1" "OnTrigger" "tankboss_red*,DisableShadow,,1,-1" "OnTrigger" "tanksign,Show,,0,-1" } info_particle_system { "targetname" "redtank_telein_particle" "origin" "-1211 613 1049" "effect_name" "eyeboss_tp_vortex" "start_active" "0" } //Tomb Destroy Logic logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger spawnbot_floatingrock*:Enable:0:-1" "OnMapSpawn" "wave_finsihed_relay,AddOutput,OnTrigger gray_attributes_timer:Disable:0:-1" } logic_relay { "targetname" "tomb_destroy_relay" "OnTrigger" "tankboss_red*,RemoveHealth,200000,0,-1" "OnTrigger" "tombspawn_annotation_3,Kill,,0,-1" "OnTrigger" "tombspawn_hologram_3,Kill,,0,-1" "OnTrigger" "tomb3_door,SetSpeed,0,0,-1" "OnTrigger" "tomb3_door,Kill,,1,-1" "OnTrigger" "spawnbot_grave3*,Disable,,0.1,-1" "OnTrigger" "tomb_destroy_particle,Start,,0,-1" "OnTrigger" "tomb_destroy_particle,Stop,,3,-1" "OnTrigger" "tombgonesign3,Show,,3,-1" "OnTrigger" "tomb_block_rock*,Enable,,1,-1" "OnTrigger" "currency_added_text,Display,,1,-1" "OnTrigger" "player,$AddCurrency,200,0,-1" "OnTrigger" "tomb_explosion_brush,Enable,,0,-1" "OnTrigger" "tomb_explosion_brush,Disable,,.1,-1" //"OnTrigger" "spawnbot_floatingrock2,Disable,,0,-1" } game_text { "targetname" "currency_added_text" "message" "You've received a $200 bonus for a job well done!" "x" "-1" "y" "0.2" "spawnflags" "1" "effect" "2" "channel" "2" "fxtime" "0.2" "color" "115 255 115" "fadeout" "1" "holdtime" "4" } env_entity_maker { "targetname" "currency_template_maker" "EntityTemplate" "currency_template" } trigger_multiple { "origin" "1696 2304 800" "mins" "-288 -576 -224" "maxs" "288 576 224" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_notred" "targetname" "tomb_explosion_brush" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } info_particle_system { "targetname" "tomb_destroy_particle" "origin" "1717 2677 820" "angles" "45 90 0" "effect_name" "base_destroyed_smoke_doomsday" "start_active" "0" } info_particle_system { "targetname" "tomb_destroy_particle" "origin" "1667 2317 734" "effect_name" "hammer_bones_kickup" "start_active" "0" } prop_dynamic { "angles" "-11.0243 82.2041 11.1702" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "tomb_block_rock_pile2" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/boulder5_large.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_rock" "origin" "1584 2383 700" } prop_dynamic { "angles" "0 270 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/boulder_pile1.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_rock_pile1" "origin" "1700 2584 769" } prop_dynamic { "angles" "0 165 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/boulder_pile1.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_rock_pile2" "origin" "1588 2573 769" } } skybox_stuff { NoFixup 1 logic_relay { "targetname" "sky_particle_relay" "OnTrigger" "item_ammopack*,Kill,,0,-1" "OnTrigger" "sky_particle,Stop,,0,-1" } info_particle_system { "targetname" "sky_particle" "origin" "-3068 4108 3503" "effect_name" "outerspace_stars02" "start_active" "1" } info_particle_system { "targetname" "sky_particle" "origin" "-3068 4108 3703" "effect_name" "outerspace_stars02" "start_active" "1" } } ghosttank2 { OnSpawnOutput { Target "!activator" Action "color" //Change to any RGB value Param "213 185 255" } OnSpawnOutput { Target "!activator" Action "DisableShadow" } OnSpawnOutput { Target "!activator" Action "alpha" Param "120" } OnSpawnOutput { Target "!activator" Action "addoutput" Param "rendermode 5" } prop_dynamic { "targetname" "ghosthat" "disableshadows" "1" "model" "models/workshop/player/items/all_class/hw2013_the_haunted_hat/hw2013_the_haunted_hat_medic.mdl" "origin" "-47 0 4" "angles" "-90 0 0" "modelscale" "2" "rendercolor" "173 0 255" } } ghosttank { OnSpawnOutput { Target "!activator" Action "color" //Change to any RGB value Param "203 255 203" } OnSpawnOutput { Target "!activator" Action "DisableShadow" } OnSpawnOutput { Target "!activator" Action "Alpha" Param "120" } OnSpawnOutput { Target "!activator" Action "AddOutput" Param "rendermode 5" } prop_dynamic { "targetname" "ghosthat" "disableshadows" "1" "model" "models/workshop/player/items/all_class/hw2013_the_haunted_hat/hw2013_the_haunted_hat_medic.mdl" "origin" "-47 0 4" "angles" "-90 0 0" "modelscale" "2" //"lightingorigin" "in_a_rock" } } dangercolortank { //NoFixup 1 OnSpawnOutput { Target "!activator" Action "color" //Change to any RGB value Param "120 0 30" } prop_dynamic { "targetname" "wavehat" "disableshadows" "1" "model" "models/workshop/player/items/engineer/hwn2020_wavefinder/hwn2020_wavefinder.mdl" "origin" "-40 0 -240" "angles" "0 0 0" "modelscale" "5.7" } trigger_multiple { "targetname" "tank_color_detectthreat" "spawnflags" "1" "origin" "0 0 96" "mins" "-224 -384 -128" "maxs" "224 384 128" "filtername" "filter_notred" "OnStartTouchAll" "tank_color_timer,Enable,,0,-1" "OnStartTouchAll" "disable_colortimer_relay,Disable,,0,-1" "OnEndTouchAll" "disable_colortimer_relay,Enable,,0,-1" } logic_relay { "targetname" "disable_colortimer_relay" "OnTrigger" "tank_color_timer,Disable,,0,-1" "StartDisabled" "1" } logic_timer { "targetname" "tank_color_timer" "RefireTime" "0.05" // How quickly color is transitioned. | Minimum: 0.03 "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "tank_color_state,GetValue,,0,-1" } // Holds which color math_counter we're adding to math_counter { "targetname" "tank_color_state" "startvalue" "1" "min" "1" "max" "2" // Change this value if you change the number of colors in your transition "OnGetValue" "tank_color_changecase,InValue,,0,-1" } // Which color math_counter should we modify for this iteration based on tank_color_state logic_case { "targetname" "tank_color_changecase" "StartDisabled" "1" "Case01" "1" "Case02" "2" // Changing how much is added each timer iteration changes the smoothness of the color transition // (5 is smoother than 25, and goes through more colors values, but is also much slower) "OnCase01" "tank_color_ro,Add,15,0,-1" "OnCase02" "tank_color_or,Add,18,0,-1" } // The math_counters below hold the value for where the color is in the transition for their corresponding math_colorblend // To customize, modify the colormins and colormaxs, or add new sets of math_counters and math_colorblends with the // appropriate outputs (remember to modify the entities above as well) // ---------------------------------------------------------------------------------------------------------------------- // Counter 1 (RED - ORANGE) math_counter { "targetname" "tank_color_ro" "StartDisabled" "0" "startvalue" "0" "min" "0" "max" "255" "OutValue" "tank_color_ro_blend,InValue,,0,-1" "OnHitMax" "tank_color_state,SetValueNoFire,2,.9,-1" "OnHitMax" "!self,SetValueNoFire,0,.91,-1" "OnHitMax" "!self,Disable,,.92,-1" "OnHitMax" "tank_color_or,Enable,,.92,-1" } math_colorblend { "targetname" "tank_color_ro_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "180 0 30" "colormax" "255 255 255" "OutColor" "!parent,Color,,0,-1" } // Counter 2 (ORANGE - RED) math_counter { "targetname" "tank_color_or" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "tank_color_or_blend,InValue,,0,-1" "OnHitMax" "disable_colortimer_relay,Trigger,,0,-1" "OnHitMax" "tank_color_state,SetValueNoFire,1,.9,-1" "OnHitMax" "!self,SetValueNoFire,0,.91,-1" "OnHitMax" "!self,Disable,,.92,-1" "OnHitMax" "tank_color_ro,Enable,,.92,-1" } math_colorblend { "targetname" "tank_color_or_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "255 255 255" "colormax" "180 0 30" "OutColor" "!parent,Color,,0,-1" } } rpg_shoottemplate { KeepAlive 1 OnParentKilledOutput { Target "rpg_template_aliveness" Action Kill Delay 0.1 } OnParentKilledOutput { Target "rpg_impact_sound" Action Kill Delay 0.1 } OnParentKilledOutput { Target "rpg_impact_sound" Action PlaySound Delay 0.01 } logic_relay { "targetname" "rpg_template_aliveness" } prop_dynamic { "targetname" "projectile" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/empty.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" } ambient_generic { "targetname" "rpg_impact_sound" "health" "3" "message" "rpg_sounds/rpg_explode.wav" "pitch" "100" "pitchstart" "100" "radius" "11000" "spawnflags" "48" "StartDisabled" "0" } RemoveIfKilled "rpg_template_aliveness" } playerweapon_fix { NoFixup 1 OnSpawnOutput { Target "regenerate" Action Kill Delay 0.01 } func_regenerate { "targetname" "regenerate" "TeamNum" "2" "mins" "-2 -2 -2" "maxs" "2 2 2" } } tosser_glitch_fix { NoFixup 1 trigger_multiple { "targetname" "tomb1_glitchfix" "spawnflags" "1" "mins" "-360 -96 -168" "maxs" "360 96 168" "origin" "2840 4704 760" "filtername" "filter_glitchedtosser" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb2_glitchfix" "spawnflags" "1" "mins" "-256 -160 -212" "maxs" "256 160 212" "origin" "1280 2560 532" "filtername" "filter_glitchedtosser" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb3_glitchfix" "spawnflags" "1" "mins" "-192 -432 -200" "maxs" "192 432 200" "origin" "1728 2032 840" "filtername" "filter_glitchedtosser" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb3_preventstuck" "spawnflags" "1" "filtername" "filter_red" "mins" "-192 -402 -200" "maxs" "192 402 200" "origin" "1728 2032 840" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } logic_relay { "targetname" "killtosser_relay" "OnTrigger" "tomb1_killtosser,Enable,,10,-1" "OnTrigger" "tomb2_killtosser,Enable,,10,-1" "OnTrigger" "tomb3_killtosser,Enable,,10,-1" } trigger_multiple { "targetname" "tomb1_killtosser" "spawnflags" "1" "mins" "-360 -96 -168" "maxs" "360 96 168" "origin" "2840 4704 760" "filtername" "filter_tosser" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb2_killtosser" "spawnflags" "1" "mins" "-256 -160 -212" "maxs" "256 160 212" "origin" "1280 2560 532" "filtername" "filter_tosser" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb3_killtosser" "spawnflags" "1" "mins" "-192 -432 -200" "maxs" "192 432 200" "origin" "1728 2032 840" "filtername" "filter_tosser" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } logic_relay { "targetname" "killgry_relay" "OnTrigger" "tomb1_killgry,Enable,,7,-1" "OnTrigger" "tomb2_killgry,Enable,,7,-1" "OnTrigger" "tomb3_killgry,Enable,,7,-1" } trigger_multiple { "targetname" "tomb1_killgry" "spawnflags" "1" "mins" "-360 -96 -168" "maxs" "360 96 168" "origin" "2840 4704 760" "filtername" "filter_gry" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb2_killgry" "spawnflags" "1" "mins" "-256 -160 -212" "maxs" "256 160 212" "origin" "1280 2560 532" "filtername" "filter_gry" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "tomb3_killgry" "spawnflags" "1" "mins" "-192 -432 -200" "maxs" "192 432 200" "origin" "1728 2032 840" "filtername" "filter_gry" "StartDisabled" "1" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" } trigger_multiple { "targetname" "gry_nuclearoption" "spawnflags" "1" "StartDisabled" "1" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "origin" "600 4500 1200" "filtername" "filter_gry" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" "OnStartTouch" "!self,Disable,,2,-1" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_tosser" "targetname" "filter_tosser" } filter_multi { "filtertype" "0" "Negated" "0" "targetname" "filter_glitchedtosser" "Filter01" "filter_blu" "Filter02" "filter_tosser" } } tank_annotation { NoFixup 1 training_annotation { "targetname" "tanksign" "display_text" "Defend the red tank!" "lifetime" "8" "origin" "-1119 613 905" } } spelltank_bot_init { OnSpawnOutput { Target "spelltank_bot_target" Action "SetParent" Param "!activator" Delay 0 } info_target { "targetname" "spelltank_bot_target" } } spelltank_init { NoFixup 1 OnParentKilledOutput { Target "@p@spelltank_bot_target*" Action "SetHealth" Param "-1000" Delay 0 } filter_tf_bot_has_tag { "targetname" "filter_spelltank" "Negated" "0" "require_all_tags" "1" "tags" "bot_spelltank" } trigger_teleport { "targetname" "spelltank_teleport" "mins" "-19999 -19999 -19999" "maxs" "19999 19999 19999" "origin" "600 4500 1200" "spawnflags" "1" "landmark" "!activator" "filtername" "filter_spelltank" "target" "spelltank_position" } info_target { "targetname" "spelltank_position" "origin" "-40 0 180" } prop_dynamic { "targetname" "hat" "disableshadows" "1" "model" "models/workshop/player/items/all_class/witchhat/witchhat_medic.mdl" "origin" "-47 0 174" "angles" "-15 0 0" "modelscale" "3.6" } } spelltank_color { //NoFixup 1 OnSpawnOutput { Target "!activator" Action "color" //Change to any RGB value Param "102 54 0" } OnSpawnOutput { Target "!activator" Action "DisableShadow" } OnSpawnOutput { Target "spelltank_color_timer*" Action Disable Delay 0 } OnSpawnOutput { Target "spelltank_color_timer*" Action Enable Delay 7 } logic_timer { "targetname" "spelltank_color_timer" "RefireTime" "0.05" // How quickly color is transitioned. | Minimum: 0.03 "StartDisabled" "1" "spawnflags" "0" "StartDisabled" "0" "UseRandomTime" "0" "OnTimer" "spelltank_color_state,GetValue,,0,-1" } // Holds which color math_counter we're adding to math_counter { "targetname" "spelltank_color_state" "startvalue" "1" "min" "1" "max" "6" // Change this value if you change the number of colors in your transition "OnGetValue" "spelltank_color_changecase,InValue,,0,-1" } // Which color math_counter should we modify for this iteration based on tank_color_state logic_case { "targetname" "spelltank_color_changecase" "Case01" "1" "Case02" "2" "Case03" "3" "Case04" "4" "Case05" "5" "Case06" "6" // Changing how much is added each timer iteration changes the smoothness of the color transition // (5 is smoother than 25, and goes through more colors values, but is also much slower) "OnCase01" "spelltank_color_bo,Add,2,0,-1" "OnCase02" "spelltank_color_ow,Add,18,0,-1" "OnCase03" "spelltank_color_owb,Add,18,0,-1" "OnCase04" "spelltank_color_bp,Add,2,0,-1" "OnCase05" "spelltank_color_pw,Add,18,0,-1" "OnCase06" "spelltank_color_pwb,Add,18,0,-1" } // The math_counters below hold the value for where the color is in the transition for their corresponding math_colorblend // To customize, modify the colormins and colormaxs, or add new sets of math_counters and math_colorblends with the // appropriate outputs (remember to modify the entities above as well) // ---------------------------------------------------------------------------------------------------------------------- // Counter 1 (BROWN - ORANGE) math_counter { "targetname" "spelltank_color_bo" "StartDisabled" "0" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_bo_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,2,0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_ow,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_bo_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "102 54 0" "colormax" "255 128 0" "OutColor" "!parent,Color,,0,-1" } // Counter 2 (ORANGE - WHITE) math_counter { "targetname" "spelltank_color_ow" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_ow_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,3,0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_owb,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_ow_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "255 128 0" "colormax" "255 255 255" "OutColor" "!parent,Color,,0,-1" } // Counter 3 (WHITE - BROWN) math_counter { "targetname" "spelltank_color_owb" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_owb_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,4,0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_bp,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_owb_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "255 255 255" "colormax" "102 54 0" "OutColor" "!parent,Color,,0,-1" } // Counter 4 (BROWN - PURPLE) math_counter { "targetname" "spelltank_color_bp" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_bp_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,5,.0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_pw,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_bp_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "102 54 0" "colormax" "64 20 255" "OutColor" "!parent,Color,,0,-1" } // Counter 5 (PURPLE - WHITE) math_counter { "targetname" "spelltank_color_pw" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_pw_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,6,0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_pwb,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_pw_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "104 64 255" "colormax" "255 255 255" "OutColor" "!parent,Color,,0,-1" } // Counter 6 (WHITE - BROWN) math_counter { "targetname" "spelltank_color_pwb" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "spelltank_color_pwb_blend,InValue,,0,-1" "OnHitMax" "spelltank_color_state,SetValueNoFire,1,0,-1" "OnHitMax" "!self,SetValueNoFire,0,.01,-1" "OnHitMax" "!self,Disable,,.02,-1" "OnHitMax" "spelltank_color_bo,Enable,,.02,-1" } math_colorblend { "targetname" "spelltank_color_pwb_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "255 255 255" "colormax" "102 54 0" "OutColor" "!parent,Color,,0,-1" } } tombspawn_hologram_logic { NoFixup 1 logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger hologram_fx_off_relay:Trigger:0:-1" } logic_relay { "targetname" "hologram_fx_off_relay" "OnTrigger" "tombspawn_hologram*,AddOutput,renderfx 6,0,-1" } logic_relay { "targetname" "enable_hologram_all_relay" "OnTrigger" "tombspawn_hologram*,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram*,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation*,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_1_relay" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_1,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_2_relay" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_2,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_3_relay" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_3,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_12_relay" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_1,Show,,6,-1" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_2,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_23_relay" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_2,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_2,Show,,6,-1" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_3,Show,,6,-1" } logic_relay { "targetname" "enable_hologram_31_relay" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_3,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_3,Show,,6,-1" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 8,6,-1" "OnTrigger" "tombspawn_hologram_1,AddOutput,renderfx 15,6.21,-1" "OnTrigger" "tombspawn_annotation_1,Show,,6,-1" } training_annotation { "targetname" "tomb_chiefspawn_sign" "display_text" "Looks like they're going all out, their leader has arrived!" "lifetime" "6" "origin" "2449 4702 649" } training_annotation { "targetname" "tombspawn_annotation_1" "display_text" "The wretches will arrive from this tomb." "lifetime" "10" "origin" "2449 4702 649" } prop_dynamic { "targetname" "tombspawn_hologram_1" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "2449 4702 849" "angles" "90 180 0" "fadescale" "10" "renderfx" "6" "parentname" "tomb1_door" "StartDisabled" "0" "skin" "2" "defaultanim" "idle" } training_annotation { "targetname" "tombspawn_annotation_2" "display_text" "The wretches will arrive from this tomb." "lifetime" "10" "origin" "993 2560 454" } prop_dynamic { "targetname" "tombspawn_hologram_2" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "993 2560 654" "angles" "90 180 0" "fadescale" "1000" "renderfx" "6" "parentname" "tomb2_door" "StartDisabled" "0" "skin" "2" "defaultanim" "idle" } training_annotation { "targetname" "tomb_firstspawn_sign" "display_text" "They're coming." "lifetime" "8" "origin" "1658 2495 710" } training_annotation { "targetname" "tombspawn_annotation_3" "display_text" "The wretches will arrive from this tomb." "lifetime" "10" "origin" "1658 2495 710" } prop_dynamic { "targetname" "tombspawn_hologram_3" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "1658 2495 910" "angles" "90 90 0" "fadescale" "100" "renderfx" "6" "parentname" "tomb3_door" "StartDisabled" "0" "skin" "2" "defaultanim" "idle" } prop_dynamic { "targetname" "dummy_tombspawn_hologram_1" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "2449.001 4702 849" "angles" "90 180 0" "parentname" "tomb1_door" "StartDisabled" "0" "skin" "3" } prop_dynamic { "targetname" "dummy_tombspawn_hologram_2" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "993.001 2560 654" "angles" "90 180 0" "parentname" "tomb2_door" "StartDisabled" "0" "skin" "3" } prop_dynamic { "targetname" "dummy_tombspawn_hologram_3" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "origin" "1658 2494.999 910" "angles" "90 90 0" "parentname" "tomb3_door" "StartDisabled" "0" "skin" "3" } } laszlo_template { OnSpawnOutput { Target "laszlo_target" Action SetParent Param "!activator" Delay 0.001 } OnParentKilledOutput { Target "laszlo_death_relay" Action Trigger Delay 0.001 } info_particle_system { "origin" "0 0 30" "targetname" "laszlo_teleport_particle" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 180 0" } info_target { "targetname" "laszlo_target" "OnUser1" "!parent,$RemoveCond,51,0,-1" "OnUser1" "!parent,AddOutput,renderfx 6,0,-1" "OnUser1" "!parent,AddOutput,renderfx 0,0.499,-1" "OnUser1" "@c@!parent,AddOutput,rendermode 10,0.2,-1" "OnUser1" "@c@!parent,AddOutput,rendermode 0,0.499,-1" "OnUser1" "!parent,SetHealth,-100,0.5,-1" } } vip_logic { NoFixup 1 logic_relay { "targetname" "vip_init_teleport_relay" "OnTrigger" "vip_init_teleport,Enable,,0,-1" "OnTrigger" "vip_init_teleport,Disable,,0.01,-1" "OnTrigger" "sound_vip_init_teleport,PlaySound,,0,-1" "OnTrigger" "particle_vip_init_teleport,Start,,0,-1" "OnTrigger" "particle_vip_init_teleport,Stop,,2,-1" } filter_tf_bot_has_tag { "Negated" "1" "require_all_tags" "1" "tags" "murderer" "targetname" "filter_murderer" } logic_relay { "targetname" "vip_death_relay" "OnTrigger" "voiceline_*,Volume,0,0.01,-1" "OnTrigger" "voiceline_*,StopSound,0,0,-1" "OnTrigger" "sound_death_no02,PlaySound,,0,-1" "OnTrigger" "vip_laser_event_relay,Disable,,0,-1" "OnTrigger" "laszlo_death_relay,Disable,,0,-1" "OnTrigger" "target_aliveness_state,Subtract,1,-1" "OnTrigger" "vip_aliveness_check,SetValue,0,0,-1" "OnTrigger" "player,$ChangeAttributes,AttackPlayers,0,-1" "OnTrigger" "vip_glow,Kill,,0,-1" } ambient_generic { "targetname" "sound_vip_init_teleport" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "-691 3448 901" } ambient_generic { "targetname" "sound_death_no02" "health" "8" "message" "vo/npc/male01/no02.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "sound_death_no02" "health" "8" "message" "vo/npc/male01/no02.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } logic_relay { "targetname" "laszlo_death_relay" "OnTrigger" "voiceline_poorlaszlo,PlaySound,0.2,-1" "OnTrigger" "vip_movespeed_timer,Enable,,0.01,-1" "OnTrigger" "vip_movespeed_timer,Disable,,7.39,-1" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|.75,7.5,-1" "OnTrigger" "voiceline_injured*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_destination*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,7.5,-1" } logic_relay { "targetname" "laszlo_goodend_relay" "OnTrigger" "laszlo_teleport_particle*,Start,,0,-1" "OnTrigger" "laszlo_teleport_particle*,Stop,,3,-1" "OnTrigger" "laszlo_target*,FireUser1,,0,-1" } info_particle_system { "origin" "-691 3448 961" "targetname" "particle_vip_init_teleport" "start_active" "0" "flag_as_weather" "0" "effect_name" "eyeboss_tp_vortex" "angles" "0 90 0" } ambient_generic { "targetname" "sound_vip_init_teleport" "health" "10" "message" "ambient/machines/teleport1.wav" "pitch" "100" "pitchstart" "100" "radius" "12000" "spawnflags" "48" "StartDisabled" "0" "origin" "-691 3448 901" } info_target { "targetname" "vip_init_teleport_target" "origin" "-691 3448 901" } trigger_teleport { "targetname" "vip_init_teleport" "target" "vip_init_teleport_target" "filtername" "filter_vipandlaszlo" "spawnflags" "1" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "origin" "600 4500 1200" "StartDisabled" "1" } info_target { "targetname" "vip_laser_target" "origin" "-3273 4060 3680" } ////////////////////////////// //Logic for reacting to damage ////////////////////////////// logic_relay { "targetname" "hurt_voiceline_relay_13" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_12" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_11" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_10" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_09" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_08" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_07" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_06" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_05" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_04" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_03" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_02" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_01" "OnTrigger" "hurt_voiceline_relay_main,Trigger,,0.01,-1" "OnTrigger" "vip_health_state,Subtract,1,0,-1" "OnTrigger" "!self,Disable,,0,-1" } math_counter { "targetname" "vip_health_state" "startvalue" "14" "min" "1" "max" "14" "OnGetValue" "vip_health_case,InValue,,0,-1" } logic_case { "targetname" "vip_health_case" "Case01" "14" "Case02" "13" "Case03" "12" "Case04" "11" "Case05" "10" "Case06" "9" "Case07" "8" "Case08" "7" "Case09" "6" "Case10" "5" "Case11" "4" "Case12" "3" "Case13" "2" "Case14" "1" "OnCase01" "hurt_voiceline_relay_*,Enable,,0,-1" "OnCase02" "hurt_voiceline_relay_10,Enable,,0,-1" "OnCase02" "hurt_voiceline_relay_11,Enable,,0,-1" "OnCase02" "hurt_voiceline_relay_12,Enable,,0,-1" "OnCase02" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase03" "hurt_voiceline_relay_10,Enable,,0,-1" "OnCase03" "hurt_voiceline_relay_11,Enable,,0,-1" "OnCase03" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase04" "hurt_voiceline_relay_10,Enable,,0,-1" "OnCase04" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase05" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase06" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase06" "hurt_voiceline_relay_09,,Disable,0,-1" "OnCase07" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase07" "hurt_voiceline_relay_09,,Disable,0,-1" "OnCase07" "hurt_voiceline_relay_08,,Disable,0,-1" "OnCase08" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase08" "hurt_voiceline_relay_09,,Disable,0,-1" "OnCase08" "hurt_voiceline_relay_08,,Disable,0,-1" "OnCase08" "hurt_voiceline_relay_07,,Disable,0,-1" "OnCase08" "hurt_voiceline_relay_0*,Enable,,0,-1" "OnCase09" "hurt_voiceline_relay_09,,Disable,0,-1" "OnCase09" "hurt_voiceline_relay_08,,Disable,0,-1" "OnCase09" "hurt_voiceline_relay_07,,Disable,0,-1" "OnCase09" "hurt_voiceline_relay_06,,Disable,0,-1" "OnCase10" "hurt_voiceline_relay_01,Enable,,0,-1" "OnCase10" "hurt_voiceline_relay_02,Enable,,0,-1" "OnCase10" "hurt_voiceline_relay_03,Enable,,0,-1" "OnCase10" "hurt_voiceline_relay_04,Enable,,0,-1" "OnCase11" "hurt_voiceline_relay_01,Enable,,0,-1" "OnCase11" "hurt_voiceline_relay_02,Enable,,0,-1" "OnCase11" "hurt_voiceline_relay_03,Enable,,0,-1" "OnCase12" "hurt_voiceline_relay_01,Enable,,0,-1" "OnCase12" "hurt_voiceline_relay_02,Enable,,0,-1" "OnCase13" "hurt_voiceline_relay_01,Enable,,0,-1" } logic_relay { "targetname" "hurt_voiceline_relay_main" "OnTrigger" "hurt_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 8,0,-1" "OnTrigger" "voiceline_injured*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_destination*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,2.5,-1" "OnTrigger" "!self,Disable,,0.03,-1" "OnTrigger" "!self,Enable,,3.51,-1" } logic_case { "targetname" "hurt_voiceline_case" "oncase01" "voiceline_hurt_pain04,PlaySound,,0.01,-1" "oncase02" "voiceline_hurt_hitingut01,PlaySound,,0.01,-1" "oncase03" "voiceline_hurt_mygut02,PlaySound,,0.01,-1" "oncase04" "voiceline_hurt_myleg01,PlaySound,,0.01,-1" "oncase05" "voiceline_hurt_myleg02,PlaySound,,0.01,-1" "oncase06" "voiceline_hurt_ow01,PlaySound,,0.01,-1" "oncase07" "voiceline_hurt_myarm02,PlaySound,,0.01,-1" } logic_case { "targetname" "injured_voiceline_case" "oncase01" "voiceline_injured_moan01,PlaySound,,0.01,-1" "oncase02" "voiceline_injured_moan02,PlaySound,,0.01,-1" "oncase03" "voiceline_injured_moan03,PlaySound,,0.01,-1" "oncase04" "voiceline_injured_moan04,PlaySound,,0.01,-1" "oncase05" "voiceline_injured_moan05,PlaySound,,0.01,-1" } logic_relay { "targetname" "injured_voiceline_relay" "OnTrigger" "!self,Disable,,0,-1" "OnTrigger" "slow_vip_relay,Disable,,0,-1" "OnTrigger" "slow_vip_relay,CancelPending,,0.001,-1" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.001,0.01,-1" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnTrigger" "slow_vip_relay,Enable,,3,-1" "OnTrigger" "injured_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 8,0,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_destination*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,3,-1" } /////////////////// //Destination Logic /////////////////// logic_case { "targetname" "moveon_calm_voiceline_case" "oncase01" "voiceline_moveon_okimready01,PlaySound,,0.01,-1" "oncase02" "voiceline_moveon_okimready02,PlaySound,,0.01,-1" "oncase03" "voiceline_moveon_okimready03,PlaySound,,0.01,-1" "oncase04" "voiceline_moveon_squad_affirm04,PlaySound,,0.01,-1" "oncase05" "voiceline_moveon_squad_away01,PlaySound,,0.01,-1" "oncase06" "voiceline_moveon_squad_away03,PlaySound,,0.01,-1" "oncase07" "voiceline_moveon_squad_follow03,PlaySound,,0.01,-1" } /////////////// //Miscellaneous /////////////// filter_tf_condition { "condition" "78" "targetname" "filter_unusedcond" } filter_multi { "targetname" "filter_vipunusedcond" "Filter01" "filter_vip" "Filter02" "filter_unusedcond" } filter_tf_bot_has_tag { "Negated" "1" "require_all_tags" "1" "tags" "vip" "targetname" "filter_vip_exclude" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "vip" "targetname" "filter_vip" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "laszlo" "targetname" "filter_laszlo" } filter_multi { "filtertype" "1" "targetname" "filter_vipandlaszlo" "Filter01" "filter_vip" "Filter02" "filter_laszlo" } logic_relay { "targetname" "vip_checkforkill" "OnTrigger" "detect_vipkill_trigger,Enable,,0.01,-1" "OnTrigger" "detect_vipkill_trigger,Disable,,0.02,-1" } logic_relay { "targetname" "detect_vipkill_buffer" "OnTrigger" "detect_vipkill_trigger,Disable,,0,-1" "OnTrigger" "detect_vipkill_trigger,Enable,,2,-1" } trigger_multiple { "targetname" "detect_vipkill_trigger" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_vipunusedcond" "OnStartTouch" "gotakill_voiceline_case,PickRandom,,0.1,-1" "OnStartTouch" "!activator,$RemoveCond,78,0.02,-1" "OnStartTouch" "slow_vip_relay,Trigger,,0,-1" "OnStartTouch" "voiceline_danger*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_destination*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_moveon*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_injured*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,1.1,-1" } trigger_multiple { "targetname" "vip_resize" "spawnflags" "1" "StartDisabled" "1" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "origin" "600 4500 1200" "filtername" "filter_vip" "OnStartTouch" "!activator,SetModelScale,3,0,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.75,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,1.51,-1" "OnStartTouch" "!activator,$ChangeAttributes,BeginLasering,1.5,-1" "OnStartTouch" "slow_vip_relay,Kill,,0,-1" } logic_timer { "targetname" "vip_movespeed_timer" "RefireTime" "0.1" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.001,0,-1" } logic_timer { "targetname" "vip_attribute_timer" "RefireTime" "0.1" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "@p@vip_target,$ChangeAttributes,BeginLasering,0,-1" "OnTimer" "vip_attribute_timer_transition,Trigger,,0,-1" } logic_timer { "targetname" "vip_attribute2_timer" "RefireTime" "0.1" "spawnflags" "0" "StartDisabled" "1" "UseRandomTime" "0" "OnTimer" "@p@vip_target,$ChangeAttributes,Farewell,0,-1" } logic_relay { "targetname" "vip_attribute_timer_transition" "OnTrigger" "vip_attribute_timer,Kill,,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,Farewell,0.01,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,Farewell,0.1,-1" //"OnTrigger" "vip_attribute2_timer,Enable,,0.01,-1" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.3,0.3,-1" "StartDisabled" "1" } trigger_teleport { "targetname" "vip_teleport" "target" "vip_telehere" "filtername" "filter_vip" "spawnflags" "1" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "StartDisabled" "1" } info_target { "targetname" "vip_telehere" "origin" "-3445.5 4130.5 3559" "angles" "30 -12 0" } logic_case { "targetname" "panic_voiceline_case" "oncase01" "voiceline_panic_strider_run,PlaySound,,0.01,-1" "oncase02" "voiceline_panic_runforyourlife01,PlaySound,,0.01,-1" "oncase03" "voiceline_panic_runforyourlife02,PlaySound,,0.01,-1" } logic_case { "targetname" "danger_voiceline_case" "oncase01" "voiceline_danger_zombies02,PlaySound,,0.01,-1" "oncase02" "voiceline_danger_incoming02,PlaySound,,0.01,-1" "oncase03" "voiceline_danger_gethellout,PlaySound,,0.01,-1" "oncase04" "voiceline_danger_sandy_help,PlaySound,,0.01,-1" "oncase05" "voiceline_danger_help01,PlaySound,,0.01,-1" "oncase06" "voiceline_danger_heretheycome01,PlaySound,,0.01,-1" } logic_case { "targetname" "idle_voiceline_case" "oncase01" "voiceline_idle_question02,PlaySound,,0.01,-1" "oncase02" "voiceline_idle_question06,PlaySound,,0.01,-1" "oncase03" "voiceline_idle_question23,PlaySound,,0.01,-1" "oncase04" "voiceline_idle_question27,PlaySound,,0.01,-1" "oncase05" "voiceline_idle_question28,PlaySound,,0.01,-1" "oncase06" "voiceline_idle_question29,PlaySound,,0.01,-1" } logic_case { "targetname" "gotakill_voiceline_case" "oncase01" "voiceline_gotakill_gotone01,PlaySound,,0.01,-1" "oncase02" "voiceline_gotakill_gotone02,PlaySound,,0.01,-1" "oncase03" "voiceline_gotakill_likethat,PlaySound,,0.01,-1" } logic_case { "targetname" "destination_voiceline_case" "oncase01" "voiceline_destination_imstickinghere01,PlaySound,,0.01,-1" "oncase02" "voiceline_destination_holddownspot01,PlaySound,,0.01,-1" "oncase03" "voiceline_destination_holddownspot02,PlaySound,,0.01,-1" } info_target { "targetname" "vip_destination_1" "origin" "-446 3472 961" } logic_relay { "targetname" "reached_destination_1_relay" "OnTrigger" "destination_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,3.1,-1" "OnTrigger" "moveon_calm_voiceline_case,PickRandom,,10.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 8,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,11.1,-1" "OnTrigger" "vip_destination_state,SetValueNoFire,3,10.4,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm,10.5,-1" "OnTrigger" "reached_destination_2_trigger,Enable,,6,-1" "OnTrigger" "slow_vip_relay,Trigger,,0,-1" } trigger_multiple { "targetname" "reached_destination_1_trigger" "StartDisabled" "0" "origin" "-446 3472 961" "mins" "-20 -20 -20" "maxs" "20 20 20" "spawnflags" "1" "filtername" "filter_vip" "OnStartTouch" "vip_destination_state,SetValueNoFire,2,0,-1" "OnStartTouch" "reached_destination_1_relay,Trigger,,0,-1" "OnStartTouch" "!self,Disable,,0.03,-1" } info_target { "targetname" "vip_destination_2" "origin" "1997 3355 1089" } logic_relay { "targetname" "reached_destination_2_relay" "OnTrigger" "destination_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,3.1,-1" "OnTrigger" "moveon_calm_voiceline_case,PickRandom,,10.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 8,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,11.1,-1" "OnTrigger" "vip_destination_state,SetValueNoFire,5,10.4,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm2,10.5,-1" "OnTrigger" "reached_destination_3_trigger,Enable,,6,-1" "OnTrigger" "slow_vip_relay,Trigger,,0,-1" } trigger_multiple { "targetname" "reached_destination_2_trigger" "StartDisabled" "1" "origin" "1997 3355 1089" "mins" "-20 -20 -20" "maxs" "20 20 20" "spawnflags" "1" "filtername" "filter_vip" "OnStartTouch" "vip_destination_state,SetValueNoFire,4,0,-1" "OnStartTouch" "reached_destination_2_relay,Trigger,,0,-1" "OnStartTouch" "!self,Disable,,0.03,-1" } info_target { "targetname" "vip_destination_3" "origin" "1144 4138 961" } logic_relay { "targetname" "reached_destination_3_relay" "OnTrigger" "destination_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,3.1,-1" "OnTrigger" "moveon_calm_voiceline_case,PickRandom,,10.02,-1" "OnTrigger" "voiceline_danger*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 8,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,8,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,11.1,-1" "OnTrigger" "vip_destination_state,SetValueNoFire,1,10.4,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm3,10.5,-1" "OnTrigger" "reached_destination_1_trigger,Enable,,6,-1" "OnTrigger" "slow_vip_relay,Trigger,,0,-1" } trigger_multiple { "targetname" "reached_destination_3_trigger" "StartDisabled" "1" "origin" "1144 4138 961" "mins" "-20 -20 -20" "maxs" "20 20 20" "spawnflags" "1" "filtername" "filter_vip" "OnStartTouch" "vip_destination_state,SetValueNoFire,6,0,-1" "OnStartTouch" "reached_destination_3_relay,Trigger,,0,-1" "OnStartTouch" "!self,Disable,,0.03,-1" } math_counter { "targetname" "vip_destination_state" "startvalue" "1" "min" "1" "max" "6" "OnGetValue" "vip_health_destination_case,InValue,,0,-1" "OnGetValue" "vip_destination_case,InValue,,0,-1" "OnGetValue" "vip_avoidbuster_destination_case,InValue,,0,-1" } logic_case { "targetname" "vip_health_destination_case" "Case01" "1" "Case02" "2" "Case03" "3" "Case04" "4" "Case05" "5" "Case06" "6" "OnCase01" "gethealth_relay_1,Trigger,,0,-1" "OnCase02" "gethealth_relay_1,Trigger,,0,-1" "OnCase03" "gethealth_relay_2,Trigger,,0,-1" "OnCase04" "gethealth_relay_2,Trigger,,0,-1" "OnCase05" "gethealth_relay_3,Trigger,,0,-1" "OnCase06" "gethealth_relay_3,Trigger,,0,-1" } logic_relay { "targetname" "gethealth_relay_1" "OnTrigger" "reached_destination_1_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,GetHealth,0.1,-1" "StartDisabled" "1" } logic_relay { "targetname" "gethealth_relay_2" "OnTrigger" "reached_destination_2_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,GetHealth2,0.1,-1" "StartDisabled" "1" } logic_relay { "targetname" "gethealth_relay_3" "OnTrigger" "reached_destination_3_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,GetHealth3,0.1,-1" "StartDisabled" "1" } logic_case { "targetname" "vip_destination_case" "Case01" "1" "Case02" "2" "Case03" "3" "Case04" "4" "Case05" "5" "Case06" "6" "OnCase01" "moveon_relay_1,Trigger,,0,-1" "OnCase02" "moveon_relay_1,Trigger,,0,-1" "OnCase03" "moveon_relay_2,Trigger,,0,-1" "OnCase04" "moveon_relay_2,Trigger,,0,-1" "OnCase05" "moveon_relay_3,Trigger,,0,-1" "OnCase06" "moveon_relay_3,Trigger,,0,-1" } logic_relay { "targetname" "moveon_relay_1" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm3,0.1,-1" "OnTrigger" "reached_destination_1_trigger,Enable,,0,-1" "StartDisabled" "1" } logic_relay { "targetname" "moveon_relay_2" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm,0.1,-1" "OnTrigger" "reached_destination_2_trigger,Enable,,0,-1" "StartDisabled" "1" } logic_relay { "targetname" "moveon_relay_3" "OnTrigger" "@p@vip_target,$ChangeAttributes,MoveOnCalm2,0.1,-1" "OnTrigger" "reached_destination_3_trigger,Enable,,0,-1" "StartDisabled" "1" } info_target { "targetname" "vip_health_destination_1" "origin" "576 3264 662" } trigger_multiple { "targetname" "vip_health_trigger_1" "spawnflags" "1" "StartDisabled" "0" "mins" "-20 -20 -50" "maxs" "20 20 50" "origin" "576 3264 662" "filtername" "filter_vip" "OnStartTouch" "gethealth_relay*,Disable,,0,-1" "OnStartTouch" "vip_health_state,Add,13,0,-1" "OnStartTouch" "vip_health_state,GetValue,,0.1,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" } info_target { "targetname" "vip_health_destination_2" "origin" "2048 3456 782" } trigger_multiple { "targetname" "vip_health_trigger_2" "spawnflags" "1" "StartDisabled" "0" "mins" "-20 -20 -50" "maxs" "20 20 50" "origin" "2048 3456 782" "filtername" "filter_vip" "OnStartTouch" "gethealth_relay*,Disable,,0,-1" "OnStartTouch" "vip_health_state,Add,13,0,-1" "OnStartTouch" "vip_health_state,GetValue,,0.1,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" } info_target { "targetname" "vip_health_destination_3" "origin" "704 3808 909" } trigger_multiple { "targetname" "vip_health_trigger_3" "spawnflags" "1" "StartDisabled" "0" "mins" "-20 -20 -50" "maxs" "20 20 50" "origin" "704 3808 909" "filtername" "filter_vip" "OnStartTouch" "gethealth_relay*,Disable,,0,-1" "OnStartTouch" "vip_health_state,Add,6,0,-1" "OnStartTouch" "vip_health_state,GetValue,,0.1,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" } logic_case { "targetname" "vip_avoidbuster_destination_case" "Case01" "1" "Case02" "2" "Case03" "3" "Case04" "4" "Case05" "5" "Case06" "6" "OnCase01" "avoidbuster_relay_1,Trigger,,0,-1" "OnCase02" "avoidbuster_relay_1,Trigger,,0,-1" "OnCase03" "avoidbuster_relay_2,Trigger,,0,-1" "OnCase04" "avoidbuster_relay_2,Trigger,,0,-1" "OnCase05" "avoidbuster_relay_3,Trigger,,0,-1" "OnCase06" "avoidbuster_relay_3,Trigger,,0,-1" } logic_relay { "targetname" "avoidbuster_relay_1" "OnTrigger" "reached_destination_1_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,AvoidBuster,0.1,-1" "StartDisabled" "1" } logic_relay { "targetname" "avoidbuster_relay_2" "OnTrigger" "reached_destination_2_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,AvoidBuster2,0.1,-1" "StartDisabled" "1" } logic_relay { "targetname" "avoidbuster_relay_3" "OnTrigger" "reached_destination_3_relay,CancelPending,,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,0,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,AvoidBuster3,0.1,-1" "StartDisabled" "1" } info_target { "targetname" "vip_avoidbuster_destination_1" "origin" "-351 2640 897" } trigger_multiple { "targetname" "vip_buster_present_1" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "-351 2640 897" "filtername" "filter_detonate" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" "OnStartTouch" "!self,Disable,,0,-1" } trigger_multiple { "targetname" "vip_avoidbuster_trigger_1" "spawnflags" "1" "StartDisabled" "1" "mins" "-5 -5 -5" "maxs" "5 5 5" "origin" "-351 2640 897" "filtername" "filter_vip" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" } info_target { "targetname" "vip_avoidbuster_destination_2" "origin" "1890 3569 833" } trigger_multiple { "targetname" "vip_buster_present_2" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "1890 3569 833" "filtername" "filter_detonate" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" "OnStartTouch" "!self,Disable,,0,-1" } trigger_multiple { "targetname" "vip_avoidbuster_trigger_2" "spawnflags" "1" "StartDisabled" "1" "mins" "-5 -5 -5" "maxs" "5 5 5" "origin" "1890 3569 833" "filtername" "filter_vip" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" } info_target { "targetname" "vip_avoidbuster_destination_3" "origin" "578 4193 705" } info_target { "origin" "578 4193 705" } trigger_multiple { "targetname" "vip_buster_present_3" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "578 4193 705" "filtername" "filter_detonate" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" "OnStartTouch" "!self,Disable,,0,-1" } trigger_multiple { "targetname" "vip_avoidbuster_trigger_3" "spawnflags" "1" "StartDisabled" "1" "mins" "-5 -5 -5" "maxs" "5 5 5" "origin" "578 4193 705" "filtername" "filter_vip" "OnStartTouch" "avoidbuster_relay*,Disable,,0,-1" "OnStartTouch" "moveon_relay*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.1,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" } } buster_output { } buster_template // Made by lite, I've made a few adjustments to suit my purposes. { //NoFixup 1 OnParentKilledOutput { Target "@p@vip_target" Action $RemoveCond Param "32" Delay 0.1 } OnParentKilledOutput { Target "@p@vip_target" Action $RemovePlayerAttribute Param "dmg taken from blast reduced" Delay 0.2 } OnParentKilledOutput { Target "@p@laszlo_target*" Action $RemoveCond Param "32" Delay 0.1 } OnParentKilledOutput { Target "@p@laszlo_target*" Action $AddPlayerAttribute Param "move speed bonus|0.75" Delay 0.1 } OnParentKilledOutput { Target "@p@laszlo_target*" Action $RemovePlayerAttribute Param "dmg taken from blast reduced" Delay 0.2 } OnParentKilledOutput { Target "!activator" Action "addoutput" Param "rendermode 0" Delay 1 } filter_tf_bot_has_tag { "targetname" "filter_buster" "tags" "bot_buster" "require_all_tags" "1" } filter_tf_condition { "targetname" "filter_cond" "condition" "7" } filter_multi { "targetname" "filter_detonate" "filter01" "filter_buster" "filter02" "filter_cond" } trigger_multiple { "targetname" "trigger" "origin" "0 0 10" "mins" "-5 -5 -5" "maxs" "5 5 5" "filtername" "filter_detonate" "spawnflags" "1" "onstarttouch" "timer,disable,,0,-1" "onstarttouch" "vip_buster_detonating_trigger,Enable,,0,-1" } logic_timer { "targetname" "timer" "refiretime" "0.2" "ontimer" "trigger,enable,,0,-1" "ontimer" "trigger,disable,,0.1,-1" } trigger_multiple { "targetname" "vip_buster_trigger" "spawnflags" "1" "StartDisabled" "0" "mins" "-200 -200 -150" "maxs" "200 200 150" "filtername" "filter_vip" "OnStartTouch" "!self,Disable,,0,-1" "OnStartTouch" "gethealth_relay*,Disable,,0,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|1,0.11,-1" "OnStartTouch" "moveon_relay*,Disable,,0,-1" "OnStartTouch" "avoidbuster_relay*,Enable,,0,-1" "OnStartTouch" "vip_avoidbuster_trigger_*,Enable,,0,-1" "OnStartTouch" "vip_destination_state,GetValue,,0.2,-1" "OnStartTouch" "panic_voiceline_case,PickRandom,,0.01,-1" "OnStartTouch" "voiceline_*,Volume,0,-1" "OnStartTouch" "voiceline_danger*,AddOutput,health 0,8,-1" "OnStartTouch" "voiceline_gotakill*,AddOutput,health 0,8,-1" "OnStartTouch" "voiceline_moveon*,AddOutput,health 8,0,-1" "OnStartTouch" "voiceline_hurt*,AddOutput,health 0,8,-1" "OnStartTouch" "voiceline_destination*,AddOutput,health 0,0,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,2.1,-1" "OnEndTouch" "!self,Enable,,3,-1" } trigger_multiple { "targetname" "vip_buster_trigger" "spawnflags" "1" "StartDisabled" "0" "mins" "-300 -300 -300" "maxs" "300 300 300" "filtername" "filter_vip" "OnStartTouch" "danger_detection,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "!activator,$AddCond,32,,0,-1" "OnEndTouch" "!activator,$RemoveCond,32,,0,-1" "OnEndTouch" "danger_detection,Enable,,0,-1" "OnEndTouch" "slow_vip_relay,Enable,,0,-1" } trigger_multiple { "targetname" "laszlo_buster_trigger" "spawnflags" "1" "StartDisabled" "0" "mins" "-400 -400 -400" "maxs" "400 400 400" "filtername" "filter_laszlo" "OnStartTouch" "@p@laszlo_target*,$AddCond,32,,0,-1" "OnStartTouch" "@p@laszlo_target*,$AddPlayerAttribute,move speed bonus|1,0,-1" "OnEndTouch" "@p@laszlo_target*,$AddPlayerAttribute,move speed bonus|0.75,0,-1" "OnEndTouch" "@p@laszlo_target*,$RemoveCond,32,,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "filtername" "filter_vipandlaszlo" "OnStartTouch" "!activator,$AddPlayerAttribute,dmg taken from blast reduced|0,1.8,-1" "OnStartTouch" "!activator,$RemovePlayerAttribute,dmg taken from blast reduced,2.3,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "450 0 0" "mins" "-5 -150 -200" "maxs" "5 150 200" "filtername" "filter_vip" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "-450 0 0" "mins" "-5 -150 -200" "maxs" "5 150 200" "filtername" "filter_vip" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "0 450 0" "mins" "-150 -5 -200" "maxs" "150 5 200" "filtername" "filter_vipandlaszlo" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "0 -450 0" "mins" "-150 -5 -200" "maxs" "150 5 200" "filtername" "filter_vip" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "0 0 450" "mins" "-150 -200 -5" "maxs" "150 200 5" "filtername" "filter_vip" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } trigger_multiple { "targetname" "vip_buster_detonating_trigger" "spawnflags" "1" "StartDisabled" "1" "origin" "0 0 -450" "mins" "-150 -200 -5" "maxs" "150 200 5" "filtername" "filter_vip" "OnStartTouch" "slow_vip_relay,Disable,,0,-1" "OnStartTouch" "slow_vip_relay,CancelPending,,0.01,-1" "OnStartTouch" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "slow_vip_relay,Enable,,4,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.001,0.11,-1" "OnStartTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,3,-1" "OnEndTouch" "!activator,$AddPlayerAttribute,move speed bonus|0.75,0,-1" } } vip_logic_on_his_person { NoFixup 1 OnSpawnOutput { Target "vip_target" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "vip_init_teleport_relay" Action Trigger Delay 0.001 } OnSpawnOutput { Target "vip_teleport_particle" Action SetParent Param "!activator" Delay 0.001 } OnSpawnOutput { Target "vipsign" Action Show Delay 0.001 } OnSpawnOutput { Target "glow_maker" Action ForceSpawn Delay 0.5 } OnParentKilledOutput { Target "vip_death_relay" Action Trigger Delay 0.001 } training_annotation { "targetname" "vip_event_sign" "display_text" "Something is happening..." "lifetime" "5" } info_particle_system { "origin" "0 0 60" "targetname" "vip_teleport_particle" "start_active" "0" "flag_as_weather" "0" "effect_name" "charge_up" "angles" "0 180 0" } env_entity_maker { "targetname" "glow_maker" "EntityTemplate" "vip_glow_template" } /////////////// //Miscellaneous /////////////// info_target { "targetname" "vip_target" } logic_relay { "targetname" "slow_vip_relay" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.15,0,-1" "OnTrigger" "@p@vip_target,$AddPlayerAttribute,move speed bonus|0.75,1.5,-1" } ///////////////////////////// //Voice activation conditions ///////////////////////////// logic_relay { "targetname" "danger_detection_buffer" "OnTrigger" "danger_detection,Disable,,0,-1" "OnTrigger" "danger_detection,Enable,,3.5,-1" } trigger_multiple { "targetname" "danger_detection" "StartDisabled" "0" "origin" "0 0 0" "mins" "-200 -200 -50" "maxs" "200 200 50" "spawnflags" "1" "filtername" "filter_notred" "OnStartTouch" "danger_voiceline_case,PickRandom,,0.02,-1" "OnTrigger" "voiceline_gotakill*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_destination*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_moveon*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_hurt*,AddOutput,health 0,0,-1" "OnTrigger" "voiceline_*,AddOutput,health 8,3,-1" "OnStartTouch" "danger_detection_buffer,Trigger,,0.03,-1" "OnStartTouch" "slow_vip_relay,Trigger,,0,-1" } ///////////// //Voice lines ///////////// //Arrived at a spot to hang out at ambient_generic { "targetname" "voiceline_destination_imstickinghere01" "health" "8" "message" "vo/npc/male01/imstickinghere01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_destination_imstickinghere01" "health" "8" "message" "vo/npc/male01/imstickinghere01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_destination_holddownspot01" "health" "8" "message" "vo/npc/male01/holddownspot01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_destination_holddownspot01" "health" "8" "message" "vo/npc/male01/holddownspot01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_destination_holddownspot02" "health" "8" "message" "vo/npc/male01/holddownspot02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_destination_holddownspot02" "health" "8" "message" "vo/npc/male01/holddownspot02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Enemy near ambient_generic { "targetname" "voiceline_danger_zombies02" "health" "8" "message" "vo/npc/male01/zombies02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_zombies02" "health" "8" "message" "vo/npc/male01/zombies02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_incoming02" "health" "8" "message" "vo/npc/male01/incoming02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_incoming02" "health" "8" "message" "vo/npc/male01/incoming02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_heretheycome01" "health" "8" "message" "vo/npc/male01/heretheycome01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_heretheycome01" "health" "8" "message" "vo/npc/male01/heretheycome01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_help01" "health" "8" "message" "vo/npc/male01/help01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_help01" "health" "8" "message" "vo/npc/male01/help01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_sandy_help" "health" "8" "message" "vo/coast/bugbait/sandy_help.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_sandy_help" "health" "8" "message" "vo/coast/bugbait/sandy_help.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_gethellout" "health" "8" "message" "vo/npc/male01/gethellout.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_danger_gethellout" "health" "8" "message" "vo/npc/male01/gethellout.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Panic ambient_generic { "targetname" "voiceline_panic_strider_run" "health" "8" "message" "vo/npc/male01/strider_run.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_panic_strider_run" "health" "8" "message" "vo/npc/male01/strider_run.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_panic_runforyourlife01" "health" "8" "message" "vo/npc/male01/runforyourlife01.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_panic_runforyourlife01" "health" "8" "message" "vo/npc/male01/runforyourlife01.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_panic_runforyourlife02" "health" "8" "message" "vo/npc/male01/runforyourlife01.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_panic_runforyourlife02" "health" "8" "message" "vo/npc/male01/runforyourlife01.wav" "pitch" "100" "pitchstart" "100" "radius" "9000" "spawnflags" "48" "origin" "0 0 0" } //Moving on to next spot - Calm ambient_generic { "targetname" "voiceline_moveon_okimready01" "health" "8" "message" "vo/npc/male01/okimready01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_okimready01" "health" "8" "message" "vo/npc/male01/okimready01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_okimready02" "health" "8" "message" "vo/npc/male01/okimready02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_okimready02" "health" "8" "message" "vo/npc/male01/okimready02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_okimready03" "health" "8" "message" "vo/npc/male01/okimready03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_okimready03" "health" "8" "message" "vo/npc/male01/okimready03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_affirm04" "health" "8" "message" "vo/npc/male01/squad_affirm04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_affirm04" "health" "8" "message" "vo/npc/male01/squad_affirm04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_away01" "health" "8" "message" "vo/npc/male01/squad_away01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_away01" "health" "8" "message" "vo/npc/male01/squad_away01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_away03" "health" "8" "message" "vo/npc/male01/squad_away03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_away03" "health" "8" "message" "vo/npc/male01/squad_away03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_follow03" "health" "8" "message" "vo/npc/male01/squad_follow03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_moveon_squad_follow03" "health" "8" "message" "vo/npc/male01/squad_follow03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Got a kill ambient_generic { "targetname" "voiceline_gotakill_gotone01" "health" "8" "message" "vo/npc/male01/gotone01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_gotakill_gotone01" "health" "8" "message" "vo/npc/male01/gotone01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_gotakill_gotone02" "health" "8" "message" "vo/npc/male01/gotone02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_gotakill_gotone02" "health" "8" "message" "vo/npc/male01/gotone02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_gotakill_likethat" "health" "8" "message" "vo/npc/male01/likethat.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_gotakill_likethat" "health" "8" "message" "vo/npc/male01/likethat.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Pain ambient_generic { "targetname" "voiceline_hurt_hitingut01" "health" "8" "message" "vo/npc/male01/hitingut01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_hitingut01" "health" "8" "message" "vo/npc/male01/hitingut01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_mygut02" "health" "8" "message" "vo/npc/male01/mygut02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_mygut02" "health" "8" "message" "vo/npc/male01/mygut02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myarm02" "health" "8" "message" "vo/npc/male01/myarm02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myarm02" "health" "8" "message" "vo/npc/male01/myarm02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myleg01" "health" "8" "message" "vo/npc/male01/myleg01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myleg01" "health" "8" "message" "vo/npc/male01/myleg01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myleg02" "health" "8" "message" "vo/npc/male01/myleg02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_myleg02" "health" "8" "message" "vo/npc/male01/myleg02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_ow01" "health" "8" "message" "vo/npc/male01/ow01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_ow01" "health" "8" "message" "vo/npc/male01/ow01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_pain04" "health" "8" "message" "vo/npc/male01/pain04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_hurt_pain04" "health" "8" "message" "vo/npc/male01/pain04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Injured ambient_generic { "targetname" "voiceline_injured_moan01" "health" "8" "message" "vo/npc/male01/moan01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan01" "health" "8" "message" "vo/npc/male01/moan01.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan02" "health" "8" "message" "vo/npc/male01/moan02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan02" "health" "8" "message" "vo/npc/male01/moan02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan03" "health" "8" "message" "vo/npc/male01/moan03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan03" "health" "8" "message" "vo/npc/male01/moan03.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan04" "health" "8" "message" "vo/npc/male01/moan04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan04" "health" "8" "message" "vo/npc/male01/moan04.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan05" "health" "8" "message" "vo/npc/male01/moan05.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_injured_moan05" "health" "8" "message" "vo/npc/male01/moan05.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } //Idle ambient_generic { "targetname" "voiceline_idle_question02" "health" "8" "message" "vo/npc/male01/question02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question02" "health" "8" "message" "vo/npc/male01/question02.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question06" "health" "8" "message" "vo/npc/male01/question06.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question06" "health" "8" "message" "vo/npc/male01/question06.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question23" "health" "8" "message" "vo/npc/male01/question23.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question23" "health" "8" "message" "vo/npc/male01/question23.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question27" "health" "8" "message" "vo/npc/male01/question27.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question27" "health" "8" "message" "vo/npc/male01/question27.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question28" "health" "8" "message" "vo/npc/male01/question28.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question28" "health" "8" "message" "vo/npc/male01/question28.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question29" "health" "8" "message" "vo/npc/male01/question29.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_idle_question29" "health" "8" "message" "vo/npc/male01/question29.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } // :(((((( ambient_generic { "targetname" "voiceline_poorlaszlo" "health" "8" "message" "vo/coast/bugbait/sandy_poorlaszlo.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "voiceline_poorlaszlo" "health" "8" "message" "vo/coast/bugbait/sandy_poorlaszlo.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } vip_glow_template { NoFixup 1 tf_glow { "targetname" "vip_glow" "GlowColor" "255 0 0 205" "target" "@p@vip_target" } } eyespell_bot_init { OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname eyespell_bot" Delay 0 } logic_measure_movement { "MeasureReference" "eyespell_position" "MeasureTarget" "eyespell_position" "MeasureType" "0" "Target" "!parent" "TargetReference" "eyespell_position" "TargetScale" "1" } } eyespell_init { NoFixup 1 KeepAlive 1 OnSpawnOutput { Target "eyespell_teleport" Action "Kill" Delay 0.3 } OnParentKilledOutput { Target "eye_particle" Action "Stop" Delay 0 } OnParentKilledOutput { Target "eyespell_bot" Action "SetHealth" Param "-1000" Delay 0 } filter_tf_bot_has_tag { "targetname" "filter_eyespell" "Negated" "0" "require_all_tags" "1" "tags" "bot_eyespell" } trigger_teleport { "targetname" "eyespell_teleport" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "spawnflags" "1" "filtername" "filter_eyespell" "target" "eyespell_position" } info_target { "targetname" "eyespell_position" "origin" "-40 0 0" } } lasertemplate { NoFixup 1 prop_dynamic { "angles" "0 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/stone_base_256.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone" "origin" "933 2557 551" } prop_dynamic { "angles" "-15 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/stone_base_256.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone2" "origin" "950 2557 604" } prop_dynamic { "angles" "-15 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/stone_base_256.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone3" "origin" "976 2557 668" } prop_dynamic { "angles" "0 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/stone_base_256.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone4" "origin" "983 2557 601" } prop_dynamic { "angles" "-15 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/stone_base_256.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone5" "origin" "1007 2557 664" } prop_dynamic { "angles" "-15 180 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "stone_lighting" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_forest/rock004.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "tomb_block_stone_big" "origin" "1075 2562 560.746" } info_target { "targetname" "stone_lighting" "origin" "653 2557 693" } info_target { "targetname" "eyelaser_target" "origin" "979 2538 594" } env_laser { "spawnflags" "32" "damage" "20" "dissolvetype" "None" "LaserTarget" "eyelaser_target" "renderamt" "100" "rendercolor" "205 85 255" "targetname" "eyelaser1" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "-1883 3605.4 3069.8" } env_laser { "spawnflags" "32" "damage" "20" "dissolvetype" "None" "LaserTarget" "eyelaser_target" "renderamt" "100" "rendercolor" "205 85 255" "targetname" "eyelaser2" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "-1791 3921.3 2901.2" } env_laser { "spawnflags" "32" "damage" "20" "dissolvetype" "None" "LaserTarget" "eyelaser_target" "renderamt" "100" "rendercolor" "205 85 255" "targetname" "eyelaser3" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "-1952 3282.5 2901" } env_laser { "spawnflags" "32" "damage" "20" "dissolvetype" "None" "LaserTarget" "eyelaser_target" "renderamt" "100" "rendercolor" "205 85 255" "targetname" "eyelaser4" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "-2052 3126.1 2590.1" } env_laser { "spawnflags" "32" "damage" "20" "dissolvetype" "None" "LaserTarget" "eyelaser_target" "renderamt" "100" "rendercolor" "205 85 255" "targetname" "eyelaser5" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "-1713 4081.2 2582" } logic_relay { "targetname" "lasersmoke_relay" "OnTrigger" "lasersmoke,Start,,0,-1" "OnTrigger" "lasersmoke2,Start,,.5,-1" "OnTrigger" "lasersmoke3,Start,,1,-1" } info_particle_system { "origin" "841 2541 615" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_boss_death_cloud" "angles" "0 0 0" } info_particle_system { "origin" "841 2471 600" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "820 2614 630" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "841 2541 645" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_boss_death_cloud" "angles" "0 0 0" } info_particle_system { "origin" "841 2471 630" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "820 2614 660" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "875 2563 725" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "788 2760 645" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "658 2731 641" "targetname" "lasersmoke" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "641 2541 615" "targetname" "lasersmoke2" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_boss_death_cloud" "angles" "0 0 0" } info_particle_system { "origin" "641 2471 600" "targetname" "lasersmoke2" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "620 2614 630" "targetname" "lasersmoke2" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "738 2540 642" "targetname" "lasersmoke3" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "700 2695 641" "targetname" "lasersmoke3" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "712 2426 641" "targetname" "lasersmoke3" "start_active" "0" "flag_as_weather" "0" "effect_name" "halloween_ghost_smoke" "angles" "0 0 0" } info_particle_system { "origin" "-3445 4129 3817" "targetname" "eyeparticle1" "start_active" "0" "flag_as_weather" "0" "effect_name" "unusual_psychic_eye" "angles" "0 0 0" } info_particle_system { "origin" "-3440 4149 3807" "targetname" "eyeparticle2" "start_active" "0" "flag_as_weather" "0" "effect_name" "unusual_psychic_eye" "angles" "0 0 0" } info_particle_system { "origin" "-3450 4109 3807" "targetname" "eyeparticle3" "start_active" "0" "flag_as_weather" "0" "effect_name" "unusual_psychic_eye" "angles" "0 0 0" } info_particle_system { "origin" "-3455 4099 3787" "targetname" "eyeparticle4" "start_active" "0" "flag_as_weather" "0" "effect_name" "unusual_psychic_eye" "angles" "0 0 0" } info_particle_system { "origin" "-3435 4159 3787" "targetname" "eyeparticle5" "start_active" "0" "flag_as_weather" "0" "effect_name" "unusual_psychic_eye" "angles" "0 0 0" } info_particle_system { "origin" "856 2505 614" "targetname" "eye_explosion_particle" "start_active" "0" "flag_as_weather" "0" "effect_name" "skull_island_explosion" "angles" "0 180 0" } info_particle_system { "origin" "856 2605 614" "targetname" "eye_explosion_particle" "start_active" "0" "flag_as_weather" "0" "effect_name" "skull_island_explosion" "angles" "0 180 0" } point_teleport { "targetname" "eyeparticle_teleport_1" "target" "eyeparticle1" "origin" "0 0 0" } point_teleport { "targetname" "eyeparticle_teleport_2" "target" "eyeparticle2" "origin" "0 0 0" } point_teleport { "targetname" "eyeparticle_teleport_3" "target" "eyeparticle3" "origin" "0 0 0" } point_teleport { "targetname" "eyeparticle_teleport_4" "target" "eyeparticle4" "origin" "0 0 0" } point_teleport { "targetname" "eyeparticle_teleport_5" "target" "eyeparticle5" "origin" "0 0 0" } trigger_multiple { "targetname" "vip_phase" "spawnflags" "1" "StartDisabled" "1" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "origin" "600 4500 1200" "filtername" "filter_vip" "OnStartTouch" "!self,Disable,,0.001,-1" "OnStartTouch" "!activator,AddOutput,renderfx 6,0,-1" "OnStartTouch" "@c@!activator,AddOutput,renderfx 6,0,-1" "OnStartTouch" "!activator,AddOutput,renderfx 8,0.5,-1" "OnStartTouch" "!activator,AddOutput,renderfx 6,1,-1" "OnStartTouch" "!activator,AddOutput,renderfx 8,1.5,-1" "OnStartTouch" "!activator,AddOutput,renderfx 6,2,-1" } info_target { "targetname" "igonow_target" "origin" "-3685 4439 3659" } logic_relay { "targetname" "vip_laser_event_relay" "OnTrigger" "tombspawn_annotation_2,Kill,,0,-1" "OnTrigger" "tomb2_door,SetSpeed,0,0,-1" "OnTrigger" "tomb2_door,Kill,,1,-1" "OnTrigger" "tombspawn_hologram_2,Kill,,0,-1" "OnTrigger" "spawnbot_grave2*,Disable,,0,-1" "OnTrigger" "laszlo_death_relay,Disable,,0,-1" "OnTrigger" "laszlo_death_relay,CancelPending,,0.1,-1" "OnTrigger" "player,$ChangeAttributes,VipAscended,0,-1" "OnTrigger" "@p@vip_target,$AddCond,51,0,-1" "OnTrigger" "vip_death_relay,Disable,,0,-1" "OnTrigger" "vip_movespeed_timer,Enable,,0,-1" "OnTrigger" "vip_attribute_timer,Enable,,0,-1" "OnTrigger" "slow_vip_relay,Disable,,0,-1" "OnTrigger" "slow_vip_relay,CancelPending,,0,-1" "OnTrigger" "vip_destination*,Disable,,0.01,-1" "OnTrigger" "reached_destination*,Disable,,0.01,-1" "OnTrigger" "reached_destination_1_relay,CancelPending,,0.01,-1" "OnTrigger" "reached_destination_2_relay,CancelPending,,0.01,-1" "OnTrigger" "reached_destination_3_relay,CancelPending,,0.01,-1" "OnTrigger" "vip_event_sign,Show,,1,-1" "OnTrigger" "vip_event_sign,Kill,,5.01,-1" "OnTrigger" "vip_event_music,PlaySound,,1,-1" "OnTrigger" "tele_sfx_start,PlaySound,,5,-1" "OnTrigger" "tele_sfx_end,PlaySound,,9,-1" "OnTrigger" "vip_teleport_particle,Start,,5.01,-1" "OnTrigger" "vip_glow,Kill,,10,-1" "OnTrigger" "vip_resize,Enable,,10.02,-1" "OnTrigger" "vip_teleport,Enable,,10.01,-1" "OnTrigger" "vip_teleport_particle,Stop,,10.02,-1" "OnTrigger" "eyeparticle1,Start,,16,-1" "OnTrigger" "eyeparticle2,Start,,17.5,-1" "OnTrigger" "eyeparticle3,Start,,17.5,-1" "OnTrigger" "eyeparticle4,Start,,19,-1" "OnTrigger" "eyeparticle5,Start,,19,-1" "OnTrigger" "eyelaser*,Toggle,,22,-1" "OnTrigger" "laser_sfx_start,PlaySound,,22,-1" "OnTrigger" "laser_sfx_loop,PlaySound,,23,-1" "OnTrigger" "laser_sfx_loop,Volume,0,26,-1" "OnTrigger" "laser_sfx_loop,StopSound,,26.1,-1" "OnTrigger" "laser_sfx_explode,PlaySound,,25.2,-1" "OnTrigger" "tomb_block_ston*,Enable,,25.8,-1" "OnTrigger" "spellbook_maker,ForceSpawn,,25.8,-1" "OnTrigger" "eye_explosion_particle,Start,,25.5,-1" "OnTrigger" "lasersmoke*,Start,,25.5,-1" "OnTrigger" "eye_explosion_particle,Stop,,29.5,-1" "OnTrigger" "eye_explosion_particle,Stop,,29.5,-1" "OnTrigger" "eyelaser*,Toggle,,26,-1" "OnTrigger" "eyeparticle*,Stop,,28,-1" "OnTrigger" "eyeparticle_teleport*,Teleport,,29.5,-1" "OnTrigger" "vip_attribute_timer_transition,Enable,,31,-1" "OnTrigger" "vip_movespeed_timer,Disable,,30.9,-1" "OnTrigger" "tombgonesign2,Show,,32,-1" "OnTrigger" "@p@vip_target,$ChangeAttributes,Farewell,33,-1" "OnTrigger" "@p@vip_target,$RemoveCond,51,35,-1" "OnTrigger" "@p@vip_target,SetHealth,-1000,36,-1" } env_entity_maker { "targetname" "spellbook_maker" "EntityTemplate" "spellbook_logic" } ambient_generic { "targetname" "vip_event_music" "health" "10" "message" "music/hl2_song25_teleporter.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "vip_event_music" "health" "10" "message" "music/hl2_song25_teleporter.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_start" "health" "8" "message" "npc/vort/health_charge.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_start" "health" "8" "message" "npc/vort/health_charge.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_start" "health" "8" "message" "npc/vort/health_charge.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_end" "health" "10" "message" "ambient/machines/teleport3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_end" "health" "10" "message" "ambient/machines/teleport3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "tele_sfx_end" "health" "10" "message" "ambient/machines/teleport3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_start" "health" "8" "message" "beams/beamstart5.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_start" "health" "8" "message" "beams/beamstart5.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_loop" "health" "8" "message" "ambient/levels/citadel/portal_beam_loop1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_loop" "health" "8" "message" "ambient/levels/citadel/portal_beam_loop1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/levels/labs/electric_explosion3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/levels/labs/electric_explosion3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/levels/labs/electric_explosion3.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/explosions/explode_7.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/explosions/explode_7.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/explosions/explode_8.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "laser_sfx_explode" "health" "10" "message" "ambient/explosions/explode_8.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } info_target { "targetname" "laszlo_stand" "origin" "51 4092 714" } info_target { "targetname" "laszlo_look" "origin" "-1598 3826 1720" } } currency_template { NoFixup 1 OnSpawnOutput { Target "currency_template_aliveness" Action Kill Delay 30 } filter_tf_class { "targetname" "filter_scout" "tfclass" "1" } filter_multi { "targetname" "filter_red_scout" "filter01" "filter_red" "filter02" "filter_scout" } logic_relay { "targetname" "currency_template_aliveness" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1691 2592 795" "OnStartTouch" "dumb_currency1,Kill,,0,-1" "OnStartTouch" "player,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1691 2592 795" "OnStartTouch" "dumb_currency1,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency1" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1691 2592 795" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1658 2671 795" "OnStartTouch" "dumb_currency2,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1658 2671 795" "OnStartTouch" "dumb_currency2,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency2" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1658 2671 795" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1658 2671 795" "OnStartTouch" "dumb_currency3,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1658 2671 795" "OnStartTouch" "dumb_currency3,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency3" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1658 2671 795" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1606 2682 795" "OnStartTouch" "dumb_currency4,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1606 2682 795" "OnStartTouch" "dumb_currency4,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency4" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1606 2682 795" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1622 2595 795" "OnStartTouch" "dumb_currency5,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1622 2595 795" "OnStartTouch" "dumb_currency5,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency5" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1622 2595 795" } trigger_multiple { "spawnflags" "1" "mins" "-36.5 -36.5 -13.5" "maxs" "36.5 36.5 13.5" "origin" "1561 2630 795" "OnStartTouch" "dumb_currency6,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } trigger_multiple { "filtername" "filter_red_scout" "spawnflags" "1" "mins" "-75 -75 -75" "maxs" "75 75 75" "origin" "1561 2630 795" "OnStartTouch" "dumb_currency6,Kill,,0,-1" "OnStartTouch" "!activator,$AddCurrency,25,0,-1" "OnStartTouch" "!self,Kill,,0.1,-1" } prop_dynamic { "targetname" "dumb_currency6" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/items/currencypack_large.mdl" "origin" "1561 2630 795" } RemoveIfKilled "currency_template_aliveness" } spellbook_template { tf_spell_pickup { "AutoMaterialize" "0" "tier" "1" } } can_grab_spell { OnSpawnOutput { Target "!activator" Action "$AddCond" Param "12" Delay 0.1 } } spellbook_logic { OnSpawnOutput { Target "spellbook_logic_aliveness" Action Kill Delay 30 } logic_relay { "targetname" "spellbook_logic_aliveness" } filter_tf_condition { "targetname" "filter_donthavecond" "condition" "78" "Negated" "1" } filter_tf_condition { "targetname" "filter_havecond" "condition" "12" } filter_multi { "targetname" "filter_cangrab" "filter01" "filter_donthavecond" "filter02" "filter_havecond" } prop_dynamic { "targetname" "dummy_spellbook1" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "825.35 2524.28 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "825.35 2524.28 567.162" "OnStartTouch" "spellbook_template_maker1,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook1,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker1" "EntityTemplate" "spellbook_template" "origin" "825.35 2524.28 567.162" } prop_dynamic { "targetname" "dummy_spellbook2" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "796 2433 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "796 2433 567.162" "OnStartTouch" "spellbook_template_maker2,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook2,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker2" "EntityTemplate" "spellbook_template" "origin" "796 2433 567.162" } prop_dynamic { "targetname" "dummy_spellbook3" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "777 2487 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "777 2487 567.162" "OnStartTouch" "spellbook_template_maker3,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook3,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker3" "EntityTemplate" "spellbook_template" "origin" "777 2487 567.162" } prop_dynamic { "targetname" "dummy_spellbook4" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "857 2582 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "857 2582 567.162" "OnStartTouch" "spellbook_template_maker4,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook4,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker4" "EntityTemplate" "spellbook_template" "origin" "857 2582 567.162" } prop_dynamic { "targetname" "dummy_spellbook5" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "818 2692 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "818 2692 567.162" "OnStartTouch" "spellbook_template_maker5,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook5,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker5" "EntityTemplate" "spellbook_template" "origin" "818 2692 567.162" } prop_dynamic { "targetname" "dummy_spellbook6" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_halloween/hwn_spellbook_upright_major.mdl" "origin" "801 2606 567.162" } trigger_multiple { "filtername" "filter_cangrab" "spawnflags" "1" "mins" "-32.5 -34.5 -23.5" "maxs" "32.5 34.5 23.5" "origin" "801 2606 567.162" "OnStartTouch" "spellbook_template_maker6,ForceSpawn,,0,-1" "OnStartTouch" "dummy_spellbook6,Kill,,0,-1" "OnStartTouch" "!activator,$AddCond,78,0,-1" "OnStartTouch" "!activator,$RemoveCond,78,8,-1" "OnStartTouch" "!self,Kill,,0.01,-1" } env_entity_maker { "targetname" "spellbook_template_maker6" "EntityTemplate" "spellbook_template" "origin" "801 2606 567.162" } RemoveIfKilled "spellbook_logic_aliveness" } redbot_init { NoFixup 1 OnSpawnOutput { Target "particle_teleport_front_relay" Action Trigger Delay 0 } OnSpawnOutput { Target "sound_teleport_front" Action PlaySound Delay 0 } OnSpawnOutput { Target "particle_teleport_hatch_relay" Action Trigger Delay 0 } OnSpawnOutput { Target "sound_teleport_hatch" Action PlaySound Delay 0 } } laser_explode_template { KeepAlive 1 OnSpawnOutput { Target "laser_explode_aliveness" Action Kill Delay 0.1 } OnSpawnOutput { Target "explosion_damage_brush" Action Kill Delay 0.1 } logic_relay { "targetname" "laser_explode_aliveness" } info_particle_system { "targetname" "explosion_particle" "effect_name" "merasmus_object_spawn" "flag_as_weather" "0" "start_active" "1" "origin" "0 0 -15" } trigger_multiple { "targetname" "explosion_damage_brush" "filtername" "filter_angryworker" "spawnflags" "1" "mins" "-200 -200 -200" "maxs" "200 200 200" "OnStartTouch" "!activator,$TakeDamage,5000,0,-1" } RemoveIfKilled "laser_explode_aliveness" } laserproj { KeepAlive 1 OnSpawnOutput { Target "laserproj_aliveness" Action Kill Delay 1.5 } OnSpawnOutput { Target "laser_explosion_maker" Action ForceSpawn Delay 0.8 } OnSpawnOutput { Target "laser_explode_position" Action SetParent Param "laser_rocket" } OnSpawnOutput { Target "laser_rocket" Action $SetModelOverride Param "models/empty.mdl" Delay 0.01 } tf_projectile_flare { "targetname" "laser_rocket" "teamnum" "3" } info_target { "targetname" "laser_explode_position" } logic_measure_movement { "targetname" "measure_movement_laser" "MeasureReference" "laser_explode_position" "MeasureTarget" "laser_explode_position" "MeasureType" "0" "Target" "laser_explosion_maker" "TargetReference" "laser_explode_position" "TargetScale" "1" } env_entity_maker { "targetname" "laser_explosion_maker" "EntityTemplate" "laser_explode_template" "PostSpawnDirection" "0 0 0" "PostSpawnDirectionVariance" "0" "PostSpawnInheritAngles" "0" "PostSpawnSpeed" "0" } logic_relay { "targetname" "laserproj_aliveness" } RemoveIfKilled "laserproj_aliveness" } manglerproj { tf_projectile_energy_ball { "targetname" "energy_ring" "teamnum" "3" } } chewchew { OnSpawnOutput { Target "chewchew_laser_relay" Action SetParent Param "!activator" } OnSpawnOutput { Target "users" Action Trigger } OnSpawnOutput { Target "rockettimer_timer" Action Enable Delay 6 } OnSpawnOutput { Target "laser_timer" Action Enable Delay 6 } prop_dynamic { "targetname" "chewchew_attachment" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/bot_worker/bot_worker_a_gry.mdl" "skin" "1" "origin" "-129 0 54" } prop_dynamic { "targetname" "chewchew_attachment" "model" "models/props_frontline/prop_bar_stool.mdl" "origin" "-129 0 28" } prop_dynamic { "targetname" "chewchew_attachment" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/boss_bot/lilchewchew_addon.mdl" } prop_dynamic { "targetname" "chewchew_attachment_bomb" "defaultanim" "ref" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/boss_bot/bomb_mechanism.mdl" "origin" "32 0 -64" } prop_dynamic { "defaultanim" "move" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/lilchewchew/lilchewchew_gry.mdl" "targetname" "lilchewchew" } prop_dynamic { "targetname" "chewchew_attachment" "angles" "0 -90 166" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/props_frontline/aa_battery.mdl" "lightingorigin" "lighting_target" "modelscale" ".5" "origin" "-65 0 22" "parentname" "gun_rotate" } logic_relay { "targetname" "chewchew_deploy_relay" "OnUser1" "chewchew_attachment_bomb,SetAnimation,deploy,0,-1" //"OnUser1" "player,$DisplayTextChat,user1 fires,0,-1" } logic_relay { "targetname" "users" "ontrigger" "!activator,addoutput,onuser1 chewchew_attachment_bomb:SetAnimation:deploy:0:-1,0,-1" "ontrigger" "!activator,addoutput,onuser1 chewchew_attachment_bomb:setplaybackrate:2:7:-1,0,-1" "ontrigger" "!activator,addoutput,onuser1 chewchew_attachment_bomb:setplaybackrate:0:7.65:-1,0,-1" //"ontrigger" "!activator,addoutput,onuser1 player:$DisplayTextChat:user1 fires:0:-1,0,-1" } trigger_hurt { "targetname" "chewchew_hurt" "StartDisabled" "0" "spawnflags" "1" "mins" "-36 -51 -65" "maxs" "36 51 65" "origin" "118 0 67" "nodmgforce" "0" "damagetype" "16" "damagemodel" "0" "damagecap" "20" "damage" "2000" "OnHurtPlayer" "lilchewchew,SetAnimation,chomp,0,-1" "OnEndTouchAll" "lilchewchew,SetAnimation,move,0.66,-1" "OnHurtPlayer" "chomps,PlaySound,,0,-1" } ambient_generic { "volstart" "0" "targetname" "chomps" "spinup" "0" "spindown" "0" "spawnflags" "48" "radius" "1250" "preset" "0" "pitchstart" "100" "pitch" "100" "message" "physics/metal/metal_large_debris1.wav" "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "10" "fadeoutsecs" "3" } tf_point_weapon_mimic { "targetname" "rocketshoot" "angles" "34 0 0" "origin" "13 0 -76" "modeloverride" "models/weapons/w_models/w_drg_ball.mdl" "damage" "20" "modelscale" "0.1" "speedmax" "1100" "speedmin" "1100" "splashradius" "30" "teamnum" "3" "parentname" "gun_rotate" } env_entity_maker { "targetname" "lasershoot" "postspawnspeed" "1100" "postspawninheritangles" "1" "entitytemplate" "laserproj" "angles" "34 0 0" "origin" "13 0 -76" "parentname" "gun_rotate" } env_entity_maker { "targetname" "energyshoot" "postspawnspeed" "1100" "postspawninheritangles" "1" "entitytemplate" "manglerproj" "angles" "34 0 0" "origin" "13 0 -76" "parentname" "gun_rotate" } logic_case { "targetname" "gun_rotation_case" "Case01" "-3" "Case02" "-2" "Case03" "-1" "Case04" "1" "Case05" "2" "Case06" "3" "Case07" "4" "Case08" "5" "Case09" "6" "Case10" "7" "OnCase01" "gun_rotate,SetSpeed,1,0,-1" "OnCase02" "gun_rotate,SetSpeed,1,0,-1" "OnCase03" "gun_rotate,SetSpeed,1,0,-1" "OnCase04" "gun_rotate,SetSpeed,-1,0,-1" "OnCase05" "gun_rotate,SetSpeed,-1,0,-1" "OnCase06" "gun_rotate,SetSpeed,-1,0,-1" "OnCase07" "gun_rotate,SetSpeed,1,0,-1" "OnCase08" "gun_rotate,SetSpeed,1,0,-1" "OnCase09" "gun_rotate,SetSpeed,1,0,-1" "OnCase10" "gun_rotate,SetSpeed,1,0,-1" } logic_compare { "targetname" "calc_compare" "InitialValue" "1" "CompareValue" "-3" "onlessthan" "gun_orientation_calctwo,Add,8,0,-1" "onlessthan" "gun_orientation_calctwo,GetValue,,0.01,-1" "onequalto" "gun_orientation_calctwo,GetValue,,0.01,-1" "ongreaterthan" "gun_orientation_calctwo,GetValue,,0.01,-1" } math_counter { "targetname" "gun_orientation_calctwo" "startvalue" "1" "min" "-9999" "max" "9999" "OnGetValue" "gun_rotation_case,InValue,,0,-1" } math_counter { "targetname" "gun_orientation_calcone" "startvalue" "1" "min" "-9999" "max" "9999" "OnGetValue" "calc_compare,SetValueCompare,,0,-1" "OutValue" "gun_orientation_calctwo,SetValue,,0,-1" } math_counter { "targetname" "gun_orientation_state" "startvalue" "1" "min" "1" "max" "8" "OnGetValue" "gun_orientation_calcone,SetValueNoFire,,0,-1" "OnGetValue" "gun_orientation_calcone,GetValue,,0.02,-1" //"OutValue" "player,$DisplayTextChat,,0,-1" } func_rotating //Full rotation ~7.315 seconds { "targetname" "gun_rotate" "origin" "-65 0 22" "mins" "-8 -8 -8" "maxs" "8 8 8" "maxspeed" "75" "rendermode" "10" "spawnflags" "64" } prop_physics_multiplayer { "parentname" "gun_rotate" "targetname" "prop_milkcarton" "model" "models/props_junk/garbage_milkcarton002a.mdl" "physicsmode" "1" "rendermode" "10" "renderfx" "6" "spawnflags" "4" "origin" "0 0 300" } trigger_multiple { "targetname" "gun_trackorientation_trigger1" "spawnflags" "1024" "StartDisabled" "0" "origin" "0 0 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,1,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger2" "spawnflags" "1024" "StartDisabled" "0" "origin" "-20 45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,2,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger3" "spawnflags" "1024" "StartDisabled" "0" "origin" "-65 65 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,3,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger4" "spawnflags" "1024" "StartDisabled" "0" "origin" "-110 45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,4,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger5" "spawnflags" "1024" "StartDisabled" "0" "origin" "-130 0 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,5,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger6" "spawnflags" "1024" "StartDisabled" "0" "origin" "-110 -45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,6,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger7" "spawnflags" "1024" "StartDisabled" "0" "origin" "-65 -65 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,7,-1" } trigger_multiple { "targetname" "gun_trackorientation_trigger8" "spawnflags" "1024" "StartDisabled" "0" "origin" "-20 -45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_orientation_state,SetValue,8,-1" } trigger_multiple { "targetname" "gun_orientation_trigger1" "spawnflags" "1024" "StartDisabled" "1" "origin" "0 0 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger2" "spawnflags" "1024" "StartDisabled" "1" "origin" "-20 45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger3" "spawnflags" "1024" "StartDisabled" "1" "origin" "-65 65 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger4" "spawnflags" "1024" "StartDisabled" "1" "origin" "-110 45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger5" "spawnflags" "1024" "StartDisabled" "1" "origin" "-130 0 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger6" "spawnflags" "1024" "StartDisabled" "1" "origin" "-110 -45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger7" "spawnflags" "1024" "StartDisabled" "1" "origin" "-65 -65 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } trigger_multiple { "targetname" "gun_orientation_trigger8" "spawnflags" "1024" "StartDisabled" "1" "origin" "-20 -45 300" "mins" "-0.1 -0.1 -5" "maxs" "0.1 0.1 5" "OnStartTouch" "gun_rotate,Stop,,0,-1" "OnStartTouch" "!self,Disable,,0.001,-1" } logic_relay { "targetname" "gun_orientation_reset_relay" "OnTrigger" "gun_orientation_trigger1,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger2,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger3,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger4,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger5,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger6,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger7,Disable,,0,-1" "OnTrigger" "gun_orientation_trigger8,Disable,,0,-1" } logic_relay { "targetname" "gun_rotate_disable_relay" "OnTrigger" "gun_rotate_front_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_frontleft_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_left_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_backleft_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_back_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_backright_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_right_trigger,Disable,,0,-1" "OnTrigger" "gun_rotate_frontright_trigger,Disable,,0,-1" } logic_relay { "targetname" "gun_rotate_enable_relay" "OnTrigger" "gun_rotate_front_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_frontleft_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_left_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_backleft_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_back_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_backright_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_right_trigger,Enable,,0,-1" "OnTrigger" "gun_rotate_frontright_trigger,Enable,,0,-1" } trigger_hurt { "targetname" "gun_rotate_front_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "735 0 -400" "mins" "-600 -145 -800" "maxs" "600 145 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,1,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger1,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_frontleft_trigger" "spawnflags" "1" "damage" "0" "StartDisabled" "0" "filtername" "filter_angryworker" "origin" "735 800 -400" "mins" "-600 -600 -800" "maxs" "600 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,2,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger2,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_left_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "-65 800 -400" "mins" "-115 -600 -800" "maxs" "115 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,3,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger3,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_backleft_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "-865 800 -400" "mins" "-600 -600 -800" "maxs" "600 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,4,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger4,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_back_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "-865 0 -400" "mins" "-600 -145 -800" "maxs" "600 145 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,5,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger5,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_backright_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "-865 -800 -400" "mins" "-600 -600 -800" "maxs" "600 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,6,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger6,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_right_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "-65 -800 -400" "mins" "-115 -600 -800" "maxs" "115 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,7,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger7,Enable,,0.001,-1" } trigger_hurt { "targetname" "gun_rotate_frontright_trigger" "spawnflags" "1" "damage" "0" "filtername" "filter_angryworker" "StartDisabled" "0" "origin" "735 -800 -400" "mins" "-600 -600 -800" "maxs" "600 600 800" "OnStartTouch" "gun_orientation_state,GetValue,,0,-1" "OnStartTouch" "gun_orientation_calcone,Subtract,8,0.01,-1" "OnStartTouch" "gun_orientation_reset_relay,Trigger,,0,-1" "OnStartTouch" "gun_orientation_trigger8,Enable,,0.001,-1" } ambient_generic { "targetname" "rocketsound" "health" "10" "message" "chewchewgry_sounds/strider_minigun2.wav" "pitch" "100" "radius" "6000" "spawnflags" "48" "origin" "33 -5 -84" "parentname" "gun_rotate" } logic_timer { "targetname" "laser_timer" "StartDisabled" "1" "refiretime" "15" "ontimer" "chewchew_laser_relay,Trigger,,0,-1" } logic_timer { "targetname" "rockettimer_timer" "StartDisabled" "1" "refiretime" "5" "ontimer" "rockettimer,Enable,,0,-1" "ontimer" "rockettimer,Disable,,2.5,-1" } logic_timer { "targetname" "rockettimer" "StartDisabled" "1" "refiretime" "0.3" "ontimer" "rocketshoot,fireonce,,0,-1" "ontimer" "rocketsound,playsound,,0,-1" "ontimer" "energyshoot,forcespawn,,0,-1" } logic_relay { "targetname" "chewchew_laser_relay" "OnTrigger" "!parent,AddOutput,Speed 75,0,-1" "OnTrigger" "!parent,AddOutput,Speed 50,0.2,-1" "OnTrigger" "!parent,AddOutput,Speed 25,0.4,-1" "OnTrigger" "rockettimer_timer,Disable,,0,-1" "OnTrigger" "rockettimer,Disable,,0,-1" "OnTrigger" "gun_rotate_disable_relay,Trigger,,0.3,-1" "OnTrigger" "gun_rotate,Stop,,0.39,-1" "OnTrigger" "chewchew_laser_small,Toggle,,0,-1" "OnTrigger" "chewchew_laser_charge,PlaySound,,0,-1" "OnTrigger" "lasershoot,ForceSpawn,,0.4,-1" "OnTrigger" "chewchew_laser_large,Toggle,,1.2,-1" "OnTrigger" "chewchew_laser_fire,PlaySound,,1.2,-1" "OnTrigger" "chewchew_laser_small,Toggle,,2,-1" "OnTrigger" "chewchew_laser_large,Toggle,,2,-1" "OnTrigger" "!parent,AddOutput,Speed 100,2,-1" "OnTrigger" "gun_rotate_enable_relay,Trigger,,2.1,-1" "OnTrigger" "rockettimer_timer,Enable,,0.01,-1" } env_laser { "spawnflags" "256" "damage" "0" "dissolvetype" "None" "LaserTarget" "chewchew_laser_target" "renderamt" "100" "rendercolor" "0 255 168" "targetname" "chewchew_laser_small" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "1" "origin" "13 0 -76" "parentname" "gun_rotate" } env_laser { "spawnflags" "32" "damage" "150" "dissolvetype" "None" "LaserTarget" "chewchew_laser_target" "renderamt" "100" "rendercolor" "0 255 168" "targetname" "chewchew_laser_large" "texture" "sprites/laserbeam.spr" "TextureScroll" "35" "width" "10" "origin" "13 0 -76" "parentname" "gun_rotate" } info_target { "targetname" "chewchew_laser_target" "angles" "0 90 0" "origin" "5029 0 -3412" "parentname" "gun_rotate" } ambient_generic { "targetname" "chewchew_laser_charge" "health" "10" "message" "npc/strider/charging.wav" "pitch" "100" "radius" "12000" "spawnflags" "48" "origin" "13 0 -76" } ambient_generic { "targetname" "chewchew_laser_charge" "health" "10" "message" "npc/strider/charging.wav" "pitch" "100" "radius" "12000" "spawnflags" "48" "origin" "13 0 -76" } ambient_generic { "targetname" "chewchew_laser_fire" "health" "10" "message" "npc/strider/fire.wav" "pitch" "100" "radius" "12000" "spawnflags" "48" "origin" "13 0 -76" } ambient_generic { "targetname" "chewchew_laser_fire" "health" "10" "message" "npc/strider/fire.wav" "pitch" "100" "radius" "12000" "spawnflags" "48" "origin" "13 0 -76" } //RemoveIfKilled "chewchew_deploy_relay" } chewchew_logic { NoFixup 1 training_annotation { "targetname" "chewchewsign" //"display_text" "They've constructed a weaponized flying machine! Their aim is to end this themselves." "display_text" "They're deploying a weaponized flying machine!" "lifetime" "6" "origin" "1197 9400 950" } filter_activator_name { "origin" "48 520 416" "targetname" "filter_chewchewtank" "Negated" "Allow entities that match criteria" "filtername" "tankboss_chewchew*" } trigger_once { "origin" "32 872 1250" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "64" "StartDisabled" "0" "filtername" "filter_chewchewtank" "targetname" "chewchew_deploy_brush_middle" "OnStartTouch" "!activator,FireUser1,,1.4,-1" //"OnStartTouch" "player,$DisplayTextCenter,ThisTriggers,0,-1" } trigger_once { "origin" "170 902 1250" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "64" "StartDisabled" "0" "filtername" "filter_chewchewtank" "targetname" "chewchew_deploy_brush_middle" "OnStartTouch" "!activator,FireUser1,,1.7,-1" //"OnStartTouch" "player,$DisplayTextCenter,ThisTriggers,0,-1" } ambient_generic { "targetname" "chewchew_start" "health" "10" "message" "npc/strider/striderx_alert5.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "chewchew_start" "health" "10" "message" "npc/strider/striderx_alert5.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "chewchew_die" "health" "10" "message" "npc/strider/striderx_die1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "chewchew_die" "health" "10" "message" "npc/strider/striderx_die1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } logic_relay { "targetname" "chewchew_temp_relay" "OnTrigger" "lasershoot,ForceSpawn,,0.4,-1" "OnTrigger" "laserlogicshoot,ForceSpawn,,0,-1" } } angry_robot1 { KeepAlive 1 OnParentKilledOutput { Target sound_workerdeath1 Action PlaySound } OnParentKilledOutput { Target angry_robot_target1 Action Kill Delay 0.01 } prop_dynamic { "targetname" "angry_robot_model1" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/bot_worker/bot_worker_a_gry.mdl" "modelscale" "2.1" "skin" "1" "origin" "0 0 0" } OnSpawnOutput { Target "angry_robot_target1" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "angry_robot_target1" } ambient_generic { "targetname" "sound_workerdeath1" "health" "10" "message" "grayworker_sounds/hunter_die2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "sound_workerpanic1" "health" "10" "message" "grayworker_sounds/hunter_defendstrider3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } RemoveIfKilled "angry_robot_target1" } angry_robot2 { KeepAlive 1 OnParentKilledOutput { Target sound_workerdeath2 Action PlaySound } OnParentKilledOutput { Target angry_robot_target2 Action Kill Delay 0.01 } prop_dynamic { "targetname" "angry_robot_model2" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/bot_worker/bot_worker_a_gry.mdl" "modelscale" "2.1" "skin" "1" "origin" "0 0 0" } OnSpawnOutput { Target "angry_robot_target2" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "angry_robot_target2" } ambient_generic { "targetname" "sound_workerdeath2" "health" "10" "message" "grayworker_sounds/hunter_die2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "sound_workerpanic2" "health" "10" "message" "grayworker_sounds/hunter_defendstrider3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } RemoveIfKilled "angry_robot_target2" } angry_robot3 { KeepAlive 1 OnParentKilledOutput { Target sound_workerdeath3 Action PlaySound } OnParentKilledOutput { Target angry_robot_target3 Action Kill Delay 0.01 } prop_dynamic { "targetname" "angry_robot_model3" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/bot_worker/bot_worker_a_gry.mdl" "modelscale" "2.1" "skin" "1" "origin" "0 0 0" } OnSpawnOutput { Target "angry_robot_target3" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "angry_robot_target3" } ambient_generic { "targetname" "sound_workerdeath3" "health" "10" "message" "grayworker_sounds/hunter_die2.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "sound_workerpanic3" "health" "10" "message" "grayworker_sounds/hunter_defendstrider3.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } RemoveIfKilled "angry_robot_target3" } angry_robot_chief { KeepAlive 1 OnParentKilledOutput { Target sound_workerdeath_chief Action PlaySound } OnParentKilledOutput { Target angry_robot_target_chief Action Kill Delay 0.001 } OnParentKilledOutput { Target workerchief_nuclearoption Action Enable } OnSpawnOutput { Target "angry_robot_target_chief" Action SetParent Param "!activator" Delay 0.01 } info_particle_system { "targetname" "chief_particle" "origin" "0 0 90" "effect_name" "utaunt_arcane_purple_glow" "start_active" "1" } trigger_multiple { "filtername" "filter_angryworker" "spawnflags" "1" "mins" "-87.5 -95 -126" "maxs" "87.5 95 126" "origin" "0 0 125" "OnStartTouch" "@p@angry_robot_target_chief*,$ChangeAttributes,GetOutOfMyFace,0.1,-1" "OnStartTouch" "!self,Disable,,0.1,-1" "OnStartTouch" "angry_robot_model_chief,SetAnimation,panic_start_B,0,-1" "OnStartTouch" "angry_robot_model_chief,SetAnimation,idle,0.3,-1" "OnStartTouch" "!self,Enable,,1,-1" } tf_glow { "GlowColor" "192 192 192 255" "target" "angry_robot_model_chief" } prop_dynamic { "targetname" "angry_robot_model_chief" "defaultanim" "idle" "disableshadows" "1" "disablebonefollowers" "1" "model" "models/bots/bot_worker/bot_worker_a_gry.mdl" "modelscale" "2.7" "skin" "1" "origin" "0 0 0" } info_target { "targetname" "angry_robot_target_chief" } ambient_generic { "targetname" "sound_workerdeath_chief" "health" "10" "message" "grayworker_sounds/hunter_die2.wav" "pitch" "80" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "sound_workerdeath_chief" "health" "10" "message" "grayworker_sounds/hunter_die2.wav" "pitch" "80" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } ambient_generic { "targetname" "sound_workerpanic_chief" "health" "10" "message" "grayworker_sounds/hunter_defendstrider3.wav" "pitch" "80" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } RemoveIfKilled "angry_robot_target_chief" } angry_robot_logic { NoFixup 1 logic_relay { "targetname" "robot_phase_relay1" "OnTrigger" "sound_workerpanic1*,PlaySound,,0,-1" "OnTrigger" "angry_robot_model1*,SetAnimation,panic_start_A,0,-1" "OnTrigger" "angry_robot_model1*,SetAnimation,panic,.5,-1" "OnTrigger" "@p@angry_robot_target1*,$AddPlayerAttribute,move speed bonus|0.001,0,-1" "OnTrigger" "@p@angry_robot_target1*,$ChangeAttributes,Panicked,.5,-1" "OnTrigger" "!self,Disable,,3,-1" } logic_relay { "targetname" "robot_phase_relay2" "OnTrigger" "sound_workerpanic2*,PlaySound,,0,-1" "OnTrigger" "angry_robot_model2*,SetAnimation,panic_start_A,0,-1" "OnTrigger" "angry_robot_model2*,SetAnimation,panic,.5,-1" "OnTrigger" "@p@angry_robot_target2*,$AddPlayerAttribute,move speed bonus|0.001,0,-1" "OnTrigger" "@p@angry_robot_target2*,$ChangeAttributes,Panicked,.5,-1" "OnTrigger" "!self,Disable,,3,-1" } logic_relay { "targetname" "robot_phase_relay3" "OnTrigger" "sound_workerpanic3*,PlaySound,,0,-1" "OnTrigger" "angry_robot_model3*,SetAnimation,panic_start_A,0,-1" "OnTrigger" "angry_robot_model3*,SetAnimation,panic,.5,-1" "OnTrigger" "@p@angry_robot_target3*,$AddPlayerAttribute,move speed bonus|0.001,0,-1" "OnTrigger" "@p@angry_robot_target3*,$ChangeAttributes,Panicked,.5,-1" "OnTrigger" "!self,Disable,,3,-1" } ambient_generic { "targetname" "worker_chief_start" "health" "10" "message" "grayworker_sounds/worker_chief_start.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "worker_chief_start" "health" "10" "message" "grayworker_sounds/worker_chief_start.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "worker_chief_start" "health" "10" "message" "grayworker_sounds/worker_chief_start.mp3" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "worker_start" "health" "10" "message" "grayworker_sounds/hunter_scan1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "worker_start" "health" "10" "message" "grayworker_sounds/hunter_scan1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } ambient_generic { "targetname" "worker_start" "health" "10" "message" "grayworker_sounds/hunter_scan1.wav" "pitch" "100" "pitchstart" "100" "radius" "200000" "spawnflags" "33" "origin" "-348 2853 1627" } trigger_multiple { "targetname" "workerchief_nuclearoption" "spawnflags" "1" "StartDisabled" "1" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "origin" "600 4500 1200" "filtername" "filter_workerchief" "OnStartTouch" "!activator,SetHealth,-1000,0,-1" //"OnStartTouch" "!self,Disable,,0.1,-1" } filter_tf_bot_has_tag { "targetname" "filter_workerchief" "tags" "bot_workerchief" "require_all_tags" "1" "Negated" "0" } filter_tf_bot_has_tag { "targetname" "filter_angryworker" "tags" "bot_angryworker" "require_all_tags" "1" "Negated" "1" } } Stickybomb_Flicker_Particle { OnSpawnOutput { Target "sticky_flicker" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_preexplode" Action "Kill" Delay 2 } OnSpawnOutput { Target "sound_flechette_preexplode" Action PlaySound Delay 0 } info_particle_system { "targetname" "sticky_flicker" "effect_name" "stickybomb_pulse_blue" "flag_as_weather" "0" "start_active" "1" } ambient_generic { "targetname" "sound_flechette_preexplode" "health" "8" "message" "grayworker_sounds/hunter_flechette_preexplode1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } Explosion_Particle { OnSpawnOutput { Target "explosion_particle" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_explode" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_explode" Action PlaySound Delay 0 } info_particle_system { "targetname" "explosion_particle" "effect_name" "drg_cow_explosioncore_normal_blue" "flag_as_weather" "0" "start_active" "1" } ambient_generic { "targetname" "sound_flechette_explode" "health" "8" "message" "grayworker_sounds/flechette_explode1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } Explosive_Tip { KeepAlive 1 OnSpawnOutput { Target "explosive_tip_spawned_relay" Action Trigger } OnParentKilledOutput { Target "explosive_tip_killed_relay" Action Trigger Delay 0.6 } logic_relay { "targetname" "explosive_tip_spawned_relay" "OnTrigger" "explosion_hitbox,$InheritOwner,!activator,0.01,-1" "OnTrigger" "explosion_hitbox,$InheritOwner2,!activator,0.01,-1" "OnTrigger" "@c@!activator,ClearParent,,0,-1" "OnTrigger" "detonate_position,SetParent,!activator,0.001,-1" "OnTrigger" "attach_to_enemy,SetParent,!activator,0.001,-1" } logic_relay { "targetname" "explosive_tip_killed_relay" "OnTrigger" "explosion_hitbox,Enable,,1,-1" "OnTrigger" "explosion_hitbox2,Enable,,1,-1" "OnTrigger" "sticky_flicker_maker,ForceSpawnAtEntityOrigin,detonate_position,0,-1" "OnTrigger" "explosion_maker,ForceSpawnAtEntityOrigin,detonate_position,1,-1" "OnTrigger" "!self,Kill,,1.1,-1" } info_target { "targetname" "detonate_position" "origin" "30 0 0" } logic_measure_movement { "targetname" "measure_movement_targetname" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "explosion_hitbox" "TargetReference" "detonate_position" "TargetScale" "1" } logic_measure_movement { "targetname" "measure_movement_targetname" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "explosion_hitbox2" "TargetReference" "detonate_position" "TargetScale" "1" } trigger_hurt { "targetname" "attach_to_enemy" "origin" "30 0 0" "mins" "-3 -3 -3" "maxs" "3 3 3" "Damage" "0" "spawnflags" "1" "filtername" "filter_angryworker" "OnStartTouch" "detonate_position,SetParent,!activator,0.01,-1" "OnStartTouch" "!self,Disable,,0,-1" } trigger_hurt { "targetname" "explosion_hitbox" "mins" "-144 -144 -144" "maxs" "144 144 144" "Damage" "100" "spawnflags" "1" "filtername" "filter_angryworker" "choices" "64" //blast damage type "StartDisabled" "1" } trigger_hurt { "targetname" "explosion_hitbox2" "mins" "-145 -145 -145" "maxs" "145 145 145" "Damage" "100" "filtername" "filter_buildings" "spawnflags" "64" "choices" "64" //blast damage type "StartDisabled" "1" } RemoveIfKilled "explosive_tip_killed_relay" } Explosive_Tip_Logic { NoFixup 1 env_entity_maker { "targetname" "sticky_flicker_maker" "EntityTemplate" "Stickybomb_Flicker_Particle" "PostSpawnDirection" "0 0 0" "PostSpawnDirectionVariance" "0" "PostSpawnInheritAngles" "0" "PostSpawnSpeed" "0" "spawnflags" "0" } env_entity_maker { "targetname" "explosion_maker" "EntityTemplate" "Explosion_Particle" "PostSpawnDirection" "0 0 0" "PostSpawnDirectionVariance" "0" "PostSpawnInheritAngles" "0" "PostSpawnSpeed" "0" "spawnflags" "0" } filter_activator_class { "targetname" "filter_dispenser" "filterclass" "obj_dispenser" "negated" "0" } filter_activator_class { "targetname" "filter_sentry" "filterclass" "obj_sentrygun" "negated" "0" } filter_activator_class { "targetname" "filter_tele" "filterclass" "obj_teleporter" "negated" "0" } filter_multi { "targetname" "filter_buildings" "filtertype" "1" "filter01" "filter_sentry" "filter02" "filter_dispenser" "filter03" "filter_tele" } } chief_stickybomb_flicker_particle { OnSpawnOutput { Target "sticky_flicker" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_preexplode" Action "Kill" Delay 2 } OnSpawnOutput { Target "sound_flechette_preexplode" Action PlaySound Delay 0 } info_particle_system { "targetname" "sticky_flicker" "effect_name" "stickybomb_pulse_blue" "flag_as_weather" "0" "start_active" "1" } ambient_generic { "targetname" "sound_flechette_preexplode" "health" "2" "message" "grayworker_sounds/hunter_flechette_preexplode1.wav" "pitch" "90" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } chief_explosion_particle { OnSpawnOutput { Target "explosion_particle" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_explode" Action "Kill" Delay 1 } OnSpawnOutput { Target "sound_flechette_explode" Action PlaySound Delay 0 } info_particle_system { "targetname" "explosion_particle" "effect_name" "drg_cow_explosioncore_normal_blue" "flag_as_weather" "0" "start_active" "1" } ambient_generic { "targetname" "sound_flechette_explode" "health" "2" "message" "grayworker_sounds/flechette_explode1.wav" "pitch" "100" "pitchstart" "100" "radius" "7000" "spawnflags" "48" "origin" "0 0 0" } } chief_explosive_tip { KeepAlive 1 OnSpawnOutput { Target "explosive_tip_spawned_relay" Action Trigger } OnParentKilledOutput { Target "explosive_tip_killed_relay" Action Trigger Delay 0.6 } logic_relay { "targetname" "explosive_tip_spawned_relay" "OnTrigger" "explosion_hitbox,$InheritOwner,!activator,0.01,-1" "OnTrigger" "explosion_hitbox,$InheritOwner2,!activator,0.01,-1" "OnTrigger" "@c@!activator,ClearParent,,0,-1" "OnTrigger" "detonate_position,SetParent,!activator,0.001,-1" "OnTrigger" "attach_to_enemy,SetParent,!activator,0.001,-1" } logic_relay { "targetname" "explosive_tip_killed_relay" "OnTrigger" "explosion_hitbox,Enable,,1,-1" "OnTrigger" "explosion_hitbox2,Enable,,1,-1" "OnTrigger" "chief_sticky_flicker_maker,ForceSpawnAtEntityOrigin,detonate_position,0,-1" "OnTrigger" "chief_explosion_maker,ForceSpawnAtEntityOrigin,detonate_position,1,-1" "OnTrigger" "!self,Kill,,1.1,-1" } info_target { "targetname" "detonate_position" "origin" "30 0 0" } logic_measure_movement { "targetname" "measure_movement_targetname" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "explosion_hitbox" "TargetReference" "detonate_position" "TargetScale" "1" } logic_measure_movement { "targetname" "measure_movement_targetname" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "explosion_hitbox2" "TargetReference" "detonate_position" "TargetScale" "1" } trigger_hurt { "targetname" "attach_to_enemy" "origin" "30 0 0" "mins" "-3 -3 -3" "maxs" "3 3 3" "Damage" "0" "spawnflags" "1" "filtername" "filter_angryworker" "OnStartTouch" "detonate_position,SetParent,!activator,0.01,-1" "OnStartTouch" "!self,Disable,,0,-1" } trigger_hurt { "targetname" "explosion_hitbox" "mins" "-144 -144 -144" "maxs" "144 144 144" "Damage" "100" "spawnflags" "1" "filtername" "filter_angryworker" "choices" "64" //blast damage type "StartDisabled" "1" } trigger_hurt { "targetname" "explosion_hitbox2" "mins" "-145 -145 -145" "maxs" "145 145 145" "Damage" "100" "filtername" "filter_buildings" "spawnflags" "64" "choices" "64" //blast damage type "StartDisabled" "1" } RemoveIfKilled "explosive_tip_killed_relay" } chief_explosive_tip_logic { NoFixup 1 env_entity_maker { "targetname" "chief_sticky_flicker_maker" "EntityTemplate" "chief_stickybomb_flicker_particle" "PostSpawnDirection" "0 0 0" "PostSpawnDirectionVariance" "0" "PostSpawnInheritAngles" "0" "PostSpawnSpeed" "0" "spawnflags" "0" } env_entity_maker { "targetname" "chief_explosion_maker" "EntityTemplate" "chief_explosion_particle" "PostSpawnDirection" "0 0 0" "PostSpawnDirectionVariance" "0" "PostSpawnInheritAngles" "0" "PostSpawnSpeed" "0" "spawnflags" "0" } } redengi_test_template { logic_auto { "OnMapSpawn" "sentrynest_right1*,Kill,,0,-1" //"OnMapSpawn" "sentrynest_right2*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right3*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right4*,Kill,,0,-1" "OnMapSpawn" "sentrynest_left1*,Kill,,0,-1" "OnMapSpawn" "sentrynest_left2*,Kill,,0,-1" //"OnMapSpawn" "sentrynest_left3*,Kill,,0,-1" "OnMapSpawn" "sentrynest1*,Kill,,0,-1" "OnMapSpawn" "sentrynest2*,Kill,,0,-1" //"OnMapSpawn" "sentrynest3*,Kill,,0,-1" "OnMapSpawn" "sentrynest4*,Kill,,0,-1" "OnMapSpawn" "sentrynest5*,Kill,,0,-1" } } powerup_fix { logic_timer { "targetname" "powerup_kill" "RefireTime" "0.05" "OnTimer" "item_powerup_rune,kill,,0,-1" } } amputator_template { KeepAlive 1 OnSpawnOutput { Target "amputator_checker" Action Trigger Delay 0.1 } OnParentKilledOutput { Target "amputator_radius_brush" Action Disable } OnParentKilledOutput { Target "amputator_radius_brush" Action Kill Delay 0.1 } filter_tf_condition { "targetname" "filter_amputator" "condition" "56" } filter_multi { "targetname" "filter_amputator_taunting" "filter01" "filter_amputator" "filter02" "filter_taunting" "OnPass" "amputator_radius_brush,Enable,,0,-1" "OnFail" "amputator_radius_brush,Disable,,0,-1" } filter_tf_condition { "targetname" "filter_taunting" "Negated" "0" "condition" "7" } logic_relay { "targetname" "amputator_checker" "spawnflags" "2" "OnTrigger" "!self,Trigger,,0.1,-1" "OnTrigger" "filter_amputator_taunting,TestActivator,!activator,0,-1" "OnTrigger" "filter_ampucrit,TestActivator,!activator,0,-1" } trigger_multiple { "targetname" "amputator_radius_brush" "filtername" "filter_red" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,16,0,-1" "OnEndTouch" "!activator,$RemoveCond,16,0,-1" } RemoveIfKilled "amputator_radius_brush" } bumpercar_logic { OnSpawnOutput { Target "charge_checker" Action Trigger Delay 0.1 } filter_tf_condition { "targetname" "filter_checkcond" "condition" "17" "OnPass" "!activator,$RemoveCond,17,0,-1" "OnPass" "!activator,$AddCond,82,0.001,-1" "OnPass" "!activator,$AddCond,83,0.01,-1" "OnPass" "!activator,$RemoveCond,78,0,-1" "OnPass" "!activator,$RemoveCond,82,1.5,-1" "OnPass" "!activator,$RemoveCond,83,1.49,-1" } logic_relay { "targetname" "charge_checker" "spawnflags" "2" "OnTrigger" "!self,Trigger,,0.1,-1" "OnTrigger" "filter_checkcond,TestActivator,!activator,0,-1" } } laszlo_chief_template { info_particle_system { "targetname" "chief_particle" "origin" "0 0 90" "effect_name" "utaunt_arcane_green_glow" "start_active" "1" } } gunslinger_buff { OnSpawnOutput { Target "pistol_checker" Action "Trigger" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|0" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|1" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|2" Delay 0.1 } filter_tf_condition { "targetname" "filter_has_pistol" "Negated" "0" "condition" "130" "OnPass" "!activator,$AddItemAttribute,damage bonus|1.55|0,0,-1" "OnPass" "!activator,$RemoveItemAttribute,damage bonus|1,0,-1" //no pistol damage bonus "OnPass" "!activator,$AddItemAttribute,damage bonus|2|2,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|1.55|0,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|1.55|1,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|2|2,0,-1" } logic_relay { "targetname" "pistol_checker" "OnTrigger" "filter_has_pistol,TestActivator,!activator,0,-1" } } pistol_equipped { OnSpawnOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|1" Delay 0.1 } OnSpawnOutput { Target "!activator" Action "$AddCond" Param "130" Delay 0.1 } } prevent_redbotbuilding // Made by lite { OnSpawnOutput { Target "key" Action SetParent Param "!activator" Delay 0.01 } OnSpawnOutput { Target "triggerrefresh" Action Open } trigger_multiple { "targetname" "notamini" "mins" "-96 -96 -96" "maxs" "96 96 96" "startdisabled" "1" "filtername" "filter_red_sentrygun" "spawnflags" "64" "onstarttouch" "!activator,addoutput,targetname normalsentry,0,-1" } trigger_brush { "targetname" "key" "onuse" "notamini,kill,,0,-1" } func_door { "targetname" "triggerrefresh" "rendermode" "10" "spawnflags" "4108" "speed" "1" "wait" "0.01" "onfullyclosed" "!self,open,,0,-1" } trigger_multiple { "targetname" "detectredsentry" "parentname" "triggerrefresh" "mins" "-96 -96 -96" "maxs" "96 96 96" "filtername" "filter_red_sentrygun" "spawnflags" "64" "onstarttouch" "detectredsentry_true,trigger,,0,-1" } } redbotbuilding_gunslinger // Made by lite { OnSpawnOutput { Target "!activator" Action AddOutput Param "targetname bot_owner" } OnParentKilledOutput { Target "gunslingercounter" Action Subtract Param 1 } OnSpawnOutput { Target "gunslingercounter" Action Add Param 1 } OnParentKilledOutput { Target "switchofffix" Action cancelpending Delay 0.01 } OnSpawnOutput { Target "switchofffix" Action Trigger } logic_relay { "targetname" "switchofffix" "ontrigger" "@c@!activator,use,,0.02,-1" } OnSpawnOutput { Target "disablenbuild" Action trigger } func_nobuild { "targetname" "nbuild" "mins" "-96 -96 -150" "maxs" "96 96 96" "teamnum" "2" "allowdispenser" "1" "allowteleporters" "1" } trigger_multiple { "targetname" "buildbot" "mins" "-96 -96 -96" "maxs" "96 96 96" "startdisabled" "1" "filtername" "filter_red_sentrygun" "spawnflags" "64" "onstarttouch" "!activator,kill,,0,-1" "onstarttouch" "spawnredbot,forcespawnatentityorigin,!activator,0,-1" "onstarttouch" "spawnbot_build,enable,,0,-1" "onstarttouch" "sentrygun_teleparticle,start,,0.01,-1" "onstarttouch" "sentrygun_teleparticle,fireuser1,,0.01,-1" "onstarttouch" "sentrygun_point,kill,,0,-1" } } redbotbuilding // Made by lite { NoFixup 1 logic_relay { "targetname" "disablenbuild" "startdisabled" "1" "ontrigger" "nbuild&*,disable,,0,-1" "onspawn" "wave_start_*,addoutput,ontrigger nbuild&*:disable::0:-1" "onspawn" "wave_start_*,addoutput,ontrigger disablenbuild:enable::0:-1" "onspawn" "wave_finished_*,addoutput,ontrigger nbuild&*:enable::0:-1" "onspawn" "wave_finished_*,addoutput,ontrigger disablenbuild:disable::0.01:-1" } logic_relay { "targetname" "detectredsentry_true" "ontrigger" "notamini&*,enable,,0,-1" "ontrigger" "notamini&*,disable,,0.01,-1" "ontrigger" "buildbot&*,enable,,0.01,-1" "ontrigger" "buildbot&*,disable,,0.02,-1" } filter_activator_class { "targetname" "filter_sentrygun" "filterclass" "obj_sentrygun" } filter_activator_name { "targetname" "filter_mini" "negated" "1" "filtername" "normalsentry" } filter_multi { "targetname" "filter_red_sentrygun" "filter01" "filter_mini" "filter02" "filter_sentrygun" "filter03" "filter_red" } env_entity_maker { "targetname" "spawnredbot" "entitytemplate" "redbotspawnhere" } math_counter { "targetname" "builtbotcounter" "max" "3" "outvalue" "builtbotcompare,setvaluecompare,,0,-1" } logic_compare { "targetname" "builtbotcompare" "comparevalue" "3" "onlessthan" "disablenbuild,enable,,0,-1" "onlessthan" "disablenbuild,trigger,,0.01,-1" "onequalto" "disablenbuild,disable,,0,-1" "onequalto" "nbuild&*,enable,,0,-1" } math_counter { "targetname" "gunslingercounter" "max" "10" "outvalue" "gunslingercompare,setvaluecompare,,0,-1" } logic_compare { "targetname" "gunslingercompare" "comparevalue" "0" "onequalto" "redbuilt,$suicide,,0,-1" } info_player_teamspawn { "targetname" "spawnbot_build" "origin" "64 256 768" "startdisabled" "1" "teamnum" "3" } } redbotspawnhere // Made by lite { KeepAlive 1 NoFixup 1 point_teleport { "targetname" "sentrygun_point" "origin" "0 0 5" "target" "!activator" } info_particle_system { "targetname" "sentrygun_teleparticle" "effect_name" "teleported_red" "onuser1" "!self,kill,,1,-1" "onuser1" "!self,addoutput,targetname ,0,-1" } } builtbot // Made by lite { OnSpawnOutput { Target "!activator" Action "$SetOwner" Param "bot_owner" } OnSpawnOutput { Target "builtbotcounter" Action Add Param 1 } OnParentKilledOutput { Target "builtbotcounter" Action Subtract Param 1 } OnSpawnOutput { Target "sentrygun_point" Action Teleport } OnSpawnOutput { Target "sentrygun_point" Action Kill Delay 0.01 } OnSpawnOutput { Target spawnbot_build Action Disable } OnSpawnOutput { Target !activator Action AddOutput Param "targetname redbuilt" } OnParentKilledOutput { Target !activator Action AddOutput Param "targetname " } } Widowmaker_Dudebro_Logic //engineer stuff - royal | purloined from getty with permission { NoFixup 1 logic_relay { "targetname" "switch_to_sentry_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,5,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" } logic_relay { "targetname" "switch_to_shotgun_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.1,-1" } } potiontosser_logic { NoFixup 1 logic_relay { "targetname" "switch_to_melee" //"spawnflags" "2" //"OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" } logic_relay { "targetname" "switch_to_potion" //"spawnflags" "2" //"OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0.1,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.11,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,1.2,-1" //"OnTrigger" "switch_to_melee*,Disable,,0,-1" //"OnTrigger" "switch_to_melee*,Enable,,1,-1" } logic_case { "targetname" "choose_potion_effect" "OnCase01" "!activator,$ChangeAttributes,Cond_Minicrit,0,-1" "OnCase02" "!activator,$ChangeAttributes,Cond_Bombhead,0,-1" "OnCase03" "!activator,$ChangeAttributes,Cond_AmpuTaunt,0,-1" "OnCase04" "!activator,$ChangeAttributes,Cond_Stealth,0,-1" "OnCase05" "!activator,$ChangeAttributes,Cond_Gravity,0,-1" "OnCase06" "!activator,$ChangeAttributes,Cond_Swim,0,-1" "OnCase07" "!activator,$ChangeAttributes,Cond_Gas,0,-1" } } vactankbuster_logic_sniper { OnSpawnOutput { Target "vacbuster_target" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "vacbuster_target" } logic_relay { "targetname" "sniper_switch_to_melee" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,2,0,-1" } logic_relay { "targetname" "sniper_switch_to_primary" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,0,0,-1" } } vactankbuster_logic_scout { OnSpawnOutput { Target "vacbuster_target" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "vacbuster_target" } logic_relay { "targetname" "scout_switch_to_melee" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,2,0,-1" } logic_relay { "targetname" "scout_switch_to_primary" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,0,0,-1" } } vactankbuster_logic_engineer { OnSpawnOutput { Target "vacbuster_target" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "vacbuster_target" } logic_relay { "targetname" "engineer_switch_to_melee" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,2,0,-1" } logic_relay { "targetname" "engineer_switch_to_primary" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,0,0,-1" } } vactankbuster_logic_soldier { OnSpawnOutput { Target "vacbuster_target" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "vacbuster_target" } logic_relay { "targetname" "soldier_switch_to_secondary" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,1,0,-1" } logic_relay { "targetname" "soldier_switch_to_primary" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,0,0,-1" } } vactankbuster_logic_pyro { OnSpawnOutput { Target "buster_target" Action SetParent Param "!activator" Delay 0.01 } info_target { "targetname" "vacbuster_target" } logic_relay { "targetname" "pyro_switch_to_melee*" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,2,0,-1" } logic_relay { "targetname" "pyro_switch_to_primary*" "OnTrigger" "@p@vacbuster_target,$WeaponSwitchSlot,0,0,-1" } } vactankbuster_targeting_logic { NoFixup 1 logic_relay { "targetname" "vactank_dead_relay" "OnTrigger" "player,$ChangeAttributes,AttackZombies,0,-1" "OnTrigger" "vactank_aliveness_check,SetValue,0,0,-1" } logic_branch { "targetname" "vactank_aliveness_check" "InitialValue" "1" "OnTrue" "!activator,$ChangeAttributes,AttackTank,0,-1" "OnFalse" "!activator,$ChangeAttributes,AttackZombies,0,-1" } } sodapopper_targeting_logic { NoFixup 1 logic_relay { "targetname" "popper_target_relay" "OnTrigger" "target_state_compare,Compare,,0,-1" } logic_branch { "targetname" "vip_aliveness_check" "InitialValue" "1" "OnTrue" "!activator,$ChangeAttributes,AttackVip,0,-1" } logic_branch { "targetname" "tank_aliveness_check" "InitialValue" "1" "OnTrue" "!activator,$ChangeAttributes,AttackTank,0,-1" } math_counter { "targetname" "target_aliveness_state" "startvalue" "2" "min" "0" "max" "2" "OutValue" "target_state_compare,SetValueCompare,,0,-1" } logic_compare { "targetname" "target_state_compare" "InitialValue" "2" "CompareValue" "1" "onlessthan" "!activator,$ChangeAttributes,AttackPlayers,0,-1" "onequalto" "vip_aliveness_check,Test,,0,-1" "onequalto" "tank_aliveness_check,Test,,0,-1" "ongreaterthan" "popper_target_choose,PickRandom,,0,-1" } logic_case { "targetname" "popper_target_choose" "OnCase01" "!activator,$ChangeAttributes,AttackTank,0,-1" "OnCase02" "!activator,$ChangeAttributes,AttackVip,0,-1" } } grybot_killswitch { logic_relay { "targetname" "grybot_killswitch_relay" "OnTrigger" "!parent,$Suicide,,0,-1" } } } SpawnTemplate "potiontosser_logic" SpawnTemplate Widowmaker_Dudebro_Logic PlayerItemEquipSpawnTemplate { Name "redbotbuilding_gunslinger" ItemName "The Gunslinger" } PlayerSpawnTemplate { Name "prevent_redbotbuilding" Class Engineer } SpawnTemplate "redbotbuilding" ExtraSpawnPoint { Name "spawnbot_test" TeamNum 3 X "39" Y "1540" Z "642" } PlayerSpawnTemplate "powerup_logic_player" PlayerSpawnTemplate //Spawn custom player template { Name "playerweapon_fix" // Name of the template Origin "0 0 30" //Position where to spawn the template } SpawnTemplate "vactankbuster_targeting_logic" SpawnTemplate "sodapopper_targeting_logic" SpawnTemplate "Explosive_Tip_Logic" SpawnTemplate "chief_explosive_tip_logic" SpawnTemplate "powerup_fix" SpawnTemplate "powerup_logic_bonk_logic" SpawnTemplate "angry_robot_logic" SpawnTemplate "chewchew_logic" SpawnTemplate "lasertemplate" SpawnTemplate "vip_logic" SpawnTemplate "tank_annotation" SpawnTemplate "general_logic" SpawnTemplate "tomb_destroy_stuff" SpawnTemplate "VacTankFilters" SpawnTemplate "movetotarget" SpawnTemplate "tombspawn_hologram_logic" }