#base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop WaveSchedule { //Standard KVs StartingCurrency 1350 CanBotsAttackWhileInSpawnRoom No RespawnWaveTimeBlue 1 FixedRespawnWaveTimeBlue 1 AddSentryBusterWhenDamageDealtExceeds 0 CustomUpgradesFile mvm_upgrades_tomboy_reverse_test2.txt //remember to rename this on release :) //Reverse KVs ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 SendBotsToSpectatorImmediately 1 //FlagCarrierMovementPenalty 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 FixHuntsmanDamageBonus 1 NoBluHumanFootsteps 1 //Team/Player KVs FastEntityNameLookup 1 NoReanimators 1 MaxSpectators 1 RobotLimit 24 NoRomevisionCosmetics 1 BluHumanInfiniteAmmo 0 BluHumanInfiniteCloak 0 BluPlayersAreRobots 1 PlayerRobotsUsePlayerAnimation 1 BotsRandomCrit 0 MaxSpeedLimit 3500 BotHumansHaveEyeGlow 0 MedigunShieldDamage 1 RemoveBluVelocityLimit 1 NoRedBotsRandomCrit 1 NoRedSniperBotHeadshots 1 //Visual/Audio KVs TextPrintTime 0 SniperHideLasers 1 NoMvMDeathTune 1 WaveStartCountdown 3 FixSetCustomModelInput 1 DisableSound "heavy_mvm_giant_robot01" DisableSound "heavy_mvm_giant_robot02" DisableSound "heavy_mvm_giant_robot03" DisableSound "heavy_mvm_giant_robot04" DisableSound "engineer_mvm_giant_robot01" DisableSound "engineer_mvm_giant_robot02" DisableSound "engineer_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot01" DisableSound "soldier_mvm_giant_robot02" DisableSound "soldier_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot04" DisableSound "medic_mvm_giant_robot01" DisableSound "medic_mvm_giant_robot02" DisableSound "medic_mvm_giant_robot03" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Spy_Alert" PrecacheSound "mvm/mvm_used_powerup.wav" PrecacheSound "rpg_sounds/rpg_explode.wav" PrecacheSound "rpg_sounds/rocketfire1.wav" PrecacheModel "models/props_mvm/mvm_comically_small_player_shield.mdl" LuaScript"function vitasawOnHit(_, activat, calle) local teamCheckInstance = ents.FindByName('vitasaw_team_check'); teamCheckInstance:AcceptInput('TestActivator',_,calle,activat); activat:SetName('vitasaw_caller'); end" ExtraTankPath { Name "generator_one_path" Node "-5020 135 127" Node "-4020 135 127" } ExtraTankPath { Name "generator_two_path" Node "-2687 -61 63" Node "-1000 -61 63" } ExtraTankPath { Name "generator_three_path" Node "-2611 -560 251" Node "-2000 -560 251" } ExtraTankPath { Name "generator_four_path" Node "-1574 987 -1" Node "-1000 987 -1" } ExtraTankPath { Name "generator_five_path" Node "-615 1107 -1" Node "-615 1200 -1" } ExtraTankPath { Name "generator_six_path" Node "-940 1888 95" Node "-762 1789 95" } ExtraSpawnPoint { Name "spawnbot_extra" StartDisabled 1 TeamNum 2 X "-3098.7" Y "-1490.0" Z "276.6" } ExtraSpawnPoint { Name "spawnbot_hatchshield" StartDisabled 1 TeamNum 2 X "-1132" Y "1686" Z "164" } ExtraSpawnPoint { Name "spawnbot_hatch_extra" StartDisabled 1 TeamNum 2 X "171" Y "1657" Z "63" } ExtraSpawnPoint { Name "spawnbot_garage_extra" StartDisabled 1 TeamNum 2 X "664" Y "32" Z "47" } ExtraSpawnPoint { Name "spawnbot_whatever" StartDisabled 1 TeamNum 2 X "-2130" Y "765" Z "48" } ExtraSpawnPoint { Name "spawnbot_whatever2" StartDisabled 1 TeamNum 2 X "-2130" Y "765" Z "48" } ExtraSpawnPoint { Name "summon_chief" TeamNum 2 X "-3098.7" Y "-1490.0" Z "276.6" StartDisabled 1 } ExtraSpawnPoint { Name "summon_chief2" TeamNum 2 X "-3098.7" Y "-1490.0" Z "276.6" StartDisabled 1 } ExtraSpawnPoint { Name "summon_chief3" TeamNum 2 X "-3098.7" Y "-1490.0" Z "276.6" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_heli" TeamNum 2 X "-3098.7" Y "-1490.0" Z "276.6" } ExtraSpawnPoint { Name "spawnbot_heli2" TeamNum 2 X "-2086" Y "-304" Z "276" } ExtraSpawnPoint { Name "spawnbot_balcony_drain_extra" TeamNum 2 X "-3488" Y "-376" Z "463" } ExtraSpawnPoint { Name "spawnbot_balcony_extra" TeamNum 2 X "-3736" Y "-424" Z "463" } ExtraSpawnPoint { Name "spawnbot_scaffold_extra" TeamNum 2 X "-4848" Y "1872" Z "423" } ExtraSpawnPoint //setpos -1164.731567 5462.979980 -379.968689; { Name "spawnbot_boss" TeamNum 2 X "-1164" Y "5462" Z "-379" } ExtraSpawnPoint { Name "spawnbot_arena_1" TeamNum 2 X "-2808" Y "5895" Z "-145" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_arena_2" TeamNum 2 X "667" Y "4136" Z "-145" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_arena_3" TeamNum 2 X "-2828" Y "4120" Z "-132" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_barrier_1" TeamNum 2 X "-5196" Y "413" Z "201" //StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_barrier_2" TeamNum 2 X "-2567" Y "-203" Z "243" StartDisabled 1 } Templates { T_TFBot_Pyro_DF { Class Pyro Name "Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone Skill Hard Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly MaxVisionRange 1000 ItemAttributes { ItemName "The Dragon's Fury" "airblast disabled" 1 } } T_TFBot_Soldier_AA { Class Soldier Skill Expert Attributes SpawnWithFullCharge Item "Anti-Aircraft Launcher" Health 900 Scale 1.5 DropWeapon 1 CharacterAttributes { "head scale" 0.9 } CharacterAttributes { "health from healers reduced" .1 } ShootTemplate { Name rpg_shoottemplate ItemName "Anti-Aircraft Launcher" AttachToProjectile 1 } } T_TFBot_Chief_Soldier_Alternating { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Name "Major Dillweed" Item "Full Metal Drill Hat" ClassIcon soldier_major_crits Health 25000 Scale 1.9 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "blast dmg to self increased" 0 "force fire full clip" 1 "clip size penalty" 0.25 } FireInput { Target "alternate_relay" Action "Trigger" Delay 6 Cooldown 8 Repeats 0 IfSeeTarget 1 } } T_TFBot_Giant_Pyro_ComboFlare //courtesy of royal { Name "Giant Combo Pyro" Class Pyro Health 3000 ClassIcon pyro_degreaser_flare Item "The Degreaser" Item "The Flare Gun" Item "Pyromancer's Mask" Skill Expert Attributes MiniBoss MaxVisionRange 1200 ItemAttributes { ItemName "The Degreaser" "fire input on hit" "combo_primary_to_secondary_longhold^Trigger^" "damage penalty" 0.1 } ItemAttributes { ItemName "The Flare Gun" "faster reload rate" 0.2 } CharacterAttributes { "move speed bonus" 0.6 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 6 "crit mod disabled" 0 "force distribute currency on death" 1 } } T_TFBot_Ranger_Doctor_Doppler { SpawnTemplate DopplerShields Class Medic Name "Doctor Doppler" Skill Expert Health 20000 Action Mobber WeaponRestrictions PrimaryOnly Item "The Crusader's Crossbow" Item "The Quick-Fix" //for the cool looking backpack Item "Einstein" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "The Crusader's Crossbow" "clip size upgrade atomic" 14 "fire rate bonus" 0.5 "Reload time decreased" 0.2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Chief_Canteen { SpawnTemplate PreventPowerupDropOnDeath SpawnTemplate Corporal_Logic Name "Corporal Canteen" Class Heavyweapons ClassIcon heavy_shotgun_burst_lite Health 30000 WeaponRestrictions SecondaryOnly item "Security Shades" item "Battery Canteens" Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload //ExtAttr SuppressCanteenUse UseMeleeThreatPrioritization 1 Scale 1.9 MaxVisionRange 1200 Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } //ubercharge on spawn FireWeapon { Delay 1 Repeats 1 Type "Action" } FireInput { Target "random_canteen_use" Action "Trigger" Delay 6 Cooldown 9 Repeats 0 } ItemAttributes { ItemName "Battery Canteens" "ubercharge" 1 "powerup charges" 1 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "fire rate bonus" 0.3 "bullets per shot bonus" 10 "clip size penalty" 0.5 "damage penalty" 0.3 "faster reload rate" 1.8 } ItemAttributes { ItemName "TF_WEAPON_FISTS" "damage causes airblast" 1 } CharacterAttributes { "deploy time decreased" 0.1 "deploy time decreased" 0.1 "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "rage giving scale" 0.5 } } T_TFBot_Chief_Yakuza { SpawnTemplate Yakuza_Styles Name "Sergeant Receiver" //shoutout to eggman#9862 for the actually good name (he was called fucking Sergeant Subtype before) Class Soldier ClassIcon boss_yakuza Health 25000 Scale 1.9 WeaponRestrictions PrimaryOnly Item "The Eye-Catcher" Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } FireInput { Target "randomstyle" Action "PickRandomShuffle" Delay 0.1 Cooldown 8 Repeats 0 } // FireInput // { // Target "dragon_style" // Action "Trigger" // Delay 0.1 // Repeats 1 // IfHealthBelow 10000 // } CharacterAttributes { "health regen" 50 "move speed bonus" 0.5 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.001 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.5 } } T_TFBot_Ranger_Rockethell { SpawnTemplate Yakuza_Title_Card_Rockethell SpawnTemplate Rockethell_Logic Class Soldier Name "Ranger Rockethell" Skill Expert Health 64000 Action Mobber WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Scale 1.9 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 4 "blast dmg to self increased" 0 "force distribute currency on death" 1 } EventChangeAttributes { Default { Attributes MiniBoss } LeftSway { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "fire rate penalty" 10 //fire once "projectile speed increased" 0.001 } ShootTemplate { Name LeftSwayRocket AttachToProjectile 1 } } RightSway { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ShootTemplate { Name RightSwayRocket AttachToProjectile 1 } ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "fire rate penalty" 10 //fire once "projectile speed increased" 0.001 } } Orb { Attributes AlwaysFireWeapon ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "override projectile type extra" "mechanicalarmorb" } } Bloom { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "fire rate penalty" 10 //fire once "damage bonus" 2 "Projectile speed increased" 0.5 } ShootTemplate { Name RocketMasteryConstant AttachToProjectile 1 } } Homing { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "fire rate penalty" 10 //fire once "projectile trail particle" "eyeboss_projectile" "mod projectile heat seek power" 360 "mod projectile heat aim time" 10 "mod projectile heat aim error" 0 "mod projectile heat no predict target speed" 1 "damage bonus" 2 "Projectile speed increased" 0.15 } ShootTemplate { Name HomingCircleBlow AttachToProjectile 1 } } //World of Rockets & Stripes Spellcard_1 { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "damage bonus" 2 "fire rate penalty" 4 "reload time decreased" 0.01 "Projectile speed increased" 0.15 } ShootTemplate { Name WorldOfRocketsNStripes AttachToProjectile 1 } } //Machine Gun Kiss Spellcard_2_1 { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "clip size upgrade atomic" 26.0 "faster reload rate" 0.01 "fire rate bonus" 0.1 "projectile spread angle penalty" 10 "Projectile speed increased" 0.3 "always crit" 1 } } Spellcard_2_2 { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "damage bonus" 1.25 "faster reload rate" 0.01 "fire rate bonus" 0.4 "Projectile speed increased" 0.7 } } //Right Combination Spellcard_3 { Attributes AlwaysFireWeapon Attributes HoldFireUntilFullReload Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "damage bonus" 1.25 "clip size upgrade atomic" 26.0 "faster reload rate" 0.1 "fire rate bonus" 0.1 "projectile spread angle penalty" 20 "projectile trail particle" "eyeboss_projectile" "mod projectile heat seek power" 360 "mod projectile heat aim time" 0.8 "mod projectile heat aim error" 5 //"mod projectile heat no predict target speed" 1 "Projectile speed increased" 0.1 "projectile acceleration" 1500 "projectile acceleration start time" 0.3 "projectile acceleration time" 0.4 } } } } T_TFBot_Helicopter_Base { SpawnTemplate Yakuza_Title_Card_HunterChopper Name "jerma985 (ignore him)" Class Scout Action Mobber Skill Expert Attributes SuppressFire UseCustomModel "models/empty.mdl" Scale 0.3 AddCond { Index 52 } AddCond { Index 64 //not targeted by blue bot } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } CharacterAttributes { "not solid to players" 1 "voice pitch scale" 0 "move speed bonus" 0.5 "no_jump" 1 "damage force reduction" 0.001 "airblast pushback scale" 0.0001 "airblast vertical pushback scale" 0.0001 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "cannot be backstabbed" 1 "cannot pick up intelligence" 1 "crit mod disabled" 0 "force distribute currency on death" 1 } } T_TFBot_Helicopter_Shoot { SpawnTemplate Helicopter_Patterns Name "Helicopter" Class Soldier Action Mobber Skill Expert Health 1984 UseCustomModel "models/empty.mdl" Scale 0.01 AddCond { Index 52 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } CustomWeaponModel { Slot 1 Model "models/empty.mdl" } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } CharacterAttributes { "not solid to players" 1 "move speed bonus" 0.5 "no_jump" 1 "dmg from ranged reduced" 0 "dmg from melee increased" 0 "cannot be backstabbed" 1 "cannot pick up intelligence" 1 } EventChangeAttributes { Default { Attributes HoldFireUntilFullReload Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER //"fire full clip at once" 1 "is invisible" 1 "fire rate penalty" 1.3 "reload time decreased" 0.7 } ShootTemplate { Name TridentBurst AttachToProjectile 1 } } Pattern2 { // Item TF_WEAPON_SNIPERRIFLE // FireWeapon // { // Delay 0 // Cooldown 0.5 // Duration 0.1 // Type "Primary" // } // ItemAttributes // { // ItemName TF_WEAPON_SNIPERRIFLE // "is invisible" 1 // "fire rate bonus" 0.1 // "sniper fires tracer" 1 // } Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "is invisible" 1 "fire rate bonus" 0.4 "Reload time decreased" -1 } ShootTemplate { Name RocketMastery AttachToProjectile 1 } } Pattern3 { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER AimOffset "0 0 30" ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "is invisible" 1 "fire rate penalty" 0.5 "Projectile speed decreased" 0.3 } ShootTemplate { Name RocketSpike AttachToProjectile 1 } } Pattern4 { Attributes AlwaysFireWeapon Item TF_WEAPON_ROCKETLAUNCHER ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "is invisible" 1 "fire rate penalty" 10 //fire once "Projectile speed decreased" 0.3 "always crit" 1 } ShootTemplate { Name RocketMasteryConstant AttachToProjectile 1 } } } } T_TFBot_Giant_Soldier_Extended_Battalion_Fake { SpawnTemplate Shapeshift_PrespawnDisguise Class Spy //UseCustomModel "models/bots/soldier_boss/bot_soldier_boss.mdl" Name "Giant Battalion Soldier" ClassIcon soldier_backup_giant Skill Expert Health 15000 Scale 1.9 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Attributes UseBossHealthBar Action FetchFlag Item TF_WEAPON_ROCKETLAUNCHER Item "The Battalion's Backup" CharacterAttributes { "voice pitch scale" 0 //"cannot disguise" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 3 "increase buff duration" 9.0 "health from healers reduced" 0 "health from packs increased" 0 "cancel falling damage" 1 } } T_TFBot_Sergeant_Shapeshift { SpawnTemplate Yakuza_Title_Card_Shapeshift SpawnTemplate Shapeshift_Logic SpawnTemplate Shapeshift_Spawn //no fucking clues what slot the invis watch is // StripItemSlot 3 // StripItemSlot 4 // StripItemSlot 5 // StripItemSlot 6 Class Spy Name "Sergeant Shapeshift" Skill Expert Health 15000 Action Mobber WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Scale 1.9 CharacterAttributes { "cannot disguise" 1 "cancel falling damage" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 } ItemAttributes { ItemName TF_WEAPON_REVOLVER "damage bonus" 1.25 } AddCond { Index 4 Duration 0.4 } EventChangeAttributes { Default { Attributes MiniBoss } Soldier { Attributes MiniBoss Attributes HoldFireUntilFullReload Item "Full Metal Drill Hat" Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 10.0 "Projectile speed decreased" 0.45 "faster reload rate" 0.4 "fire rate bonus" 0.3 "projectile spread angle penalty" 2 } } Demo { Attributes MiniBoss Attributes AlwaysFireWeapon Item "Prince Tavish's Crown" Item "The Loose Cannon" Item "The Chargin' Targe" Item "The Eyelander" //ExtAttr AlwaysFireWeaponAlt WeaponSwitch { Delay 3 Cooldown 3 Repeats 1 Type "Melee" } AddCond { Index 17 Delay 3.2 } // FireWeapon // { // Delay 3.1 // Cooldown 3.1 // Type "Secondary" // } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "faster reload rate" -1 "fire rate bonus" 3 "Projectile speed increased" 0.8 "projectile spread angle penalty" 5 "damage bonus" 1.75 "damage causes airblast" 1 "blast radius increased" 1.2 "use large smoke explosion" 1 } ItemAttributes { ItemName "The Eyelander" "switch from wep deploy time decreased" 0.01 "single wep deploy time decreased" 0.01 "critboost on kill" 5 //carries over to the next transformation. little bit of trolling //"charge recharge rate increased" 100 "Attack not cancel charge" 1 "max health additive penalty" 0 } } Heavy { Item "The U-clank-a" Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 Attributes MiniBoss ItemAttributes { ItemName "Deflector" "minigun spinup time increased" 2 //removed briefly after spawn, is there to telegraph "damage bonus" 1.25 "attack projectiles" 2 } } } AddCond { Name "TF_COND_REPROGRAMMED" } } T_TFBot_Sergeant_Shapeshift_Supreme { SpawnTemplate Yakuza_Title_Card_Shapeshift_Supreme SpawnTemplate Shapeshift_Supreme_Logic SpawnTemplate Necromancer_Position Class Spy Name "Sergeant Shapeshift Supreme" Skill Expert Health 36000 Action Mobber WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Scale 1.9 Tag bot_shapeshift CharacterAttributes { "cannot disguise" 1 "cancel falling damage" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 } ItemAttributes { ItemName TF_WEAPON_REVOLVER "damage bonus" 1.5 } AddCond { Index 4 Duration 0.4 } FireInput { Target "midphase_start_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 12000 } FireInput { Target "midphase_start_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 24000 } EventChangeAttributes { Default { Attributes MiniBoss } Return { Attributes MiniBoss FireInput { Target "midphase_end_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 0 //How many times should the input be fired } ChangeAttributes { Delay 1 Cooldown 1 Repeats 1 Name "Default" } FireInput { Target "lastphase_start_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired IfHealthBelow 12000 } } Scout { Attributes MiniBoss Item "Upgradeable TF_WEAPON_BAT" Item "Hero's Tail" Item "The Eye-Catcher" Item "Dead of Night" WeaponRestrictions MeleeOnly ItemColor { ItemName "Hero's Tail" Red 0 Green 0 Blue 0 } } Soldier { Attributes MiniBoss Attributes HoldFireUntilFullReload Item "Tyrant's Helm" Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" //"damage bonus" 1.5 "faster reload rate" 0.1 "fire rate bonus" 0.3 "clip size upgrade atomic" 10.0 "Projectile speed increased" 0.9//1.3 } } Demo { Attributes MiniBoss Attributes AlwaysFireWeapon Attributes HoldFireUntilFullReload Item "Rimmed Raincatcher" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.3 "clip size bonus" 6.0 "Projectile speed increased" 1.2 } } //burst shotgun Heavy { Attributes MiniBoss Attributes HoldFireUntilFullReload Item "Security Shades" Item "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "fire rate bonus" 0.5 "bullets per shot bonus" 10 "clip size penalty" 0.5 "damage penalty" 0.5 "faster reload rate" 0.45 } } //necromancer medic Medic { Item "Spine-Chilling Skull" //Item "Zombie Medic" //Item "Berliner's Bucket Helm" //Item "Upgradeable TF_WEAPON_BONESAW" Item "The Crusader's Crossbow" // ItemModel // { // ItemName "Berliner's Bucket Helm" // Model "models/player/items/medic/medic_zombie.mdl" // } //UseHumanAnimations 1 ItemAttributes { ItemName "The Crusader's Crossbow" "mark for death" 1 } WeaponRestrictions PrimaryOnly // Taunt // { // Delay 0.5 // Repeats 1 // Name "Taunt: Second Rate Sorcery" // } } //explosive tip Sniper { WeaponRestrictions PrimaryOnly Item "Corona Australis" Item "The Fortified Compound" Attributes SuppressFire //Attributes AlwaysFireWeapon FireWeapon { Delay 0.8 Cooldown 0.8 Type "Primary" } AimAt Body ShootTemplate { Name Explosive_Tip_Bot Speed 0 AttachToProjectile 1 Classname "tf_weapon_compound_bow" } ItemAttributes { ItemName "The Fortified Compound" "faster reload rate" 0.001 "sniper no headshots" 1 "damage bonus" 0.75 } } } AddCond { Name "TF_COND_REPROGRAMMED" } } } SpawnTemplate "temp_thingy" PlayerSpawnTemplate "temp_thingy_player" SpawnTemplate "Combo_Pyro" SpawnTemplate "Alternating_Burst" PointTemplates { 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" "4" "message" "rpg_sounds/rpg_explode.wav" "pitch" "100" "pitchstart" "100" "radius" "11000" "spawnflags" "48" "StartDisabled" "0" } RemoveIfKilled "rpg_template_aliveness" } Alternating_Burst { NoFixup 1 logic_relay { "targetname" "alternate_relay" "spawnflags" "2" "OnTrigger" "receiver,$WeaponStripSlot,-1,0,-1" "OnTrigger" "receiver,$GiveItem,TF_WEAPON_ROCKETLAUNCHER,0.05,-1" "OnTrigger" "!activator,$AddItemAttribute,clip size upgrade atomic|23|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,damage penalty|0.7|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,fire rate bonus|0.001|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,faster reload rate|0.001|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile speed increased|0.2|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile spread angle penalty|20|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,blast radius increased|1.5|0,0.12,-1" "OnTrigger" "!activator,$AddItemAttribute,always crit|1|0,0.12,-1" "OnTrigger" "!activator,$WeaponStripSlot,0,1.2,-1" "OnTrigger" "!activator,$GiveItem,TF_WEAPON_ROCKETLAUNCHER,1.25,-1" } } Combo_Pyro { NoFixup 1 logic_relay { "targetname" "combo_primary_to_secondary" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0.6,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.61,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary^Trigger^|0,0.62,-1" } logic_relay { "targetname" "combo_primary_to_secondary_longhold" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,1.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,1.51,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary_longhold^Trigger^|0,1.52,-1" } } PreventPowerupDropOnDeath { OnParentKilledOutput { Target "item_powerup_rune" Action "Kill" Delay 0 } } temp_thingy_player { OnSpawnOutput { Target "!activator" Action "$SetVar$inSpawn" Param "1" } OnSpawnOutput { Target "!activator" Action "$SetVar$inFactory" Param "1" } //OnSpawnOutput //{ // Target "!activator" // Action $TeleportToEntity // Param "stuckfix_destination" //} } temp_thingy { NoFixup 1 OnSpawnOutput { Target collider Action $SetCollisionFilter Param "filter_inSpawn" } OnSpawnOutput { Target bossroom_door_trigger Action AddOutput Param "OnStartTouch !activator:$SetVar$inSpawn:1:0:-1" } func_brush { "targetname" "collider" "origin" "-1088 2504 -384" "mins" "-92 -8 -64" "maxs" "92 8 64" } filter_activator_class { "targetname" "filter_player" "filterclass" "player" "negated" "1" } $filter_variable { "targetname" "filter_inSpawn" "$name" "inSpawn" "$value" "1" "negated" "1" } filter_multi { "targetname" "filter_player_inSpawn" "filtertype" "0" "filter01" "filter_player" "filter02" "filter_inSpawn" } trigger_multiple { "mins" "-136 -32 -64" "maxs" "136 32 64" "origin" "-1088 2688 -384" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inSpawn,0" } trigger_multiple { "mins" "-32 -96 -64" "maxs" "32 96 64" "origin" "-1256 2624 -384" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inSpawn,0" } trigger_multiple { "mins" "-32 -96 -64" "maxs" "32 96 64" "origin" "-920 2624 -384" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inSpawn,0" } //logic_auto //{ // "OnMapSpawn" "bossroom_blocker,BlockNav" //} //func_nav_blocker //{ // "targetname" "bossroom_blocker" // "teamToBlock" "-1" // "affectsFlow" "1" // "mins" "-127.5 -336 -96" // "maxs" "127.5 336 96" // "origin" "-1088 3088 -352" //} //func_nav_blocker //{ // "targetname" "bossroom_blocker" // "teamToBlock" "-1" // "affectsFlow" "1" // "mins" "-944 -144 -96" // "maxs" "944 144 96" // "origin" "-1056 2672 -352" //} //func_nav_blocker //{ // "targetname" "bossroom_blocker" // "teamToBlock" "-1" // "affectsFlow" "1" // "mins" "-92 -48 -64" // "maxs" "92 48 64" // "origin" "-1088 2500 -384" //} } general_logic { NoFixup 1 logic_relay { "targetname" "wave1_init_relay" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger clearbuildings_trigger:Enable::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger clearbuildings_trigger:Disable::0.1:-1" "OnTrigger" "intel,ShowTimer,80" "OnTrigger" "intel,SetReturnTime,80" "OnTrigger" "barrier_gate2_relay_disable,AddOutput,OnTrigger barrier_gate2_right*:Disable::0:-1" "OnTrigger" "spawnbot_scaffold,Disable" "OnTrigger" "spawnbot_balcony,Disable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Disable" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_garage,Disable" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "barrier_factory_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_enable,Trigger" "OnTrigger" "barrier_gate2_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_disable,Disable" "OnTrigger" "gate1_door_trigger,Disable" "OnTrigger" "gate2_door_trigger,Disable" "OnTrigger" "capturezone_blue,Disable" "OnTrigger" "intel,AddOutput,OnReturn wave1_bombloss_relay:Trigger::0:-1" "OnTrigger" "gate1_relay,AddOutput,OnTrigger wave1_gate1_relay:Trigger::0:-1" "OnTrigger" "gate2_relay,AddOutput,OnTrigger wave1_gate2_relay:Trigger::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } training_annotation { "targetname" "gate1_upgrade_sign" "origin" "-6418.7 2833.5 516.4" "display_text" "Come one come all! Get your upgrades here!" "lifetime" "22" } training_annotation { "targetname" "gate2_upgrade_sign" "origin" "-4982.9 -2107.0 1184.9" "display_text" "Hey fellas I'm back, come get your upgrades!" "lifetime" "22" } training_annotation { "targetname" "gate1_cappable_sign" "origin" "-5434.7 1407.3 460.0" "display_text" "The gate can now be captured!" "lifetime" "9" } training_annotation { "targetname" "gate2_cappable_sign" "origin" "-3087.7 -2093.9 238.0" "display_text" "The gate can now be captured!" "lifetime" "9" } filter_tf_bot_has_tag { "require_all_tags" "1" "tags" "bomb_fella" "targetname" "filter_fella" } filter_tf_bot_has_tag { "require_all_tags" "1" "tags" "bomb_fella" "negated" "1" "targetname" "filter_fella_negated" } logic_relay { "targetname" "wave2_init_relay" "OnTrigger" "clearbuildings_trigger,Enable" "OnTrigger" "clearbuildings_trigger,Disable,,0.1" "OnTrigger" "blu_init_teleport_boss,Enable" "OnTrigger" "bossroom_door_trigger,Disable" } logic_relay { "targetname" "wave5_init_relay" "OnTrigger" "clearbuildings_trigger,Enable" "OnTrigger" "clearbuildings_trigger,Disable,,0.1" "OnTrigger" "blu_init_teleport_boss,Enable" "OnTrigger" "bossroom_door_trigger,Disable" } logic_relay { "targetname" "wave3_init_relay" //"OnTrigger" "master_control_point,Kill" //"OnTrigger" "gate1_capturepoint_a,Kill" //"OnTrigger" "gate2_capturepoint_b,Kill" //"OnTrigger" "gate1_capturepoint_a,addoutput,point_index 2" //"OnTrigger" "gate2_capturepoint_b,addoutput,point_index 3" "OnTrigger" "clearbuildings_trigger,Enable" "OnTrigger" "clearbuildings_trigger,Disable,,0.1" "OnTrigger" "blu_init_teleport_boss,Disable" "OnTrigger" "intel,Disable" "OnTrigger" "blu_init_teleport,Enable" "OnTrigger" "blu_init_teleport,Disable,,0.1" //"OnTrigger" "barrier_gate2_relay_disable,AddOutput,OnTrigger barrier_gate2_right*:Disable::0:-1" "OnTrigger" "spawnbot_factory,Enable" "OnTrigger" "spawnbot_scaffold,Enable" "OnTrigger" "spawnbot_balcony,Enable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Disable" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_garage,Disable" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "spawnbot_extra,Disable" //"OnTrigger" "barrier_factory_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_enable,Trigger" "OnTrigger" "barrier_gate2_relay_enable,Trigger" "OnTrigger" "barrier_building_1,Enable" "OnTrigger" "barrier_building_2,Enable" //"OnTrigger" "barrier_hatch_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_disable,Enable" "OnTrigger" "gate1_door_trigger,Disable" "OnTrigger" "gate2_door_trigger,Disable" "OnTrigger" "capturezone_blue,Disable" "OnTrigger" "hatchshield,Enable" "OnTrigger" "hatchshield_collision,Enable" "OnTrigger" "hatchshield_collision_stuckfix,Enable" "OnTrigger" "gate1_relay,AddOutput,OnTrigger wave3_gate1_relay:Trigger::0:-1" "OnTrigger" "gate2_relay,AddOutput,OnTrigger wave3_gate2_relay:Trigger::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } logic_relay { "targetname" "wave4_init_relay" "OnTrigger" "clearbuildings_trigger,Enable" "OnTrigger" "clearbuildings_trigger,Disable,,0.1" "OnTrigger" "blu_init_teleport_boss,Disable" "OnTrigger" "intel,Disable" "OnTrigger" "blu_init_teleport,Enable" "OnTrigger" "blu_init_teleport,Disable,,0.1" "OnTrigger" "spawnbot_factory,Enable" "OnTrigger" "spawnbot_scaffold,Enable" "OnTrigger" "spawnbot_balcony,Enable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Disable" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_garage,Disable" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "spawnbot_extra,Disable" //"OnTrigger" "barrier_factory_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_enable,Trigger" "OnTrigger" "barrier_gate2_relay_enable,Trigger" "OnTrigger" "barrier_building_1,Disable" "OnTrigger" "barrier_building_2,Disable" //"OnTrigger" "barrier_hatch_relay_enable,Trigger" "OnTrigger" "barrier_gate1_relay_disable,Enable" "OnTrigger" "gate1_door_trigger,Disable" "OnTrigger" "gate2_door_trigger,Disable" "OnTrigger" "capturezone_blue,Disable" "OnTrigger" "hatchshield,Enable" "OnTrigger" "hatchshield_collision,Enable" "OnTrigger" "hatchshield_collision_stuckfix,Enable" "OnTrigger" "gate1_relay,AddOutput,OnTrigger wave3_gate1_relay:Trigger::0:-1" "OnTrigger" "gate2_relay,AddOutput,OnTrigger wave3_gate2_relay:Trigger::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnTrigger" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } trigger_hurt { "targetname" "clearbuildings_trigger" "origin" "-4878 1552 952" "mins" "-7150 -4880 -2376" "maxs" "7150 4880 2376" "StartDisabled" "1" "spawnflags" "64" "nodmgforce" "0" "filtername" "filter_buildings" "damagetype" "0" "damagemodel" "0" "damagecap" "20" "damage" "2000" } game_round_win { "targetname" "red_win" "TeamNum" "2" "switch_teams" "0" "force_map_reset" "1" } 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" } filter_multi { "targetname" "filter_bot_small_red" "filtertype" "0" "filter01" "filter_giant_exclude" "filter02" "filter_sentrybuster_exclude" "filter03" "filter_redteam" } prop_dynamic { "disableshadows" "1" "model" "models/props_mvm/hatch_shield.mdl" "solid" "0" "targetname" "hatchshield" "startdisabled" "1" "origin" "-1132 1686 84" } trigger_multiple { "targetname" "trigger_that_does_nothing2" "origin" "-3175.55 -1999.91 197" "mins" "-489 -212 -37" "maxs" "489 212 37" } trigger_multiple { "targetname" "trigger_that_does_nothing" "origin" "-5424 1424 416" "mins" "-464 -112 -24" "maxs" "464 112 24" } func_forcefield { "targetname" "hatchshield_collision" "origin" "-1132 1686 150" "mins" "-120 -120 -60" "maxs" "120 120 60" "TeamNum" "2" "startdisabled" "1" } trigger_teleport { "targetname" "hatchshield_collision_stuckfix" "origin" "-1132 1686 150" "mins" "-118 -118 -50" "maxs" "118 118 50" "target" "stuckfix_destination" "spawnflags" "1" "filtername" "filter_blue_notfella" "startdisabled" "1" } info_target { "targetname" "stuckfix_destination" "origin" "-1132 1400 164" } filter_multi { "targetname" "filter_blue_notfella" "Negated" "0" "FilterType" "0" "Filter01" "filter_blueteam" "Filter02" "filter_fella_negated" } trigger_add_tf_player_condition { "targetname" "bot_stun_reprogram" "condition" "71" "duration" "22" "filtername" "filter_bot_small_red" "origin" "-4878 1552 952" "mins" "-7150 -4880 -2376" "maxs" "7150 4880 2376" "spawnflags" "3" "StartDisabled" "1" } } bomb_dud_template { NoFixup 1 logic_relay { "targetname" "bomb_dud_relay" "OnTrigger" "bomb_dud_prop,Enable" "OnTrigger" "dud_particle,start" "OnTrigger" "dud_sound,PlaySound" //"OnTrigger" "!self,Kill,,3" //"OnSpawn" "player,$displaytextchat,spawned" //"$OnKilled" "player,$displaytextchat,killed" } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/props_td/atom_bomb.mdl" "solid" "0" "targetname" "bomb_dud_prop" "startdisabled" "1" } info_particle_system { "targetname" "dud_particle" "effect_name" "envelope_smoke_puff" "flag_as_weather" "0" "start_active" "0" } ambient_generic { "targetname" "dud_sound" "message" "weapons/loch_n_load_dud.wav" "radius" "4000" "health" "5" "spawnflags" "48" "OnUser1" "!self,PlaySound,,1,-1" "OnUser1" "!self,Kill,,3,-1" } //RemoveIfKilled "bomb_dud_relay" } wave1_logic { NoFixup 1 env_entity_maker { "targetname" "bomb_dud_maker" "EntityTemplate" "bomb_dud_template" } logic_relay { "targetname" "wave1_loss_relay" "OnTrigger" "red_win,RoundWin" } logic_relay { "targetname" "wave1_bombloss_relay" "OnTrigger" "bomb_dud_relay,Trigger" "OnTrigger" "hatchshield,setanimation,disable" "OnTrigger" "hatchshield_collision,Disable" "OnTrigger" "hatchshield_collision_stuckfix,Disable" "OnTrigger" "red_win,RoundWin,,1" } logic_relay { "targetname" "end_facade_relay" "OnTrigger" "wave1_loss_relay,Disable" "OnTrigger" "bot_stun_reprogram_alt,Enable" "OnTrigger" "bot_stun_reprogram_alt,Disable,,0.1" "OnTrigger" "hatchshield,Enable,,8.2" "OnTrigger" "hatchshield_collision,Enable,,8.2" "OnTrigger" "hatchshield_collision_stuckfix,Enable,,8.2" "OnTrigger" "hatchshield,SetAnimation,enable,8.2" "OnTrigger" "losscondition_bomb_sign,Show,,10" "OnTrigger" "bomb_dud_maker,ForceSpawnAtEntityOrigin,intel,8.2" } logic_relay { "targetname" "wave1_endsequence_relay" "OnTrigger" "wave1_bombloss_relay,CancelPending" "OnTrigger" "wave1_bombloss_relay,Disable" "OnTrigger" "hatchshield,SetAnimation,disable" //"OnTrigger" "intel,ForceResetSilent,,0.1" "OnTrigger" "intel,Disable,,0.1" "OnTrigger" "bomb_dud_prop,Enable,,0.1" "OnTrigger" "hatchshield,Enable,,5" "OnTrigger" "hatchshield,SetAnimation,enable,5" "OnTrigger" "player,$PlaySoundToSelf,player/spy_uncloak_feigndeath.wav,5" "OnTrigger" "player,$PlaySoundToSelf,vo/mvm/norm/spy_mvm_laughlong01.mp3,4" "OnTrigger" "bots_win,RoundWin,,6.5" } training_annotation { "targetname" "gate2_upgrade_sign2" "origin" " -4071.288574 -1997.408813 505.022308" "display_text" "You can get to the shop through this nifty little vent here." "lifetime" "18" } training_annotation { "targetname" "losscondition_bomb_sign" "origin" "-1128 1684 164" "display_text" "Take out Sergeant Shapeshift before the bomb is defused!" "lifetime" "10" } logic_auto { "OnMapSpawn" "spawnbot_scaffold,Disable" "OnMapSpawn" "spawnbot_balcony,Disable" "OnMapSpawn" "spawnbot_balcony_extra,Disable" "OnMapSpawn" "spawnbot_balcony_drain,Disable" "OnMapSpawn" "spawnbot_balcony_drain_extra,Disable" "OnMapSpawn" "spawnbot_garage,Disable" "OnMapSpawn" "spawnbot_hatch,Disable" "OnMapSpawn" "barrier_factory_relay_enable,Trigger" "OnMapSpawn" "barrier_gate1_relay_disable,Disable" "OnMapSpawn" "gate1_door_trigger,Disable" "OnMapSpawn" "gate2_door_trigger,Disable" "OnMapSpawn" "capturezone_blue,Disable" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger wave1_gate1_relay:Trigger::0:-1" "OnMapSpawn" "gate2_relay,AddOutput,OnTrigger wave1_gate2_relay:Trigger::0:-1" "OnMapSpawn" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnMapSpawn" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } logic_relay { //"OnMapSpawn" "pop_interface,Kill" "OnSpawn" "spawnbot_scaffold,Disable" "OnSpawn" "spawnbot_balcony,Disable" "OnSpawn" "spawnbot_balcony_extra,Disable" "OnSpawn" "spawnbot_balcony_drain,Disable" "OnSpawn" "spawnbot_balcony_drain_extra,Disable" "OnSpawn" "spawnbot_garage,Disable" "OnSpawn" "spawnbot_hatch,Disable" "OnSpawn" "barrier_factory_relay_enable,Trigger" "OnSpawn" "barrier_gate1_relay_disable,Disable" "OnSpawn" "gate1_door_trigger,Disable" "OnSpawn" "gate2_door_trigger,Disable" "OnSpawn" "capturezone_blue,Disable" "OnSpawn" "gate1_relay,AddOutput,OnTrigger wave1_gate1_relay:Trigger::0:-1" "OnSpawn" "gate2_relay,AddOutput,OnTrigger wave1_gate2_relay:Trigger::0:-1" "OnSpawn" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnSpawn" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/props_gameplay/cap_circle_128.mdl" "skin" "2" "solid" "0" "targetname" "bombfella_hologram_1" "origin" "-7035 1375 136" "startdisabled" "1" } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/props_gameplay/cap_circle_128.mdl" "skin" "2" "solid" "0" "targetname" "bombfella_hologram_2" "origin" "-4465 -490 136" "startdisabled" "1" } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/props_gameplay/cap_circle_128.mdl" "skin" "2" "solid" "0" "targetname" "bombfella_hologram_3" "origin" "-1233 549 8" "startdisabled" "1" } logic_relay { "targetname" "wave1_gate1_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "spawnbot_scaffold,Disable" "OnTrigger" "spawnbot_balcony,Disable" "OnTrigger" "spawnbot_balcony_extra,Enable,22" "OnTrigger" "spawnbot_balcony_drain_extra,Enable,,27" "OnTrigger" "gate2_door_trigger,Disable,,24" "OnTrigger" "player,$ChangeAttributes,GateOne_Capped" "OnTrigger" "gate1_alarm_door_reset_relay,Disable" "OnTrigger" "gate1_upgrade_sign,Show" "OnTrigger" "teleport_spawn_gate1,Enable" } logic_relay { "targetname" "wave1_gate2_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "player,$ChangeAttributes,GateTwo_Capped,1" "OnTrigger" "spawnbot_balcony_drain,Disable,,21" "OnTrigger" "spawnbot_hatch,Enable,,21" "OnTrigger" "spawnbot_garage,Enable,,21" "OnTrigger" "gate2_alarm_door_reset_relay,Disable" "OnTrigger" "gate2_upgrade_sign,Show" "OnTrigger" "gate2_upgrade_sign2,Show,,2" "OnTrigger" "teleport_gate1,Enable" "OnTrigger" "teleport_gate1,Enable,,22" "OnTrigger" "teleport_gate1,Enable,,50" } logic_relay { "targetname" "w1_subwaveone_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveOne_Complete" "OnTrigger" "barrier_factory_relay_disable,Trigger" "OnTrigger" "spawnbot_factory*,Disable" "OnTrigger" "spawnbot_scaffold,Enable" "OnTrigger" "spawnbot_balcony,Enable" } logic_relay { "targetname" "w1_subwavetwo_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveTwo_Complete" "OnTrigger" "barrier_gate1_relay_disable,Trigger,,3" "OnTrigger" "barrier_gate1*,Disable,,3" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Enable" } logic_relay { "targetname" "w1_subwavethree_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveThree_Complete" //"OnTrigger" "capturezone_blue,Enable" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "spawnbot_garage,Disable" } math_counter { "targetname" "subwaveone_counter" "startvalue" "0" "max" "100" "onhitmax" "w1_subwaveone_complete_relay,Trigger" "onhitmax" "!self,SetValue,0" "onhitmax" "!self,Disable" //"OutValue" "player,$DisplayTextCenter" } math_counter { "targetname" "gateone_counter" "startvalue" "0" "max" "100" "onhitmax" "gate1_door_trigger,Enable" "onhitmax" "gate1_cappable_sign,Show" "onhitmax" "!self,SetValue,0" "onhitmax" "!self,Disable" //"OutValue" "player,$DisplayTextCenter" } math_counter { "targetname" "subwavetwo_counter" "startvalue" "0" "max" "100" "onhitmax" "w1_subwavetwo_complete_relay,Trigger" "onhitmax" "!self,SetValue,0" "onhitmax" "!self,Disable" //"OutValue" "player,$DisplayTextCenter" } math_counter { "targetname" "gatetwo_counter" "startvalue" "0" "max" "100" "onhitmax" "gate2_door_trigger,Enable" "onhitmax" "gate2_cappable_sign,Show" "onhitmax" "!self,SetValue,0" "onhitmax" "!self,Disable" //"OutValue" "player,$DisplayTextCenter" } math_counter { "targetname" "subwavethree_counter" "startvalue" "0" "max" "100" "onhitmax" "w1_subwavethree_complete_relay,Trigger" "onhitmax" "!self,SetValue,0" "onhitmax" "!self,Disable" //"OutValue" "player,$DisplayTextCenter" } logic_relay { "targetname" "canteen_relay" "OnTrigger" "!activator,SetHealth,15000,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=35|mvm/mvm_used_powerup.wav,0,-1" } trigger_teleport { "mins" "-296 -120 -152" "maxs" "296 120 152" "origin" "-6744 2504 624" "target" "spawnbot" "spawnflags" "1" "filtername" "filter_blueteam" } trigger_teleport { "mins" "-875 -480 -110" "maxs" "875 480 110" "origin" "-3323 -2982 878" "target" "spawnbot" "spawnflags" "1" "filtername" "filter_blueteam" } trigger_add_tf_player_condition { "targetname" "bot_stun_reprogram_alt" "condition" "71" "duration" "5.5" "filtername" "filter_bot_small_red" "origin" "-4878 1552 952" "mins" "-7150 -4880 -2376" "maxs" "7150 4880 2376" "spawnflags" "3" "StartDisabled" "1" } } points_gdetonator { OnParentKilledOutput { Target "subwaveone_counter" Action Add Param "25" } } points_gsteelfist { OnParentKilledOutput { Target "gateone_counter" Action Add Param "100" } } points_gsoldier { OnParentKilledOutput { Target "subwavetwo_counter" Action Add Param "50" } } points_gpyro { OnParentKilledOutput { Target "gatetwo_counter" Action Add Param "50" } } points_steelfist { OnParentKilledOutput { Target "gatetwo_counter" Action Add Param "5" } } points_common_one { OnParentKilledOutput { Target "subwaveone_counter" Action Add Param "1" } } points_common_gateone { OnParentKilledOutput { Target "gateone_counter" Action Add Param "1" } } points_common_two { OnParentKilledOutput { Target "subwavetwo_counter" Action Add Param "1" } } points_common_gatetwo { OnParentKilledOutput { Target "gatetwo_counter" Action Add Param "1" } } points_common_three { OnParentKilledOutput { Target "subwavethree_counter" Action Add Param "1" } } wave2_logic { NoFixup 1 logic_relay { "OnSpawn" "blu_init_teleport_boss,Enable" "OnSpawn" "bossroom_door_trigger,Enable" "OnSpawn" "wipe_relay,Enable" } logic_relay { "targetname" "wave_start_boss_relay" "OnTrigger" "bossroom_door_trigger,Enable" } game_round_win { "targetname" "red_win" "TeamNum" "2" "switch_teams" "0" "force_map_reset" "1" } trigger_teleport { "mins" "-296 -120 -152" "maxs" "296 120 152" "origin" "-6744 2504 624" "target" "spawnbot" "spawnflags" "1" "filtername" "filter_blueteam" } prop_dynamic { "angles" "0 315 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_building_1" "origin" "-2808 5895 -192" //-2828 4119 -132 } prop_dynamic { "angles" "0 315 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_building_2" "origin" "-2567 -203 243" } prop_dynamic { "angles" "0 135 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_1" "origin" "-2808 5895 -192" } info_particle_system { "targetname" "spawn_particle_1" "origin" "-2808 5895 -242" "effect_name" "teleporter_mvm_bot_persist_red" "flag_as_weather" "0" "start_active" "0" } prop_dynamic { "angles" "0 135 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_2" "origin" "667 4136 -192" } info_particle_system { "targetname" "spawn_particle_2" "origin" "667 4136 -242" "effect_name" "teleporter_mvm_bot_persist_red" "flag_as_weather" "0" "start_active" "0" } prop_dynamic { "angles" "0 135 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_3" "origin" "-2828 4120 -180" } info_particle_system { "targetname" "spawn_particle_3" "origin" "-2828 4120 -230" "effect_name" "teleporter_mvm_bot_persist_red" "flag_as_weather" "0" "start_active" "0" } logic_relay { "targetname" "midphase_start_relay" "OnTrigger" "necromancer_summon*,Disable" "OnTrigger" "shapeshift_loop*,cancelpending" "OnTrigger" "!activator,$AddCond,4,0,-1" "OnTrigger" "teleport_shapeshift,Enable,,1" "OnTrigger" "spawn_particle*,Start" "OnTrigger" "spawn_particle*,Stop,,2.5" "OnTrigger" "spawn_hologram*,AddOutput,skin 0" "OnTrigger" "spawn_hologram*,AddOutput,skin 3,2" "OnTrigger" "spawnbot_arena*,Enable,,1.5" "OnTrigger" "spawnbot_arena*,Disable,,3" "OnTrigger" "player,$PlaySoundToSelf,mvm/mvm_tele_activate.wav" } logic_relay { "targetname" "lastphase_start_relay" //"OnTrigger" "spawn_hologram*,AddOutput,skin 0,3" //"OnTrigger" "spawnbot_arena*,Enable,,5" "OnTrigger" "rotate_arenaspawns_relay,Trigger,,5" "OnTrigger" "player,$PlaySoundToSelf,mvm/mvm_tele_activate.wav,5" } logic_relay { "targetname" "rotate_arenaspawns_relay" "spawnflags" "2" "OnTrigger" "spawnbot_arena*,AddOutput,skin 3" "OnTrigger" "spawn_particle*,Stop" "OnTrigger" "spawnbot_arena_case,PickRandomShuffle,,0.01" "OnTrigger" "!self,Trigger,,15" } logic_case { "targetname" "spawnbot_arena_case" "OnCase01" "spawnbot_arena_1,Enable,,1,-1" "OnCase01" "spawn_particle_1,Start" "OnCase01" "spawn_hologram_1,AddOutput,skin 0,0.1" "OnCase02" "spawnbot_arena_2,Enable,,1,-1" "OnCase02" "spawn_particle_2,Start" "OnCase02" "spawn_hologram_2,AddOutput,skin 0,0" "OnCase03" "spawnbot_arena_3,Enable,,1,-1" "OnCase03" "spawn_particle_3,Start" "OnCase03" "spawn_hologram_3,AddOutput,skin 0,0" } logic_relay { "targetname" "midphase_end_relay" "OnTrigger" "shapeshift_loop*,trigger" "OnTrigger" "necromancer_summon*,Enable,0.1" "OnTrigger" "!activator,$RemoveCond,4,0.1,-1" "Ontrigger" "teleport_shapeshift,Disable" "OnTrigger" "teleport_shapeshift_back,Enable" "OnTrigger" "teleport_shapeshift_back,Disable,,0.1" "OnTrigger" "player,$PlaySoundToSelf,ambient/machines/teleport1.wav" } logic_relay { "targetname" "bip" "OnTrigger" "player,$ChangeAttributes,Return" //"OnTrigger" "player,$DisplayTextCenter,return" } info_target { "targetname" "tele_destination_shapeshift" "origin" "1008 -312 108" } trigger_teleport { "filtername" "filter_shapeshift" "origin" "-352 2736 112" "mins" "-2192 -3664 -656" "maxs" "2192 3664 656" "spawnflags" "1" "StartDisabled" "1" "landmark" "!activator" "target" "tele_destination_shapeshift" "targetname" "teleport_shapeshift" } trigger_teleport { "filtername" "filter_shapeshift" "origin" "-352 2736 112" "mins" "-2192 -3664 -656" "maxs" "2192 3664 656" "spawnflags" "1" "StartDisabled" "1" "target" "spawnbot_boss" "targetname" "teleport_shapeshift_back" } filter_tf_bot_has_tag { "targetname" "filter_shapeshift" "tags" "bot_shapeshift" } } wave3_logic { NoFixup 1 OnSpawnOutput { Target "intel" Action Disable } OnSpawnOutput { Target "intel" Action Disable Delay 1 } func_flagdetectionzone { "targetname" "deploy_animation" "mins" "-48 -48 -16" "maxs" "48 48 48" "origin" "-1132 1684 112" "spawnflags" "1" "OnStartTouchFlag" "!activator,SetForcedTauntCam,1,0,-1" "OnStartTouchFlag" "!activator,SetHUDVisibility,0,0.01,-1" "OnStartTouchFlag" "!activator,DisableDamageForces,,0,-1" //"OnStartTouchFlag" "!activator,SetAnimation,primary_deploybomb,0,-1" "OnEndTouchFlag" "!activator,SetForcedTauntCam,0,0,-1" "OnEndTouchFlag" "!activator,SetHUDVisibility,1,0.01,-1" "OnEndTouchFlag" "!activator,EnableDamageForces,,0,-1" } prop_dynamic { "angles" "0 270 0" "origin" "-1129 1683 111" "disableshadows" "1" "model" "models/props_td/atom_bomb.mdl" "solid" "0" "targetname" "bomb_prop" } logic_relay { "OnSpawn" "intel,Disable" "OnSpawn" "intel,Disable,,1" "OnSpawn" "intel,AddOutput,OnPickUp deploy_animation:Enable::0:-1" "OnSpawn" "intel,AddOutput,OnDrop deploy_animation:Disable::0:-1" "OnSpawn" "barrier_gate2_relay_disable,AddOutput,OnTrigger barrier_gate2_right*:Disable::0:-1" "OnSpawn" "spawnbot_factory*,Enable" "OnSpawn" "spawnbot_scaffold,Enable" "OnSpawn" "spawnbot_balcony,Enable" "OnSpawn" "spawnbot_balcony_extra,Disable" "OnSpawn" "spawnbot_balcony_drain,Disable" "OnSpawn" "spawnbot_balcony_drain_extra,Disable" "OnSpawn" "spawnbot_garage,Disable" "OnSpawn" "spawnbot_hatch,Disable" "OnSpawn" "barrier_gate1_relay_enable,Trigger" "OnSpawn" "barrier_gate2_relay_enable,Trigger" "OnSpawn" "barrier_building_1,Enable" "OnSpawn" "barrier_building_2,Enable" "OnSpawn" "barrier_gate1_relay_disable,Enable" "OnSpawn" "gate1_door_trigger,Disable" "OnSpawn" "gate2_door_trigger,Disable" "OnSpawn" "capturezone_blue,Disable" "OnSpawn" "hatchshield,Enable" "OnSpawn" "hatchshield_collision,Enable" "OnSpawn" "hatchshield_collision_stuckfix,Enable" "OnSpawn" "nav_refresh,RecomputeBlockers,,1" "OnSpawn" "spawnbot_extra,Disable" } logic_relay { "targetname" "wave3_gate1_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "spawnbot_scaffold,Disable" "OnTrigger" "spawnbot_balcony,Disable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_scaffold_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Enable,,22" "OnTrigger" "spawnbot_whatever,Enable,,22" "OnTrigger" "spawnbot_barrier_2,Enable,,22" "OnTrigger" "gate2_door_trigger,Disable,,24" "OnTrigger" "gate1_alarm_door_reset_relay,Disable" "OnTrigger" "gate1_upgrade_sign,Show" "OnTrigger" "teleport_spawn_gate1,Enable" "OnTrigger" "spawnbot_extra,Enable,,22" "OnTrigger" "spawnbot_extra,Disable,,23"//rotate_bot rotate2_bot projectile_shield_bot shield_hitbox_bot shield_hitbox2_bot "OnTrigger" "rotate_bot*,Stop" "OnTrigger" "rotate2_bot*,Stop" "OnTrigger" "projectile_shield_bot*,$SetModel,models/empty.mdl" "OnTrigger" "shield_hitbox_bot*,Disable" "OnTrigger" "shield_hitbox2_bot*,Disable" "OnTrigger" "rotate_bot*,Start,,22" "OnTrigger" "rotate2_bot*,Start,,22" "OnTrigger" "projectile_shield_bot*,$SetModel,models/props_mvm/mvm_comically_small_player_shield.mdl,22" "OnTrigger" "shield_hitbox_bot*,Enable,,22" "OnTrigger" "shield_hitbox2_bot*,Enable,,22" "OnTrigger" "player,$ChangeAttributes,BarrierDown" "OnTrigger" "changeattribute_state,SetValueNoFire,1" } logic_relay { "targetname" "wave3_gate2_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "spawnbot_balcony_drain,Disable,,21" "OnTrigger" "spawnbot_hatch,Enable,,21" "OnTrigger" "spawnbot_garage,Enable,,21" "OnTrigger" "gate2_alarm_door_reset_relay,Disable" "OnTrigger" "gate2_upgrade_sign,Show" "OnTrigger" "gate2_upgrade_sign2,Show,,2" "OnTrigger" "teleport_gate1,Enable" "OnTrigger" "teleport_gate1,Enable,,22" "OnTrigger" "teleport_gate1,Enable,,50" "OnTrigger" "spawnbot_extra,Enable,,22" "OnTrigger" "spawnbot_extra,Disable,,23" "OnTrigger" "player,$ChangeAttributes,BarrierDown2" "OnTrigger" "changeattribute_state2,SetValueNoFire,1" } logic_relay { "targetname" "heli_killed_relay" "OnTrigger" "gate1_door_trigger,Enable" "OnTrigger" "gate1_cappable_sign,Show" "OnTrigger" "player,$ChangeAttributes,CaptureGateOne" "OnTrigger" "changeattribute_state,SetValueNoFire,2" "OnTrigger" "gate1_cappable_sign, Show" "OnTrigger" "collider_oneway,Disable" "OnTrigger" "barrier_oneway*,Disable" } logic_relay { "targetname" "chief_killed_relay" "OnTrigger" "gate2_door_trigger,Enable" "OnTrigger" "gate2_cappable_sign,Show" "OnTrigger" "player,$ChangeAttributes,CaptureGateTwo" "OnTrigger" "changeattribute_state2,SetValueNoFire,2" } logic_relay { "targetname" "doppler_killed_relay" "OnTrigger" "intel,Enable" "OnTrigger" "intel,$TeleportToEntity,bomb_prop" "OnTrigger" "bomb_prop,Disable" "OnTrigger" "hatchshield,setanimation,disable" "OnTrigger" "hatchshield_collision,Disable" "OnTrigger" "hatchshield_collision_stuckfix,Disable" "OnTrigger" "capturezone_blue,Enable" "OnTrigger" "barrier_down_sign3,Show" } func_brush { "targetname" "barrier_building_1" "mins" "-193 -2.5 -112.5" "maxs" "193 2.5 112.5" "origin" "-5158 204 241" } func_brush { "targetname" "barrier_building_1" "mins" "-2.5 -176.5 -112.5" "maxs" "2.5 176.5 112.5" "origin" "-5348 384 241" } func_brush { "targetname" "barrier_building_1" "mins" "-193 -91.5 -1" "maxs" "193 91.5 1" "origin" "-5158 294 355" } func_brush { "targetname" "barrier_building_2" "mins" "-6 -64 -80" "maxs" "6 64 80" "origin" "-2776 -320 268" } func_brush { "targetname" "barrier_building_2" "mins" "-192 -52 -3" "maxs" "192 52 3" "origin" "-2443 -196 452" } trigger_multiple { "mins" "-32 -96 -64" "maxs" "32 96 64" "origin" "-920 2624 -384" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inSpawn,0" } $filter_variable { "targetname" "filter_inFactory" "$name" "inFactory" "$value" "1" "negated" "1" } logic_relay { "targetname" "generator_one_killed_relay" "OnTrigger" "barrier_building_1,Disable" "OnTrigger" "barrier_down_sign1,Show" "OnTrigger" "nav_refresh,RecomputeBlockers,,1" //"OnTrigger" "barrier_building_1,DisableCollision" "OnTrigger" "collider_oneway,Enable" "OnTrigger" "barrier_oneway*,Enable" "OnTrigger" "generator_prop_two,Disable" "OnTrigger" "generator_prop_three,Disable" "OnTrigger" "spawnbot_factory*,Disable" "OnTrigger" "spawnbot_balcony,Disable" "OnTrigger" "spawnbot_scaffold,Disable" "OnTrigger" "spawnbot_scaffold_extra,Enable" "OnTrigger" "spawnbot_balcony_extra,Enable" "OnTrigger" "spawnbot_heli,Enable" "OnTrigger" "player,$ChangeAttributes,BarrierDown" "OnTrigger" "changeattribute_state,SetValueNoFire,1" } logic_relay { "targetname" "generator_twothree_enable_relay" "OnTrigger" "generator_prop_two,Disable" "OnTrigger" "generator_prop_three,Disable" } logic_relay { "targetname" "generator_twothree_killed_relay" "OnTrigger" "barrier_building_2,Disable" "OnTrigger" "barrier_down_sign2,Show" "OnTrigger" "nav_refresh,RecomputeBlockers,,1" //"OnTrigger" "barrier_building_2,DisableCollision" "OnTrigger" "spawnbot_balcony_drain,Disable" "OnTrigger" "spawnbot_whatever,Disable" "OnTrigger" "spawnbot_balcony_drain_extra,Enable" "OnTrigger" "spawnbot_whatever2,Enable" "OnTrigger" "player,$ChangeAttributes,BarrierDown2" "OnTrigger" "changeattribute_state2,SetValueNoFire,1" } logic_relay { "targetname" "generator_fourfivesix_killed_relay" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "spawnbot_garage,Disable" "OnTrigger" "spawnbot_hatchshield,Enable" "OnTrigger" "spawnbot_hatch_extra,Enable" "OnTrigger" "spawnbot_garage_extra,Enable" //"OnTrigger" "hatchshield,Disable" //"OnTrigger" "hatchshield,DisableCollision" } math_counter { "targetname" "changeattribute_state" "startvalue" "0" "max" "2" "OnGetValue" "changeattribute_case,InValue" } math_counter { "targetname" "changeattribute_state2" "startvalue" "0" "max" "2" "OnGetValue" "changeattribute_case2,InValue" } logic_case { "targetname" "changeattribute_case" "case01" "0" "case02" "1" "case03" "2" "OnCase02" "!activator,$ChangeAttributes,BarrierDown" "OnCase03" "!activator,$ChangeAttributes,CaptureGateOne" } logic_case { "targetname" "changeattribute_case2" "case01" "0" "case02" "1" "case03" "2" "OnCase02" "!activator,$ChangeAttributes,BarrierDown2" "OnCase03" "!activator,$ChangeAttributes,CaptureGateTwo" } prop_dynamic { "angles" "0 180 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "1" "solid" "0" "targetname" "spawn_hologram_barrier1" "origin" "-5196 413 141" } training_annotation { "targetname" "barrier_down_sign1" "origin" "-5196 413 141" "display_text" "The barrier falls!" "lifetime" "6" } prop_dynamic { "angles" "0 90 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "1" "solid" "0" "targetname" "spawn_hologram_barrier2" "origin" "-2567 -203 183" } training_annotation { "targetname" "barrier_down_sign2" "origin" "-2567 -203 183" "display_text" "The barrier falls!" "lifetime" "6" } training_annotation { "targetname" "barrier_down_sign3" "origin" "-1132 1688 164" "display_text" "The bomb is now able to be deployed!" "lifetime" "6" } prop_dynamic { "targetname" "generator_prop_one" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-5020 135 127" "StartDisabled" "1" } prop_dynamic { "targetname" "generator_prop_two" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-2687 -61 63" //"StartDisabled" "1" } prop_dynamic { "targetname" "generator_prop_three" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-2611 -560 251" //"StartDisabled" "1" } prop_dynamic { "targetname" "generator_prop_four" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-1574 987 -1" //"StartDisabled" "1" } prop_dynamic { "targetname" "generator_prop_five" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-615 1107 -1" "angles" "0 90 0" //"StartDisabled" "1" } prop_dynamic { "targetname" "generator_prop_six" "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" "origin" "-940 1888 95" "angles" "0 -25 0" //"StartDisabled" "1" } logic_relay { "targetname" "w3_subwaveone_complete_relay" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Enable" "OnTrigger" "spawnbot_whatever,Enable" "OnTrigger" "spawnbot_barrier_2,Enable" } logic_relay { "targetname" "w3_subwavetwo_complete_relay" "OnTrigger" "spawnbot_hatch,Enable" "OnTrigger" "spawnbot_garage,Enable" } OnSpawnOutput { Target collider_oneway Action $SetCollisionFilter Param "filter_inFactory_or_red" } func_brush { "targetname" "collider_oneway" "origin" "-5920 832 492" "mins" "-8 -192 -180" "maxs" "8 192 180" "startdisabled" "1" } func_brush { "targetname" "collider_oneway" "origin" "-5920 224 360" "mins" "-8 -224 -232" "maxs" "8 224 232" "startdisabled" "1" } prop_dynamic { "targetname" "barrier_oneway_1" "model" "models/mvm/barrier/barrier_oneway_red1.mdl" "origin" "-5920 832 492" "angles" "0 270 0" "solid" "0" "startdisabled" "1" } prop_dynamic { "targetname" "barrier_oneway_2" "model" "models/mvm/barrier/barrier_oneway_red2.mdl" "origin" "-5920 224 360" "angles" "0 270 0" "solid" "0" "startdisabled" "1" } trigger_multiple { "targetname" "yeah" "mins" "-233.5 -960 -448" "maxs" "233.5 960 448" "origin" "-6168 832 576" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inFactory,1" } trigger_multiple { "targetname" "yeah2" "mins" "-232 -960 -448" "maxs" "232 960 448" "origin" "-5632 816 576" "spawnflags" "1" "filtername" "filter_blueteam" "OnStartTouch" "!activator,$SetVar$inFactory,0" } filter_activator_class { "targetname" "filter_player" "filterclass" "player" "negated" "1" } $filter_variable { "targetname" "filter_inFactory" "$name" "inFactory" "$value" "1" "negated" "1" } filter_activator_tfteam { "targetname" "filter_is_not_red" "Negated" "1" "TeamNum" "2" } filter_multi { "targetname" "filter_inFactory_or_red" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_not_red" "Filter02" "filter_inFactory" } } wave4_logic { NoFixup 1 logic_relay { "targetname" "wave4_loss_relay" "OnTrigger" "red_win,RoundWin" } logic_auto { "OnMapSpawn" "spawnbot_scaffold,Disable" "OnMapSpawn" "spawnbot_balcony,Disable" "OnMapSpawn" "spawnbot_balcony_extra,Disable" "OnMapSpawn" "spawnbot_balcony_drain,Disable" "OnMapSpawn" "spawnbot_balcony_drain_extra,Disable" "OnMapSpawn" "spawnbot_garage,Disable" "OnMapSpawn" "spawnbot_hatch,Disable" "OnMapSpawn" "barrier_factory_relay_enable,Trigger" "OnMapSpawn" "barrier_gate1_relay_disable,Disable" "OnMapSpawn" "gate1_door_trigger,Disable" "OnMapSpawn" "gate2_door_trigger,Disable" "OnMapSpawn" "capturezone_blue,Disable" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger wave1_gate1_relay:Trigger::0:-1" "OnMapSpawn" "gate2_relay,AddOutput,OnTrigger wave1_gate2_relay:Trigger::0:-1" "OnMapSpawn" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnMapSpawn" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } logic_relay { //"OnMapSpawn" "pop_interface,Kill" "OnSpawn" "spawnbot_scaffold,Disable" "OnSpawn" "spawnbot_balcony,Disable" "OnSpawn" "spawnbot_balcony_extra,Disable" "OnSpawn" "spawnbot_balcony_drain,Disable" "OnSpawn" "spawnbot_balcony_drain_extra,Disable" "OnSpawn" "spawnbot_garage,Disable" "OnSpawn" "spawnbot_hatch,Disable" "OnSpawn" "barrier_factory_relay_enable,Trigger" "OnSpawn" "barrier_gate1_relay_disable,Disable" "OnSpawn" "gate1_door_trigger,Disable" "OnSpawn" "gate2_door_trigger,Disable" "OnSpawn" "capturezone_blue,Disable" "OnSpawn" "gate1_relay,AddOutput,OnTrigger wave1_gate1_relay:Trigger::0:-1" "OnSpawn" "gate2_relay,AddOutput,OnTrigger wave1_gate2_relay:Trigger::0:-1" "OnSpawn" "reset_wave_relay,AddOutput,OnTrigger gate1_alarm_door_reset_relay:Enable::0:-1" "OnSpawn" "reset_wave_relay,AddOutput,OnTrigger gate2_alarm_door_reset_relay:Enable::0:-1" } logic_relay { "targetname" "wave4_gate1_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "spawnbot_scaffold,Disable" "OnTrigger" "spawnbot_balcony,Disable" "OnTrigger" "spawnbot_balcony_extra,Enable,22" "OnTrigger" "spawnbot_balcony_drain_extra,Enable,,27" "OnTrigger" "gate2_door_trigger,Disable,,24" "OnTrigger" "player,$ChangeAttributes,GateOne_Capped,1" "OnTrigger" "gate1_alarm_door_reset_relay,Disable" "OnTrigger" "gate1_upgrade_sign,Show" "OnTrigger" "teleport_spawn_gate1,Enable" } logic_relay { "targetname" "wave4_gate2_relay" "OnTrigger" "bot_stun_reprogram,Enable" "OnTrigger" "bot_stun_reprogram,Disable,,0.1" "OnTrigger" "player,$ChangeAttributes,GateTwo_Capped,1" "OnTrigger" "spawnbot_balcony_drain,Disable,,21" "OnTrigger" "spawnbot_hatch,Enable,,21" "OnTrigger" "spawnbot_garage,Enable,,21" "OnTrigger" "gate2_alarm_door_reset_relay,Disable" "OnTrigger" "gate2_upgrade_sign,Show" "OnTrigger" "gate2_upgrade_sign2,Show,,2" "OnTrigger" "teleport_gate1,Enable" "OnTrigger" "teleport_gate1,Enable,,22" "OnTrigger" "teleport_gate1,Enable,,50" } logic_relay { "targetname" "w4_subwaveone_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveOne_Complete" "OnTrigger" "barrier_factory_relay_disable,Trigger" "OnTrigger" "spawnbot_factory*,Disable" "OnTrigger" "spawnbot_scaffold,Enable" "OnTrigger" "spawnbot_balcony,Enable" } logic_relay { "targetname" "w4_subwavetwo_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveTwo_Complete" "OnTrigger" "barrier_gate1_relay_disable,Trigger,,3" "OnTrigger" "barrier_gate1*,Disable,,3" "OnTrigger" "spawnbot_balcony_drain_extra,Disable" "OnTrigger" "spawnbot_balcony_extra,Disable" "OnTrigger" "spawnbot_balcony_drain,Enable" } logic_relay { "targetname" "w4_subwavethree_complete_relay" "OnTrigger" "player,$ChangeAttributes,SubwaveThree_Complete" //"OnTrigger" "capturezone_blue,Enable" "OnTrigger" "spawnbot_hatch,Disable" "OnTrigger" "spawnbot_garage,Disable" } team_control_point { "targetname" "wave4_cp" "point_default_owner" "2" "point_group" "0" "point_index" "4" "point_printname" "Bossroom" "point_start_locked" "0" "point_warn_on_cap" "0" "point_warn_sound" "ControlPoint.CaptureWarn" "random_owner_on_restart" "0" "spawnflags" "5" "targetname" "wave4_cp" "team_bodygroup_0" "3" "team_bodygroup_2" "1" "team_bodygroup_3" "1" "team_icon_0" "sprites/obj_icons/icon_obj_neutral" "team_icon_2" "sprites/obj_icons/icon_obj_red" "team_icon_3" "sprites/obj_icons/icon_obj_blu" "team_model_0" "models/effects/cappoint_hologram.mdl" "team_model_2" "models/effects/cappoint_hologram.mdl" "team_model_3" "models/effects/cappoint_hologram.mdl" "team_timedpoints_2" "0" "team_timedpoints_3" "0" "OnCapTeam2" "bots_win,RoundWin,,0,-1" } trigger_capture_area { "targetname" "wave4_win_trigger" "area_cap_point" "wave4_cp" "area_time_to_cap" "5" "team_cancap_2" "0" "team_cancap_3" "1" "mins" "-688 -640 -46" "maxs" "688 640 46" "origin" "-784 1888 -402" } } wave5_logic { NoFixup 1 logic_relay { "OnSpawn" "blu_init_teleport_boss,Enable" "OnSpawn" "bossroom_door_trigger,Enable" "OnSpawn" "wipe_relay,Enable" } logic_relay { "targetname" "wave_start_boss_relay" "OnTrigger" "bossroom_door_trigger,Enable" } game_round_win { "targetname" "red_win" "TeamNum" "2" "switch_teams" "0" "force_map_reset" "1" } trigger_teleport { "mins" "-296 -120 -152" "maxs" "296 120 152" "origin" "-6744 2504 624" "target" "spawnbot" "spawnflags" "1" "filtername" "filter_blueteam" } prop_dynamic { "angles" "0 315 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_building_1" "origin" "-2808 5895 -192" //-2828 4119 -132 } prop_dynamic { "angles" "0 315 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_building_2" "origin" "-2567 -203 243" } prop_dynamic { "angles" "0 135 0" "disableshadows" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "skin" "3" "solid" "0" "targetname" "spawn_hologram_2" "origin" "667.24 4135.62 -191.955" } logic_relay { "targetname" "midphase_start_relay" "OnTrigger" "necromancer_summon*,Disable" "OnTrigger" "shapeshift_loop*,cancelpending" "OnTrigger" "!activator,$AddCond,4,0,-1" "OnTrigger" "teleport_shapeshift,Enable,,1" "OnTrigger" "spawn_hologram*,AddOutput,skin 0" "OnTrigger" "spawn_hologram*,AddOutput,skin 3,2" "OnTrigger" "spawnbot_arena*,Enable,,1.5" "OnTrigger" "spawnbot_arena*,Disable,,3" "OnTrigger" "player,$PlaySoundToSelf,mvm/mvm_tele_activate.wav" "OnTrigger" "shapeshift_global,Trigger,,1,-1" "OnTrigger" "soldier_shapeshift,Trigger,,1.5,-1" } logic_relay { "targetname" "lastphase_start_relay" //"OnTrigger" "spawn_hologram*,AddOutput,skin 0,3" //"OnTrigger" "spawnbot_arena*,Enable,,5" "OnTrigger" "rotate_arenaspawns_relay,Trigger,,5" "OnTrigger" "player,$PlaySoundToSelf,mvm/mvm_tele_activate.wav,5" } logic_relay { "targetname" "rotate_arenaspawns_relay" "spawnflags" "2" "OnTrigger" "spawnbot_arena*,Disable" "Ontrigger" "spawn_hologram*,AddOutput,skin 3,0" "OnTrigger" "spawnbot_arena_case,PickRandomShuffle,,0.01" "OnTrigger" "!self,Trigger,,20" } logic_case { "targetname" "spawnbot_arena_case" "OnCase01" "spawnbot_arena_1,Enable,,0,-1" "OnCase01" "spawn_hologram_1,AddOutput,skin 0,3" "OnCase02" "spawnbot_arena_2,Enable,,0,-1" "OnCase02" "spawn_hologram_2,AddOutput,skin 0,3" "OnCase03" "spawnbot_arena_3,Enable,,0,-1" "OnCase03" "spawn_hologram_3,AddOutput,skin 0,3" } logic_relay { "targetname" "midphase_end_relay" "OnTrigger" "shapeshift_loop*,trigger" "OnTrigger" "necromancer_summon*,Enable,0.1" "OnTrigger" "!activator,$RemoveCond,4,0.1,-1" "Ontrigger" "teleport_shapeshift,Disable" "OnTrigger" "teleport_shapeshift_back,Enable" "OnTrigger" "teleport_shapeshift_back,Disable,,0.1" "OnTrigger" "player,$PlaySoundToSelf,ambient/machines/teleport1.wav" } logic_relay { "targetname" "bip" "OnTrigger" "player,$ChangeAttributes,Return" //"OnTrigger" "player,$DisplayTextCenter,return" } info_target { "targetname" "tele_destination_shapeshift" "origin" "1008 -312 108" } trigger_teleport { "filtername" "filter_shapeshift" "origin" "-352 2736 112" "mins" "-2192 -3664 -656" "maxs" "2192 3664 656" "spawnflags" "1" "StartDisabled" "1" "landmark" "!activator" "target" "tele_destination_shapeshift" "targetname" "teleport_shapeshift" } trigger_teleport { "filtername" "filter_shapeshift" "origin" "-352 2736 112" "mins" "-2192 -3664 -656" "maxs" "2192 3664 656" "spawnflags" "1" "StartDisabled" "1" "target" "spawnbot_boss" "targetname" "teleport_shapeshift_back" } filter_tf_bot_has_tag { "targetname" "filter_shapeshift" "tags" "bot_shapeshift" } } custom_controlpoint_setup { trigger_timer_door { "area_cap_point" "gate1_capturepoint_a" "area_time_to_cap" "10" "door_name" "gate1_spawn_door" "filtername" "filter_blue_bombhat" "origin" "-5424 1412 516" "spawnflags" "3" "StartDisabled" "0" "targetname" "gate1_door_trigger_custom" "team_cancap_2" "0" "team_cancap_3" "1" "team_numcap_2" "1" "team_numcap_3" "1" "team_startcap_2" "1" "team_startcap_3" "1" "OnStartTouchAll" "gate1_spawn_door,Open,,0,-1" "OnEndTouchAll" "gate1_alarm_door_reset_relay,Trigger,,0,-1" "OnCapTeam2" "gate1_spawn_door,Open,,0.1,-1" "OnCapTeam2" "gate1_door_trigger_custom,Disable,,0,-1" "OnCapTeam2" "gate1_relay,Trigger,,0,-1" "OnStartTouchAll" "gate1_alarm_yellow_on,Trigger,,0,-1" "OnCapTeam2" "gate1_alarm_yellow_off,Trigger,,0.1,-1" "OnCapTeam2" "gate1_alarm_blue_on,Trigger,,0.2,-1" "OnStartTouchAll" "gate1_alarm_door_reset_relay,CancelPending,,0,-1" } trigger_timer_door { "area_cap_point" "gate2_capturepoint_b" "area_time_to_cap" "12" "door_name" "gate2_spawn_door" "filtername" "filter_blue_bombhat" "origin" "-3064 -1993 256" "spawnflags" "3" "StartDisabled" "1" "targetname" "gate2_door_trigger" "team_cancap_2" "0" "team_cancap_3" "1" "team_numcap_2" "1" "team_numcap_3" "1" "team_startcap_2" "1" "team_startcap_3" "1" "OnStartTouchAll" "gate2_spawn_door,Open,,0,-1" "OnEndTouchAll" "gate2_alarm_door_reset_relay,Trigger,,0,-1" "OnBreakTeam2" "gate2_spawn_door,Close,,0,-1" "OnCapTeam2" "gate2_spawn_door,Open,,0.1,-1" "OnCapTeam2" "gate2_door_trigger_custom,Disable,,0,-1" "OnCapTeam2" "gate2_relay,Trigger,,0,-1" "OnStartTouchAll" "gate2_alarm_yellow_on,Trigger,,0,-1" "OnCapTeam2" "gate2_alarm_yellow_off,Trigger,,0.1,-1" "OnCapTeam2" "gate2_alarm_blue_on,Trigger,,0.2,-1" "OnStartTouchAll" "gate2_alarm_door_reset_relay,CancelPending,,0,-1" } //team_control_point_master //{ // "classname" "team_control_point_master" // "caplayout" "0 1 2 3" // "cpm_restrict_team_cap_win" "1" // "custom_position_x" "0.4" // "custom_position_y" "-1" // "score_style" "1" // "StartDisabled" "0" // "switch_teams" "0" // "targetname" "master_control_point_custom" // "team_base_icon_2" "sprites/obj_icons/icon_base_red" // "team_base_icon_3" "sprites/obj_icons/icon_base_blu" // "origin" "-6816.9 2013 1228" //} //team_control_point //{ // "angles" "0 270 0" // "point_default_owner" "2" // "point_group" "0" // "point_index" "4" // "point_printname" "Loading Gate A" // "point_warn_on_cap" "2" // "point_warn_sound" "ControlPoint.CaptureWarn" // "spawnflags" "6" // "StartDisabled" "0" // "targetname" "gate1_capturepoint_a_custom" // "team_bodygroup_0" "3" // "team_bodygroup_2" "1" // "team_bodygroup_3" "0" // "team_icon_0" "sprites/obj_icons/icon_obj_neutral" // "team_icon_2" "sprites/obj_icons/icon_obj_red" // "team_icon_3" "sprites/obj_icons/icon_obj_blu_mannhattan" // "team_model_0" "models/effects/cappoint_hologram.mdl" // "team_model_2" "models/effects/cappoint_hologram.mdl" // "team_model_3" "models/effects/cappoint_hologram.mdl" // "team_overlay_0" "sprites/obj_icons/icon_obj_a" // "team_overlay_2" "sprites/obj_icons/icon_obj_a" // "team_overlay_3" "sprites/obj_icons/icon_obj_a" // "team_previouspoint_2_0" "gate1_capturepoint_a_custom" // "team_previouspoint_3_0" "gate1_capturepoint_a_custom" // "team_timedpoints_2" "0" // "team_timedpoints_3" "0" // "origin" "-5519.36 1522.21 603.629" //} //team_control_point //{ // "angles" "0 270 0" // "point_default_owner" "2" // "point_group" "0" // "point_index" "5" // "point_printname" "Loading Gate B" // "point_warn_on_cap" "2" // "point_warn_sound" "ControlPoint.CaptureWarn" // "spawnflags" "6" // "StartDisabled" "0" // "targetname" "gate2_capturepoint_b_custom" // "team_bodygroup_0" "3" // "team_bodygroup_2" "1" // "team_bodygroup_3" "0" // "team_icon_0" "sprites/obj_icons/icon_obj_neutral" // "team_icon_2" "sprites/obj_icons/icon_obj_red" // "team_icon_3" "sprites/obj_icons/icon_obj_blu_mannhattan" // "team_model_0" "models/effects/cappoint_hologram.mdl" // "team_model_2" "models/effects/cappoint_hologram.mdl" // "team_model_3" "models/effects/cappoint_hologram.mdl" // "team_overlay_0" "sprites/obj_icons/icon_obj_c" // "team_overlay_2" "sprites/obj_icons/icon_obj_c" // "team_overlay_3" "sprites/obj_icons/icon_obj_c" // "team_previouspoint_3_0" "gate1_capturepoint_a" // "team_timedpoints_2" "0" // "team_timedpoints_3" "0" // "origin" "-2862 -2438.13 794.7" //} } generator_template { prop_dynamic { "model" "models/props_frontline/generator.mdl" "disableshadows" "1" "solid" "0" } } Shapeshift_PrespawnDisguise { NoFixup 1 KeepAlive 1 OnSpawnOutput { Target "apply_soldier_disguise_initial" Action "Trigger" Delay 0 } //placeholder //OnSpawnOutput //{ // Target "disguise_stop" // Action "Trigger" // Delay 8 //} logic_relay { "targetname" "apply_soldier_disguise_initial" "OnTrigger" "!activator,$WeaponStripSlot,0,0,-1" "OnTrigger" "!activator,$GiveItem,Rocket Launcher,0.1,-1" //"OnTrigger" "!activator,$WeaponSwitchSlot,0,0.1,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/soldier_boss/bot_soldier_boss.mdl,0,-1" "OnTrigger" "!self,Kill,,1,-1" } logic_relay { "targetname" "disguise_stop" "OnTrigger" "!activator,$AddCond,4,0,-1" "OnTrigger" "!activator,$Suicide,,0.7,-1" "OnTrigger" "!self,Kill,,5,-1" "OnTrigger" "spawnbot_extra,Enable,,0.7,-1" } info_target { "targetname" "shapeshift_spawn_target" "origin" "0 0 0" } RemoveIfKilled "disguise_stop" } Shapeshift_Spawn { OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "shapeshift_spawn_target" Delay 0 } OnSpawnOutput { Target "!activator" Action "$PlaySound" Param "vo\mvm\norm\spy_mvm_specialcompleted07.mp3" Delay 0.1 } OnSpawnOutput { Target "shapeshift_spawn_target" Action "Kill" Delay 1 } } Shapeshift_Logic { OnSpawnOutput { Target "shapeshift_start" Action "Trigger" Delay 3 } OnParentKilledOutput { Target "!activator" Action "$SetProp$m_bUseBossHealthBar" Param "0" Delay 0 } logic_relay { "targetname" "shapeshift_start" "spawnflags" "2" "OnTrigger" "!activator,$WeaponStripSlot,0,0.51,-1" "OnTrigger" "shapeshift_loop,Trigger,,0,-1" } logic_relay { "targetname" "shapeshift_global" "spawnflags" "2" "OnTrigger" "!activator,$AddCond,4,0,-1" } logic_relay { "targetname" "shapeshift_loop" "spawnflags" "2" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "soldier_shapeshift,Trigger,,0.5,-1" "OnTrigger" "shapeshift_global,Trigger,,5,-1" "OnTrigger" "demo_automic_shapeshift,Trigger,,5.5,-1" "OnTrigger" "shapeshift_global,Trigger,,10,-1" "OnTrigger" "heavy_shapeshift,Trigger,,10.5,-1" "OnTrigger" "!self,Trigger,,16,-1" } logic_relay { "targetname" "scout_shapeshift" "spawnflags" "2" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "!activator,$WeaponStripSlot,0,0,-1" "OnTrigger" "!activator,$GiveItem,TF_WEAPON_SCATTERGUN,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/scout/bot_scout.mdl,0.11,-1" "OnTrigger" "!activator,$AddCond,4,0.7,-1" "OnTrigger" "!activator,$RemoveCond,4,0.75,-1" } logic_relay { "targetname" "soldier_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,The U-clank-a,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Soldier,0,-1" "OnTrigger" "!activator,$AddCond,40,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/soldier_boss/bot_soldier_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,soldier_sergeant_crits,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "demo_automic_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,40,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Demo,0,-1" "OnTrigger" "!activator,$RemoveItem,Full Metal Drill Hat,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/demo_boss/bot_demo_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,demo_bomber,0.4,-1" //"OnTrigger" "!activator,$SetProp$m_bUseBossHealthBar,0,3,-1" //"OnTrigger" "!activator,$SetProp$m_bUseBossHealthBar,1,0.45,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "heavy_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,Heavy,0,-1" "OnTrigger" "!activator,$RemoveItem,Prince Tavish's Crown,0,-1" "OnTrigger" "!activator,$RemoveItem,The Chargin' Targe,0,-1" "OnTrigger" "!activator,$RemoveItem,The Eyelander,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/heavy_boss/bot_heavy_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,heavy_deflector,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" "OnTrigger" "!activator,$RemoveItemAttribute,minigun spinup time increased|0,2,-1" } } Yakuza_Title_Card_Shapeshift { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "TWO-SIDED MENACE, EXPERIMENTAL UNIT" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "SERGEANT SHAPESHIFT" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } Yakuza_Title_Card_Shapeshift_Supreme { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "ROBOT OF MANY TALENTS, EXPERIMENTAL UNIT" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "SERGEANT SHAPESHIFT SUPREME" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } Shapeshift_Supreme_Logic { OnSpawnOutput { Target "shapeshift_start" Action "Trigger" Delay 3 } OnParentKilledOutput { Target "!activator" Action "$SetProp$m_bUseBossHealthBar" Param "0" Delay 0 } //OnSpawnOutput //{ // Target "!activator" // Action "AddOutput" // Param "targetname shapeshift" //} //OnParentKilledOutput //{ // Target "!activator" // Action "AddOutput" // Param "targetname " //} info_particle_system { "targetname" "spell_effect" "effect_name" "spell_cast_wheel_red" "flag_as_weather" "0" "start_active" "0" "OnUser1" "!self,Start,,0,-1" "OnUser1" "!self,Stop,,0.5,-1" } logic_relay { "targetname" "necromancer_summon" "OnTrigger" "necromancer_summon_case,PickRandomShuffle" "OnTrigger" "spell_effect,FireUser1,,0,-1" } logic_case { "targetname" "necromancer_summon_case" "OnCase01" "summon_chief,Enable,,0,-1" "OnCase01" "summon_chief,Disable,,0.1,-1" "OnCase02" "summon_chief2,Enable,,0,-1" "OnCase02" "summon_chief2,Disable,,0.1,-1" "OnCase03" "summon_chief3,Enable,,0,-1" "OnCase03" "summon_chief3,Disable,,0.1,-1" } logic_relay { "targetname" "shapeshift_start" "spawnflags" "2" "OnTrigger" "!activator,$WeaponStripSlot,0,0.51,-1" "OnTrigger" "shapeshift_loop,Trigger,,0,-1" } logic_relay { "targetname" "shapeshift_global" "spawnflags" "2" "OnTrigger" "!activator,$AddCond,4,0,-1" } logic_relay { "targetname" "shapeshift_loop" "spawnflags" "2" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "soldier_shapeshift,Trigger,,0.5,-1"//"soldier_shapeshift,Trigger,,0.5,-1" "OnTrigger" "shapeshift_global,Trigger,,5,-1" "OnTrigger" "demo_automic_shapeshift,Trigger,,5.5,-1" "OnTrigger" "shapeshift_global,Trigger,,10,-1" "OnTrigger" "heavy_shapeshift,Trigger,,10.5,-1" "OnTrigger" "shapeshift_global,Trigger,,15,-1" "OnTrigger" "medic_shapeshift,Trigger,,15.5,-1" "OnTrigger" "shapeshift_global,Trigger,,20,-1" "OnTrigger" "sniper_shapeshift,Trigger,,20.5,-1" "OnTrigger" "shapeshift_global,Trigger,,25,-1" "OnTrigger" "scout_shapeshift,Trigger,,25.5,-1" "OnTrigger" "!self,Trigger,,30,-1" } logic_relay { "targetname" "scout_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,Corona Australis,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Scout,0,-1" "OnTrigger" "!activator,$PlaySequence,layer_taunt_the_boston_breakdance,0.2,-1" "OnTrigger" "!activator,$AddCond,40,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,2,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/player/scout.mdl,0.11,-1" //"OnTrigger" "!activator,SetCustomModel,models/bots/scout/bot_scout.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,scout_bat,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "soldier_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,Hero's Tail,0,-1" "OnTrigger" "!activator,$RemoveItem,The Eye-Catcher,0,-1" "OnTrigger" "!activator,$RemoveItem,Dead of Night,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Soldier,0,-1" "OnTrigger" "!activator,$AddCond,40,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/soldier_boss/bot_soldier_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,soldier_sergeant_crits,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "demo_automic_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,40,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Demo,0,-1" "OnTrigger" "!activator,$RemoveItem,Tyrant's Helm,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/demo_boss/bot_demo_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,demo_giant,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "heavy_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,Heavy,0,-1" "OnTrigger" "!activator,$RemoveItem,Rimmed Raincatcher,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/heavy_boss/bot_heavy_boss.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,heavy_shotgun_burst_lite,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "medic_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,Medic,0,-1" "OnTrigger" "!activator,$RemoveItem,Security Shades,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/medic/bot_medic.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,medic_boost_giant,0.4,-1" //"OnTrigger" "!activator,$PlaySequence,secondrate_socery_medic,1,-1" "OnTrigger" "necromancer_summon,Trigger,,2,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "sniper_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,Sniper,0,-1" "OnTrigger" "!activator,$RemoveItem,Spine-Chilling Skull,0,-1" //"OnTrigger" "!activator,$RemoveItem,Zombie Medic,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/sniper/bot_sniper.mdl,0.1,-1" "OnTrigger" "!activator,$SetProp$m_iszClassIcon,sniper_bow_atomic,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } } Necromancer_Position { NoFixup 1 info_target { "targetname" "necromancer_target" "Origin" "0 0 0" } } Necromancer_Summoned { OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "necromancer_target" Delay 0 } } Explosive_Tip_Bot { KeepAlive 1 OnSpawnOutput { Target "tip_explosion" Action "$InheritOwner" Param "!activator" Delay 0.1 } OnSpawnOutput { Target "@c@!activator" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "explosive_tip_relay" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "explosive_tip_relay" Action "FireUser1" Delay 0 } logic_relay { "targetname" "explosive_tip_relay" "OnUser1" "!self,Kill,,5,-1" } info_target { "targetname" "detonate_position" "OnUser1" "!self,Kill,,5,-1" } tf_point_weapon_mimic { "targetname" "tip_explosion" "spawnflags" "1" "angles" "0 0 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "1000000" "SpeedMin" "1000000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "3" "OnUser1" "!self,FireOnce,,2,-1" "OnUser4" "!self,DetonateStickies,,0,-1" } logic_measure_movement { "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "tip_explosion" "TargetReference" "detonate_position" "TargetScale" "1" } info_particle_system { "targetname" "sticky_flicker" "effect_name" "stickybomb_pulse_red" "flag_as_weather" "0" "start_active" "0" "OnUser1" "!self,Start,2,1,-1" "OnUser1" "!self,Kill,2.7,3,-1" } logic_measure_movement { "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "sticky_flicker" "TargetReference" "detonate_position" "TargetScale" "1" } ambient_generic { "targetname" "sticky_sound" "message" "weapons/stickybomblauncher_det.wav" "radius" "4000" "health" "5" "spawnflags" "48" "OnUser1" "!self,PlaySound,,1,-1" "OnUser1" "!self,Kill,,3,-1" } logic_measure_movement { "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "sticky_sound" "TargetReference" "detonate_position" "TargetScale" "1" } filter_activator_tfteam { "targetname" "filter_is_blu" "Negated" "0" "TeamNum" "3" "OnUser1" "!self,Kill,,2.1,-1" } trigger_hurt //for some reason I can't explain using a trigger_once or trigger_multiple just blocks the projectile { "targetname" "attach_to_enemy" "origin" "0 0 0" "mins" "-3 -3 -3" "maxs" "3 3 3" "Damage" "0" "spawnflags" "1" "filtername" "filter_is_blu" "OnStartTouch" "detonate_position,SetParent,!activator,0,-1" //"OnStartTouch" "player,$DisplayTextChat,attached,0.1,-1" "OnStartTouch" "!self,Disable,,0.1,-1" "OnUser1" "!self,Kill,,2.1,-1" } RemoveIfKilled "explosive_tip_relay" } Yakuza_Title_Card_HunterChopper { OnSpawnOutput { Target "upper_text" Action "Display" Delay 3 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 3.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "AIRBORNE ASSAULT ARSENAL" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "HELICOPTER" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } Helicopter_Base_Init { NoFixup 1 OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname helicopter_bot" Delay 0 } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname " Delay 0 } info_target { "targetname" "helicopterhitbox_position" "origin" "-100 0 430" } info_target { "targetname" "helicoptershooter_position" "origin" "0 0 420" } } Helicopter_Patterns { NoFixup 1 OnSpawnOutput { Target "pattern_switch" Action "Trigger" Delay 0 } logic_relay { "targetname" "pattern_switch" "spawnflags" "2" //pattern 2 after 4 seconds //"OnTrigger" "player,$DisplayTextChat,pattern 2,4,-1" "OnTrigger" "helicopter_bot_shoot,$ChangeAttributes,Pattern2,4,-1" //pattern 8 after 9 seconds //"OnTrigger" "player,$DisplayTextChat,pattern 3,9,-1" "OnTrigger" "helicopter_bot_shoot,$ChangeAttributes,Pattern3,9,-1" //pattern 4 after 13 seconds //"OnTrigger" "player,$DisplayTextChat,pattern 4,13,-1" "OnTrigger" "helicopter_bot_shoot,$ChangeAttributes,Pattern4,13,-1" //default pattern after 15 seconds, loop //"OnTrigger" "player,$DisplayTextChat,reset,15,-1" "OnTrigger" "helicopter_bot_shoot,$ChangeAttributes,Default,15,-1" "OnTrigger" "pattern_switch,Trigger,,15.1,-1" } } TridentBurst { OnSpawnOutput { Target "firer" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } tf_point_weapon_mimic { "targetname" "firer" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 10 -3" "teamnum" "2" "Crits" "0" "Damage" "120" "ModelScale" "1" "SpeedMax" "1000" "SpeedMin" "1000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } tf_point_weapon_mimic { "targetname" "firer" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 -10 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "1000" "SpeedMin" "1000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } } RocketMastery { OnSpawnOutput { Target "firer" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "firer" Action "SetParent" Param "" Delay 0 } OnSpawnOutput { Target "!activator" Action "Kill" Delay 0.1 } OnSpawnOutput { Target "firer" Action "Kill" Delay 0.1 } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 -10 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "700" "SpeedMin" "700" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 10 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "500" "SpeedMin" "500" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } } RocketSpike { OnSpawnOutput { Target "firer" Action "FireUser1" Delay 0 } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "90 0 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "700" "SpeedMin" "700" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" "OnUser1" "!self,FireUser1,,0.2,-1" } } RocketMasteryConstant { OnSpawnOutput { Target "firer" Action "FireUser1" Delay 0 } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 -10 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "600" "SpeedMin" "600" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" "OnUser1" "!self,FireUser1,,0.4,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 10 0" "origin" "-1 0 -3" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "500" "SpeedMin" "500" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" "OnUser1" "!self,FireUser1,,0.4,-1" } } Helicopter_Shooter_Init { OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname helicopter_bot_shoot" Delay 0 } OnSpawnOutput { Target "helicopter_relay" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "stickies" Action "FireUser1" Delay 5 } OnSpawnOutput { Target "stickies" Action "SetOwner" Param "!activator" Delay 0 } logic_relay { "targetname" "helicopter_relay" "OnUser1" "!activator,$TeleportToEntity,helicoptershooter_position,0,-1" "OnUser1" "!self,FireUser1,,0.01,-1" } tf_point_weapon_mimic { "targetname" "stickies" "$preventshootparent" "1" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "100" "ModelScale" "1" "ModelOverride" "models/weapons/w_models/w_stickybomb.mdl" "SpeedMax" "1000" "SpeedMin" "100" "SplashRadius" "144" "SpreadAngle" "30" "WeaponType" "3" "OnUser1" "!self,FireMultiple,15,0,-1" "OnUser1" "!self,DetonateStickies,,3,-1" "OnUser1" "!self,FireUser1,,4,-1" } //model prop_dynamic { "targetname" "helicopter_model" "model" "models/props_frontline/helicopter_windows.mdl"//"models/combine_helicopter.mdl" "origin" "0 0 -100" "angles" "0 0 0" "DefaultAnim" "fly_idle" "modelscale" "1.5" "skin" "0" "solid" "0" } //glow, doesn't work tf_glow { "GlowColor" "88 133 162" "Mode" "0" "target" "helicopter_model" } } Helicopter_Tank_Init { OnSpawnOutput { Target "helicopter_relay" Action "FireUser1" Delay 0 } //no player collision resolve logic (thanks orin) OnSpawnOutput { Target "!activator" Action "Disable" Delay 1 } // OnSpawnOutput // { // Target "helicopter_pattern2_detect" // Action "Trigger" // Delay 0 // } OnParentKilledOutput { Target "helicopter_bot*" Action "$Suicide" Param "0" Delay 0 } OnParentKilledOutput { Target "helicopter_bot*" Action "AddOutput" Param "targetname " Delay 0.1 } logic_relay { "targetname" "helicopter_relay" "OnUser1" "!activator,$TeleportToEntity,helicopterhitbox_position,0,-1" "OnUser1" "!self,FireUser1,,0.01,-1" } // logic_relay // { // "targetname" "helicopter_pattern2_detect" // "spawnflags" "2" // "OnTrigger" "!activator,AddOutput,OnHealthBelow90Percent helicopter_pattern2_relay:Trigger:0:-1,0,-1" // } } Yakuza_Title_Card_Rockethell { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "FIERCEST WARRIOR OF THE HAZARDOUS HORIZONS" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "RANGER ROCKETHELL" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } Rockethell_Logic { OnSpawnOutput { Target "rockethell_pattern" Action "Trigger" Delay 0.1 } OnSpawnOutput { Target "spellcard" Action "Trigger" Delay 6.9 } game_text { "origin" "1984 1984 99999" "targetname" "spellcard_text" "message" "N/A" "x" "-1" "y" "0.33" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "8" } logic_relay { "targetname" "rockethell_pattern" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,LeftSway,0,-1" "OnTrigger" "!activator,$ChangeAttributes,RightSway,2,-1" "OnTrigger" "!activator,$ChangeAttributes,Bloom,4,-1" "OnTrigger" "!activator,$ChangeAttributes,Homing,5.5,-1" "OnTrigger" "!activator,$AddCond,36,5.5,-1" "OnTrigger" "!activator,$RemoveCond,36,7,-1" "OnTrigger" "!self,Trigger,,7,-1" } logic_relay { "targetname" "spellcard1_relay" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,36,0,-1" "OnTrigger" "rockethell_pattern,$CancelPending,,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_1,0.01,-1" "OnTrigger" "spellcard_text,AddOutput,message Stream Sign ~ World of Rockets & Stripes,0,-1" "OnTrigger" "spellcard_text,Display,,0.01,-1" "OnTrigger" "!activator,$AddPlayerAttribute,no_attack|1,0.02,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,no_attack,1,-1" "OnTrigger" "rockethell_pattern,Trigger,,8,-1" //spellcard duration } logic_relay { "targetname" "spellcard2_relay" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,36,0,-1" "OnTrigger" "rockethell_pattern,$CancelPending,,0,-1" "OnTrigger" "spellcard_text,AddOutput,message Barrage Sign ~ Machine Gun Kiss,0,-1" "OnTrigger" "spellcard_text,Display,,0.01,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_2_1,0.01,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_2_2,2.4,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_2_1,4.8,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_2_2,7.2,-1" "OnTrigger" "rockethell_pattern,Trigger,,8,-1" //spellcard duration } logic_relay { "targetname" "spellcard3_relay" "spawnflags" "2" "OnTrigger" "!activator,$AddCond,36,0,-1" "OnTrigger" "rockethell_pattern,$CancelPending,,0,-1" "OnTrigger" "spellcard_text,AddOutput,message Homing Sign ~ Right Combination,0,-1" "OnTrigger" "spellcard_text,Display,,0.01,-1" "OnTrigger" "!activator,$ChangeAttributes,Spellcard_3,0.01,-1" "OnTrigger" "!activator,$RemoveCond,36,8,-1" "OnTrigger" "rockethell_pattern,Trigger,,8,-1" //spellcard duration } logic_relay { "targetname" "spellcard" "spawnflags" "2" //world of rockets & stripes "OnTrigger" "spellcard1_relay,Trigger,,0,-1" //machine gun kiss "OnTrigger" "spellcard2_relay,Trigger,,14.9,-1" //8 + 6.9 //right combination "OnTrigger" "spellcard3_relay,Trigger,,29.8,-1" //14.9 + 8 + 6.9 //"OnTrigger" "!self,Trigger,,44.7,-1" "OnTrigger" "!self,Trigger,,60,-1" } } LeftSwayRocket { KeepAlive 1 OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "firer_interval" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationX" Param "$$=x(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationY" Param "$$=y(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationZ" Param "$$=z(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "!activator" Action "Kill" Delay 0.1 } logic_relay { "targetname" "firer_interval" "spawnflags" "2" "OnUser1" "firer_angle_counter,FireUser1,0,-1" "OnUser1" "!self,FireUser1,,0.03,-1" //interval } math_counter { "targetname" "firer_angle_counter" "startvalue" "-9" "min" "-9" "max" "99" "OnHitMax" "firer_interval,Kill,,0,-1" "OnHitMax" "firer_angle_formatter,Kill,,0,-1" "OnHitMax" "firer,Kill,,0,-1" "OnHitMax" "!self,Kill,,0.01,-1" "OnGetValue" "firer_angle_counter,$SetVar$Temp,,0,-1" "OnGetValue" "firer,$SetKey$angles,$$=firer_angle_counter.ActivatorRotationX..' '..(firer_angle_counter.ActivatorRotationY + firer_angle_counter.Temp)..' '..firer_angle_counter.ActivatorRotationZ,0.01,-1" "OnGetValue" "firer,FireOnce,,0.02,-1" //"OnGetValue" "player,$DisplayTextChat,$$=x(!activator.m_angRotation)..' '..(y(!activator.m_angRotation) + firer_angle_counter.Temp)..' '..z(!activator.m_angRotation),0.01,-1" //"OnGetValue" "player,$DisplayTextChat,$$=firer_angle_counter.ActivatorRotationX..' '..(firer_angle_counter.ActivatorRotationY + firer_angle_counter.Temp)..' '..firer_angle_counter.ActivatorRotationZ,0.01,-1" "OnUser1" "!self,Add,9,0,-1" //fire 10 rockets in a cycle "OnUser1" "!self,GetValue,,0.01,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "100" "ModelScale" "1" "SpeedMax" "400" "SpeedMin" "400" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" } } RightSwayRocket { KeepAlive 1 OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "firer_interval" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationX" Param "$$=x(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationY" Param "$$=y(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "firer_angle_counter" Action "$SetVar$ActivatorRotationZ" Param "$$=z(!activator.m_angRotation)" Delay 0 } OnSpawnOutput { Target "!activator" Action "Kill" Delay 0.1 } logic_relay { "targetname" "firer_interval" "spawnflags" "2" "OnUser1" "firer_angle_counter,FireUser1,0,-1" "OnUser1" "!self,FireUser1,,0.03,-1" //interval } math_counter { "targetname" "firer_angle_counter" "startvalue" "9" "min" "-99" "max" "9" "OnHitMin" "firer_interval,Kill,,0,-1" "OnHitMin" "firer_angle_formatter,Kill,,0,-1" "OnHitMin" "firer,Kill,,0,-1" "OnHitMin" "!self,Kill,,0.01,-1" "OnGetValue" "firer_angle_counter,$SetVar$Temp,,0,-1" "OnGetValue" "firer,$SetKey$angles,$$=firer_angle_counter.ActivatorRotationX..' '..(firer_angle_counter.ActivatorRotationY + firer_angle_counter.Temp)..' '..firer_angle_counter.ActivatorRotationZ,0.01,-1" "OnGetValue" "firer,FireOnce,,0.02,-1" //"OnGetValue" "player,$DisplayTextChat,$$=x(!activator.m_angRotation)..' '..(y(!activator.m_angRotation) + firer_angle_counter.Temp)..' '..z(!activator.m_angRotation),0.01,-1" //"OnGetValue" "player,$DisplayTextChat,$$=firer_angle_counter.ActivatorRotationX..' '..(firer_angle_counter.ActivatorRotationY + firer_angle_counter.Temp)..' '..firer_angle_counter.ActivatorRotationZ,0.01,-1" "OnUser1" "!self,Subtract,9,0,-1" //fire 10 rockets in a cycle "OnUser1" "!self,GetValue,,0.01,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "100" "ModelScale" "1" "SpeedMax" "400" "SpeedMin" "400" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" } } //burst into rockets after 2 seconds if parent is not destroyed HomingCircleBlow { OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "firer_interval" Action "FireUser1" Delay 2 } logic_relay { "targetname" "firer_interval" "spawnflags" "2" "OnUser1" "firer_angle_counter,FireUser1,0,-1" "OnUser1" "!self,FireUser1,,0.03,-1" //interval } math_counter { "targetname" "firer_angle_counter" "startvalue" "-45" "min" "-45" "max" "360" "OnHitMax" "!activator,Kill,,0.03,-1" "OnGetValue" "firer_angle_counter,$SetVar$Temp,,0,-1" "OnGetValue" "firer,$SetKey$angles,$$=x(!activator.m_angRotation)..' '..(y(!activator.m_angRotation) + firer_angle_counter.Temp)..' '..z(!activator.m_angRotation),0.01,-1" "OnGetValue" "firer,FireOnce,,0.02,-1" //"OnGetValue" "player,$DisplayTextChat,$$=x(!activator.m_angRotation)..' '..(y(!activator.m_angRotation) + firer_angle_counter.Temp)..' '..z(!activator.m_angRotation),0.01,-1" "OnUser1" "!self,Add,45,0,-1" //fire 8 rockets in a cycle "OnUser1" "!self,GetValue,,0.01,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "100" "ModelScale" "1" "SpeedMax" "400" "SpeedMin" "400" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" } } WorldOfRocketsNStripes { OnSpawnOutput { Target "firer" Action "$InheritOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "firer_interval" Action "FireUser1" Delay 0 } logic_relay { "targetname" "firer_interval" "OnUser1" "firer_angle_counter,FireUser1,0,-1" "OnUser1" "!self,FireUser1,,0.1,-1" //interval } math_counter { "targetname" "firer_angle_counter" "startvalue" "-36" "min" "-36" "max" "360" "OnHitMax" "!self,Kill,,0,-1" // "OnHitMax" "firer_interval,Kill,,0,-1" // "OnHitMax" "firer_angle_formatter,Kill,,0,-1" // "OnHitMax" "firer,Kill,,0,-1" "OnGetValue" "firer_angle_formatter,$SetKey$case01,,0,-1" "OnGetValue" "firer_angle_formatter,$Format,,0.01,-1" "OnUser1" "!self,Add,12,0,-1" //fire 30 rockets in a cycle "OnUser1" "!self,GetValue,,0.01,-1" } logic_case { "targetname" "firer_angle_formatter" "case16" "angles 0 % 0" "case01" "0" "ondefault" "firer,AddOutput,,0,-1" "ondefault" "firer,FireUser1,,0.01,-1" } tf_point_weapon_mimic { "targetname" "firer" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "100" "ModelScale" "1" "SpeedMax" "400" "SpeedMin" "400" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "0" "OnUser1" "!self,FireOnce,,0,-1" } } Yakuza_Title_Card_Corporal { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "REPROGRAMMED SPECIAL UNIT" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "CORPORAL CANTEEN" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } Yakuza_Title_Card_Kazuma { OnSpawnOutput { Target "upper_text" Action "Display" Delay 0 } OnSpawnOutput { Target "middle_text" Action "Display" Delay 0.2 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "EX-ROBOT FAMILY PATRIARCH" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" "holdtime" "5" } game_text { "origin" "1984 1984 99999" "targetname" "middle_text" "message" "SERGEANT RECEIVER" "x" "-1" "y" "0.45" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.2" "fadeout" "1" "holdtime" "4.8" } } DopplerShields { OnSpawnOutput { Target "rotate" Action "StartForward" } OnSpawnOutput { Target "rotate2" Action "StartBackward" } OnSpawnOutput { Target "rotate_position" Action "Trigger" } OnSpawnOutput { Target "shield_hitbox" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "shield_hitbox2" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "rotate" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate2" Action "SetParent" Param "" } filter_activator_tfteam { "targetname" "filter_is_blue" "Negated" "0" "TeamNum" "3" } logic_relay { "targetname" "rotate_position" "spawnflags" "2" "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" "OnTrigger" "rotate2,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } entity_medigun_shield { "parentname" "rotate" "targetname" "projectile_shield" "origin" "100 0 0" "spawnflags" "1" "teamnum" "2" } trigger_hurt { "parentname" "rotate" "origin" "100 0 1" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "targetname" "shield_hitbox" "spawnflags" "1" "filtername" "filter_is_blue" "Damage" "20" //damage is half of this "damagetype" "512" } func_rotating { "targetname" "rotate" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "40" "spawnflags" "64" "volume" "0" } //2nd shield entity_medigun_shield { "parentname" "rotate2" "targetname" "projectile_shield" "origin" "100 0 0" "spawnflags" "1" "teamnum" "2" } trigger_hurt { "parentname" "rotate2" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "origin" "-100 0 1" "targetname" "shield_hitbox2" "spawnflags" "1" "filtername" "filter_is_blue" "Damage" "20" //damage is half of this "damagetype" "512" } func_rotating { "targetname" "rotate2" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "40" "spawnflags" "64" "volume" "0" } } Corporal_Logic { NoFixup 1 OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname corporal" } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname " } OnParentKilledOutput { Target "corporal_died" Action "Trigger" } logic_relay { "targetname" "random_canteen_use" "spawnflags" "2" "OnTrigger" "random_canteen_case,PickRandomShuffle,,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=35|mvm/mvm_used_powerup.wav,0,-1" } filter_activator_tfteam { "targetname" "corporal_filter_is_red" "Negated" "0" "TeamNum" "2" } trigger_multiple { "targetname" "buffbanner_trigger" "origin" "0 0 0" "mins" "-500.0 -500.0 -500.0" "maxs" "500.0 500.0 500.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "corporal_filter_is_red" "OnStartTouch" "!activator,$AddCond,16,0,-1" "OnStartTouch" "!activator,$RemoveCond,16,5,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } trigger_multiple { "targetname" "conch_trigger" "origin" "0 0 0" "mins" "-500.0 -500.0 -500.0" "maxs" "500.0 500.0 500.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "corporal_filter_is_red" "OnStartTouch" "!activator,$AddCond,29,0,-1" "OnStartTouch" "!activator,$RemoveCond,29,5,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } trigger_multiple { "targetname" "batt_trigger" "origin" "0 0 0" "mins" "-500.0 -500.0 -500.0" "maxs" "500.0 500.0 500.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "corporal_filter_is_red" "OnStartTouch" "!activator,$AddCond,26,0,-1" "OnStartTouch" "!activator,$RemoveCond,26,5,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } logic_case { "targetname" "random_canteen_case" //precision "oncase01" "!activator,$AddCond,96,0,-1" "oncase01" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}PRECISION {reset}Power Up Canteen!,0,-1" "oncase01" "!activator,$RemoveCond,96,5,-1" //haste "oncase02" "!activator,$AddCond,91,0,-1" "oncase02" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}HASTE {reset}Power Up Canteen!,0,-1" "oncase02" "!activator,$RemoveCond,91,5,-1" //strength "oncase03" "!activator,$AddCond,90,1,-1" "oncase03" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}STRENGTH {reset}Power Up Canteen!,0,-1" "oncase03" "!activator,$RemoveCond,90,5,-1" //crit "oncase04" "!activator,$AddCond,105,1,-1" "oncase04" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}CRIT {reset}Power Up Canteen!,0,-1" "oncase04" "!activator,$RemoveCond,105,5,-1" //buff banner "oncase05" "buffbanner_trigger,FireUser1,,0,-1" "oncase05" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}AREA BUFF {reset}Power Up Canteen!,0,-1" //conch banner "oncase06" "conch_trigger,FireUser1,,0,-1" "oncase06" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}AREA CONCH {reset}Power Up Canteen!,0,-1" //battalion banner "oncase07" "batt_trigger,FireUser1,,0,-1" "oncase07" "player,$DisplayTextChat,{red}{activator}{reset} has used their {9BBF4D}AREA BATTALION {reset}Power Up Canteen!,0,-1" } logic_relay { "targetname" "receiver_died" "OnTrigger" "random_canteen_use,Kill,,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=35|mvm/mvm_used_powerup.wav,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {9BBF4D}HARDER {reset}Power Up Canteen!,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {4DBF9B}BETTER {reset}Power Up Canteen!,0.8,-1" "OnTrigger" "corporal,$AddPlayerAttribute,move speed bonus|0.6|1,0.8,-1" "OnTrigger" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {B94DBF}FASTER {reset}Power Up Canteen!,1.6,-1" "OnTrigger" "corporal,$AddItemAttribute,faster reload rate|1.5|1,1.6,-1" "OnTrigger" "corporal,$AddCond,36,1.6,-1" "OnTrigger" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {E30B2F}STRONGER {reset}Power Up Canteen!,2.4,-1" "OnTrigger" "superior_canteens,Trigger,,2.6,-1" } logic_relay { "targetname" "superior_canteens" "spawnflags" "2" "OnTrigger" "canteen_style,PickRandomShuffle,,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=35|mvm/mvm_used_powerup.wav,0,-1" "OnTrigger" "!self,Trigger,,10,-1" } logic_case { "targetname" "canteen_style" //precision "oncase01" "corporal,$AddCond,96,0,-1" "oncase01" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {E30B2F}SUPERIOR PRECISION {reset}Power Up Canteen!,0,-1" "oncase01" "corporal,$RemoveCond,96,10,-1" //haste "oncase02" "corporal,$AddCond,91,0,-1" "oncase02" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {E30B2F}SUPERIOR HASTE {reset}Power Up Canteen!,0,-1" "oncase02" "corporal,$RemoveCond,91,10,-1" //strength "oncase03" "corporal,$AddCond,90,1,-1" "oncase03" "player,$DisplayTextChat,{red}Corporal Canteen{reset} has used their {E30B2F}SUPERIOR STRENGTH {reset}Power Up Canteen!,0,-1" "oncase03" "corporal,$RemoveCond,90,10,-1" } } Yakuza_Styles { NoFixup 1 OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname receiver" } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname " } OnParentKilledOutput { Target "receiver_died" Action "Trigger" } logic_relay { "targetname" "style_transition" "OnTrigger" "receiver,$RemoveCond,36,0,-1" "OnTrigger" "receiver,$RemoveCond,56,0,-1" "OnTrigger" "receiver,$WeaponStripSlot,-1,0,-1" "OnTrigger" "receiver,$GiveItem,TF_WEAPON_ROCKETLAUNCHER,0.01,-1" } logic_case { "targetname" "randomstyle" "oncase01" "charged_style,Trigger,,0,-1" "oncase02" "homing_style,Trigger,,0,-1" "oncase03" "barrage_style,Trigger,,0,-1" } logic_relay { "targetname" "homing_style" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}{activator}{reset} has changed into their {F81393}HOMING {reset}Combat style!,0,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile trail particle|eyeboss_projectile|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,damage penalty|0.75|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,mod projectile heat seek power|360|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,mod projectile heat aim time|0.8|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Projectile speed increased|0.5|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,fire rate bonus|0.01|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Reload time decreased|0.35|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,clip size upgrade atomic|-1|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile spread angle penalty|5|0,0.02,-1" "OnTrigger" "!activator,$AddCond,36,0.01,-1" } logic_relay { "targetname" "charged_style" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}{activator}{reset} has changed into their {6691FF}CHARGED {reset}Combat style!,0,-1" "OnTrigger" "!activator,$AddItemAttribute,Projectile speed increased|0.5|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,damage bonus|2|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Reload time decreased|0.01|0,0.02,-1" "OnTrigger" "!activator,$AddCond,56,0.01,-1" } logic_relay { "targetname" "barrage_style" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}{activator}{reset} has changed into their {EAAD11}BARRAGE {reset}Combat style!,0,-1" "OnTrigger" "!activator,$AddItemAttribute,fire rate bonus|0.2|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Projectile speed increased|0.5|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,damage bonus|1.5|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,clip size upgrade atomic|26|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Reload time decreased|0.07|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile spread angle penalty|5|0,0.02,-1" } logic_relay { "targetname" "corporal_died" "OnTrigger" "dragon_style,Trigger,,1,-1" "OnTrigger" "player,$DisplayTextChat,{red}Sergeant Receiver{reset} has used their {9BBF4D}TAURINER INFINITY{reset} Power Up Canteen!,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=35|mvm/mvm_used_powerup.wav,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}Sergeant Receiver{reset} has entered {blue}EXTREME HEAT MODE{reset}!,0.5,-1" "OnTrigger" "receiver,$AddPlayerAttribute,health regen|200,0.5,-1" "OnTrigger" "randomstyle,Kill,,0,-1" "OnTrigger" "charged_style_dragon,Trigger,,0,-1" } //start rapidly switching between buffed versions of each styles logic_relay { "targetname" "dragon_style" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "player,$DisplayTextChat,{red}Sergeant Receiver{reset} has changed into their {red}DRAGON REBORN {reset}Combat style!,0,-1" "OnTrigger" "randomstyle,Kill,,0,-1" "OnTrigger" "charged_style_dragon,Trigger,,0,-1" } logic_relay { "targetname" "charged_style_dragon" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "receiver,$AddItemAttribute,projectile no deflect|1|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,Projectile speed increased|0.3|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,damage bonus|1.2|0,0.02,-1" //"OnTrigger" "receiver,$AddItemAttribute,Reload time decreased|0.01|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,fire rate bonus|0.3|0,0.02,-1" "OnTrigger" "receiver,$AddCond,56,0.01,-1" "OnTrigger" "homing_style_dragon,Trigger,,1,-1" } logic_relay { "targetname" "homing_style_dragon" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "receiver,$AddItemAttribute,projectile trail particle|eyeboss_projectile|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,damage penalty|0.75|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,mod projectile heat seek power|360|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,mod projectile heat aim time|0.2|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,Projectile speed increased|0.35|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,fire rate bonus|0.01|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,Reload time decreased|0.08|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,clip size upgrade atomic|-1|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,projectile spread angle penalty|9|0,0.02,-1" "OnTrigger" "receiver,$AddCond,36,0.01,-1" "OnTrigger" "barrage_style_dragon,Trigger,,2,-1" } logic_relay { "targetname" "barrage_style_dragon" "OnTrigger" "receiver,$AddItemAttribute,attach particle effect|704|0,0.02,-1" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "receiver,$AddItemAttribute,fire rate bonus|0.03|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,Projectile speed increased|0.3|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,damage bonus|0.8|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,Reload time decreased|-1|0,0.02,-1" "OnTrigger" "receiver,$AddItemAttribute,projectile spread angle penalty|8|0,0.02,-1" "OnTrigger" "charged_style_dragon,Trigger,,2.5,-1" } } PlayerResInput { NoFixup 1 OnSpawnOutput { Target "playerResInWave" Action Test } logic_relay { "targetname" "set_norespawn_relay" "OnTrigger" "!activator,$AddPlayerAttribute,min respawn time|9999" } logic_relay { "targetname" "wipe_loopfix" "onTrigger" "player,$SetVar$hasRes,0,0,-1" } logic_branch { "startvalue" "0" // used to detect if wave is started or not "targetname" "playerResInWave" "onTrue" "player,$SetVar$inWave,1,0,-1" "onTrue" "playerResInWaveTest,$SetVar$inWave,1,0,-1" "onFalse" "player,$SetVar$inWave,0,0,-1" "onFalse" "playerResInWaveTest,$SetVar$inWave,0,0,-1" } math_counter { "targetname" "playerResInWaveTest" } math_counter { "startvalue" "0" // value to change "targetname" "playerResVal1" "onGetValue" "player,$SetVar$hasRes,,0,-1" } math_counter { "startvalue" "1" // value to change "targetname" "playerResVal2" "onGetValue" "player,$SetVar$hasRes,,0,-1" } math_counter { "startvalue" "2" // value to change "targetname" "playerResVal3" "onGetValue" "player,$SetVar$hasRes,,0,-1" } logic_relay { "targetname" "playerResConfirmForceRespawn" "OnTrigger" "!activator,$ForceRespawnDead,,0,-1" } } PlayerRes { keepalive 1 OnParentKilledOutput { Target "playerResConfirm" Action InValue Param "$$=''..?(int(!activator.hasRes) > 0, ?(int(playerResInWaveTest.inWave) < 1,string('99'),string('1')),?(int(playerResInWaveTest.inWave) < 1,string('99'),string('0')))" } OnSpawnOutput { Target "set_norespawn_relay" Action Trigger } logic_case { "targetname" "playerResConfirm" "case01" "1" "case02" "0" "case03" "99" "OnCase01" "!activator,$ForceRespawnDead,,2,-1" "OnCase01" "!activator,$AddCond,52 5,2.1,-1" //respawn uber, change 2nd number for duration "OnCase01" "!activator,$SetVar$hasRes,$$=(int(!activator.hasRes) - 1),2,-1" // formatting string for if you have lifes "OnCase01" "player,$DisplayTextChat,$$=''.. '{f5c542}' .. string(!activator.m_szNetname) .. string('{ffffff} has been revived, they have {f5c542}') .. string(!activator.hasRes) .. string('{ffffff} more lives left.'),2,-1" "OnCase01" "revivefx,PlaySound,,2.05,-1" "OnCase01" "revivefx,PlaySound,,2.05,-1" "OnCase01" "revivefx,kill,,3,-1" "OnCase01" "!self,kill,,3,-1" // formatting string for if no lifes "OnCase02" "player,$DisplayTextChat,$$=''.. '{f5c542}' .. string(!activator.m_szNetname) .. string('{ffffff} has {ff2b2b} no more lives {ffffff}, they will be able to respawn at wave end.'),0,-1" "OnCase02" "!self,kill,,3,-1" "OnCase02" "revivefx,kill,,3,-1" "OnCase02" "!activator,$AddPlayerAttribute,min respawn time|9999,0,-1" "OnCase03" "playerResConfirmForceRespawn,Trigger,,2,-1" "OnCase03" "!self,kill,,0,-1" "OnCase03" "revivefx,kill,,0,-1" } ambient_generic { "targetname" "revivefx" "origin" "0 0 0" "volstart" "10" "spawnflags" "17" "radius" "999999" "preset" "0" "pitchstart" "125" "pitch" "125" "message" "#mvm\mvm_revive.wav" //to change respawn sound (plays globally) "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "7.5" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } } PlayersLeftLogic { NoFixup 1 math_counter { "targetname" "playersLeftAlive" "startvalue" "0" //"outValue" "playersLeftFormat,$SetKey$Case01,,0,-1" //"outValue" "playersLeftFormat,$Format,,0.2,-1" "outValue" "wipeCheck,SetValueCompare,,0,-1" } logic_compare { "targetname" "wipeCheck" "initialValue" "0" "CompareValue" "0" "OnEqualTo" "blualive_safety_timer,Enable,,0,-1" "OnNotEqualTo" "blualive_safety_timer,Disable,,0,-1" } logic_relay { "targetname" "wipe_relay" "startdisabled" "1" "OnTrigger" "wipe_fade,Fade" "OnTrigger" "wipe_loopfx,Trigger" "OnTrigger" "red_win,RoundWin" } //logic_case //{ // "targetname" "playersLeftFormat" // "case16" "Players Alive: %" //formatting string // "case01" "h" //Will be the number of players currently alive // //"case02" "6" //Uncomment to give another param to show total team size, could be made dynamic but prob best left // "ondefault" "playersLeftDisplay,$SetKey$Message,,0,-1" // "ondefault" "playersLeftDisplay,Display,,0.2,-1" //} //game_text //{ // "targetname" "playersLeftDisplay" // "channel" "3" // "color" "255 255 255" // "color2" "255 255 255" // "effect" "0" // "fadein" "0" // "fadeout" "1" // "fxtime" "0.25" // "holdtime" "9999" // "message" "FunnyHahaPlaceholderText" // "spawnflags" "1" // "x" "0.85" // "y" "0.1" //} logic_timer { "targetname" "blualive_safety_timer" "startdisabled" "1" "refiretime" "5" "OnTimer" "wipe_relay,Trigger" "OnTimer" "!self,Disable" } env_fade { "targetname" "wipe_fade" "duration" "1" "holdtime" "10" "renderamt" "100" "rendercolor" "164 0 0" "spawnflags" "0" } } PlayerTracker { NoFixup 1 OnSpawnOutput { Target "playersLeftAlive" Action "add" Param "1" } logic_relay { "$OnKilled" "playersLeftAlive,Subtract,1,0,0" } } CustomCanteensSetup { OnSpawnOutput { Target "@c@!activator" Action "$SetProp$m_usNumCharges" Param 0 Delay 0 } OnSpawnOutput { Target "!activator" Action "$SetVar$currentCustomCanteenCharges" Param 0 Delay 0 } OnSpawnOutput { Target "!activator" Action "$SetVar$lastUpdatedClass" Param "69" Delay 0 } } CustomCanteens { OnSpawnOutput { Target "canteen_input" Action "FireUser1" Delay 0.1 } OnSpawnOutput { Target "set_class_changed_value" Action "$SetKey$case01" Param "$$=!activator.m_iClass" Delay 0 } OnSpawnOutput { Target "set_class_changed_value" Action "$Format" Delay 0.01 } OnSpawnOutput { Target "class_changed_check" Action "TestActivator" Delay 0.02 } logic_case { //can't target $value with setkey "targetname" "set_class_changed_value" "case16" "$value %" "case01" "def" "OnDefault" "class_changed_check,AddOutput,,0,-1" } $filter_variable { //check if player changed class since last canteen applied update //in which case reset their charges count "targetname" "class_changed_check" "$name" "lastUpdatedClass" "$value" "-1" //to be set later "$compare" "equal" "Negated" "1" "OnPass" "player,$SetVar$currentCustomCanteenCharges,0,0,-1" "OnPass" "player,$SetProp$m_usNumCharges,0,0,-1" } logic_branch { //bool for if player has vanilla canteen "targetname" "vanilla_canteens_bool" "InitialValue" "0" "OnTrue" "!activator,$SetVar$currentCustomCanteenCharges,0,-1" } logic_compare { //check if player owns any vanilla canteen incase a vanilla canteen is bought with a custom canteen equipped //in which case, remove all current current canteens charges "targetname" "vanilla_canteens_check" "CompareValue" "1988" "OnNotEqualTo" "vanilla_canteens_bool,SetValue,1,0,-1" } logic_compare { //check if m_usNumCharges is different from currentCustomCanteenCharges variable "targetname" "canteen_input_used_check" "CompareValue" "69420" //to be set later "OnLessThan" "canteen_owned_check,TestActivator,,0,-1" } logic_compare { "targetname" "sanitize_canteen_input" "CompareValue" "6900" //"OnLessThan" "player,$DisplayTextChat,,0,-1" "OnLessThan" "canteen_input_used_check,SetCompareValue,$$=!activator.currentCustomCanteenCharges,0,-1" "OnLessThan" "canteen_input_used_check,SetValueCompare,,0.01,-1" } logic_relay { "targetname" "canteen_input" //since $getprop with @c@ work like an index loop doing the applied output on every child and default to a set value if the prop index doesn't exist //I can hook it to a logic_compare and see if the input is different from the default value "OnUser1" "@c@!activator,$GetProp$m_usNumCharges,sanitize_canteen_input|SetValueCompare|6900,0,-1" "OnUser1" "vanilla_canteens_bool,SetValue,0,0,-1" //reset for this cycle //test for vanilla cans "OnUser1" "!activator,$GetItemAttribute,9|critboost|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|ubercharge|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|refill_ammo|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|recall|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|building instant upgrade|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "vanilla_canteens_bool,Test,,0.01,-1" "OnUser1" "!self,FireUser1,,0.2,-1" } logic_compare { //check if canteen count is at 0 "targetname" "canteen_is_empty" "CompareValue" "0" "OnEqualTo" "on_canteen_empty,Trigger,,0,-1" "OnUser1" "!activator,$GetVar$currentCustomCanteenCharges,canteen_is_empty|SetValueCompare|-1,0,-1" } logic_relay { //triggered after a successful custom canteen use "targetname" "canteen_input_success" "spawnflags" "2" "OnTrigger" "!activator,$SetVar$currentCustomCanteenCharges,$$=!activator.currentCustomCanteenCharges - 1,0,-1" "OnTrigger" "@c@!activator,$SetProp$m_usNumCharges,$$=!activator.currentCustomCanteenCharges - 1,0,-1" "OnTrigger" "canteen_is_empty,FireUser1,,0.01,-1" } $filter_variable { //check if player has any remaining canteen charges "targetname" "canteen_owned_check" "$name" "currentCustomCanteenCharges" "$value" "0" "$compare" "greater than" "Negated" "0" "OnPass" "canteen_effect,TestActivator,,0,-1" } $filter_variable { "targetname" "canteen_effect" //speed boost canteen "$value" "1" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}SPEED BOOST {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$AddCond,32,0,-1" "OnPass" "!activator,$RemoveCond,32,5,-1" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } $filter_sendprop { "targetname" "filter_is_not_giant" "$name" "m_bIsMiniBoss" "$value" "0" "$compare" "equal" "Negated" "0" } filter_multi { "targetname" "filter_can_be_sapped" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_red" "Filter02" "filter_is_not_giant" } trigger_multiple { "targetname" "reprogram_canteen_apply" "origin" "0 0 0" "mins" "-300.0 -300.0 -300.0" "maxs" "300.0 300.0 300.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_can_be_sapped" "OnStartTouch" "!activator,$AddPlayerAttribute,receive friendly fire|1,0,-1" "OnStartTouch" "!activator,$RemoveCond,43,0,-1" "OnStartTouch" "!activator,$AddCond,50,0,-1" "OnStartTouch" "!activator,$RemovePlayerAttribute,receive friendly fire,8,-1" "OnStartTouch" "!activator,$AddCond,43,8,-1" "OnStartTouch" "!activator,$RemoveCond,50,8,-1" "OnStartTouch" "!activator,$Suicide,50,8,-1" //self-destruct bot after done reprogramming "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.01,-1" } info_particle_system { "targetname" "sapper_effect" "effect_name" "Explosion_ShockWave_01" "flag_as_weather" "0" "start_active" "0" } $filter_variable { "targetname" "canteen_effect" //reprogram canteen "$value" "2" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}REPROGRAM {reset}Power Up Canteen!,0,-1" "OnPass" "sapper_effect,Stop,,0,-1" "OnPass" "sapper_effect,Start,,0.01,-1" "OnPass" "reprogram_canteen_apply,FireUser1,,0,-1" } $filter_variable { "targetname" "canteen_effect" //berserk canteen "$value" "3" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}BERSERK {reset}Power Up Canteen!,0,-1" //force minigun to stop reving/sniper unscope "OnPass" "!activator,$AddItemAttribute,alt-fire disabled|1|0,0,-1" "OnPass" "!activator,$Addcond,41,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$WeaponSwitchSlot,2,0.01,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: damage bonus|1.25,0,-1" //"OnPass" "!activator,$AddItemAttribute,fists have radial buff|1|2,0,-1" //"OnPass" "!activator,$AddPlayerAttribute,melee range multiplier|1.1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,melee attack rate bonus|0.8,0,-1" "OnPass" "!activator,$WeaponSwitchSlot,2,1.5,-1" //for revved up miniguns "OnPass" "!activator,$RemoveItemAttribute,alt-fire disabled|0,5,-1" "OnPass" "!activator,$Removecond,46,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: damage bonus,5,-1" //"OnPass" "!activator,$RemoveItemAttribute,fists have radial buff|2,5,-1" //"OnPass" "!activator,$RemovePlayerAttribute,melee range multiplier,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,melee attack rate bonus,5,-1" "OnPass" "!activator,$Removecond,41,5,-1" } $filter_variable { "targetname" "canteen_effect" //adrenaline canteen "$value" "4" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}ADRENALINE {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: damage bonus|1.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: move speed bonus|1.2,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: health regen|5,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$Removecond,46,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: damage bonus,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: move speed bonus,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: health regen,5,-1" //fatigue "OnPass" "!activator,$Addcond,15,5,-1" "OnPass" "!activator,$AddPlayerAttribute,damage penalty|0.7,5,-1" "OnPass" "!activator,$AddPlayerAttribute,move speed penalty|0.8,5,-1" "OnPass" "!activator,$Removecond,15,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,damage penalty,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,move speed penalty,10,-1" } logic_relay { //proxy relay to deapply stealth, deapplication is cancelled upon using a new stealth canteen to prevent overlap "targetname" "stealth_can_duration" "spawnflags" "2" "OnTrigger" "!activator,$Removecond,64,14.9,-1" } $filter_variable { "targetname" "canteen_effect" //stealth canteen "$value" "5" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}STEALTH {reset}Power Up Canteen!,0,-1" "OnPass" "stealth_can_duration,$CancelPending,,0,-1" "OnPass" "!activator,$Addcond,64,0,-1" "OnPass" "stealth_can_duration,Trigger,,0.1,-1" } trigger_multiple { "targetname" "piss_apply" "origin" "0 0 0" "mins" "-1000.0 -1000.0 -1000.0" "maxs" "1000.0 1000.0 1000.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_is_red" "OnStartTouch" "!activator,$AddCond,24,0,-1" "OnStartTouch" "!activator,$RemoveCond,24,15,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.01,-1" } info_particle_system { "targetname" "piss_effect" "effect_name" "eyeboss_death" "flag_as_weather" "0" "start_active" "0" } $filter_variable { "targetname" "canteen_effect" //piss canteen "$value" "6" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}PISSPLOSION {reset}Power Up Canteen!,0,-1" "OnPass" "piss_effect,Stop,,0,-1" "OnPass" "piss_effect,Start,,0.01,-1" "OnPass" "piss_apply,FireUser1,,0,-1" } $filter_variable { "targetname" "canteen_effect" //knockback immunity canteen "$value" "69" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}KNOCKBACK IMMUNITY {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$Addcond,20,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.001,0,-1" "OnPass" "!activator,$Removecond,20,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,damage force reduction,5,-1" } } CanteenPurchase { NoFixup 1 logic_relay { "targetname" "canteen_count_update" "spawnflags" "2" "$OnUser5" "@c@!activator,$SetProp$m_usNumCharges,,0,-1" "$OnUser5" "!activator,$SetVar$currentCustomCanteenCharges,,0,-1" "$OnUser5" "!activator,$GetProp$m_iClass,!activator|$SetVar$lastUpdatedClass|69,0,-1" } logic_relay { "targetname" "on_canteen_empty" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItemAttribute,refill_ammo|9,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,special item description|9,0,-1" "OnTrigger" "!activator,$SetVar$canteenIndex,-1,0,-1" } } FreelanceMercenary_Logic { OnSpawnOutput { Target "freelance_action_check" Action "Trigger" Delay 0 } OnSpawnOutput { Target "!activator" Action "$GetVar$PreFreelanceSwitchHealth" Param "apply_last_health|$SetKey$CompareValue|-1" Delay 0 } OnSpawnOutput { Target "apply_last_health" Action "Compare" Delay 0.06 } //apply health from previous class if switched logic_compare { "targetname" "apply_last_health" "InitialValue" "-1" "OnNotEqualTo" "!activator,$SetKey$health,$$=!activator.PreFreelanceSwitchHealth,-1,-1" "OnNotEqualTo" "!activator,$SetVar$PreFreelanceSwitchHealth,,0,-1" } $filter_sendprop { "targetname" "using_action" "$name" "m_bUsingActionSlot" "$value" "0" "$compare" "equal" "Negated" "1" "OnPass" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "OnPass" "!activator,$SwitchClassInPlace,$$= test ( !activator.m_iClass + 1 <= 9 , !activator.m_iClass + 1, 1 ) ,0,-1" } logic_relay { "targetname" "freelance_action_check" "spawnflags" "2" "OnTrigger" "using_action,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } } Rage_Replacement { OnSpawnOutput { Target "filter_rage_activated" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "increase buff duration HIDDEN|50|1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_bRageDraining" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_flRageMeter" Delay 0.1 } dispenser_touch_trigger { "targetname" "heavy_dispenser_trigger" "mins" "-400 -400 -400" "maxs" "400 400 400" "spawnflags" "1" "StartDisabled" "1" } mapobj_cart_dispenser { "targetname" "cart_dispenser" "origin" "-40 -10 100" "spawnflags" "10" "TeamNum" "3" "touch_trigger" "heavy_dispenser_trigger" } //check when rage was activated by player $filter_sendprop { "targetname" "filter_rage_activated" "$name" "m_bRageDraining" "$value" "1" "$compare" "equal" "Negated" "0" "OnPass" "rage_activated,Trigger,,0,-1" //"OnPass" "player,$DisplayTextChat,activated,0,-1" "OnUser1" "!self,TestActivator,,0,-1" "OnUser1" "!self,FireUser1,,0.1,-1" } logic_relay { "targetname" "rage_activated" "spawnflags" "2" "OnTrigger" "!activator,$SetClientProp$m_bRageDraining,1,0,-1" "OnTrigger" "!activator,$SetProp$m_bRageDraining,0,0,-1" //effect "OnTrigger" "heavy_dispenser_trigger,Enable,,0,-1" "OnTrigger" "rage_meter,SetValueNoFire,$$=!activator.m_flRageMeter,0,-1" "OnTrigger" "rage_meter_drain,FireUser1,,0.01,-1" } logic_relay { "targetname" "rage_meter_drain" "spawnflags" "2" "OnUser1" "rage_meter,FireUser1,,0,-1" "OnUser1" "!self,FireUser1,,0.1,-1" //interval } math_counter { "targetname" "rage_meter" "startvalue" "0" "min" "0" "max" "100" "OnHitMin" "rage_meter_drain,$CancelPending,,0,0" "OnHitMin" "heavy_dispenser_trigger,Disable,,0,-1" "OnHitMin" "!activator,$SetClientProp$m_bRageDraining,0,0,-1" "OnHitMin" "!activator,$ResetClientProp$m_flRageMeter,,0.03,-1" "OnHitMin" "!activator,$SetProp$m_flRageMeter,0,0,-1" //"OnHitMin" "player,$DisplayTextChat,rage meter ended,0,-1" "OnGetValue" "rage_meter,$SetVar$tempRageHolder,,0,-1" "OnGetValue" "!activator,$SetClientProp$m_flRageMeter,$$=rage_meter.tempRageHolder,0.01,-1" "OnUser1" "!self,Subtract,1,0,-1" //drain per interval "OnUser1" "!self,GetValue,,0.01,-1" } } Caber_Buster { OnSpawnOutput { Target "caber_taunt_checker" Action "Trigger" Delay 0.1 } OnSpawnOutput { Target "common_damage" Action "$SetOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "giant_damage" Action "$SetOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddCond" Param "41" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddCond" Param "85" Delay 0 } OnSpawnOutput { Target "!activator" Action "$RemoveCond" Param "85" Delay 0.01 } OnSpawnOutput { Target "apply_buster_attributes" Action "Trigger" Delay 0.01 } OnParentKilledOutput { Target "!activator" Action "SetCustomModel" Param "" Delay 0 } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "modelscale 1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "SetForcedTauntCam" Param "0" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$RemoveCond" Param "41" Delay 0 } logic_relay { "targetname" "apply_buster_attributes" "OnTrigger" "!activator,AddOutput,modelscale 1.75,0.11,-1" "OnTrigger" "player,$DisplayTextChat,here,0.1,-1" //"OnTrigger" "!activator,$SetModel,models/bots/demo/bot_sentry_buster.mdl,0.11,-1" "OnTrigger" "!activator,$GiveItem,tw_sentrybuster,0.11,-1" "OnTrigger" "!activator,SetForcedTauntCam,1,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,max health additive bonus|625|2,0.11,-1" "OnTrigger" "!activator,sethealth,800,0.3,-1" "OnTrigger" "!activator,$AddItemAttribute,no_attack|1|2,0.11,-1" "OnTrigger" "!activator,$AddPlayerAttribute,move speed penalty|2|2,0,-1" "OnTrigger" "!activator,$AddItemAttribute,damage force reduction|0.5|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,always allow taunt|0.5|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,override footstep sound set|7|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,cannot be backstabbed|1|2,0.11,-1" } filter_tf_class //fixes switching class after taunting and get a demoman model on other classes (lol) { "targetname" "filter_still_demoman" "Negated" "0" "tfclass" "4" "OnPass" "!activator,SetCustomModel,,0,-1" "OnPass" "!activator,$RemoveCond,7,0,-1" "OnPass" "!activator,$RemoveCond,41,0,-1" "OnPass" "!activator,SetForcedTauntCam,0,0,-1" "OnPass" "!activator,$AddCond,57,0,-1" "OnPass" "!activator,$AddCond,32,0,-1" "OnPass" "!activator,$RemoveCond,57,2,-1" "OnPass" "!activator,$RemoveCond,32,2,-1" "OnPass" "common_damage,FireUser1,,0,-1" "OnPass" "giant_damage,FireUser1,,0,-1" "OnPass" "!activator,AddOutput,modelscale 1,0,-1" //"OnPass" "!activator,$RemoveItemAttribute,not solid to players|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,no_attack|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,max health additive bonus|2,0,-1" "OnPass" "!activator,sethealth,201,0,-1" "OnPass" "!activator,$RemovePlayerAttribute,move speed penalty,0,-1" "OnPass" "!activator,$RemoveItemAttribute,damage force reduction|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,always allow taunt|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,model scale|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,override footstep sound set|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,cannot be backstabbed|2,0,-1" "OnPass" "!activator,$AddItemAttribute,mod_maxhealth_drain_rate|1|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,mod_maxhealth_drain_rate|2,0.1,-1" } filter_tf_condition { "targetname" "filter_is_taunting" "Negated" "0" "condition" "7" "OnPass" "caber_taunt_checker,Disable,,0,-1" "OnPass" "!self,Disable,,5,-1" "OnPass" "!activator,$AddPlayerAttribute,move speed penalty|0.001,0,-1" //prevent loserboys from using a cancelable taunt and escape the animation "OnPass" "filter_still_demoman,TestActivator,,2,-1" } filter_activator_tfteam { "targetname" "filter_is_blu" "Negated" "0" "TeamNum" "3" "OnUser1" "!self,Kill,,2.1,-1" } filter_tf_bot_has_tag { "targetname" "filter_is_common" "Negated" "1" "require_all_tags" "1" "tags" "no_reprogram" } filter_tf_condition { "targetname" "filter_still_in_spawn" "Negated" "1" "condition" "51" } filter_tf_condition { "targetname" "filter_ubered" "Negated" "1" "condition" "5" } filter_multi { "targetname" "filter_caber_common" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_blu" "Filter02" "filter_is_common" "Filter03" "filter_still_in_spawn" "Filter04" "filter_ubered" } filter_tf_bot_has_tag { "targetname" "filter_is_giant" "Negated" "0" "require_all_tags" "1" "tags" "no_reprogram" } filter_multi { "targetname" "filter_caber_giant" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_blu" "Filter02" "filter_is_giant" } trigger_hurt { "targetname" "common_damage" "origin" "0 0 0" "mins" "-500 -500 -500" "maxs" "500 500 500" "Damage" "99999" "spawnflags" "1" "filtername" "filter_caber_common" "choices" "64" "StartDisabled" "1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } trigger_hurt { "targetname" "giant_damage" "origin" "0 0 0" "mins" "-500 -500 -500" "maxs" "500 500 500" "Damage" "1200" //damage is half of this "spawnflags" "1" "filtername" "filter_caber_giant" "choices" "64" "StartDisabled" "1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } logic_relay { "targetname" "caber_taunt_checker" "spawnflags" "2" "OnTrigger" "caber_taunt_checker,Trigger,,0.1,-1" "OnTrigger" "filter_is_taunting,TestActivator,!activator,0,-1" } } Building_Level2_Spawn { OnSpawnOutput { Target constructed_check_loop Action Trigger Delay 0.1 } $filter_sendprop { "targetname" "filter_constructed" "$name" "m_flPercentageConstructed" "$value" "1" "$compare" "greater than or equal" "Negated" "0" "OnPass" "apply_level2,Trigger,,0,-1" } //if building was built in setup or player used building canteen, cancel $filter_sendprop { "targetname" "filter_is_already_constructed" "$name" "m_iHighestUpgradeLevel" "$value" "2" "$compare" "greater than or equal" "Negated" "0" "OnPass" "constructed_check_loop,Disable,,0,-1" } logic_relay { "targetname" "constructed_check_loop" "spawnflags" "2" "OnTrigger" "filter_constructed,TestActivator,,0,-1" "OnTrigger" "filter_is_already_constructed,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } logic_relay { "targetname" "apply_level2" "spawnflags" "2" "OnTrigger" "!activator,$SetProp$m_iHighestUpgradeLevel,2,0,-1" "OnTrigger" "constructed_check_loop,Disable,,0,-1" } } Thunderdome_Bot { OnSpawnOutput { Target "!activator" Action "$WeaponSwitchSlot" Param "1" Delay 0 } OnSpawnOutput { Target "shield_hitbox_bot" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "shield_hitbox2_bot" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "projectile_shield_bot" Action "$SetModel" Param "models/props_mvm/mvm_comically_small_player_shield.mdl" } OnSpawnOutput { Target "rotate_bot" Action "Start" } OnSpawnOutput { Target "rotate2_bot" Action "Start" } OnSpawnOutput { Target "rotate_bot" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate2_bot" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate_bot_position" Action "Trigger" } filter_activator_tfteam { "targetname" "filter_is_blue" "Negated" "0" "TeamNum" "3" } logic_relay { "targetname" "rotate_bot_position" "spawnflags" "2" "OnTrigger" "rotate_bot,$TeleportToEntity,!activator,0,-1" "OnTrigger" "rotate2_bot,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } trigger_hurt { "parentname" "rotate_bot" "origin" "100 0 31" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "targetname" "shield_hitbox_bot" "spawnflags" "1" "filtername" "filter_is_blue" "Damage" "60" //damage is half of this "damagetype" "512" } entity_medigun_shield { "parentname" "rotate_bot" "targetname" "projectile_shield_bot" "origin" "100 0 30" "spawnflags" "1" "teamnum" "2" } func_rotating { "targetname" "rotate_bot" "origin" "0 0 30" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" } //2nd shield trigger_hurt { "parentname" "rotate2_bot" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "origin" "-100 0 31" // "angles" "180 0 0" "targetname" "shield_hitbox2_bot" "spawnflags" "1" "filtername" "filter_is_blue" "Damage" "60" //damage is half of this "damagetype" "512" } entity_medigun_shield { "parentname" "rotate2_bot" "targetname" "projectile_shield_bot" "origin" "-100 0 30" "angles" "-180 0 -180" "spawnflags" "1" "teamnum" "2" } func_rotating { "targetname" "rotate2_bot" "origin" "0 0 30" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" } } Thunderdome_Spawn { OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "CARD: damage bonus|1.25|1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "CARD: damage bonus|1.25|2" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "CARD: damage bonus|1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "CARD: damage bonus|2" Delay 0 } // OnSpawnOutput // { // Target "@e@m_hMyWeapons@!activator" // Action "$SetProp$m_iClip1" // Param "0" // Delay 0 // } //very weird hack to prevent switching to weapon // OnSpawnOutput // { // Target "@e@m_hMyWeapons@!activator" // Action "$SetProp$m_bFlipViewModel" // Param "0" // Delay 0.01 // } OnSpawnOutput { Target "!activator" Action "$WeaponSwitchSlot" Param "1" Delay 0 } OnSpawnOutput { Target "shield_hitbox" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "shield_hitbox2" Action "$SetOwner" Param "!activator" } OnSpawnOutput { Target "projectile_shield" Action "$SetModel" Param "models/props_mvm/mvm_comically_small_player_shield.mdl" } OnSpawnOutput { Target "rotate" Action "Start" } OnSpawnOutput { Target "rotate2" Action "Start" } OnSpawnOutput { Target "rotate" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate2" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate_position" Action "Trigger" } filter_activator_tfteam { "targetname" "filter_is_blue" "Negated" "0" "TeamNum" "3" } logic_relay { "targetname" "rotate_position" "spawnflags" "2" "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" "OnTrigger" "rotate2,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } trigger_hurt { "parentname" "rotate" "origin" "100 0 1" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "targetname" "shield_hitbox" "spawnflags" "1" "filtername" "filter_is_red" "Damage" "60" //damage is half of this "damagetype" "512" } entity_medigun_shield { "parentname" "rotate" "targetname" "projectile_shield" "origin" "100 0 0" "spawnflags" "1" "teamnum" "3" "skin" "1" } func_rotating { "targetname" "rotate" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" } //2nd shield trigger_hurt { "parentname" "rotate2" "mins" "-12 -53 -51.5" "maxs" "12 53 51.5" "origin" "-100 0 1" // "angles" "180 0 0" "targetname" "shield_hitbox2" "spawnflags" "1" "filtername" "filter_is_red" "Damage" "60" //damage is half of this "damagetype" "512" } entity_medigun_shield { "parentname" "rotate2" "targetname" "projectile_shield" "origin" "-100 0 0" "angles" "-180 0 -180" "spawnflags" "1" "teamnum" "3" "skin" "1" } func_rotating { "targetname" "rotate2" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" } } BabyFace_Spawn { OnSpawnOutput { Target "bbfb_relay" Action "Trigger" } logic_relay { "targetname" "bbfb_relay" "spawnflags" "2" "OnTrigger" "filter_has_maxcharge,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.2,-1" } $filter_sendprop { "targetname" "filter_has_maxcharge" "$name" "m_flHypeMeter" "$value" "99" "$compare" "greater than or equal" "Negated" "0" "OnPass" "!activator,$AddItemAttribute,add cond when active|46|0,0,-1" "OnPass" "!activator,$AddItemAttribute,reload time increased hidden|0.7|0,0,-1" "OnPass" "!activator,$AddItemAttribute,fire rate bonus HIDDEN|0.8|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,add cond when active|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,reload time increased hidden|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,fire rate bonus HIDDEN|0,0,-1" } } DirectHit_Spawn { //ensure rocket is at 1 on spawn OnSpawnOutput { Target "!activator" Action "$Regenerate" Delay 0 } } DirectHit_Rework_Global { NoFixup 1 //apply cooldown period where you can't reload rocket on hit very briefly //to avoid reloading multiple times in 1 tick through splash damage $filter_variable { "targetname" "_direct_hit_not_on_cooldown" "$name" "NoDirectHitReload" "$value" "1" "$compare" "equal" "Negated" "1" "OnPass" "@e@m_hMyWeapons@!activator,$SetProp$m_iClip1,$$=@e@m_hMyWeapons@!activator.m_iClip1 + 1,0,-1" "OnPass" "!activator,$SetVar$NoDirectHitReload,1,-1,-1" "OnPass" "!activator,$SetVar$NoDirectHitReload,,0,-1" } logic_relay { "targetname" "direct_hit_on_hit" "spawnflags" "2" "OnTrigger" "_direct_hit_not_on_cooldown,TestActivator,,0,-1"//"@e@m_hMyWeapons@!activator,$SetProp$m_iClip1,$$=@e@m_hMyWeapons@!activator.m_iClip1 + 1,0,-1" } } Vitasaw_Rework_Spawn { OnSpawnOutput { Target "vita_relay" Action "Trigger" } logic_relay { "targetname" "vita_relay" "spawnflags" "2" "OnTrigger" "filter_has_enough_organs,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.2,-1" } $filter_sendprop { "targetname" "filter_has_enough_organs" "$name" "m_iDecapitations" "$value" "3" "$compare" "greater than or equal" "Negated" "0" "OnPass" "!activator,$AddItemAttribute,allow friendly fire|1|2,0,-1" "OnFail" "!activator,$RemoveItemAttribute,allow friendly fire|2,0,-1" } } Vitsaw_Rework_Global { NoFixup 1 logic_relay { "targetname" "_vita_duration" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,16,5,-1" "OnTrigger" "!activator,$RemoveCond,29,5,-1" "OnTrigger" "!activator,$RemoveCond,26,5,-1" } filter_activator_tfteam { "targetname" "vitasaw_team_check" "TeamNum" "2"//red "OnPass" "vitasaw_caller,$SetProp$m_iDecapitations,$$=vitasaw_caller.m_iDecapitations - 3,0.01,-1" "OnPass" "vitasaw_caller,AddOutput,targetname ,0.011,-1" "OnPass" "!activator,$AddCond,16,0,-1" "OnPass" "!activator,$AddCond,29,0,-1" "OnPass" "!activator,$AddCond,26,0,-1" "OnPass" "!activator,$CancelPending,,0,-1" "OnPass" "!activator,$RemoveOutput,OnUser4,0,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:16:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:29:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:26:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveOutput:OnUser4:5.1:-1,0.01,-1" "OnPass" "!activator,FireUser4,,0.02,-1" } } // RobotModel // { // OnSpawnOutput // { // Target "apply_robot_model" // Action "Trigger" // } // logic_relay // { // "targetname" "apply_robot_model" //based on current class // "spawnflags" "2" // "OnTrigger" "current_class_robot_model,InValue,$$=!activator.m_iClass,0,-1" // } // logic_case // { // "targetname" "current_class_robot_model" // "case01" "1" // "case04" "4" // "OnCase01" "!activator,$SetModelOverride,models/bots/scout/bot_scout.mdl,0,-1" // "OnCase04" "!activator,$SetModelSpecial,models/bots/demo/bot_demo.mdl,0,-1" // "OnCase04" "player,$DisplayTextChat,demo_model,0,-1" // } // } } SpawnTemplate CanteenPurchase PlayerItemEquipSpawnTemplate { Name CustomCanteens ClassName "tf_powerup_bottle" } PlayerSpawnOnceTemplate { Name CustomCanteensSetup } ExtendedUpgrades { newRage { Name "Dispensing Rage" Cap 1 Increment 1 Cost 200 Description "Deal damage to charge up your Dispense-O-Meter. When fully charged, press the Special-Attack key to activate your dispenser" Attribute "generate rage on damage" AllowedWeapons { Classname "TF_WEAPON_MINIGUN" } SecondaryAttributes { "special item description" "Deal damage to charge up your Dispense-O-Meter. When fully charged, press the Special-Attack key to activate your dispenser" } } //canteens speed_can { Name "Speed Boost Canteen" //random attribute, preferably one that doesn't do anything nor show up on the player, basically just meant to index Attribute "mvm completed challenges bitmask" Cap 5 Increment 1 Cost 25 UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Gain a speed boost for 5 seconds|9,0" Output "!activator,$SetVar$canteenIndex,1,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Gain a speed boost for 5 seconds|9,0" Output "!activator,$SetVar$canteenIndex,1,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } re_can { Name "Reprogram Canteen" Attribute "limited quantity item" Cap 10 Increment 1 Cost 100 Description "Reprogram non-giant enemies in a radius" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Reprogram non-giant enemies in a radius|9,0" Output "!activator,$SetVar$canteenIndex,2,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Reprogram non-giant enemies in a radius|9,0" Output "!activator,$SetVar$canteenIndex,2,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } ber_can { Name "Berserk Canteen" Attribute "throwable healing" Cap 3 Increment 1 Cost 25 Description "Locked to melee for 5 seconds, greatly increased melee power" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Lock to melee but increase melee power|9,0" Output "!activator,$SetVar$canteenIndex,3,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Lock to melee but increase melee power|9,0" Output "!activator,$SetVar$canteenIndex,3,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } add_can { Name "Adrenaline Canteen" Attribute "throwable damage" Cap 3 Increment 1 Cost 75 Description "Gain various buffs for 5 seconds, become weakened for a duration afterward" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Gain various buffs for 5 seconds and become fatigue briefly after duration|9,0" Output "!activator,$SetVar$canteenIndex,4,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Gain various buffs for 5 seconds and become fatigue briefly after duration|9,0" Output "!activator,$SetVar$canteenIndex,4,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } cloak_can { Name "Stealth Canteen" Attribute "throwable particle trail only" Cap 3 Increment 1 Cost 50 Description "Cloak for up to 15 seconds, cloak is cancelled when attacking" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade knock_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Cloak for up to 15 seconds|9,0" Output "!activator,$SetVar$canteenIndex,5,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Cloak for up to 15 seconds|9,0" Output "!activator,$SetVar$canteenIndex,5,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } piss_can { Name "Pissplosion Canteen" Attribute "decoded by itemdefindex" Cap 3 Increment 1 Cost 25 Description "Apply Jarate to enemies within a large radius" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade knock_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Apply Jarate to enemies within a large radius|9,0" Output "!activator,$SetVar$canteenIndex,6,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Apply Jarate to enemies within a large radius|9,0" Output "!activator,$SetVar$canteenIndex,6,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } knock_can { Name "Knockback Immunity Canteen" Attribute "elevate quality" Cap 3 Increment 1 Cost 25 Description "Gain knockback resistance for 5 seconds" UIGroup 2 AllowedWeapons { Classname "tf_powerup_bottle" } DisallowedUpgrade {Upgrade re_can} DisallowedUpgrade {Upgrade speed_can} DisallowedUpgrade {Upgrade ber_can} DisallowedUpgrade {Upgrade add_can} DisallowedUpgrade {Upgrade cloak_can} DisallowedUpgrade {Upgrade piss_can} OnUpgrade { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Knockback resistance for 5 seconds|9,0" Output "!activator,$SetVar$canteenIndex,69,0" } OnApply { Output "canteen_count_update,$FireUser5," Output "!activator,$AddItemAttribute,special item description|Consumable: Knockback resistance for 5 seconds|9,0" Output "!activator,$SetVar$canteenIndex,69,0" } OnDowngrade { Output "canteen_count_update,$FireUser5," Output "on_canteen_empty,Trigger,,0" } } } ExtraSpawnPoint { Name "red" TeamNum 2 X "2408.000000" Y "-96.000000" Z "267.031311" } SpawnTemplate DirectHit_Rework_Global SpawnTemplate Vitsaw_Rework_Global CustomWeapon { "Anti-Aircraft Launcher" { OriginalItemName "The Liberty Launcher" "cannot be upgraded" 1 "mod projectile heat follow crosshair" 1 "mod projectile heat seek power" 180 "Projectile speed increased" 0.2 "fire rate bonus hidden" 2 "fire rate bonus" 0.6 "damage penalty" 1 "damage bonus hidden" 3 "faster reload rate" 0.4 "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 "custom impact sound" "misc/null.wav" "special item description" "+200% damage bonus" } "Thunderdome" { OriginalItemName "Upgradeable TF_WEAPON_MINIGUN" "hidden primary max ammo bonus" 0.0001 "cannot be upgraded" 1 "special item description" "Create 2 small projectile shields that orbit around you and damage enemies" "special item description 2" "Increased damage for secondary and melee" "special item description 3" "No primary weapon" } "Rider On The Storm" { OriginalItemName "Activated Campaign 3 Pass" "increased air control" 3 "dmg from ranged reduced" 0.9 "damage force increase" 2 "cancel falling damage" 1 "custom item model" "models/player/items/all_class/spacechem_pin.mdl" } "Freelance Mercenary" { OriginalItemName "Halloween Spellbook" "special item description" "Hold the Action key to switch between classes on the fly" } } ExtraLoadoutItems { Scout { Action {Item "Rider On The Storm" Cost 10} } Heavyweapons { Primary {Item "Thunderdome"} } Spy { Action {Item "Rider On The Storm" Cost 10} } Action {Item "Freelance Mercenary" Cost 300} } PlayerItemEquipSpawnTemplate { Name FreelanceMercenary_Logic ItemName "Freelance Mercenary" } PlayerItemEquipSpawnTemplate { Name BabyFace_Spawn ItemName "Baby Face's Blaster" } PlayerItemEquipSpawnTemplate { Name Thunderdome_Spawn ItemName "Thunderdome" } PlayerShootTemplate { Name rpg_shoottemplate ItemName "Anti-Aircraft Launcher" AttachToProjectile 1 } ItemAttributes { ItemName "Baby Face's Blaster" "special item description" "Initial Scout: Gain increase to reload and fire rate while at full boost" } PlayerItemEquipSpawnTemplate { Name DirectHit_Spawn ItemName "The Direct Hit" } ItemAttributes { ItemName "The Direct Hit" "fire input on hit" "direct_hit_on_hit^Trigger^" "clip size penalty" 0.25 "special item description" "On Hit: Instantly reload one rocket" } PlayerItemEquipSpawnTemplate { Name "Caber_Buster" ItemName "The Ullapool Caber" } ItemAttributes { ItemName "The Ullapool Caber" "not solid to players" 1 "special item description" "Becomes a Sentry Buster. Taunt to detonate (revert back to a regular Demoman on detonation)" } PlayerSpawnTemplate { Name Rage_Replacement Class Heavyweapons } ItemAttributes { ClassName TF_WEAPON_PDA_ENGINEER_BUILD "special item description" "Buildings start at level 2 after construction" } BuildingSpawnTemplate { Name Building_Level2_Spawn BuildingType "Sentry" } BuildingSpawnTemplate { Name Building_Level2_Spawn BuildingType "Dispenser" } BuildingSpawnTemplate { Name Building_Level2_Spawn BuildingType "Teleporter Entry" } BuildingSpawnTemplate { Name Building_Level2_Spawn BuildingType "Teleporter Exit" } PlayerItemEquipSpawnTemplate { Name Vitasaw_Rework_Spawn ItemName "The Vita-Saw" } ItemAttributes { ItemName "The Vita-Saw" "fire input on hit" "popscript^$vitasawOnHit^vitasaw_team_check" "damage penalty" 0.09 "max health additive penalty" 0 "special item description" "On Hit Teammate: Exchange 3 organs to give target every banner effects for 5 seconds" } SpawnTemplate "general_logic" Wave // Wave #1 { PlayerAttributes { "cannot pick up intelligence" 1 } SpawnTemplate "wave1_logic" InitWaveOutput { Target wave1_init_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "Bomb Fella" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.1 WaitBetweenSpawns 0 Support Limited DoneOutput { Target wave1_loss_relay Action Trigger } RandomChoice{RandomChoice{ TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion_Fake Name "Bomb Fella" Tag bomb_fella EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-7035 1375 196" Delay 1 // 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 } FireInput { Target "bombfella_hologram_1" //Entity name to use Action "Enable" //Input to fire Delay 30 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } Message { Name "{blue}Warning: Threat detected! Cannot proceed until threat levels decrease." Delay 30 Repeats 1 } } SubwaveOne_Complete { FireInput { Target "bombfella_hologram_1" //Entity name to use Action "Disable" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing" //Target "-5485.430176 1419.615723 467.03131" Delay 0.1 // 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 } Message { Name "{blue}Threat sufficiently neutralized. Proceeding..." Delay 0 Repeats 1 } } GateOne_Capped { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing" Delay 0.1 // 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 } Message { Name "{blue}Bomb Fella {FFFFFF}has used their {9BBF4D}SELF HEAL {FFFFFF}Power Up Canteen!" Delay 0 Repeats 1 } AddCond //Adds conditions to bots { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0 Duration 22 } FireInput { Target "canteen_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 22 //Time before the first bot attribute change (Default: 10) Cooldown 1 //Time between each bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) Name "SubwaveTwo" // Name of the bot attributes listed in EventChangeAttributes } //Message //{ // Name "{blue}Gate captured! Initializing reboot sequence..." // Delay 0 // Repeats 1 //} } SubwaveTwo { FireInput { Target "bombfella_hologram_2" //Entity name to use Action "Enable" //Input to fire Delay 20 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-4465 -490 193" Delay 0.1 // 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 } Message { Name "{blue}Warning: Threat detected! Cannot proceed until threat levels decrease." Delay 20 Repeats 1 } } SubwaveTwo_Complete { FireInput { Target "bombfella_hologram_2" //Entity name to use Action "Disable" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing2" Delay 0.1 // 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 } Message { Name "{blue}Threat sufficiently neutralized. Proceeding..." Delay 0 Repeats 1 } } GateTwo_Capped { Message { Name "{blue}Bomb Fella {FFFFFF}has used their {9BBF4D}SELF HEAL {FFFFFF}Power Up Canteen!" Delay 0 Repeats 1 } AddCond //Adds conditions to bots { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0 Duration 21 } FireInput { Target "canteen_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 22 //Time before the first bot attribute change (Default: 10) Cooldown 1 //Time between each bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) Name "SubwaveThree" // Name of the bot attributes listed in EventChangeAttributes } //Message //{ // Name "{blue}Gate captured! Initializing reboot sequence..." // Delay 0 // Repeats 1 //} } SubwaveThree { FireInput { Target "bombfella_hologram_3" //Entity name to use Action "Enable" //Input to fire Delay 25 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1233 549 68" Delay 0.1 // 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 } Message { Name "{blue}Warning: Threat detected! Cannot proceed until threat levels decrease." Delay 25 Repeats 1 } } SubwaveThree_Complete { FireInput { Target "bombfella_hologram_3" //Entity name to use Action "Disable" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } Message { Name "{blue}Threat sufficiently neutralized. Proceeding..." Delay 0 Repeats 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1128 1684 164" 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 1 //Time between each task (Default: 10) Duration 0 // How long should the ai be interrupted WaitUntilDone 1 OnDoneChangeAttributes "Shapeshift" } } Shapeshift { Message { Name "{blue}Bomb Fella {FFFFFF}has used their {9BBF4D}SELF HEAL {FFFFFF}Power Up Canteen!" Delay 0 Repeats 1 } FireInput { Target "canteen_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } AddCond //Adds conditions to bots { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.5 Duration 21 } AddCond //Adds conditions to bots { Name "TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED" Delay 0 Duration 21 } FireInput { Target "end_facade_relay" //Entity name to use Action "Trigger" //Input to fire Delay 0.5 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } FireInput { Target "disguise_stop" //Entity name to use Action "Trigger" //Input to fire Delay 7.5 //Delay before firing the input Cooldown 1 //Cooldown between firing the input Repeats 1 //How many times should the input be fired } Message { Name "{blue}ERROR: Deployment Module Not Found!" Delay 0.5 Cooldown 0.5 Repeats 1 } Message { Name "{blue}ERROR: Deployment Module Not Found!" Delay 2 Cooldown 0.5 Repeats 3 } Message { Name "{blue}Parsing directives..." Delay 4.5 Repeats 1 } Message { Name "{blue}Refactoring..." Delay 6 Repeats 1 } Message { Name "{red}Primary Directive Reacquired: Eliminate BLU." Delay 7.5 Repeats 1 } } } } }} } WaveSpawn { Name "w1_subwaveone_hw" Where "spawnbot_factory_one" Where "spawnbot_factory_two" TotalCount 6 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 38 WaitBeforeStarting 1 WaitBetweenSpawns 1.5 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_common_one" } } } } WaveSpawn { Name "w1_subwaveone" Where "spawnbot_factory_one" Where "spawnbot_factory_two" WaitForAllSpawned "w1_subwaveone_hw" TotalCount 24 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 12 WaitBeforeStarting 10 WaitBetweenSpawns 1.5 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_common_one" } } } } WaveSpawn { Name "w1_subwaveone_sc" Where "spawnbot_factory_one" Where "spawnbot_factory_two" TotalCount 8 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 36 WaitBeforeStarting 1 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Scout_Melee Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_one" } } WaveSpawn { Name "w1_subwaveone" Where "spawnbot_factory_one" Where "spawnbot_factory_two" WaitForAllSpawned "w1_subwaveone_sc" TotalCount 28 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 14 WaitBeforeStarting 10 WaitBetweenSpawns 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Scout_Melee Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_one" } } } } WaveSpawn { Name "w1_subwaveone" Where "spawnbot_factory_one" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 5 WaitBetweenSpawns 20 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_gdetonator" } } WaveSpawn { Name "w1_subwaveone" Where "spawnbot_factory_two" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 25 WaitBetweenSpawns 20 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_gdetonator" } } WaveSpawn { Name "w1_gateone" Where "spawnbot_scaffold" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 1 WaitBetweenSpawns 1.5 TFBot { Class Heavyweapons Name "Giant Steel Gauntlet" ClassIcon heavy_steelfist Skill Expert Health 5000 Item "Fists of Steel" StripItemSlot 0 StripItemSlot 1 WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes DisableDodge ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.6 "damage bonus" 1.2 } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "move speed bonus" 0.5 "override footstep sound set" 2 "voice pitch scale" 0 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing" //Target "-5485.430176 1419.615723 467.03131" Delay 1 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 5 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted WaitUntilDone 1 } SpawnTemplate "points_gsteelfist" } } WaveSpawn { Name "w1_gateone_sc" Where "spawnbot_scaffold" Where "spawnbot_balcony" TotalCount 8 MaxActive 8 SpawnCount 1 Support limited TotalCurrency 75 WaitBeforeStarting 2 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Scout_Scattergun_SlowFire Name "Scout" Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gateone" } } WaveSpawn { Name "w1_gateone" Where "spawnbot_scaffold" Where "spawnbot_balcony" WaitForAllSpawned "w1_gateone_sc" TotalCount 50 MaxActive 8 SpawnCount 1 Support limited TotalCurrency 25 WaitBeforeStarting 15 WaitBetweenSpawns 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Scout_Scattergun_SlowFire Name "Scout" Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gateone" } } } } WaveSpawn { Name "w1_gateone_so" Where "spawnbot_scaffold" Where "spawnbot_balcony" TotalCount 10 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 TFBot { Class Soldier Skill Hard Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gateone" } } WaveSpawn { Name "w1_gateone" Where "spawnbot_scaffold" Where "spawnbot_balcony" WaitForAllSpawned "w1_gateone_so" TotalCount 50 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 50 WaitBeforeStarting 15 WaitBetweenSpawns 2 RandomChoice { RandomChoice { TFBot { Class Soldier Skill Hard Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gateone" } } } } WaveSpawn { Name "w1_subwavetwo" Where "spawnbot_balcony_drain_extra" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_gsoldier" } } WaveSpawn { Name "w1_subwavetwo" Where "spawnbot_balcony_extra" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_gsoldier" } } WaveSpawn { Name "w1_subwavetwo_hw" Where "spawnbot_balcony_drain_extra" Where "spawnbot_balcony_extra" TotalCount 5 MaxActive 5 SpawnCount 1 Support limited TotalCurrency 75 WaitBeforeStarting 2 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_common_two" } } WaveSpawn { Name "w1_subwavetwo" Where "spawnbot_balcony_drain_extra" Where "spawnbot_balcony_extra" WaitForAllSpawned "w1_subwavetwo_hw" TotalCount 24 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 25 WaitBeforeStarting 8 WaitBetweenSpawns 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_common_two" } } } } WaveSpawn { Name "w1_gatetwo_de" Where "spawnbot_balcony_drain" TotalCount 4 MaxActive 4 SpawnCount 1 Support limited TotalCurrency 60 WaitBeforeStarting 10 WaitBetweenSpawns 2.5 TFBot { Class Demoman Skill Expert Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gatetwo" } } WaveSpawn { Name "w1_gatetwo" Where "spawnbot_balcony_drain" WaitForAllSpawned "w1_gatetwo_de" TotalCount 44 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 40 WaitBeforeStarting 7 WaitBetweenSpawns 2.5 RandomChoice { RandomChoice { TFBot { Class Demoman Skill Expert Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } SpawnTemplate "points_common_gatetwo" } } } } WaveSpawn { Name "w1_gatetwo_hf" Where "spawnbot_balcony_drain" TotalCount 3 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 60 WaitBeforeStarting 6 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Heavyweapons_Fist Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_steelfist" } } WaveSpawn { Name "w1_gatetwo" Where "spawnbot_balcony_drain" WaitForAllSpawned "w1_gatetwo_hf" TotalCount 20 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 40 WaitBeforeStarting 12 WaitBetweenSpawns 10 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Fist Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "points_steelfist" } } } } WaveSpawn { Name "w1_gatetwo" Where "spawnbot_balcony_drain" TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 200 WaitBeforeStarting 1 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Giant_Pyro Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing2" Delay 1 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 5 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted WaitUntilDone 1 } SpawnTemplate "points_gpyro" } } WaveSpawn { Name "w1_subwavethree_support_so" Where "spawnbot_hatch" Where "spawnbot_garage" TotalCount 3 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 24 WaitBeforeStarting 1 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Soldier_RocketShotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w1_subwavethree_support" Where "spawnbot_hatch" Where "spawnbot_garage" WaitForAllSpawned "w1_subwavethree_support_so" TotalCount 40 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 26 WaitBeforeStarting 8 WaitBetweenSpawns 4 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Soldier_RocketShotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w1_subwavethree_support_py" Where "spawnbot_hatch" Where "spawnbot_garage" TotalCount 3 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 24 WaitBeforeStarting 5 WaitBetweenSpawns 4 TFBot { Class Pyro Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge WeaponRestrictions PrimaryOnly UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w1_subwavethree_support" Where "spawnbot_hatch" Where "spawnbot_garage" WaitForAllSpawned "w1_subwavethree_support_py" TotalCount 50 MaxActive 6 SpawnCount 1 Support limited TotalCurrency 26 WaitBeforeStarting 8 WaitBetweenSpawns 4 RandomChoice { RandomChoice { TFBot { Class Pyro Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge WeaponRestrictions PrimaryOnly UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w1_subwavethree" Where "spawnbot_hatch" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 1 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Giant_Demoman AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w1_subwavethree" Where "spawnbot_garage" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 1 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Giant_Demoman AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { WaitForAllDead "w1_subwavethree" DoneOutput { Target w1_subwavethree_complete_relay Action Trigger } } WaveSpawn { Name "w1_endboss" Where "spawnbot_extra" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 1 WaitBetweenSpawns 1 DoneOutput { Target wave1_endsequence_relay Action Trigger } TFBot { Template T_TFBot_Sergeant_Shapeshift CharacterAttributes { "force distribute currency on death" 1 } } } WaveSpawn { Where spawnbot TotalCount 0 WaitBeforeStarting 9999 RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon hellmet_blank } } } } } PlayerSpawnTemplate "PlayerRes" PlayerSpawnTemplate "PlayerTracker" SpawnTemplate "PlayersLeftLogic" Wave //Wave #2 { SpawnTemplate "wave2_logic" SpawnTemplate "PlayerResInput" PlayerAttributes { "min respawn time" 9999 } InitWaveOutput { Target wave2_init_relay Action Trigger } StartWaveOutput { Target wave_start_boss_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/ turn it off again at the end of a wave Action ToggleTest } } WaveSpawn { WaitForAllDead "shapeshift" FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/ turn it off again at the end of a wave Action ToggleTest } } WaveSpawn { FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { FirstSpawnOutput { Target boss_resupply Action Disable } } WaveSpawn { Name "shapeshift" Where spawnbot_boss TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 150 DoneOutput { Target "bots_win" Action "RoundWin" } TFBot { Template T_TFBot_Sergeant_Shapeshift_Supreme } } WaveSpawn { Where summon_chief TotalCount 4 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support 1 RandomChoice { RandomChoice { TFBot { SpawnTemplate "Necromancer_Summoned" Template T_TFBot_Scout_Shortstop Health 650 Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge CharacterAttributes { "cancel falling damage" 1 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } } } } } WaveSpawn { Where summon_chief2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support 1 RandomChoice { RandomChoice { TFBot { SpawnTemplate "Necromancer_Summoned" Template T_TFBot_Giant_Pyro_Flare_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "cancel falling damage" 1 "crit mod disabled" 0 } } } } } WaveSpawn { Where summon_chief3 TotalCount 3 MaxActive 3 SpawnCount 3 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support 1 RandomChoice { RandomChoice { TFBot { SpawnTemplate "Necromancer_Summoned" Class Spy Name "Upgraded Munitions Spy" Skill Expert Health 650 Scale 1.35 Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge AimTrackingInterval 0.05 ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "hand scale" 1.5 "override projectile type" 2 "fire rate penalty" 2 "faster reload rate" 1.4 "custom projectile model" "models/weapons/w_models/w_rocketbullet.mdl" "projectile trail particle" "rockettrail_airstrike_line" "no self blast dmg" 2 "centerfire projectile" 1 "projectile no deflect" 1 } CharacterAttributes { "move speed bonus" 0.85 "cannot disguise" 1 "voice pitch scale" 0.8 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.75 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } } } } } WaveSpawn { Name "midphase1" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" TotalCount 2 MaxActive 2 SpawnCount 1 Support limited TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Class Scout Name "Armored Scout" ClassIcon scout_stun_giant_armored Skill Expert Health 3000 WeaponRestrictions PrimaryOnly Attributes MiniBoss Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 5 "move speed penalty" 0.75 "cancel falling damage" 1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "midphase1" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" TotalCount 4 MaxActive 4 SpawnCount 1 Support limited TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Template T_TFBot_Heavyweapons_Fist Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } } } WaveSpawn { Name "midphase1_support" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" TotalCount 10 MaxActive 10 SpawnCount 2 Support limited TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Class Demoman Skill Expert Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "" WaitForAllDead "midphase1" DoneOutput { Target "bip" Action Trigger } } WaveSpawn { Name "midphase2" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" WaitForAllDead "midphase1" TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support Limited TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "midphase2" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" WaitForAllDead "midphase1" TotalCount 4 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support Limited TFBot { Template T_TFBot_Sniper_Huntsman_Spammer Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 "cannot headshot" 1 } CharacterAttributes { "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "midphase2_support" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" WaitForAllDead "midphase1" TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 25 Support Limited TFBot { Class Pyro Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge WeaponRestrictions PrimaryOnly UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "lastphase" Where "spawnbot_arena_1" Where "spawnbot_arena_2" Where "spawnbot_arena_3" WaitForAllDead "midphase2" TotalCount 100 MaxActive 8 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 100 Support Limited RandomChoice { TFBot { Class Pyro Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge WeaponRestrictions PrimaryOnly UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } TFBot { Template T_TFBot_Heavyweapons_Shotgun Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Scout_Scattergun_SlowFire Name "Scout" Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } TFBot { Class Soldier Skill Hard Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } WaveSpawn { Name "" WaitForAllDead "midphase2" DoneOutput { Target "bip" Action Trigger } } WaveSpawn { Where spawnbot TotalCount 0 WaitBeforeStarting 9999 RandomChoice { RandomChoice { TFBot { Class Scout ClassIcon hellmet_blank } } } } } Mission { Objective Spy Where spawnbot_factory_one Where spawnbot_factory_two Where spawnbot_balcony Where spawnbot_balcony_extra Where spawnbot_balcony_drain Where spawnbot_balcony_drain_extra Where spawnbot_hatch BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 25 DesiredCount 2 TFBot { Class Spy Skill Expert AddCond {Name "TF_COND_REPROGRAMMED" } } } Wave // Wave #3 { SpawnTemplate "wave3_logic" StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave3_init_relay Action Trigger } WaveSpawn // Tank # HP { Name "generator_one" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_one" StartingPathTrackNode "generator_one_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 OnKilledOutput { Target generator_one_killed_relay Action Trigger } } } WaveSpawn // Tank # HP { Name "generator_twothree" WaitForAllSpawned "areaone_done" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_two" StartingPathTrackNode "generator_two_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 } } WaveSpawn // Tank # HP { Name "generator_twothree" WaitForAllSpawned "areaone_done" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_three" StartingPathTrackNode "generator_three_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 } } WaveSpawn // Dummy { WaitForAllDead "generator_twothree" DoneOutput { Target "generator_twothree_killed_relay" Action Trigger } } WaveSpawn // Tank # HP { Name "generator_fourfivesix" WaitForAllSpawned "areatwo_done" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_four" StartingPathTrackNode "generator_four_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 } } WaveSpawn // Tank # HP { Name "generator_fourfivesix" WaitForAllSpawned "areatwo_done" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_five" StartingPathTrackNode "generator_five_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 } } WaveSpawn // Tank # HP { Name "generator_fourfivesix" WaitForAllSpawned "areatwo_done" TotalCount 1 MaxActive 1 SpawnCount 1 Tank { SpawnTemplate "generator_template" Name "generator_six" StartingPathTrackNode "generator_six_path_1" Health 5000 Speed 0 Skin 0 Scale 0.4 Model "models/empty.mdl" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 TeamNum 2 } } WaveSpawn // Dummy { WaitForAllDead "generator_fourfivesix" DoneOutput { Target "generator_fourfivesix_killed_relay" Action Trigger } } WaveSpawn { Name "blue_support_1" Where spawnbot_barrier_1 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 Support Limited DoneOutput { Target "spawn_hologram_barrier1" Action Disable } TFBot { Template T_TFBot_Soldier_AA Action Mobber FireInput { Target "changeattribute_state" Action "GetValue" Delay 0.1 Cooldown 8 Repeats 1 } EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "spawn_hologram_barrier1" Delay 0.1 // 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 } Attributes SuppressFire CharacterAttributes { //"move speed bonus" 0.2 "no_jump" 1 } } BarrierDown { } CaptureGateOne { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing" //Target "-5485.430176 1419.615723 467.03131" Delay 0.1 // 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 } } } } } WaveSpawn { Name "w3_subwaveone_a_support" Where "spawnbot_factory_one" Where "spawnbot_factory_two" TotalCount 12 MaxActive 8 SpawnCount 2 Support limited TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1 TFBot { Class Soldier Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwaveone_a_support" Where "spawnbot_factory_one" Where "spawnbot_factory_two" TotalCount 5 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 75 WaitBeforeStarting 5 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Soldier_Extended_Battalion Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 Item "Steel Shako" AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwaveone_b_support_so" Where "spawnbot_scaffold" Where "spawnbot_balcony" WaitForAllSpawned "w3_subwaveone_a_support" TotalCount 4 MaxActive 4 SpawnCount 2 Support limited TotalCurrency 120 WaitBeforeStarting 5 WaitBetweenSpawns 1 RandomChoice { RandomChoice { TFBot { Class Soldier Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwaveone_b_support" Where "spawnbot_scaffold" Where "spawnbot_balcony" WaitForAllSpawned "w3_subwaveone_b_support_so" TotalCount 50 MaxActive 6 SpawnCount 2 Support limited TotalCurrency 30 WaitBeforeStarting 15 WaitBetweenSpawns 1 RandomChoice { RandomChoice { TFBot { Class Soldier Skill Normal Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwaveone_b_support_sb" Where "spawnbot_scaffold" Where "spawnbot_balcony" WaitForAllSpawned "w3_subwaveone_a_support" TotalCount 5 MaxActive 3 SpawnCount 1 Support limited TotalCurrency 25 WaitBeforeStarting 16 WaitBetweenSpawns 8 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Battalion Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 Item "Steel Shako" AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwaveone" Where "spawnbot_factory_one" TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 20 Squad { TFBot { Class Demoman ClassIcon demoknight_giant Name "Giant Demoknight" Skill Expert Health 3300 Item "Prince Tavish's Crown" Item "The Eyelander" Item "Ali Baba's Wee Booties" WeaponRestrictions MeleeOnly Attributes MiniBoss Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } WaveSpawn { Name "w3_subwaveone" Where "spawnbot_factory_two" TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 5 WaitBetweenSpawns 20 Squad { TFBot { Class Demoman ClassIcon demoknight_giant Name "Giant Demoknight" Skill Expert Health 3300 Item "Prince Tavish's Crown" Item "The Eyelander" Item "Ali Baba's Wee Booties" WeaponRestrictions MeleeOnly Attributes MiniBoss Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } WaveSpawn { Name "w3_subwaveone" Where "spawnbot_balcony" Where "spawnbot_scaffold" TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 25 WaitBetweenSpawns 0 Squad { TFBot { Class Demoman ClassIcon demoknight_giant Name "Giant Demoknight" Skill Expert Health 3300 Item "Prince Tavish's Crown" Item "The Eyelander" Item "Ali Baba's Wee Booties" WeaponRestrictions MeleeOnly Attributes MiniBoss Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } TFBot { Template T_TFBot_Medic_QuickFix Attributes IgnoreFlag Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } WaveSpawn { Name "heli_support_hf" WaitForAllSpawned "heli" Where "spawnbot_balcony_extra" Where "spawnbot_scaffold_extra" TotalCount 5 MaxActive 3 SpawnCount 1 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 8 Support Limited TFBot { Template T_TFBot_Heavyweapons_Fist Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "Thunderdome_Bot" } } WaveSpawn { Name "heli_support" Where "spawnbot_balcony_extra" Where "spawnbot_scaffold_extra" WaitForAllSpawned "heli_support_hf" TotalCount 50 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 16 WaitBetweenSpawns 8 Support Limited TFBot { Template T_TFBot_Heavyweapons_Fist Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "crit mod disabled" 0 "force distribute currency on death" 1 "voice pitch scale" 0 } SpawnTemplate "Thunderdome_Bot" } } WaveSpawn { Name "heli" Where spawnbot_heli TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 WaitForAllDead "generator_one" Tank { SpawnTemplate "Helicopter_Tank_Init" Health 30000 Speed 0 Scale 1.1 DisableSmokestack 1 MaxTurnRate 0 Model "models/empty.mdl" ReplaceModelCollisions 1 StartSound "misc/null.wav" PingSound "misc/null.wav" EngineLoopSound "misc/null.wav" Gravity 0 TeamNum 2 DisableTracks 1 DisableChildModels 1 Name "tankboss" //StartingPathTrackNode "Helicopter_1" OnKilledOutput { Target heli_killed_relay Action Trigger } } } WaveSpawn { Name "heli" Where spawnbot_heli TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support Limited WaitForAllDead "generator_one" RandomChoice { RandomChoice { TFBot { SpawnTemplate "Helicopter_Base_Init" Template T_TFBot_Helicopter_Base AddCond { Name "TF_COND_REPROGRAMMED" } InterruptAction { Target "-4080.4 -666.5 424.4" Delay 0.1 Repeats 1 } } } } } WaveSpawn { Name "heli" Where spawnbot_heli TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 Support Limited WaitForAllDead "generator_one" RandomChoice { RandomChoice { TFBot { SpawnTemplate "Helicopter_Shooter_Init" Template T_TFBot_Helicopter_Shoot AddCond { Name "TF_COND_REPROGRAMMED" } } } } } WaveSpawn { Name "" Where spawnbot_barrier_2 TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 Support 1 DoneOutput { Target "spawn_hologram_barrier2" Action Disable } TFBot { Template T_TFBot_Soldier_AA Action Mobber FireInput { Target "changeattribute_state2" Action "GetValue" Delay 0.1 Cooldown 8 Repeats 1 } EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "spawn_hologram_barrier2" Delay 0.1 // 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 } Attributes SuppressFire CharacterAttributes { //"move speed bonus" 0.2 "no_jump" 1 } } BarrierDown2 { } CaptureGateTwo { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "trigger_that_does_nothing2" //Target "-5485.430176 1419.615723 467.03131" Delay 0.1 // 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 } } } } } WaveSpawn { Name "w3_subwavetwo_hsb" Where "spawnbot_balcony_drain" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 20 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 5 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavetwo" Where "spawnbot_balcony_drain" WaitForAllDead "w3_subwavetwo_hsb" TotalCount 25 MaxActive 1 SpawnCount 1 Support Limited TotalCurrency 25 WaitBeforeStarting 10 WaitBetweenSpawns 20 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 5 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavetwo_hsw" Where "spawnbot_whatever" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 20 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 5 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavetwo" Where "spawnbot_whatever" WaitForAllDead "w3_subwavetwo_hsw" TotalCount 25 MaxActive 1 SpawnCount 1 TotalCurrency 25 WaitBeforeStarting 10 WaitBetweenSpawns 20 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 5 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavetwo_boss" Where "spawnbot_whatever2" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0 DoneOutput { Target chief_killed_relay Action Trigger } TFBot { Template T_TFBot_Chief_Soldier_Alternating Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "areaone_done" Where "spawnbot_balcony_drain" Where "spawnbot_whatever" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Pyro_DF Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavetwo_support_df" Where "spawnbot_balcony_drain" Where "spawnbot_whatever" TotalCount 6 MaxActive 6 SpawnCount 2 TotalCurrency 60 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support Limited TFBot { Template T_TFBot_Pyro_DF ItemAttributes { ItemName "The Dragon's Fury" "airblast disabled" 1 } Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavetwo_support" Where "spawnbot_balcony_drain" Where "spawnbot_whatever" WaitForAllSpawned "w3_subwavetwo_support_df" TotalCount 80 MaxActive 8 SpawnCount 2 TotalCurrency 40 WaitBeforeStarting 15 WaitBetweenSpawns 5 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Pyro_DF Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavetwo_support_sss" Where "spawnbot_balcony_drain_extra" Where "spawnbot_whatever2" TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 60 WaitBeforeStarting 0 WaitBetweenSpawns 8 Support Limited TFBot { Template T_TFBot_Scout_Shortstop Health 650 Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge CharacterAttributes { "cancel falling damage" 1 "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } } } WaveSpawn { Name "w3_subwavetwo_support" Where "spawnbot_balcony_drain_extra" Where "spawnbot_whatever2" WaitForAllSpawned "w3_subwavetwo_support_sss" TotalCount 40 MaxActive 3 SpawnCount 1 TotalCurrency 40 WaitBeforeStarting 12 WaitBetweenSpawns 12 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Scout_Shortstop Health 650 Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge CharacterAttributes { "cancel falling damage" 1 "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } } } } } WaveSpawn { Name "areatwo_done" Where "spawnbot_hatch" Where "spawnbot_garage" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Demo_Burst Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavethree_cfh" Where "spawnbot_hatch" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 15 TFBot { Template T_TFBot_Giant_Pyro_ComboFlare Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavethree" Where "spawnbot_hatch" WaitForAllSpawned "w3_subwavethree_cfh" TotalCount 10 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 25 WaitBetweenSpawns 15 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Pyro_ComboFlare Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavethree_cfg" Where "spawnbot_garage" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 15 TFBot { Template T_TFBot_Giant_Pyro_ComboFlare Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavethree" Where "spawnbot_garage" WaitForAllSpawned "w3_subwavethree_cfg" TotalCount 10 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 25 WaitBetweenSpawns 15 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Pyro_ComboFlare Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavethree_support_de" Where "spawnbot_hatch" Where "spawnbot_garage" TotalCount 6 MaxActive 6 SpawnCount 1 TotalCurrency 60 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support Limited TFBot { Template T_TFBot_Demo_Burst Skill Expert Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_subwavethree_support" Where "spawnbot_hatch" Where "spawnbot_garage" WaitForAllSpawned "w3_subwavethree_support_de" TotalCount 80 MaxActive 8 SpawnCount 1 TotalCurrency 40 WaitBeforeStarting 20 WaitBetweenSpawns 3 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Demo_Burst Skill Expert Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_boss_support_sbh" Where "spawnbot_hatch_extra" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 25 Support Limited TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_boss_support" Where "spawnbot_hatch_extra" WaitForAllDead "w3_boss_support_sbh" TotalCount 20 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 15 WaitBetweenSpawns 25 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_boss_support_sbg" Where "spawnbot_garage_extra" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 25 Support Limited TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "w3_boss_support" Where "spawnbot_garage_extra" WaitForAllDead "w3_boss_support_sbg" TotalCount 20 MaxActive 1 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 15 WaitBetweenSpawns 25 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond { Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } } WaveSpawn { Name "w3_subwavetwo_boss" Where "spawnbot_hatchshield" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 300 WaitBeforeStarting 0 WaitBetweenSpawns 0 DoneOutput { Target doppler_killed_relay Action Trigger } TFBot { Template T_TFBot_Ranger_Doctor_Doppler Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } CharacterAttributes { "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "crit mod disabled" 0 "force distribute currency on death" 1 } } } } Wave // Wave #4 { SpawnTemplate "wave4_logic" StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave4_init_relay Action Trigger } WaveSpawn { Where spawnbot_heli TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 TFBot { SpawnTemplate Yakuza_Title_Card_Corporal Template T_TFBot_Chief_Canteen } } WaveSpawn { Where spawnbot_whatever TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 TFBot { SpawnTemplate Yakuza_Title_Card_Corporal Template T_TFBot_Chief_Canteen } } WaveSpawn { Where spawnbot_hatchshield TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 TFBot { //SpawnTemplate Yakuza_Title_Card_Corporal Template T_TFBot_Chief_Canteen } } WaveSpawn { Where spawnbot_hatchshield TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 0 TFBot { //SpawnTemplate Yakuza_Title_Card_Corporal Template T_TFBot_Chief_Canteen } } } Wave //Wave #5 { SpawnTemplate "wave5_logic" SpawnTemplate "PlayerResInput" PlayerAttributes { "min respawn time" 9999 } InitWaveOutput { Target wave5_init_relay Action Trigger } StartWaveOutput { Target wave_start_boss_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/ turn it off again at the end of a wave Action ToggleTest } } WaveSpawn { WaitForAllDead "shapeshift" FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/ turn it off again at the end of a wave Action ToggleTest } } WaveSpawn { FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { FirstSpawnOutput { Target boss_resupply Action Disable } } WaveSpawn { Name "ranger" Where spawnbot_boss TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 150 DoneOutput { Target "bots_win" Action "RoundWin" } TFBot { Template T_TFBot_Ranger_Rockethell Action Mobber BehaviorModifiers Mobber Attributes IgnoreFlag Attributes DisableDodge UseMeleeThreatPrioritization 1 AddCond {Name "TF_COND_REPROGRAMMED" } } } } }