// Corrupted Catharsis // Winterbridge Advanced Endurance (Halloween) // Collaboration Mission made by Crinitus and Mince #base robot_standard.pop #base robot_gatebot.pop #base robot_giant.pop #base robot_winterbridge_rc6.pop Why_yes,_I_infact_DO_give_my_WaveSchedules_a_custom_name._How_could_you_tell? { StartingCurrency 1200 RespawnWaveTime 2 CanBotsAttackWhileInSpawnRoom no Advanced 1 EventPopfile Halloween // stuff copied from Necromantic Nonsense NoReanimators 1 NoRomevisionCosmetics 1 BotsAreHumans 1 ForceHoliday 2 // Experimental stuff to try and make hud element for spells show up BotsDropSpells 1 GiantsDropRareSpells 1 SpellDropRateCommon 0 SpellDropRateGiant 0 // Precaching PrecacheSound "misc/halloween/spell_mirv_cast.wav" PrecacheModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" PrecacheModel "models\weapons\w_models\w_cannonball.mdl" // juuust in case PrecacheModel "models/harvest/pumpkin/pumpkin_small.mdl" //hopefully fixes missing model // episode 2 of the skull projectile: r e v e n g e a n c e PrecacheModel "models/props_mvm/mvm_human_skull.mdl" Wave { InitWaveOutput { Target wave_initB_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } Explanation { Line "{7ef563}Wave 1 / 4" Line "{e46dff}Engineers are mages in this mission and are able to cast spells." Line "{e46dff}Some weapons that aren't allowed in medieval mode are also enabled." Line "{e46dff}Some weapons have been rebalanced. Canteens are disabled." Line "{e46dff}Health kits do NOT drop from enemies in this mission." } // Ambience (Wave 1 Start) WaveSpawn { Name wave1_ambient_intro TotalCount 0 MaxActive 0 SpawnCount 0 FirstSpawnWarningSound "ui/halloween_boss_summoned.wav" } WaveSpawn { Name wave1_ambient_intro TotalCount 0 MaxActive 0 SpawnCount 0 WaitBeforeStarting 5 FirstSpawnWarningSound "vo/halloween_merasmus/sf13_merasmus_eternaween09.mp3" } WaveSpawn { Name wave1a // going back to ye olde style of wavespawn naming instead of my usual style TotalCurrency 100 TotalCount 20 MaxActive 7 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 4 Where spawnbot_gate01 TFBot { Class Heavyweapons ClassIcon heavy_fist_nys WeaponRestrictions MeleeOnly Item "Breadcrab" Name "Bread Zombie" } } WaveSpawn { Name wave1_masks Where spawnbot_gate01_left Support 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawnsAfterDeath 25 TFBot { Template T_TFBot_Giant_Soldier_Mask } } WaveSpawn { Name wave1a TotalCurrency 100 TotalCount 32 MaxActive 6 SpawnCount 3 WaitBeforeStarting 12 WaitBetweenSpawns 6 Where spawnbot_gate01_left TFBot { Class Sniper ClassIcon heavy_fist_nys Item "TF_WEAPON_FISTS" WeaponRestrictions MeleeOnly Name "Skeleton" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Skin 1 // Force the bot to use specified model skin } } WaveSpawn { Name wave1a_giant TotalCurrency 100 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 48 WaitBetweenSpawns 30 Where spawnbot_gate01_right TFBot { Class Sniper ClassIcon sniper_bow_giant Health 3000 Name "Giant Skeleton Archer" Skill Expert Attributes MiniBoss Item "The Huntsman" Tag bot_giant Skin 1 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.8 "damage penalty" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 5 } } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 TotalCount 32 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 5 Where spawnbot_gate01 Where spawnbot_gate01_right RandomChoice { TFBot { Template T_TFBot_Scout_Generic } TFBot { Template T_TFBot_Scout_Rune } } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 10 Where spawnbot_gate01_left TFBot { Template T_TFBot_Pyro_Detonator_Medieval } } WaveSpawn // giant axtinguisher + meds { Name wave1b_giant WaitForAllDead wave1a_giant TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 18 Where spawnbot_gate01 Squad { TFBot { Template T_TFBot_Giant_Pyro Name "Giant Axtinguisher Pyro" Item "The Axtinguisher" WeaponRestrictions MeleeOnly ClassIcon pyro_axtinguisher } TFBot { Template T_TFBot_Medic_BigHeal Name "Lesser Necromancer" } TFBot { Template T_TFBot_Medic_BigHeal Name "Lesser Necromancer" } TFBot { Template T_TFBot_Medic_BigHeal Name "Lesser Necromancer" } } } WaveSpawn { Support 1 Name wave1c_support1_limited WaitForAllDead wave1b TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 14 Where spawnbot_gate01 Where spawnbot_gate01_right TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave1c_tonk WaitForAllDead wave1b_giant TotalCurrency 250 TotalCount 1 WaitBeforeStarting 4 Tank { Health 6969 Speed 100 Name "small_tank_jarate" StartingPathTrackNode "boss_path_area1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Support 1 Name wave1d_support WaitForAllDead wave1c_tonk TotalCount 4 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 8 Where spawnbot_gate01_left TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Name "Corpseweight Champ" } } WaveSpawn { Support 1 Name wave1d_support WaitForAllDead wave1c_tonk TotalCount 4 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 14 Where spawnbot_gate01_left FirstSpawnOutput { Target disable_limited_spawns_a Action Trigger } TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave1d_boss WaitForAllDead wave1c_tonk TotalCurrency 100 TotalCount 1 WaitBeforeStarting 10 Where spawnbot_gate01 TFBot { Template T_TFBot_Boss_Area1 } } } Wave { InitWaveOutput { Target wave_initA_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } Explanation { Line "{7ef563}Wave 2 / 4" } WaveSpawn { Name wave2a Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_gate02_right TotalCount 24 MaxActive 8 SpawnCount 2 TotalCurrency 50 WaitBetweenSpawns 3 StartWaveOutput { Target clipfix Action Kill } TFBot { Template T_TFGatebot_Sniper_Huntsman_Special } } WaveSpawn { Name wave2a_minigiant_squad Where spawnbot_gate01 Where spawnbot_gate02 TotalCount 30 MaxActive 12 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 4 Squad { TFBot { Template T_TFBot_MiniGiant_Heavy_Heater } TFBot { Template T_TFBot_Pyro_Axtinguisher } TFBot { Template T_TFBot_Pyro_Axtinguisher } TFBot { Template T_TFBot_Pyro_Axtinguisher } } } WaveSpawn { Name wave2b_giants Where spawnbot_gate01 Where spawnbot_gate02_right TotalCount 8 MaxActive 4 SpawnCount 4 TotalCurrency 150 WaitBeforeStarting 2 WaitBetweenSpawns 10 WaitForAllDead wave2a_minigiant_squad Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Scout_Generic } TFBot { Template T_TFBot_Scout_Generic } TFBot { Template T_TFBot_Scout_Generic } TFBot { Template T_TFBot_Giant_Engineer_ShortCircuit } } } WaveSpawn { Name wave2b Where spawnbot_gate01_right Where spawnbot_gate02_left TotalCount 20 MaxActive 6 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 5 WaitBetweenSpawns 4 WaitForAllDead wave2a_minigiant_squad TFBot { Template T_TFBot_Scout_Generic } } WaveSpawn { Name wave2b Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_gate02_right TotalCount 20 MaxActive 12 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 7 WaitBetweenSpawns 2.5 WaitForAllDead wave2a_minigiant_squad TFBot { Name "GRU Heavy" Class Heavy ClassIcon heavy_gru EventChangeAttributes { Default { Skill Hard WeaponRestrictions MeleeOnly Attributes IgnoreFlag BehaviorModifiers Push Tag nav_prefer_gate1_flank Tag bot_gatebot Item "MvM GateBot Light Heavy" Item "Gloves of Running Urgently MvM" } RevertGateBotsBehavior { Skill Hard WeaponRestrictions MeleeOnly Item "MvM GateBot Light Heavy" Item "Gloves of Running Urgently MvM" ItemAttributes { ItemName "MvM GateBot Light Heavy" "item style override" 1 } } } } } WaveSpawn { Name wave2b Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_gate02_right TotalCount 30 MaxActive 12 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 7 WaitBetweenSpawns 1 WaitForAllDead wave2a_minigiant_squad TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast } } WaveSpawn { Name wave2c Where spawnbot_gate01 Where spawnbot_gate02 TotalCount 6 MaxActive 2 SpawnCount 1 TotalCurrency 200 WaitBeforeStarting 4 WaitBetweenSpawns 8 WaitForAllDead wave2b_giants RandomChoice { TFBot { Template T_TFBot_Giant_Demoman_Wolf } TFBot { Template T_TFBot_Giant_Demoman_Vampire } TFBot { Template T_TFBot_Giant_Demoman_Wolf } TFBot { Template T_TFBot_Giant_Demoman_Vampire } TFBot { Template T_TFBot_Giant_Demoman_Skeleton_King } } } WaveSpawn { Name wave2c Where spawnbot_gate01 Where spawnbot_gate02_right TotalCount 60 MaxActive 15 SpawnCount 5 TotalCurrency 50 WaitBeforeStarting 1 WaitBetweenSpawns 3 WaitForAllDead wave2b_giants TFBot { Template T_TFBot_Sniper_Skeleton } } WaveSpawn { Name wave2d Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion TotalCount 40 MaxActive 12 SpawnCount 6 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 8 WaitForAllDead wave2c TFBot { Template T_TFBot_Scout_SunStick } } WaveSpawn { Name wave2d_limited_support Where spawnbot_limited_a Support 1 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 14 WaitForAllDead wave2c TFBot { Template T_TFBot_Pyro_FireMage } } WaveSpawn { Name wave2d_giants Where spawnbot_gate01 Where spawnbot_gate02 TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 4 WaitBetweenSpawns 12 WaitForAllDead wave2c TFBot { Template T_TFBot_Giant_Heavyweapons_WispGenerator } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitForAllSpawned wave2d_giants FirstSpawnOutput { Target disable_limited_spawns_a Action Trigger } } WaveSpawn { Name wave2e_giants Where spawnbot_gate01 Where spawnbot_gate02 TotalCount 6 MaxActive 3 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 3 WaitBetweenSpawns 8 WaitForAllSpawned wave2d_giants Squad { TFBot { Template T_TFBot_Giant_Demoman_PumpkinLauncher } TFBot { Template T_TFBot_Player_Buster_Pumpkin } TFBot { Template T_TFBot_Player_Buster_Pumpkin } } } WaveSpawn { Name wave2e_support Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Support 1 MaxActive 4 SpawnCount 4 WaitBeforeStarting 6 WaitBetweenSpawns 12 WaitForAllSpawned wave2d_giants TFBot { Template T_TFBot_Demoman_MidgetCharger } } } Wave { InitWaveOutput { Target wave_initA_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } Explanation { Line "{ffe46d}Wave 3 / 4" } WaveSpawn { Name wave3a TotalCurrency 100 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 45 Where spawnbot_gate02_right Where spawnbot_gate01 Squad { TFBot { Template T_TFBot_Giant_Boxing_Heavy } TFBot { Class Medic Name "Giant Shield Wizard" ClassIcon medic_shield Skill Expert Health 4500 Item "Point and Shoot" Attributes MiniBoss Attributes SpawnWithFullCharge Attributes ProjectileShield ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "generate rage on heal" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 5 "bot medic uber deploy delay duration" 12798 } } } } WaveSpawn { Name wave3a TotalCurrency 50 TotalCount 32 MaxActive 6 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_gate02 Where spawnbot_gate01_invasion TFBot { Template T_TFBot_Scout_Ninja } } WaveSpawn { Name wave3a TotalCurrency 50 TotalCount 48 MaxActive 8 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_gate02_right Where spawnbot_gate01_invasion Squad { TFBot { Class Soldier ClassIcon soldier_shovel WeaponRestrictions MeleeOnly Name "Grave Digger" } TFBot { Class Soldier ClassIcon soldier_shovel WeaponRestrictions MeleeOnly Name "Grave Digger" } TFBot { Class Soldier ClassIcon soldier_shovel WeaponRestrictions MeleeOnly Name "Grave Digger" } TFBot { Class Soldier ClassIcon soldier_shovel WeaponRestrictions MeleeOnly Name "Grave Digger" Attributes AlwaysCrit } } } WaveSpawn { Name wave3a_gatebots TotalCurrency 100 TotalCount 36 MaxActive 4 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 6 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Template T_TFGateBot_Heavyweapons_Shotgun } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 100 TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 20 Where spawnbot_gate02 Where spawnbot_gate01_right TFBot { Template T_TFBot_Giant_Pyro_DragonMage } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 50 TotalCount 32 MaxActive 12 SpawnCount 4 WaitBetweenSpawns 4 Where spawnbot_gate02_right Where spawnbot_gate02 Where spawnbot_gate01_invasion Squad { TFBot { Template T_TFGatebot_Soldier_Crusader } TFBot { Template T_TFGatebot_Soldier_Crusader } TFBot { Template T_TFGatebot_Soldier_Crusader } TFBot { Template T_TFBot_Soldier_Crusader_Mage } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 50 TotalCount 5 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 15 Where spawnbot_gate02_left Where spawnbot_gate01_right TFBot { Class Engineer Action FetchFlag WeaponRestrictions MeleeOnly Item "Brass Bucket" Item "Half-Zatoichi" Scale 1.5 Health 900 Skill Expert Name "Swordsmith" ClassIcon demoknight_samurai } } WaveSpawn { Name wave3c WaitForAllDead wave3b TotalCurrency 150 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 12 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Class Sniper ClassIcon sniper_bow_bleed Health 3000 Name "Giant Blood Skeleton" Skill Expert Attributes MiniBoss Item "The Huntsman" Item "The Aztec Warrior" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Skin 1 ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.7 "bleeding duration" 5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 } } } WaveSpawn { Name wave3c WaitForAllDead wave3b TotalCurrency 50 TotalCount 32 MaxActive 9 SpawnCount 3 WaitBetweenSpawns 2.5 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Class Sniper ClassIcon heavy_fist_nys Item "TF_WEAPON_FISTS" WeaponRestrictions MeleeOnly Name "Skeleton" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Skin 1 } } WaveSpawn { Name wave3c WaitForAllDead wave3b TotalCurrency 50 TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 7.5 WaitBetweenSpawns 7.5 Where spawnbot_gate02_left Where spawnbot_gate01_right TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { Name wave3d_bosstrio WaitForAllDead wave3c TotalCurrency 50 TotalCount 1 SpawnCount 1 WaitBeforeStarting 10 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Template T_TFBot_Boss_Area2_Blazeblade } } WaveSpawn { Name wave3d_bosstrio WaitForAllDead wave3c TotalCurrency 50 TotalCount 1 SpawnCount 1 WaitBeforeStarting 10 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Template T_TFBot_Boss_Area2_Blizzardblade } } WaveSpawn { Name wave3d_bosstrio WaitForAllDead wave3c TotalCurrency 50 TotalCount 1 SpawnCount 1 WaitBeforeStarting 10 Where spawnbot_gate02 Where spawnbot_gate01 TFBot { Template T_TFBot_Boss_Area2_Voltblade } } WaveSpawn { Name wave3d_support WaitForAllDead wave3c Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_gate02 Where spawnbot_gate01 RandomChoice { TFBot { Class Scout ClassIcon scout_milk Skill Expert Name "The Milk Man" Attributes AlwaysFireWeapon WeaponRestrictions SecondaryOnly Item "Mad Milk" ItemAttributes { ItemName "Mad Milk" "effect bar recharge rate increased" -2 } } TFBot { Class Sniper ClassIcon sniper_jarate Skill Expert Name "Jarate Master" Attributes AlwaysFireWeapon WeaponRestrictions SecondaryOnly Item "Jarate" ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" -2 } } } } } Wave { InitWaveOutput { Target wave_initMain_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } Explanation { Line "{f7385b}Wave 4 / 4" Line "{e46dff}The flying dutchman has come to deal with you himself!" Line "{e46dff}His ship will appear later in the wave. " Line "{e46dff}Defeat the wave before it reaches the hatch. (You can't damage ghost ships!)" } WaveSpawn { Name wave4a Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_main_invasion RandomSpawn 1 TotalCount 64 MaxActive 8 SpawnCount 4 TotalCurrency 50 WaitBetweenSpawns 4 TFBot { Template T_TFBot_Medic_Crossbow } } WaveSpawn { Name wave4a Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_main_invasion TotalCount 32 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 1 TFBot { Template T_TFBot_Pyro_Volcano } } WaveSpawn { Name wave4a Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_main_invasion TotalCount 24 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Pyro_Axtinguisher } } WaveSpawn { Name wave4a_giants Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 3 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 6 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Pyro_DragonMage } } WaveSpawn { Name wave4b_giants Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 4 MaxActive 2 SpawnCount 2 TotalCurrency 100 WaitBeforeStarting 3 WaitBetweenSpawns 16 WaitForAllDead wave4a_giants TFBot { Template T_TFGateBot_Giant_Demoman_Knight_Armored } } WaveSpawn { Name wave4b Where spawnbot_gate01_right Where spawnbot_gate02_left Where spawnbot_main_right TotalCount 16 MaxActive 4 SpawnCount 4 TotalCurrency 25 WaitBeforeStarting 6 WaitBetweenSpawns 8 WaitForAllDead wave4a_giants TFBot { Template T_TFBot_Soldier_Mangler } } WaveSpawn { Name wave4b_minigiants Where spawnbot_gate01_right Where spawnbot_gate02_left Where spawnbot_main_left TotalCount 8 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 6 WaitBetweenSpawns 6 WaitForAllDead wave4a_giants TFBot { Template T_TFBot_MiniGiant_Sniper_ArrowMaster } } WaveSpawn { Name wave4c_tank TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitForAllDead wave4b_giants WaitForAllDead wave4b_minigiants Tank { Name "dutchman_tank" StartingPathTrackNode "boss_path_dutchman_1" Health 6969 Speed 30 DisableSmokestack 1 ClassIcon ghostship2_lite Scale 1 MaxTurnRate 10 Model "models/empty.mdl" Gravity 0 DisableTracks 1 StartSound "ambient/halloween/thunder_10.wav" EngineLoopSound "ambient/underground.wav" PingSound "ambient/hallow02.wav" DeploySound "ambient/creak03.wav" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "DutchmanShipTank" } } WaveSpawn { Name wave4c_support Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main Support 1 MaxActive 4 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 6 WaitForAllSpawned wave4c_tank TFBot { Template T_TFBot_Demoman_Crewmate Tag bot_dutchman } } WaveSpawn { Name wave4c_giants Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 4 MaxActive 2 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 6 WaitBetweenSpawns 12 WaitForAllSpawned wave4c_tank TFBot { Template T_TFBot_Giant_Demoman_Cannon } } WaveSpawn { Name wave4c Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 30 MaxActive 10 SpawnCount 5 TotalCurrency 50 WaitBeforeStarting 4 WaitBetweenSpawns 4 WaitForAllSpawned wave4c_tank TFBot { Template T_TFBot_Soldier_Conquistador } } WaveSpawn { Name wave4d Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 8 WaitBetweenSpawns 16 WaitForAllDead wave4c_giants TFBot { Template T_TFBot_Giant_Heavyweapons_Gatling } } WaveSpawn { Name wave4d Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_main_invasion TotalCount 16 MaxActive 8 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 6 WaitBetweenSpawns 6 WaitForAllDead wave4c_giants Squad { TFBot { Template T_TFBot_Heavyweapons_Brawler } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name wave4d Where spawnbot_gate01_invasion Where spawnbot_gate02_invasion Where spawnbot_main_invasion TotalCount 16 MaxActive 8 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 3 WaitForAllDead wave4c_giants TFBot { Template T_TFBot_Heavyweapons_Brawler } } WaveSpawn { Name wave4e_boss Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 4 WaitForAllDead wave4d TFBot { Template T_TFAttrBot_Boss_Area3 } } WaveSpawn { Name wave4e_support Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main Support 1 MaxActive 4 SpawnCount 4 WaitBeforeStarting 4 WaitBetweenSpawns 20 WaitForAllDead wave4d TFBot { Template T_TFBot_Sniper_Skeleton } } WaveSpawn { Name wave4e_support Where spawnbot_gate01 Where spawnbot_gate02 Where spawnbot_main Support 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 14 WaitBetweenSpawns 40 WaitForAllDead wave4d TFBot { Template T_TFBot_Giant_Heavyweapons_WispGenerator_Burst } } } Templates { T_TFBot_Boss_Area1 { Class Sniper ClassIcon sniper_bow_multi Health 5000 Name "The Gilded Gatekeeper" Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Item "The Huntsman" Tag bot_giant Skin 3 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" ItemAttributes { ItemName "The Huntsman" "arrow mastery" 1 "is australium item" 1 "turn to gold" 1 "damage penalty" 0.75 "fire rate penalty" 2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 5 } } T_TFBot_Giant_Demoman_PumpkinLauncher { Class Demoman Name "Giant Demoman" ClassIcon demo_giant Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "grenade no spin" 1 "grenade no bounce" 1 "grenade not explode on impact" 1 } } // Giant Heavy that releases homing "wisps" with low homing power. Sort of a reference to Grovetender from Risk of Rain 2 T_TFBot_Giant_Heavyweapons_WispGenerator { Class Heavyweapons Name "Giant Wisp Generator" ClassIcon heavy_heater_giant Skill Expert Health 5000 WeaponRestrictions PrimaryOnly MaxVisionRange 1200 Attributes MiniBoss Attributes SuppressFire Item "TF_WEAPON_ROCKETLAUNCHER" Item "The Bunsen Brave" RocketCustomParticle superrare_burning1 RocketCustomModel "models/props_mvm/mvm_human_skull.mdl" RingOfFire 15 UseMeleeThreatPrioritization 1 FireSound "Halloween.spell_mirv_cast" HomingRockets { IgnoreDisguisedSpies 0 IgnoreStealthedSpies 0 TurnPower 60 MaxAimError 90 RocketSpeed 0.33 } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } FireWeapon //Periodically fires weapon { Delay 4 //Time before the first fire input starts (Default: 10) Cooldown 4 //Time between each fire input (Default: 10) Duration 0.5 Type "Primary" } DamageAppliesCond // not even pyros can escape :ujel: { Name "TF_COND_GAS" Duration 6.9 } // Yes, this does infact imply I'm re-using assets from Ground Zero's unused stuff :^) ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "reload time increased" -1 "damage penalty" 0.33 "blast radius decreased" 0.33 } ItemAttributes { ItemName "TF_WEAPON_FISTS" "is_passive_weapon" 1 } CharacterAttributes { "move speed bonus" 0.3 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Giant_Heavyweapons_WispGenerator_Burst { Class Heavyweapons Name "Giant Burst Wisp Generator" ClassIcon heavy_heater_giant Skill Expert Health 5000 WeaponRestrictions PrimaryOnly MaxVisionRange 1200 Attributes MiniBoss Attributes SuppressFire Item "TF_WEAPON_ROCKETLAUNCHER" Item "The Bunsen Brave" RocketCustomParticle superrare_burning1 RocketCustomModel "models/props_mvm/mvm_human_skull.mdl" RingOfFire 15 UseMeleeThreatPrioritization 1 FireSound "Halloween.spell_mirv_cast" CharacterAttributes { "move speed bonus" 0.3 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "Reload time decreased" 0.001 "projectile spread angle penalty" 180 "fire rate bonus" 0.001 "clip size bonus" 2 "damage penalty" 0.33 "blast radius decreased" 0.33 "auto fires full clip" 1 "auto fires when full" 1 "can overload" 0 "blast dmg to self increased" 0 } ItemAttributes { ItemName "TF_WEAPON_FISTS" "is_passive_weapon" 1 } HomingRockets { IgnoreDisguisedSpies 0 IgnoreStealthedSpies 0 TurnPower 30 MaxAimError 360 RocketSpeed 0.33 AimTime 5 } FireWeapon { Delay 4 Cooldown 4 Duration 0.5 IfSeeTarget 1 Type "Primary" } CustomWeaponModel { Slot 0 Model "models/empty.mdl" } DamageAppliesCond { Name "TF_COND_GAS" Duration 6.9 } } T_TFBot_Scout_Generic { Class Scout ClassIcon scout_bat WeaponRestrictions MeleeOnly Skill Hard Name "Fast Zombie" // hl2 references are in the hou se tonight Item "Unarmed Combat" Item "Breadcrab" } T_TFBot_Scout_Ninja { Name "Ninja Scout" Class Scout ClassIcon demoknight_samurai Skill Hard Attributes AutoJump AutoJumpMin 3 AutoJumpMax 5 StripItemSlot 0 StripItemSlot 1 WeaponRestrictions MeleeOnly Item "Three-Rune Blade" CharacterAttributes { "increased jump height" 2 "cancel falling damage" 1 } ItemAttributes { ItemName "Three-Rune Blade" "hit self on miss" 0 } CustomWeaponModel { Slot 2 Model "models/weapons/c_models/c_shogun_katana/c_shogun_katana_soldier.mdl" } } T_TFBot_Scout_Rune { Class Scout ClassIcon scout_threerune_daan Name "Undead Pawn" Item "The Dark Falkirk Helm" Item "Three-Rune Blade" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "Three-Rune Blade" "hit self on miss" 0 } } T_TFBot_Pyro_Detonator_Medieval { Name "Novice Sorcerer" Class Pyro ClassIcon pyro_flare Skill Hard WeaponRestrictions SecondaryOnly Item "The Detonator" Item "Seared Sorcerer" ItemAttributes // fix dumbshit that the pyro voodoo soul does { ItemName "Seared Sorcerer" "item style override" 1 } ItemAttributes { ItemName "The Flare Gun" "damage penalty" 0.5 "fire rate penalty" 1.5 } } T_TFBot_Pyro_Axtinguisher { Name "Axtinguisher Pyro" Class Pyro ClassIcon pyro_axtinguisher Skill Hard WeaponRestrictions MeleeOnly Item "The Axtinguisher" } T_TFBot_Pyro_FireMage { Name "Fire Mage" Class Pyro ClassIcon pyro_dragon_fury_swordstone Skill Hard MaxVisionRange 1024 StripItemSlot 0 StripItemSlot 1 Item "The Hot Hand" Item "TF_WEAPON_SPELLBOOK" Spell { Type "Fireball" Delay 4 Cooldown 4 Charges 1 Limit 2 } } T_TFBot_MiniGiant_Heavy_Heater { Name "Heater Heavy" Class Heavy ClassIcon heavy_heater Skill Hard Scale 1.5 Health 700 WeaponRestrictions MeleeOnly Tag bot_giant RingOfFire 10 CharacterAttributes { "move speed penalty" 0.75 } } T_TFBot_Scout_SunStick { Name "Sun-on-a-Stick Scout" Class Scout ClassIcon scout_sunstick Skill Hard WeaponRestrictions MeleeOnly Item "Sun-on-a-Stick" } T_TFBot_Sniper_Skeleton { Name "Skeleton" Class Sniper ClassIcon dead Skill Hard WeaponRestrictions MeleeOnly Skin 1 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" } T_TFBot_Giant_Soldier_Mask { Name "Haunted Mask" Class Soldier ClassIcon soldier Skill Hard Health 2000 Attributes MiniBoss MaxVisionRange 1024 WeaponRestrictions PrimaryOnly Tag bot_giant Action Mobber RocketCustomModel "models/empty.mdl" RocketCustomParticle "superrare_greenenergy" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage penalty" 0.2 } HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.25 TurnPower 90 MaxAimError 360 } ShootTemplate { Name SoldierMask Offset "8 0 -108" AttachToProjectile 1 } DamageAppliesCond { Name "TF_COND_MARKEDFORDEATH" Duration 5 } } T_TFBot_Medic_Crossbow { Name "Crossbow Medic" Class Medic ClassIcon medic_crossbow Skill Hard MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Item "The Crusader's Crossbow" } T_TFBot_Pyro_Volcano { Name "Volcanic Axe Pyro" Class Pyro ClassIcon pyro_volcano Skill Hard WeaponRestrictions MeleeOnly Item "Sharpened Volcano Fragment" } T_TFGateBot_Giant_Demoman_Knight_Armored { Name "Giant Heavily Armored Knight" Class Demoman Health 4000 ClassIcon demoknight_skullcutter_lite EventChangeAttributes { Default { Skill Expert WeaponRestrictions MeleeOnly Attributes IgnoreFlag Attributes MiniBoss BehaviorModifiers Push Tag nav_prefer_gate1_flank Tag bot_gatebot Tag bot_giant Item "MvM GateBot Light Demoman" Item "The Scotsman's Skullcutter" CharacterAttributes { "move speed bonus" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "dmg taken increased" 0.75 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "fire rate penalty" 0.75 } } RevertGateBotsBehavior { Skill Expert WeaponRestrictions MeleeOnly Attributes MiniBoss Item "MvM GateBot Light Demoman" Item "The Scotsman's Skullcutter" Tag bot_giant CharacterAttributes { "move speed bonus" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "fire rate penalty" 0.75 } ItemAttributes { ItemName "MvM GateBot Light Demoman" "item style override" 1 } } } } T_TFBot_Soldier_Mangler { Name "Thunderbolt Wizard" Class Soldier Skill Normal MaxVisionRange 2048 WeaponRestrictions PrimaryOnly Item "The Cow Mangler 5000" ItemAttributes { ItemName "The Cow Mangler 5000" "damage penalty" 0.75 "fire rate penalty" 2 } } T_TFBot_MiniGiant_Sniper_ArrowMaster { Name "Arrow Master Sniper" Class Sniper ClassIcon sniper_bow_multi Skill Expert Scale 1.5 Health 750 MaxVisionRange 1024 WeaponRestrictions PrimaryOnly Item "The Huntsman" CharacterAttributes { "move speed penalty" 0.7 } ItemAttributes { ItemName "The Huntsman" "arrow mastery" 1 } } T_TFBot_Demoman_Crewmate { Name "Dutchman's Crewmate" Class Demoman ClassIcon demoknight_persian_nys Action Mobber Skill Hard WeaponRestrictions MeleeOnly Item "The Persian Persuader" } T_TFBot_Giant_Demoman_Cannon { Name "Giant Cannoneer" Class Demoman ClassIcon demo_loosecannon Skill Expert Health 3300 Attributes MiniBoss MaxVisionRange 1024 WeaponRestrictions PrimaryOnly Tag bot_giant Item "The Loose Cannon" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } ItemAttributes { ItemName "The Loose Cannon" "fire rate bonus" 0.5 "grenade launcher mortar mode" -1 } } T_TFBot_Soldier_Conquistador { Name "Conquistador" Class Soldier ClassIcon demoknight_samurai Skill Normal WeaponRestrictions MeleeOnly Item "The Half-Zatoichi" } T_TFBot_Giant_Heavyweapons_Gatling { Name "Giant Gatling Pirate" Class Heavy Skill Normal Health 5000 Attributes MiniBoss MaxVisionRange 1024 WeaponRestrictions PrimaryOnly Tag bot_giant CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "damage penalty" 0.7 } } T_TFBot_Heavyweapons_Brawler { Name "Brawler Pirate" Class Heavy ClassIcon heavy_apocofist Skill Hard Scale 1.2 Health 450 WeaponRestrictions MeleeOnly } T_TFAttrBot_Boss_Area3 { Name "Davy Jones" Class Demoman Scale 2 Health 25000 Attributes UseBossHealthBar UseMeleeThreatPrioritization 1 AimLeadProjectileSpeed 2000 ClassIcon ghostship_lite SpawnTemplate "DutchParent" ChangeAttributes { Name "Attr1" Delay 0 Repeats 1 IfHealthBelow 20000 } ChangeAttributes { Name "Attr2" Delay 0 Repeats 1 IfHealthBelow 17500 } Taunt { Delay 1 Cooldown 15 Repeats 0 IfHealthBelow 17500 } FireInput { Target "dutchman_angry_relay" Action Trigger Delay 0 Cooldown 15 Repeats 0 IfHealthBelow 17500 } EventChangeAttributes { Default { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar MaxVisionRange 1024 WeaponRestrictions MeleeOnly Tag bot_giant Item "TF_WEAPON_BOTTLE" Item "Demoman Tricorne" Item "The Liquor Locker" Item "Cap'n Calamari" Item "Mann of the Seven Sees" CharacterAttributes { "move speed bonus" 0.3 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "dmg taken from crit reduced" 0.5 } ItemAttributes { ItemName "TF_WEAPON_BOTTLE" "damage bonus" 1.5 } } Attr1 { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar MaxVisionRange 1024 WeaponRestrictions MeleeOnly Tag bot_giant Item "The Persian Persuader" Item "Demoman Tricorne" Item "The Liquor Locker" Item "Cap'n Calamari" Item "Mann of the Seven Sees" CharacterAttributes { "move speed bonus" 0.3 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "dmg taken from crit reduced" 0.5 } ItemAttributes { ItemName "The Persian Persuader" "damage penalty" 0.5 "fire rate bonus" 0.5 } } Attr2 { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar MaxVisionRange 2048 WeaponRestrictions PrimaryOnly Tag bot_giant Item "The Loose Cannon" Item "Demoman Tricorne" Item "The Liquor Locker" Item "Cap'n Calamari" Item "Mann of the Seven Sees" CharacterAttributes { "move speed bonus" 0.3 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "dmg taken from crit reduced" 0.5 } ItemAttributes { ItemName "The Loose Cannon" "damage bonus" 1.25 "fire rate penalty" 1.5 "Reload time decreased" 0.25 "grenade launcher mortar mode" -1 "crit vs wet players" 1 "projectile speed increased" 2 } } } } T_TFBot_Giant_Demoman_Skeleton_King { Name "Giant King Skeleton" Class Demoman ClassIcon dead_giant Skill Hard Health 3300 Attributes MiniBoss MaxVisionRange 1024 StripItemSlot 0 StripItemSlot 1 Tag bot_giant Item "Zombie Demo" Item "The Bat Outta Hell" Item "Forgotten King's Restless Head" Item "Forgotten King's Pauldrons" Item "TF_WEAPON_SPELLBOOK" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "charge recharge rate increased" 0.001 "cancel falling damage" 1 "voice pitch scale" 0.7 } Spell { Type "Summon Skeletons" Delay 6 Cooldown 18 Charges 1 Limit 1 } } T_TFBot_Giant_Demoman_Vampire { Name "Vampire Demoman" Class Demoman ClassIcon demo_knight_bottle Skill Expert Health 3300 Attributes MiniBoss WeaponRestrictions MeleeOnly Tag bot_giant Item "The Pain Train" Item "The Transylvania Top" Item "The Lordly Lapels" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "charge recharge rate increased" 0.001 "cancel falling damage" 1 "voice pitch scale" 0.7 } ItemAttributes { ItemName "The Pain train" "heal on hit for rapidfire" 200 } } T_TFBot_Giant_Demoman_Wolf { Name "Wolf Demoman" Class Demoman ClassIcon demo_knight_bottle Skill Expert Health 2000 Attributes MiniBoss WeaponRestrictions MeleeOnly Tag bot_giant Item "Hair of the Dog" Item "Scottish Snarl" Item "Pickled Paws" CharacterAttributes { "move speed bonus" 0.65 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "charge recharge rate increased" 0.001 "cancel falling damage" 1 "voice pitch scale" 0.7 } ItemAttributes { ItemName "TF_WEAPON_BOTTLE" "damage penalty" 0.4 "fire rate bonus" 0.5 "bleeding duration" 2 } CustomWeaponModel //Sets custom weapon model { Slot 2 Model "models/empty.mdl" } } T_TFBot_Giant_Engineer_ShortCircuit { Name "Mad Scientist" Class Engineer ClassIcon engineer_shortcircuit_lite Skill Expert Health 3000 Attributes MiniBoss BehaviorModifiers Push MaxVisionRange 1024 WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Short Circuit" Item "The Brainiac Hairpiece" Item "Head Mounted Double Observatory" Item "The Grizzled Growth" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } FireWeapon { Delay 3 Cooldown 3 Type "Secondary" } } T_TFBot_Demoman_Midget { Name "Pumpkin Midget" Class Demoman ClassIcon demo_caber_nys Skill Hard Scale 0.6 MaxVisionRange 1024 Action Mobber WeaponRestrictions MeleeOnly Item "Ali Baba's Wee Booties" Item "The Ullapool Caber" Item "Horseless Headless Horseman's Head" CharacterAttributes { "damage penalty" 0.35 "blast dmg to self increased" 100000 "head scale" 1.75 } } T_TFBot_Demoman_MidgetCharger { Name "Pumpkin Midget Charger" Class Demoman ClassIcon demo_caber_nys Skill Hard Scale 0.6 Attributes SpawnWithFullCharge MaxVisionRange 1024 WeaponRestrictions MeleeOnly Item "Ali Baba's Wee Booties" Item "The Splendid Screen" Item "The Ullapool Caber" Item "Horseless Headless Horseman's Head" CharacterAttributes { "damage penalty" 0.35 "blast dmg to self increased" 100000 "charge time increased" 2 "charge recharge rate increased" 2 "head scale" 1.75 } } T_TFBot_Player_Buster_Pumpkin { Class Demoman Name "Walking Pumpkin Bomb" Skill Expert Item "The Ullapool Caber" Item "Horseless Headless Horseman's Head" WeaponRestrictions MeleeOnly ClassIcon sentry_buster Scale 1.25 Health 650 Action SuicideBomber UseBusterModel 1 CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.01 "airblast vulnerability multiplier" 0.01 "override footstep sound set" 7 "cannot be backstabbed" 1 "cancel falling damage" 1 "torso scale" 0.01 "head scale" 3 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Giant_Pyro_DragonMage { Name "Giant Dragon Mage" Class Pyro ClassIcon pyro_dragon_fury_swordstone Skill Expert Health 3000 Attributes MiniBoss Tag bot_giant MaxVisionRange 600 WeaponRestrictions MeleeOnly Item "The Hot Hand" Item "The Pyromancer's Mask" Item "Seared Sorcerer" Item "TF_WEAPON_SPELLBOOK" Spell { Type "Fireball" Cooldown 6 Limit 1 } Spell { Type "Meteor Shower" Delay 32 Cooldown 32 Limit 1 } ItemAttributes // fix dumbshit that the pyro voodoo soul does { ItemName "Seared Sorcerer" "item style override" 1 } ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Soldier_Crusader_Mage { Class Soldier ClassIcon demoknight_samurai Health 350 Scale 1.3 Name "Crusader Mage" WeaponRestrictions MeleeOnly Item "Brass Bucket" Item "The Half-Zatoichi" Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 } Spell { Type "Healing Aura" Delay 10 Cooldown 10 Limit 1 } } T_TFBot_Boss_Area2_Blazeblade { Class Demoman ClassIcon demoknight_fire Name "Giant Blazing Demoknight" Skill Expert Health 8000 Item "The Eyelander" Tag bot_giant WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes UseBossHealthBar Item "Brass Bucket" ItemAttributes { ItemName "The Brass Bucket" "attach particle effect" 13 // bruhning flames } ItemAttributes { ItemName "The Eyelander" "Set DamageType Ignite" 1 "decapitate type" 0 "damage penalty" 0.5 "attack particle effect" 2 "weapon burn dmg increased" 3 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Boss_Area2_Blizzardblade { Class Demoman ClassIcon demoknight_festive Name "Giant Blizzard Demoknight" Skill Expert Health 9001 Item "Festive Eyelander" Tag bot_giant WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes UseBossHealthBar Item "Brass Bucket" DamageAppliesCond { Name "TF_COND_FREEZE_INPUT" Duration 3 } ItemAttributes { ItemName "Brass Bucket" "attach particle effect" 87 // the Frostbite of 87!!!!11111111 fuck you im painting him purple now } ItemAttributes { ItemName "Festive Eyelander" "damage bonus" 2 "decapitate type" 0 "fire rate penalty" 4 "set turn to ice" 1 "damage causes airblast" 1 "apply look velocity on damage" 1000 // does funny yeet when player unfreezes } CharacterAttributes { "move speed bonus" 0.3 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Boss_Area2_Voltblade { Class Demoman ClassIcon demoknight_golden_lite Name "Giant Lightning Demoknight" Skill Expert Health 8000 Item "The Eyelander" Item "The Tide Turner" Tag bot_giant WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes UseBossHealthBar Item "Brass Bucket" ItemAttributes { ItemName "The Brass Bucket" "attach particle effect" 56 } ItemAttributes { ItemName "The Eyelander" "is australium item" 1 "item style override" 1 "decapitate type" 0 "fire rate bonus" 0.6 "damage penalty" 0.8 "critboost on kill" 5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFGatebot_Sniper_Huntsman_Special { Class Sniper ClassIcon sniper_bow Name "Skeletal Archer" Skin 3 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers Push Attributes IgnoreFlag Item "MvM GateBot Light Sniper" Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.5 } } RevertGateBotsBehavior { Item "MvM GateBot Light Sniper" ItemAttributes { ItemName "MvM GateBot Light Sniper" "item style override" 1 } Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.5 } } } } T_TFGatebot_Soldier_Crusader { Class Soldier ClassIcon demoknight_samurai Name "Crusader" EventChangeAttributes { Default { Tag nav_prefer_gate1_flank Tag bot_gatebot BehaviorModifiers Push Attributes IgnoreFlag Item "MvM GateBot Light Soldier" Item "The Half-Zatoichi" WeaponRestrictions MeleeOnly } RevertGateBotsBehavior { Item "MvM GateBot Light Soldier" Item "The Half-Zatoichi" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "MvM GateBot Light Soldier" "item style override" 1 } } } } } ExtraTankPath { Name "boss_path_dutchman" Node "1400 6100 1800" Node "4750 6100 1800" Node "4900 5950 1800" Node "5020 5700 1800" Node "5020 5240 1800" Node "5100 5000 1800" Node "6000 4370 1800" Node "6500 3900 1800" Node "6600 3700 1800" Node "6720 3100 1800" Node "6500 2800 1800" Node "6000 2680 1800" Node "4016 2680 1800" } PointTemplates { stuckfix //fixes weird clipping { prop_dynamic { "angles" "0 45 0" "origin" "6044 4291 528" "body" "0" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "effects" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "1" // 1 "fademindist" "-1" "fadescale" "1" "health" "0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "minhealthdmg" "0" "model" "models/props_mining/support_wall001a.mdl" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "shadowcastdist" "0" "skin" "0" "solid" "6" // 6 "spawnflags" "0" "StartDisabled" "0" "texframeindex" "0" } prop_dynamic { "angles" "0 45 0" "origin" "6134 4201 528" "body" "0" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "effects" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "1" // 1 "fademindist" "-1" "fadescale" "1" "health" "0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "minhealthdmg" "0" "model" "models/props_mining/support_wall001a.mdl" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "shadowcastdist" "0" "skin" "0" "solid" "6" // 6 "spawnflags" "0" "StartDisabled" "0" "texframeindex" "0" } prop_dynamic { "angles" "0 45 0" "origin" "6224 4111 528" "body" "0" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "effects" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "1" // 1 "fademindist" "-1" "fadescale" "1" "health" "0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "minhealthdmg" "0" "model" "models/props_mining/support_wall001a.mdl" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "shadowcastdist" "0" "skin" "0" "solid" "6" // 6 "spawnflags" "0" "StartDisabled" "0" "texframeindex" "0" } prop_dynamic { "angles" "0 45 0" "origin" "6314 4021 528" "body" "0" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "effects" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "1" // 1 "fademindist" "-1" "fadescale" "1" "health" "0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "minhealthdmg" "0" "model" "models/props_mining/support_wall001a.mdl" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "shadowcastdist" "0" "skin" "0" "solid" "6" // 6 "spawnflags" "0" "StartDisabled" "0" "texframeindex" "0" } prop_dynamic { "angles" "0 45 0" "origin" "6404 3931 528" "body" "0" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "effects" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "1" // 1 "fademindist" "-1" "fadescale" "1" "health" "0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "minhealthdmg" "0" "model" "models/props_mining/support_wall001a.mdl" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "shadowcastdist" "0" "skin" "0" "solid" "6" // 6 "spawnflags" "0" "StartDisabled" "0" "texframeindex" "0" } } SoldierMask { prop_dynamic { "modelscale" "1.5" "rendercolor" "63 254 36" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/player/items/all_class/executionerhood_spy.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" } } DutchParent { NoFixup 1 OnParentKilledOutput { Target "dutchman_tank" Action "RemoveHealth" Param "696969" } logic_relay { "targetname" "dutchman_angry_relay" "OnTrigger" "dutchman_push,Enable,,0,-1" "OnTrigger" "dutchman_curse_trigger,Enable,,1,-1" "OnTrigger" "dutchman_push,Disable,,1.5,-1" "OnTrigger" "dutchman_curse_trigger,Disable,,1.5,-1" } trigger_add_tf_player_condition { "targetname" "dutchman_curse_trigger" "condition" "86" "duration" "5" "filtername" "filter_red" "spawnflags" "1" "StartDisabled" "1" "mins" "-1024 -1024 -1024" "maxs" "1024 1024 1024" } trigger_push { "targetname" "dutchman_push" "filtername" "filter_red" "alternateticksfix" "0" "pushdir" "-45 45 0" "spawnflags" "1" "speed" "256" "StartDisabled" "1" "mins" "0 0 0" "maxs" "256 256 256" } trigger_push { "targetname" "dutchman_push" "filtername" "filter_red" "alternateticksfix" "0" "pushdir" "-45 315 0" "spawnflags" "1" "speed" "256" "StartDisabled" "1" "mins" "0 256 0" "maxs" "256 0 256" } trigger_push { "targetname" "dutchman_push" "filtername" "filter_red" "alternateticksfix" "0" "pushdir" "-45 225 0" "spawnflags" "1" "speed" "256" "StartDisabled" "1" "mins" "-256 -256 0" "maxs" "0 0 256" } trigger_push { "targetname" "dutchman_push" "filtername" "filter_red" "alternateticksfix" "0" "pushdir" "-45 135 0" "spawnflags" "1" "speed" "256" "StartDisabled" "1" "mins" "-256 0 0" "maxs" "0 256 256" } } DutchmanTeleportLogic { NoFixup 1 env_entity_maker { "targetname" "dutchman_teleport_maker" "EntityTemplate" "dutchman_teleport_template" } filter_tf_bot_has_tag { "targetname" "filter_dutchman_bot" "Negated" "0" "require_all_tags" "1" "tags" "bot_dutchman" "OnPass" "should_spawn_teleport,Test,,0,-1" } logic_branch { "targetname" "should_spawn_teleport" "InitialValue" "1" "OnTrue" "dutchman_teleport_maker,ForceSpawnAtEntityOrigin,dutchman_tank,0,-1" "OnTrue" "dutchman_teleport,Teleport,,0.01,-1" "OnTrue" "dutchman_teleport,Kill,,0.02,-1" } filter_activator_class { "targetname" "filter_tank" "filterclass" "tank_boss" "Negated" "0" } trigger_multiple { "targetname" "dutchman_no_spawn_area" "filtername" "filter_tank" "spawnflags" "67" "StartDisabled" "0" "wait" "0" "origin" "2264 6112 2048" "mins" "-1132 -512 -192" "maxs" "1132 512 192" "OnStartTouch" "should_spawn_teleport,SetValue,0,0,-1" "OnEndTouch" "should_spawn_teleport,SetValue,1,0,-1" } trigger_multiple { "targetname" "dutchman_no_spawn_area" "filtername" "filter_tank" "spawnflags" "67" "StartDisabled" "0" "wait" "0" "origin" "5020 5408 2048" "mins" "-356 -224 -192" "maxs" "356 224 192" "OnStartTouch" "should_spawn_teleport,SetValue,0,0,-1" "OnEndTouch" "should_spawn_teleport,SetValue,1,0,-1" } trigger_multiple { "targetname" "dutchman_no_spawn_area" "filtername" "filter_tank" "spawnflags" "67" "StartDisabled" "0" "wait" "0" "origin" "6372 4064 2048" "mins" "-356 -224 -192" "maxs" "356 224 192" "OnStartTouch" "should_spawn_teleport,SetValue,0,0,-1" "OnEndTouch" "should_spawn_teleport,SetValue,1,0,-1" } trigger_multiple { "targetname" "dutchman_no_spawn_area" "filtername" "filter_tank" "spawnflags" "67" "StartDisabled" "0" "wait" "0" "origin" "6724 3112 2048" "mins" "-356 -224 -192" "maxs" "356 224 192" "OnStartTouch" "should_spawn_teleport,SetValue,0,0,-1" "OnEndTouch" "should_spawn_teleport,SetValue,1,0,-1" } } dutchman_teleport_template { NoFixup 1 point_teleport { "targetname" "dutchman_teleport" "target" "!activator" "origin" "0 0 -224" } } DutchmanShipTank { // Cannot take damage OnSpawnOutput { Target "dutchman_tank" Action SetDamageFilter Param "filter_tank" } prop_dynamic { "body" "0" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/props_vehicles/pirate_ship_large/pirate_ship_large.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "angles" "270 180 0" } } ResupplyCabinet { prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "disableshadows" "1" "solid" "6" "origin" "16 0 0" "angles" "0 0 0" } func_regenerate { "associatedmodel" "locker_model" "filtername" "filter_red" "TeamNum" "2" "spawnflags" "1" "mins" "0 -64 0" "maxs" "64 64 128" "OnStartTouch" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } } Misc { NoFixup 1 OnSpawnOutput { Target "outputs_relay" Action Trigger } logic_relay { "targetname" "outputs_relay" "OnTrigger" "buildings_spawn_trigger,AddOutput,OnStartTouch filter_dutchman_bot:TestActivator::0:-1,0,-1" "OnTrigger" "player,AddOutput,targetname ,0,-1" "OnTrigger" "wave_initB_relay,AddOutput,player color:0 255 0:0:-1,0,-1" } } } SpawnTemplate "Misc" SpawnTemplate "DutchmanTeleportLogic" SpawnTemplate { Name "ResupplyCabinet" Origin "3424 3404 1120" Angles "0 -45 0" } SpawnTemplate { Name "ResupplyCabinet" Origin "3108 3088 1120" Angles "0 -45 0" } }