#base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop BabysFirstExpert { StartingCurrency 450 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 5 RobotLimit 22 NoThrillerTaunt 1 NoRomevisionCosmetics 1 NoCritPumpkin 1 ForceHoliday 2 BotsAreHumans 2 StandableHeads 1 TextPrintTime 0 BodyPartScaleSpeed 10 WaveStartCountdown 3 PrecacheModel "models/weapons/c_models/c_critbanner/c_critbanner.mdl" PrecacheModel "models/weapons/c_models/c_bulletbanner/c_bulletbanner.mdl" PrecacheModel "models/weapons/c_models/c_hastebanner/c_hastebanner.mdl" //one item (#1) ItemAttributes { ItemName "Baby Face's Blaster" "weapon spread bonus" 0.8 "clip size penalty" 1 "hype resets on jump" 25 "lose hype on take damage" 1 "special item description" "Lessened boost loss on dmg and jump, added 20% lower weapon spread, and removed clip size penalty." } //one item (#2) ItemAttributes { ItemName "The Flying Guillotine" "mark for death" 1 "minicrits become crits" 1 } //one item (#3) ItemAttributes { ClassName "TF_WEAPON_PISTOL" "max health additive bonus" 25 "critboost on kill" 3 "maxammo metal increased" 1.5 } //one item (#4) ItemAttributes { ItemName "The Liberty Launcher" "mod projectile heat follow crosshair" 1 "mod projectile heat seek power" 180 "Projectile speed increased" 0.2 "fire rate bonus hidden" 2 "damage penalty" 1 "damage bonus hidden" 2 "clip size bonus" .25 "projectile acceleration" 5000 "projectile acceleration time" .1 "projectile acceleration start time" .5 "custom weapon fire sound" "=50|rpg_sounds/rocketfire1.wav" "mod projectile heat aim time" 10 "custom impact sound" "sound/misc/null.wav" "special item description" "+100% damage bonus" } //one item (#5) ItemAttributes { ItemName "The B.A.S.E. Jumper" "dmg taken from blast reduced" 0.65 "increased air control" 4 "air dash count" 1 } //one item (#6) ItemAttributes { ItemName "The Gunboats" "max health additive bonus" 50 "deploy time decreased" 0.35 "rocket jump damage reduction" .05 "cancel falling damage" 2 } //one item i swear(#7) ItemAttributes { ItemName "Panic Attack Shotgun" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PRIMARY" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "minicritboost on kill" 5 "max health additive bonus" 25 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "minicritboost on kill" 5 "max health additive bonus" 25 } //one item (#8) ItemAttributes { ItemName "The Degreaser" "flame_reflect_on_collision" 1 "max_flame_reflection_count" 2 "reflected_flame_dmg_reduction" 2 "special item description" "Flames will ricochet off of surfaces up to 2 times. Ricocheted flames deal double damage" } //one item (#9) ItemAttributes { ItemName "The Pain Train" "damage bonus" 2 "dmg taken from bullets increased" 1 "bleeding duration" 5 "hit self on miss" 1 "drop health pack on kill" 1 "special damage type" 1 "dmg taken mult from special damage type 1" 0.65 } //one item (#10) ItemAttributes { ItemName "The Family Business" "health regen" 2 "heal on hit for rapidfire" 25 "switch from wep deploy time decreased" .7 "single wep deploy time decreased" .4 } //one item (#11) ItemAttributes //I really liked this on royal's mission so I just had to get permission to modify it and put it here { ItemName "The Gunslinger" "upgrade rate decrease" 2 "mult dispenser rate" 1.5 "mult teleporter recharge rate" 0.5 "build rate bonus" 0.5 "mvm sentry ammo" 2 "engy sentry radius increased" 2 "engineer teleporter build rate multiplier" 2.5 "special item description" "+55% damage bonus on all primaries and the short circuit, +100% damage bonus for all melees." } //one item (#12) ItemAttributes { ItemName "TF_WEAPON_SMG" "max health additive bonus" 25 "damage bonus" 1.30 "minicritboost on kill" 5 "dmg pierces resists absorbs" 1 "can headshot" 1 "revolver use hit locations" 1 } //one item (#13) ItemAttributes { ItemName "The Amputator" "special item description" "Alt-Fire: Provides mini-crits to nearby team members" "always crit" 1 } //one item i swear(#14) ItemAttributes { ItemName "TF_WEAPON_INVIS" "max health additive bonus" 50 } ItemAttributes { ItemName "The Cloak and Dagger" "max health additive bonus" 50 } //one item (#15) ItemAttributes { ItemName "The Enforcer" "damage bonus" 1.5 "fire rate penalty" 2 "faster reload rate" 1.4 "explosive bullets" 147 "blast dmg to self increased" 0.6 "special damage type" 2 "mult dmg vs tanks" 2 "self dmg push force decreased" 0.6 "special item description" "Cannot blast jump while disguised" } ItemAttributes //Adds attributes to specified item given to players { ItemName "The Solemn Vow" "add cond when active" 95 "mult_dmgtaken_active" 2 "dmg penalty vs nonburning" 0 "damage bonus vs burning" 0 "special item description" "Do No Harm: when this weapon is out, you take 50% more damage, do no damage but gain the Reflect Mannpower." } PlayerItemEquipSpawnTemplate { Name "gunslinger_buff" ItemName "The Gunslinger" } PlayerItemEquipSpawnTemplate { Name "pistol_equipped" ClassName "TF_WEAPON_PISTOL" } PlayerItemEquipSpawnTemplate { Name "amputator_template" ItemName "The Amputator" } PlayerShootTemplate { Name rpg_shoottemplate ItemName "The Liberty Launcher" AttachToProjectile 1 } Mission // Sentry Busters - All { Objective DestroySentries InitialCooldown 30 Where spawnbot_mission_sentry_buster BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 45 TFBot { Template T_TFBot_SentryBuster CharacterAttributes { "move speed bonus" 1.2 } } } Mission // For Wave #1 { Where spawnbot_mission_sniper Objective Sniper BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Sniper Item "Zombie Sniper" CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #2 { Where spawnbot_mission_sniper Objective Spy BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Spy NoIdleSound 1 Item "Zombie Spy" UseHumanModel 2 Tag bot_spy CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #3 { Where spawnbot_mission_sniper Objective Sniper BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper NoIdleSound 1 Item "Zombie Sniper" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #5 { Where spawnbot_mission_sniper Objective Spy BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Spy NoIdleSound 1 Item "Zombie Spy" UseHumanModel 2 Tag bot_spy CharacterAttributes { "voice pitch scale" 0.8 } } } Mission // For Wave #6 { Where spawnbot Objective Engineer BeginAtWave 6 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 15 CooldownTime 35 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter Item "Zombie Engineer" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0.8 } } } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w1_a" Where flankers TotalCount 16 MaxActive 8 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 6 TotalCurrency 90 TFBot { Class Pyro Name "Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone Skill Hard UseMeleeThreatPrioritization 1 Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly MaxVisionRange 1000 NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" ItemAttributes { ItemName "The Dragon's Fury" "airblast disabled" 1 } CharacterAttributes { "voice pitch scale" 0.8 } SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" "attachment name" "head" "attachment scale" "0.95" "attachment offset" "1 0.2 -9.8" "attachment angles" "-42 0 3" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w1_a" Where spawnbot TotalCount 16 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 240 TFBot { Class Heavyweapons Name "Warrior Heavy" ClassIcon heavy_warrior Skill Expert Health 900 Scale 1.5 WeaponRestrictions MeleeOnly Item "Warrior's Spirit" ItemAttributes { ItemName "Warrior's Spirit" "dmg taken increased" 1 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w1_b" WaitForAllDead "w1_a" Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 320 TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Demo" } } WaveSpawn { Name "w1_b" WaitForAllDead "w1_a" Where spawnbot TotalCount 12 MaxActive 8 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_RocketShotgun UseHumanModel 2 Item "Zombie Soldier" CharacterAttributes { "voice pitch scale" 0.8 } } } WaveSpawn { Name "w1_c" WaitForAllDead "w1_b" Where spawnbot TotalCount 6 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 120 TFBot { Template T_TFBot_Giant_Engineer_Widowmaker NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "voice pitch scale" 0 } } } WaveSpawn { Name "w1_c" WaitForAllDead "w1_b" Where flankers TotalCount 32 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 8 TotalCurrency 150 RandomChoice { TFBot { Template T_JURGateBot_Demoman Skill Easy UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_JURGateBot_Demoman Skill Normal UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } TFBot { Template T_JURGateBot_Demoman Skill Hard UseHumanModel 2 Item "Zombie Demo" CharacterAttributes { "voice pitch scale" 0.8 } } } } WaveSpawn { Name "w1_d" WaitForAllDead "w1_c" Where spawnbot TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 220 Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish NoIdleSound 1 Item "Zombie Demo" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "powerup_knockout_logic" } TFBot { Template T_TFBot_Medic_Knockout CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } } } WaveSpawn { Name "w1_d" WaitForAllDead "w1_c" Where spawnbot TotalCount 4 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 9 TotalCurrency 210 TFBot { Template T_TFBot_Giant_Scout CharacterAttributes { "voice pitch scale" 0.8 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Scout" } } } Wave // Wave #2 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w2_a_tank" TotalCount 1 TotalCurrency 250 Tank { Name "Tank" Health 20000 StartingPathTrackNode "tank_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w2_a" Where flankers TotalCount 20 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 16 TotalCurrency 90 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Heavy" SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w2_b" WaitForAllDead "w2_a" Where flankers TotalCount 16 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 160 TFBot { Template T_TFBot_Soldier_EscapePlan CharacterAttributes { "overheal penalty" 0 } } } WaveSpawn { Name "w2_b" WaitForAllDead "w2_a" Where spawnbot TotalCount 15 MaxActive 15 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 16 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" } TFBot { Template T_TFBot_Medic_Overheal CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } TFBot { Template T_TFBot_Medic_Overheal CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } TFBot { Template T_TFBot_Medic_Overheal CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } TFBot { Template T_TFBot_Medic_Overheal CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } } } } Wave // Wave #3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w3_a" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 18 TotalCurrency 200 TFBot { Template T_JURBot_Giant_Heavy_Shotgun_BurstFire NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" } } WaveSpawn { Name "w3_a" Where flankers TotalCount 16 MaxActive 8 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Class Soldier Skill Hard CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Soldier" SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" "attachment name" "head" "attachment scale" "1.04" "attachment offset" "-2.2 0.45 -11.5" "attachment angles" "0 0 6" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w3_a" Where spawnbot Where flankers TotalCount 10 MaxActive 6 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Class Sniper Name "Splitfire Bowman" Item "The Huntsman" ClassIcon sniper_bow_multi Skill Hard Health 1200 Scale 1.5 ItemAttributes { ItemName "The Huntsman" "arrow mastery" 1 } CharacterAttributes { "move speed bonus" 0.85 "voice pitch scale" 0.8 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Sniper" } } WaveSpawn { Name "w3_b" WaitForAllDead "w3_a" Where spawnbot TotalCount 24 MaxActive 16 SpawnCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 300 Squad { TFBot { Class Soldier Name "Charged Soldier" ClassIcon soldier_crit Skill Normal Item "The Original" Attributes AlwaysCrit WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Soldier" } TFBot { Template T_TFBot_Medic CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } } } WaveSpawn { Name "w3_c" WaitForAllDead "w3_b" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Pyro Skill Expert Attributes AlwaysCrit UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Pyro" } } WaveSpawn { Name "w3_c" WaitForAllDead "w3_b" Where flankers TotalCount 24 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Class Scout Skill Hard WeaponRestrictions PrimaryOnly Item "Crit-a-Cola" ClassIcon scout_cola_nys CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Scout" SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" "attachment name" "head" "attachment offset" "-2.4 0.5 -10.3" "attachment angles" "-4 0 7" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w3_c_tank" WaitForAllDead "w3_b" TotalCount 1 TotalCurrency 250 Tank { Name "Tank" Health 30000 StartingPathTrackNode "tank_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w3_d" WaitForAllDead "w3_c" Where spawnbot Where flankers TotalCount 18 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Soldier" } } WaveSpawn { Name "w3_d" WaitForAllDead "w3_c" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 7 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector CharacterAttributes { "voice pitch scale" 0 } NoIdleSound 1 UseHumanModel 2 Item "Zombie Heavy" } TFBot { Template T_TFBot_Medic CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } TFBot { Template T_TFBot_Medic CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } TFBot { Template T_TFBot_Medic CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" } } } } Wave // Wave #test { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target underworld_loot_relay Action Trigger } WaveSpawn { Name "" Where spawnbot TotalCount 100 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Testing_Bot} } WaveSpawn { Name "blimp" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 TotalCurrency 150 Tank { Name "tankboss_blimp" Classicon blimp2_lite Health 15000 MaxTurnRate 35 Speed 100 Scale 1 StartingPathTrackNode underworld_blimp_path_1 DisableSmokestack 1 Gravity 0 DisableTracks 1 DisableChildModels 1 EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" PingSound "npc/combine_gunship/ping_search.wav" //OnKilledOutput //{ // Target "chewchew_die" // Action PlaySound //} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w4_a" Where spawnbot_hatadjust TotalCount 16 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Class Soldier CharacterAttributes { "voice pitch scale" 0.8 "move speed bonus" 0.001 "no_jump" 1 } Attributes SuppressFire Action FetchFlag Attributes IgnoreFlag UseHumanModel 2 Item "Zombie Soldier" Item "Ghostly Gibus" AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name "w4_a" Where flankers TotalCount 16 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Class Soldier CharacterAttributes { "voice pitch scale" 0.8 "move speed bonus" 0.001 "no_jump" 1 } Attributes SuppressFire Action FetchFlag Attributes IgnoreFlag UseHumanModel 2 Item "Zombie Soldier" AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" "attachment name" "head" "attachment scale" "1.04" "attachment offset" "-2.2 0.45 -11.5" "attachment angles" "0 0 6" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w3_a" Where flankers TotalCount 32 MaxActive 0 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 6 TotalCurrency 140 TFBot { Class Heavy Skill Normal WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" WeaponSwitch //Periodically switches weapon { Delay 1 //Time before the first weapon switch starts (Default: 10) Cooldown 3 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Type "Primary" // Weapon slot, possible values: } CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Heavy" SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } } WaveSpawn { Name "w2_b" Where spawnbot TotalCount 10 MaxActive 0 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 Support 1 Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish //ClassIcon demoknight NoIdleSound 1 Item "Zombie Demo" UseHumanModel 2 CharacterAttributes { "voice pitch scale" 0 } SpawnTemplate "powerup_knockout_logic" SpawnTemplate "powerup_logic_critbuff_recipient" } TFBot { Template T_TFBot_Medic_Knockout CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Medic" SpawnTemplate "powerup_logic_critbuff_recipient" } } } WaveSpawn { Name "" Where spawnbot_colossus TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 1 Support 1 TFBot { Class Sniper ClassIcon sniper_bow WeaponRestrictions PrimaryOnly Item "The Huntsman" Skill Expert Health 300000 Scale 18 ExtAttr IgnoreBuildings Attributes HoldFireUntilFullReload Attributes UseBossHealthBar Attributes MiniBoss Attributes IgnoreFlag Attributes AlwaysCrit Action FetchFlag NoCrouchButtonRelease 1 Tag bot_colossus CharacterAttributes { "not solid to players" 1 "no_jump" 1 "no_duck" 1 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "rage giving scale" 200 "cancel falling damage" 1 } FireWeapon //Periodically fires weapon { Delay 3 //Time before the first fire input starts (Default: 10) Cooldown 6 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 3 //How long should the button be pressed (Default: 0.1) Type "Primary" // Type of fire input - requires NoCrouchButtonRelease 1 in TFBot } InterruptAction // Stop current bot ai and force the bot to move to a location { AimTarget "colossus_aimtarget_1" //KillAimTarget 1 Delay 1 // Time before the first task starts (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 25 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } SpawnTemplate "colossus_template" } } } ExtraSpawnPoint { Name "spawnbot_hatadjust" TeamNum 3 X "3336" Y "-4125" Z "646" } ExtraSpawnPoint { Name "spawnbot_colossus" TeamNum 3 X "433" Y "-1998" Z "268" } Templates { T_TFBot_Testing_Bot { Class Scout Attributes SuppressFire CharacterAttributes { "move speed bonus" 0.001 "no_jump" 1 } } T_JURGateBot_Demoman { Class Demoman SpawnTemplate "gately_gibus_wearer" EventChangeAttributes { Default { Tag bot_gatebot // having these will cause bots to run towards gates Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates BehaviorModifiers push // having these will cause bots to run towards gates Attributes IgnoreFlag // having these will cause bots to run towards gates Item "Ghostly Gibus" ItemModel { ItemName "Ghostly Gibus" Model "models/player/items/all_class/gately_gibus_heavy.mdl" } ItemAttributes { ItemName "Ghostly Gibus" "custom item model" "models/player/items/all_class/gately_gibus_heavy.mdl" "attachment name" "head" "attachment scale" "1.03" "attachment offset" "0.2 0.2 -11.2" "attachment angles" "-22 0 4" } } RevertGateBotsBehavior { Item "Ghostly Gibus" } } } T_TFBot_Giant_Engineer_Frontierjustice { Class Engineer Name "Giant Frontier Engineer" Item "The Frontier Justice" ClassIcon engineer_frontier_justice_nys Attributes AlwaysCrit Skill Hard Health 2800 Attributes MiniBoss Action FetchFlag Scale 1.75 WeaponRestrictions PrimaryOnly NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 4 "voice pitch scale" 0.8 } } T_TFBot_Giant_Engineer_Widowmaker { Class Engineer ClassIcon engineer_widowmaker_nys Name "Giant Widowmaker Engineer" Skill Hard Health 2800 Scale 1.75 WeaponRestrictions PrimaryOnly Attributes MiniBoss Action FetchFlag Item "The Widowmaker" NoIdleSound 1 UseHumanModel 2 Item "Zombie Engineer" ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" .6 "damage bonus" .8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 4 "voice pitch scale" 0.8 } } T_TFBot_Engineer_Widowmaker { Class Engineer ClassIcon engineer_widowmaker_nys Name "Widowmaker Engineer" Skill Hard WeaponRestrictions PrimaryOnly Action FetchFlag Item "The Widowmaker" UseHumanModel 2 Item "Zombie Engineer" //ItemAttributes //{ // ItemName "The Widowmaker" // "fire rate bonus" .6 // "damage bonus" .8 //} CharacterAttributes { "voice pitch scale" 0.8 } } T_TFBot_Medic_Knockout { Class Medic Name "Knockout Medic" Skill Expert Classicon medic_knockout Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "effect cond override" 78 //experimental } CharacterAttributes { "heal rate bonus" 100 "bot medic uber health threshold" 999 "uber duration bonus" 999 } UseHumanModel 2 Item "Zombie Medic" } T_TFBot_Soldier_EscapePlan { Class Soldier ClassIcon soldier_pickaxe_escape Name "Escapist Soldier" Health 900 Scale 1.5 Skill Expert WeaponRestrictions MeleeOnly Item "The Escape Plan" CharacterAttributes { "voice pitch scale" 0.8 } UseHumanModel 2 Item "Zombie Soldier" } T_TFBot_Medic_Overheal { Class Medic Name "Overheal Medic" ClassIcon medic_overheal_0 Skill Expert Attributes IgnoreEnemies CharacterAttributes { "overheal penalty" 0 } ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate penalty" 0.01 "heal rate bonus" 50 "overheal expert" 94 //+50% health for 5000 hp patient } } T_JURBot_Giant_Heavy_Shotgun_BurstFire { Name "Giant BurstFire Shotgun Heavy" Class Heavyweapons Skill Expert Health 5000 ClassIcon heavy_shotgun_burst Attributes MiniBoss WeaponRestrictions SecondaryOnly Item "The Family Business" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "auto fires full clip" 1 "auto fires when full" 1 "faster reload rate" 0.5 "fire rate bonus" 0.2 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "attack projectiles" 1 // force ability to shoot down projectiles "override footstep sound set" 2 } } T_TFBot_Soldier_Hastebuff { Class Soldier Name "Haste Buff Soldier" Skill Normal ClassIcon soldier_hastebuff StripItemSlot 2 Item "The Gunboats" SpawnTemplate "haste_radius" SpawnTemplate "powerup_logic_hastebuff_recipient" CustomWeaponModel { Slot 1 Model "models/weapons/c_models/c_hastebanner/c_hastebanner.mdl" } UseHumanModel 2 Item "Zombie Soldier" } T_TFBot_Soldier_Critbuff { Class Soldier Name "Crit Buff Soldier" Skill Normal ClassIcon soldier_critbuff StripItemSlot 2 Item "The Gunboats" SpawnTemplate "crit_radius" SpawnTemplate "powerup_logic_critbuff_recipient" CustomWeaponModel { Slot 1 Model "models/weapons/c_models/c_critbanner/c_critbanner.mdl" } } } PointTemplates { finale_logic { NoFixup 1 info_target { "targetname" "colossus_aimtarget_1" "origin" "-195 5561 -9800" } trigger_hurt { "StartDisabled" "1" "spawnflags" "1" "origin" "40 2261.5 -10528" "mins" "-4184 -5963 -32" "maxs" "4184 5963 32" "nodmgforce" "1" "damagetype" "16384" "damagemodel" "0" "damagecap" "99999" "damage" "99999" } filter_damage_type { "targetname" "filter_drown" "damagetype" "16384" "Negated" "1" } //prop_dynamic //{ // "targetname" "underworld_door_loot" // "model" "models/props_viaduct_event/underworld_door01.mdl" // "DisableBoneFollowers" "1" // "disableshadows" "1" // "solid" "0" // "spawnflags" "0" // "StartDisabled" "0" // "origin" "292 4106 -10235" //} logic_relay { "targetname" "underworld_loot_relay" "OnTrigger" "underworld_hurt_zone,Disable,,0,-1" "OnTrigger" "yea room,Disable,,0,-1" "OnTrigger" "island_door_fx,Enable,,0,-1" "OnTrigger" "fadein,Fade,,0,-1" "OnTrigger" "underworld_gatehouse_open,PlaySound,,0,-1" "OnTrigger" "underworld_sfx_shake,StartShake,,0,-1" "OnTrigger" "underworld_gatehouse_open,PlaySound,,2,-1" "OnTrigger" "underworld_sfx_shake,StartShake,,2,-1" "OnTrigger" "teleport_loot,Enable,,3,-1" "OnTrigger" "trigger_add_tf_player_condition,Disable,,0,-1" //"OnTrigger" "underworld_gatehouse_open,PlaySound,,4,-1" //"OnTrigger" "underworld_sfx_shake,StartShake,,4,-1" //"OnTrigger" //"OnTrigger" //"OnTrigger" } env_fade { "duration" "3" "holdtime" "1" "rendercolor" "255 255 255" "targetname" "fadein" } trigger_teleport { "targetname" "teleport_loot" "target" "spawn_loot" "StartDisabled" "1" "spawnflags" "1" "origin" "-64 -1408 -600" "mins" "-5000 -7000 -1200" "maxs" "5000 7000 1200" "filtername" "filter_redteam" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_colossus" "targetname" "filter_colossus" } info_target { "targetname" "colossus_telehere" "origin" "-1472 4800 -10687" //"origin" "49 5454 -9839" } trigger_teleport { "targetname" "teleport_colossus" "target" "colossus_telehere" "StartDisabled" "0" "spawnflags" "1" "landmark" "!activator" "origin" "-64 -1408 -4000" "mins" "-9999 -9999 -19999" "maxs" "9999 9999 19999" "filtername" "filter_colossus" } } colossus_template { OnSpawnOutput { Target "!activator" Action SetDamageFilter Param "filter_drown" } } 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" } playerweapon_fix { OnSpawnOutput { Target "regenerate" Action Kill Delay 0.01 } func_regenerate { "targetname" "regenerate" "TeamNum" "2" "mins" "-2 -2 -2" "maxs" "2 2 2" } } powerup_knockout_logic { OnParentKilledOutput { Target "item_powerup_rune" Action Kill } OnSpawnOutput { Target "ubercond_checker" Action Trigger Delay 0.1 } filter_tf_condition { "targetname" "filter_ubercond" "condition" "78" "OnPass" "!activator,$AddCond,103,0,-1" "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|565,0,-1" "OnFail" "!activator,$RemoveCond,103,0,-1" "OnFail" "!activator,$RemovePlayerAttribute,max health additive bonus,0,-1" } logic_relay { "targetname" "ubercond_checker" "spawnflags" "2" "OnTrigger" "!self,Trigger,,0.1,-1" "OnTrigger" "!activator,$RemoveCond,78,0,-1" "OnTrigger" "filter_ubercond,TestActivator,!activator,0,-1" } } powerup_logic_critbuff_recipient { OnParentKilledOutput { Target "item_powerup_rune" Action Kill } OnSpawnOutput { Target "parentoutput_target" Action SetParent Param "!activator" } info_target { "targetname" "parentoutput_target" "OnUser1" "recipient_counter,Add,1,0,-1" "OnUser2" "recipient_counter,Subtract,1,0,-1" } math_counter { "targetname" "recipient_counter" "max" "9999" "outvalue" "countcompare,setvaluecompare,,0,-1" } logic_case { "targetname" "haste_debug_case" "Case01" "0" "Case02" "1" "Case03" "2" "Case04" "3" "Case05" "4" "Case06" "5" "OnCase01" "player,$DisplayTextChat,0,0,-1" "OnCase02" "player,$DisplayTextChat,1,0,-1" "OnCase03" "player,$DisplayTextChat,2,0,-1" "OnCase04" "player,$DisplayTextChat,3,0,-1" "OnCase05" "player,$DisplayTextChat,4,0,-1" "OnCase06" "player,$DisplayTextChat,5,0,-1" } logic_compare { "targetname" "countcompare" "onequalto" "!parent,$removecond,40,0,-1" "ongreaterthan" "!parent,$addcond,40,0,-1" } } crit_radius { KeepAlive 1 OnParentKilledOutput { Target "crit_radius_brush" Action Disable } OnParentKilledOutput { Target "crit_radius_brush" Action Kill Delay 0.2 } OnSpawnOutput { Target "crit_radius_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "crit_radius_brush" "filtername" "filter_bluteam" "spawnflags" "1" "StartDisabled" "1" "mins" "-225 -225 -450" "maxs" "225 225 450" "origin" "100 0 0" "onstarttouch" "@c@!activator,fireuser1,,0,-1" "onendtouch" "@c@!activator,fireuser2,,0,-1" } RemoveIfKilled "haste_radius_brush" } powerup_logic_hastebuff_recipient { OnParentKilledOutput { Target "item_powerup_rune" Action Kill Delay 0 } OnSpawnOutput { Target "parentoutput_target" Action SetParent Param "!activator" } info_target { "targetname" "parentoutput_target" "OnUser1" "recipient_counter,Add,1,0,-1" "OnUser2" "recipient_counter,Subtract,1,0,-1" } math_counter { "targetname" "recipient_counter" "max" "9999" "outvalue" "countcompare,setvaluecompare,,0,-1" } logic_case { "targetname" "haste_debug_case" "Case01" "0" "Case02" "1" "Case03" "2" "Case04" "3" "Case05" "4" "Case06" "5" "OnCase01" "player,$DisplayTextChat,0,0,-1" "OnCase02" "player,$DisplayTextChat,1,0,-1" "OnCase03" "player,$DisplayTextChat,2,0,-1" "OnCase04" "player,$DisplayTextChat,3,0,-1" "OnCase05" "player,$DisplayTextChat,4,0,-1" "OnCase06" "player,$DisplayTextChat,5,0,-1" } logic_compare { "targetname" "countcompare" "onequalto" "!parent,$removecond,91,0,-1" "ongreaterthan" "!parent,$addcond,91,0,-1" } } haste_radius { KeepAlive 1 OnParentKilledOutput { Target "haste_radius_brush" Action Disable } OnParentKilledOutput { Target "haste_radius_brush" Action Kill Delay 0.2 } OnSpawnOutput { Target "haste_radius_brush" Action Enable Delay 0.2 } trigger_multiple { "targetname" "haste_radius_brush" "filtername" "filter_bluteam" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "onstarttouch" "@c@!activator,fireuser1,,0,-1" "onendtouch" "@c@!activator,fireuser2,,0,-1" } RemoveIfKilled "haste_radius_brush" } amputator_template { KeepAlive 1 OnSpawnOutput { Target "amputator_checker" Action Trigger Delay 0.1 } OnParentKilledOutput { Target "amputator_radius_brush" Action Disable } OnParentKilledOutput { Target "amputator_radius_brush" Action Kill Delay 0.1 } filter_tf_condition { "targetname" "filter_amputator" "condition" "56" } filter_multi { "targetname" "filter_amputator_taunting" "filter01" "filter_amputator" "filter02" "filter_taunting" "OnPass" "amputator_radius_brush,Enable,,0,-1" "OnFail" "amputator_radius_brush,Disable,,0,-1" } filter_tf_condition { "targetname" "filter_taunting" "Negated" "0" "condition" "7" } logic_relay { "targetname" "amputator_checker" "spawnflags" "2" "OnTrigger" "!self,Trigger,,0.1,-1" "OnTrigger" "filter_amputator_taunting,TestActivator,!activator,0,-1" "OnTrigger" "filter_ampucrit,TestActivator,!activator,0,-1" } trigger_multiple { "targetname" "amputator_radius_brush" "filtername" "filter_redteam" "spawnflags" "1" "StartDisabled" "1" "mins" "-450 -450 -450" "maxs" "450 450 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,16,0,-1" "OnEndTouch" "!activator,$RemoveCond,16,0,-1" } RemoveIfKilled "amputator_radius_brush" } gunslinger_buff { OnSpawnOutput { Target "pistol_checker" Action "Trigger" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|0" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|1" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|2" Delay 0.1 } filter_tf_condition { "targetname" "filter_has_pistol" "Negated" "0" "condition" "130" "OnPass" "!activator,$AddItemAttribute,damage bonus|1.55|0,0,-1" //"OnPass" "!activator,$AddItemAttribute,damage bonus|1|1,0,-1" //no pistol damage bonus "OnPass" "!activator,$AddItemAttribute,damage bonus|2|2,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|1.55|0,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|1.55|1,0,-1" "OnFail" "!activator,$AddItemAttribute,damage bonus|2|2,0,-1" } logic_relay { "targetname" "pistol_checker" "OnTrigger" "filter_has_pistol,TestActivator,!activator,0,-1" } } pistol_equipped { OnSpawnOutput { Target "!activator" Action "$RemoveItemAttribute" Param "damage bonus|1" Delay 0.1 } OnSpawnOutput { Target "!activator" Action "$AddCond" Param "130" Delay 0 } } gately_gibus_wearer { OnParentKilledOutput { Target "@c@!activator" Action Kill } } } ExtraTankPath { Name "underworld_blimp_path" Node "2422 6070 -10764" Node "2422 6070 -10164" Node "1190 6070 -10164" Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop Node "101 6070 -10164" //Start Loop Node "-583 5858 -10164" Node "-861 4549 -10164" Node "-1130 4202 -10164" Node "-1637 4202 -10164" Node "-1872 4554 -10164" Node "-1872 5037 -10164" Node "-1637 5356 -10164" Node "-1130 5356 -10164" Node "-365 4988 -10164" Node "-29 4988 -10164" Node "425 4988 -10164" Node "654 5469 -10164" Node "564 5951 -10164" Node "101 6070 -10164" //End Loop } PlayerSpawnTemplate //Spawn custom player template { Name "playerweapon_fix" // Name of the template Origin "0 0 30" //Position where to spawn the template } SpawnTemplate "finale_logic" }