#base robot_giant.pop #base robot_standard.pop #base sea_of_europa_weapons.pop // Claudz's experimental mission // sad that swimming disables taunts // funnily enough, air strafing works all the time when you swim population { StartingCurrency 700 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no Advanced 1 AddSentryBusterWhenDamageDealtExceeds 2500 // Default is ommited is 3000 points of damage inflicted by your sentry gun. AddSentryBusterWhenKillCountExceeds 12 // Default is ommited is 15 kills inflicted by your sentry gun. //halloween //EventPopfile Halloween NoHolidayPickups 1 ForceHoliday 2 NoThrillerTaunt 1 BotsAreHumans 2 BotHumansHaveEyeGlow 1 NoRomevisionCosmetics 1 ForceRobotBleed 1 HealOnKillOverhealMelee 1 UpgradeStationKeepWeapons 1 UseOriginalAnimsForUnintendedClassWeapons 1 MaxEntitySpeed 5000 FixHuntsmanDamageBonus 1 StuckTimeMultiplier 3 NoCreditsVelocity 1 DisallowUpgrade "mad milk syringes" DisallowUpgrade "dmg taken from fire reduced" DisallowUpgrade "increased jump height" PrecacheSound "ultrakilldash.wav" //PrecacheModel "models\player\gibs\gibs_fish.mdl" PrecacheModel "models\props_frontline\mine_naval_8s.mdl" PrecacheGeneric "materials/effects/inksplat_overlay4.vmt" PrecacheGeneric "materials/effects/inksplat_overlay4.vtf" PrecacheGeneric "materials/effects/clearwater_warp.vmt" PlayerAttributes //Player attributes appied for the whole mission { "swimming mastery" 1 Scout { //"mult credit collect range" 5 //default is 4 } Engineer { "halloween increased jump height" 1.8 } } FlagResetTime //Overrides default bomb reset time { Name "bomb_reset" //Name of flag entity on the map ResetTime 9999 } //changes TODO // cheaper rocket specialist // OverrideParticles //Replace particles. Only server side particles can be overridden { "ExplosionCore_MidAir" "ExplosionCore_MidAir_underwater" "ExplosionCore_Wall" "ExplosionCore_Wall_underwater" "rockettrail_underwater" "rockettrail_waterbubbles" } Templates { T_TFBot_Pyro_Shark { Name "Neon Pyro" Class Pyro Skill Hard Tag swim Tag isMelee Classicon pyro_neon //Attributes RemoveOnDeath Item "The Neon Annihilator" Item "Fiercesome Fluorescence" WeaponRestrictions MeleeOnly //Attributes DisableDodge Attributes AutoJump AutoJumpMin 15 AutoJumpMax 30 CharacterAttributes { "move speed bonus" 1.2 } } T_TFBot_Pyro_Shark_Charge { Name "Charging Neon Pyro" Class Pyro Skill Hard Tag swim Tag isMelee Classicon pyro_neon //Attributes RemoveOnDeath Item "The Neon Annihilator" Item "Fiercesome Fluorescence" Scale "1.3" Health 500 //Attributes DisableDodge WeaponRestrictions MeleeOnly UseBestWeapon 1 UseMeleeThreatPrioritization 1 MaxVisionRange 9999 Item "The Thermal Thruster" ItemAttributes { ItemName "The Thermal Thruster" "thermal_thruster_air_launch" 1 "mult_item_meter_charge_rate" 0.01 "holster_anim_time" 0.01 "single wep deploy time increased" 0.01 "falling_impact_radius_stun" 1 "mod shovel speed boost" 1 //speed boost when active //mod shovel damage boost } // thanks Table WeaponSwitch { Type "Melee" MaxTargetRange 140 MinTargetRange 1 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Secondary" MaxTargetRange 9999 MinTargetRange 150 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } // WeaponSwitch // { // Delay 5 // Cooldown 8 // Repeats 0 // // //IfSeeTarget 1 // Type "Secondary" // } // FireWeapon // { // Delay 5 // Cooldown 10 // //IfSeeTarget 1 // Type "Secondary" // } // Attributes AutoJump // AutoJumpMin 20 // AutoJumpMax 30 CharacterAttributes { "move speed bonus" 1.2 } } T_TFBot_Pyro_Jellyfish { Name "Jellyfish Pyro" Class Pyro Skill Hard Tag swim Tag isMelee Classicon pyro_bubble //Attributes RemoveOnDeath //Item "The Neon Annihilator" Item "the filamental" ItemAttributes { ItemName "the filamental" "set item tint RGB" 65535 } Item "The Mann o War" WeaponRestrictions SecondaryOnly ItemColor //Set item color { ItemName "The Mann o War" Red 0 Green 255 Blue 255 } Attributes HoldFireUntilFullReload //Attributes DisableDodge } T_TFBot_Scout_Fish_Swim { Name "Fish Scout" Tag swim Tag bot_squad_member Tag isMelee Template T_TFBot_Scout_Fish Skill Hard Item "The Sprinting Cephalopod" Item "Eyequarium" StripItem "Zombie Scout" Attributes AutoJump AutoJumpMin 1 AutoJumpMax 5 } T_TFBot_Giant_Scout_Squid { Name "Giant Squid Scout" Tag swim Tag isSquid Classicon scout_squid Class Scout Attributes MiniBoss Skill Expert Health 3000 Item "The Sprinting Cephalopod" Item "The Dadliest Catch" StripItem "Zombie Scout" CharacterAttributes { "move speed bonus" 0.8 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 5 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 "damage bonus" 0.75 } } T_TFBot_Engineer_Short_Circuit { //borrowing from hideout exp autonomous annil Name "Short Circuit Engineer" Class Engineer Skill Normal Item "The Short Circuit" Item "The Pomson 6000" ItemAttributes { ItemName "The Pomson 6000" "override projectile type" 27 } ItemAttributes { ItemName "The Short Circuit" "is_passive_weapon" 1 } } } Mission // Sentry buster { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 5 InitialCooldown 10 CooldownTime 20 TFBot { Name "Naval Mine Buster" Template T_TFBot_SentryBuster // Tag isBuster // Tag swim // UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" // UseHumanModel 1 // SuppressSentryBusterModel 1 // Item "The Eyequarium" // CharacterAttributes // { // "move speed bonus" 1 // "attach particle effect" 34 // "head scale" 3.0 // "torso scale" 0 // } // CustomWeaponModel // { // Slot 2 // Model "models\empty.mdl" // } // ItemModel // { // ItemName "The Eyequarium" // Model "models/workshop/player/items/demo/tw_sentrybuster/tw_sentrybuster.mdl" // } } } Mission // snipers 1 { Objective Sniper Where spawnbot_left BeginAtWave 1 RunForThisManyWaves 2 InitialCooldown 20 CooldownTime 30 DesiredCount 2 TFBot { Class Sniper Skill Hard Name "Sniper" MaxVisionRange 2500 Tag swim Tag noPathing // ItemAttributes // { // ItemName "TF_WEAPON_SNIPERRIFLE" // "damage bonus" 1.5 // } } } Mission // Engineer { Objective Engineer Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 20 CooldownTime 20 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter CharacterAttributes { "move speed bonus" 1 } } } Mission // Spy { Objective Spy Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 InitialCooldown 60 CooldownTime 60 DesiredCount 2 TFBot { Class Spy Skill Expert Name "Spycrab" Item "Crustaceous Cowl" Item "Spycrab" Item "Spyder" } } Mission // Spy { Objective Spy Where spawnbot BeginAtWave 4 RunForThisManyWaves 2 InitialCooldown 60 CooldownTime 60 DesiredCount 2 TFBot { Class Spy Skill Expert Name "Eternal TentaSpy" Item "The Sprinting Cephalopod" Item "Your Eternal Reward" Item "Le Professionnel" ItemAttributes { ItemName "Your Eternal Reward" "mod_disguise_consumes_cloak" 0 } } } Wave { Explanation { Line "Mann Co’s offworld base in the Sea of Europa is under attack." Line "Defend against the onslaught of aquatic aliens or be crushed under the pressure." Line "This Mission is a WIP. Notes:" Line "- Items that don't work underwater are blacklisted (food, liquids, throwables, fire, etc.)" Line "- Engi's too weighed down by equipment to swim" Line "- Scout can jetboost; Soldier and Demo get explosive propulsion" Line "- Crouch to swim down quickly" } WaitWhenDone 30 Checkpoint Yes InitWaveOutput //Vscripts here { Target wave_start_relay //info_player_teamspawn? Action RunScriptCode Param " printl(`RUNNING INIT VSCRIPT`) //ClearGameEventCallbacks(); // The original InitWaveOutput trigger, change if necessary EntFire(`wave_init_relay`, `Trigger`) // Load popextensions script printl(`loading popextensions`) IncludeScript(`popextensions`) // Load logic script printl(`loading logic script`) IncludeScript(`sea_of_europa_logic`) " Delay 0 } StartWaveOutput { Target wave_start_relay_reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } //this wave is for testing bots WaveSpawn { Name 0A TotalCurrency 50 TotalCount 2 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 5 Squad { ShouldPreserveSquad 0 TFBot { Class Soldier Skill Expert Name "Spectral Leviathan" Tag leviathan Scale "0.1" Health 400 Classicon boss_eyeball //Attributes DisableDodge CharacterAttributes {"move speed bonus" 0.4} Attributes UseBossHealthBar BehaviorModifiers Push Attributes IgnoreFlag } // TFBot // { // Template T_TFBot_Giant_Scout_Squid // //Health 1600 // } } } WaveSpawn { WaitForAllDead 0A Name 1A1 TotalCurrency 100 TotalCount 21 MaxActive 7 SpawnCount 7 Where spawnbot Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 15 Squad // sollys and sharks { NoWaitForFormation 1 TFBot { Tag swim Template T_TFBot_Soldier_Extended_Concheror Skill Expert Name "Soldier" } TFBot { Tag swim Template T_TFBot_Soldier_Extended_Concheror Skill Hard Name "Soldier" } TFBot { Tag swim Class Soldier Skill Easy Name "Soldier" } TFBot { Tag swim Class Soldier Skill Hard Name "Soldier" } TFBot { Tag swim Class Soldier Skill Easy Name "Soldier" } TFBot { Tag swim Tag bot_squad_member Template T_TFBot_Pyro_Shark } TFBot { Tag swim Tag bot_squad_member Template T_TFBot_Pyro_Shark } } } WaveSpawn { WaitForAllDead 0A Name 1A2 TotalCurrency 100 TotalCount 15 MaxActive 10 SpawnCount 5 Where spawnbot_right WaitBeforeStarting 20 WaitBetweenSpawns 10 //20 + 10 x 3 Squad // scatter and fish scouts { NoWaitForFormation 1 TFBot { Class Scout Skill Hard Tag swim //Attributes DisableDodge } TFBot { Class Scout Skill Hard Tag swim //Attributes DisableDodge } TFBot { Template T_TFBot_Scout_Fish_Swim } TFBot { Template T_TFBot_Scout_Fish_Swim } TFBot { Template T_TFBot_Scout_Fish_Swim } } } WaveSpawn { WaitForAllDead 1A1 Name 1B1 TotalCurrency 100 TotalCount 16 MaxActive 8 SpawnCount 8 Where spawnbot_right WaitBeforeStarting 8 WaitBetweenSpawns 8 // 8 + 10 x 2 RandomSpawn 1 Squad { TFBot { Tag swim Tag isMelee Template T_TFBot_Demoman_Samurai Tag flank } TFBot { Template T_TFBot_Medic_QuickFix Tag swim Tag flank Tag bot_squad_member CharacterAttributes { //"move speed bonus" 2 "mult medigun range" 2 } } } } WaveSpawn { WaitForAllDead 1A1 Name 1B2 TotalCurrency 200 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 16 WaitBetweenSpawns 20 TFBot { Tag swim Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { WaitForAllDead 1A2 Name 1B3 TotalCurrency 150 TotalCount 15 MaxActive 5 SpawnCount 5 Where spawnbot_right Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 8 // 15 + 8*3 RandomSpawn 1 TFBot { Tag swim Template T_TFBot_Soldier_Extended_Concheror Skill Expert Name "Soldier" } } WaveSpawn { WaitForAllSpawned 1B2 Name 1CS TotalCurrency 0 TotalCount 40 MaxActive 3 SpawnCount 3 Where ANYWHERE WaitBeforeStarting 5 WaitBetweenSpawns 10 RandomSpawn 1 Support 1 TFBot { Tag swim Template T_TFBot_Pyro_Shark //BehaviorModifiers Push } } WaveSpawn { WaitForAllSpawned 1B2 Name 1CS TotalCurrency 0 TotalCount 40 MaxActive 10 SpawnCount 5 Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 10 //20 + 10 x 3 Support 1 Squad // scatter and fish scouts { NoWaitForFormation 1 TFBot { Class Scout Skill Hard Tag swim //Attributes DisableDodge } TFBot { Class Scout Skill Hard Tag swim //Attributes DisableDodge } TFBot { Template T_TFBot_Scout_Fish_Swim } TFBot { Template T_TFBot_Scout_Fish_Swim } TFBot { Template T_TFBot_Scout_Fish_Swim } } } WaveSpawn { WaitForAllSpawned 1B2 Name 1C1 TotalCurrency 250 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 15 // 8 + 15 * 3 TFBot { Template T_TFBot_Giant_Scout_Squid Tag swim //Tag flank //Attributes UseBossHealthBar } } } Wave { WaitWhenDone 30 Checkpoint Yes InitWaveOutput //Vscripts here { Target wave_start_relay //info_player_teamspawn? Action RunScriptCode Param " EntFire(`wave_init_relay`, `Trigger`) setupHooks() SetupLivingPlayers() " Delay 0 } StartWaveOutput { Target wave_start_relay_reset Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name 2A1 TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 TFBot { Tag swim Template T_TFBot_Pyro_Shark_Charge } } //T_TFBot_Pyro_Jellyfish //pyro_fury_freeze WaveSpawn { Name 2A2 TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 TFBot { Tag swim Template T_TFBot_Pyro_Jellyfish } } } }