// SPY RESIDENCE - WHITECLIFF EVENT \\ // MADE BY PDA EXPERT, FOR TF2CLOUD \\ #base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop SpyResidence { StartingCurrency 1000 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 6 Advanced 1 WaveStartCountdown 5 NoRomevisionCosmetics 1 TextPrintTime 0 //SniperAllowHeadshots 1 MedigunShieldDamage 1 NoThrillerTaunt 1 BodyPartScaleSpeed 999 NoReanimators 1 CustomUpgradesFile mvm_upgrades_spy_residence.txt PrecacheGeneric mvm_upgrades_spy_residence.txt ClassLimit { Scout 0 Soldier 0 Pyro 0 Demoman 0 Heavyweapons 0 Engineer 0 Medic 0 Sniper 0 } //PrecacheModel "models/weapons/w_models/w_rocketbullet.mdl" OverrideSounds { "Sniper.BattleCry01" "Spy.MeleeDare01" "Sniper.BattleCry02" "Spy.MeleeDare02" "Sniper.BattleCry03" "Spy.MeleeDare01" "Sniper.BattleCry04" "Spy.MeleeDare01" "Sniper.BattleCry05" "Spy.MeleeDare02" "Sniper.BattleCry06" "Spy.MeleeDare02" "music.mvm_lost_wave" "#ui\halloween_boss_defeated.wav" "MVM.PlayerDied" "player/taunt_western_shoot1.wav" } PointTemplates { cabinet // taken from mobo { prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "6" "angles" "0 0 0" "disableshadows" "1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_red" "targetname" "filter_redbot" } func_regenerate { "targetname" "regenerate" "associatedmodel" "locker_model" "TeamNum" "2" "origin" "-50 0 0" "mins" "0 -48 0" "maxs" "40 0 128" "OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } trigger_multiple { "filtername" "filter_redbot" "StartDisabled" "0" "targetname" "block" "origin" "-50 0 0" "mins" "-40 -96 -40" "maxs" "80 96 168" "spawnflags" "1" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" } } cabinet_front // taken from mobo { NoFixup 1 prop_dynamic { "targetname" "frontlocker_model" "model" "models/props_medieval/medieval_resupply.mdl" "solid" "6" "angles" "0 0 0" "disableshadows" "1" } func_regenerate { "targetname" "regenerate_front" "associatedmodel" "frontlocker_model" "TeamNum" "2" "origin" "30 0 0" "mins" "0 -48 0" "maxs" "40 0 128" "OnStartTouchAll" "frontlocker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "frontlocker_model,SetAnimation,close,0,-1" } } powerup_fix { logic_timer { "targetname" "powerup_kill" "RefireTime" "0.05" "OnTimer" "item_powerup_rune,kill,,0,-1" } } extra_guff_and_fluff { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,Spy Residence,0,-1" "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger regenerate_front:Disable:0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger regenerate_front:Enable:0:-1,0,-1" } prop_dynamic { "targetname" "spy_table" "model" "models/player/engineer.mdl" "origin" "-3364 -2206 416" "angles" "0 -120 0" "defaultanim" "competitive_winnerstate_idle" "disableshadows" "1" "disablebonefollowers" "1" "renderamt" "0" "rendermode" "1" } prop_dynamic_ornament { "targetname" "spy_table_body" "model" "models/player/spy.mdl" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spy_table" } prop_dynamic_ornament { "targetname" "spy_table_gun" "model" "models/weapons/c_models/c_shotgun/c_shotgun.mdl" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spy_table" } prop_dynamic_ornament { "targetname" "spy_table_hat" "model" "models/workshop/player/items/spy/spr17_the_upgrade/spr17_the_upgrade.mdl" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spy_table" } prop_dynamic_ornament { "targetname" "spy_table_shirt" "model" "models/workshop/player/items/spy/cc_summer2015_lurkers_leathers/cc_summer2015_lurkers_leathers.mdl" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spy_table" } prop_dynamic_ornament { "targetname" "spy_table_scarf" "model" "models/player/items/all_class/all_winter_scarf_spy.mdl" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spy_table" } training_annotation { "targetname" "homing_notice" "origin" "956 -5735 740" "lifetime" "6" "display_text" "Be mindful of the homing rockets! They will try and home in onto you!" } } tank_dispenser { NoFixup 1 prop_dynamic { "targetname" "helmet" "model" "models/workshop/player/items/engineer/robo_engineer_mining_light/robo_engineer_mining_light.mdl" "origin" "-40 4 15" "angles" "90 0 0" "skin" "1" "modelscale" "2" } prop_dynamic { "targetname" "platform" "model" "models/props_forest/wood_platform1.mdl" "origin" "0 -40 60" "angles" "0 -90 0" "disableshadows" "1" "disablebonefollowers" "1" "modelscale" 0.75 "solid" "0" } prop_dynamic { "targetname" "platform" "model" "models/props_forest/wood_platform1.mdl" "origin" "0 40 60" "angles" "0 90 0" "disableshadows" "1" "disablebonefollowers" "1" "modelscale" 0.75 "solid" "0" } obj_dispenser { "targetname" "dispensermodel_tank_1" "origin" "0 0 0" "teamnum" "3" "SolidToPlayer" "0" "origin" "-35 -110 60" "angles" "0 90 0" "defaultupgrade" "3" "OnDestroyed" "dispenserbeam1*,kill,,0,-1" } dispenser_touch_trigger { "targetname" "dispenserbeam1_tank_bounds" "mins" "-600 -600 -600" "maxs" "600 600 600" "spawnflags" "1" } mapobj_cart_dispenser { "targetname" "dispenserbeam1_tank" "origin" "-35 -110 90" "spawnflags" "6" "TeamNum" "3" "touch_trigger" "dispenserbeam1_tank_bounds" } obj_dispenser { "targetname" "dispensermodel_tank_2" "origin" "0 0 0" "teamnum" "3" "SolidToPlayer" "0" "origin" "35 -110 60" "angles" "0 90 0" "defaultupgrade" "3" "OnDestroyed" "dispenserbeam2*,kill,,0,-1" } dispenser_touch_trigger { "targetname" "dispenserbeam2_tank_bounds" "mins" "-600 -600 -600" "maxs" "600 600 600" "spawnflags" "1" } mapobj_cart_dispenser { "targetname" "dispenserbeam2_tank" "origin" "35 -110 90" "spawnflags" "6" "TeamNum" "3" "touch_trigger" "dispenserbeam2_tank_bounds" } obj_dispenser { "targetname" "dispensermodel_tank_3" "origin" "0 0 0" "teamnum" "3" "SolidToPlayer" "0" "origin" "-35 110 60" "angles" "0 90 0" "defaultupgrade" "3" "OnDestroyed" "dispenserbeam3*,kill,,0,-1" } dispenser_touch_trigger { "targetname" "dispenserbeam3_tank_bounds" "mins" "-600 -600 -600" "maxs" "600 600 600" "spawnflags" "1" } mapobj_cart_dispenser { "targetname" "dispenserbeam3_tank" "origin" "-35 110 90" "spawnflags" "6" "TeamNum" "3" "touch_trigger" "dispenserbeam3_tank_bounds" } obj_dispenser { "targetname" "dispensermodel_tank_4" "origin" "0 0 0" "teamnum" "3" "SolidToPlayer" "0" "origin" "35 110 60" "angles" "0 90 0" "defaultupgrade" "3" "OnDestroyed" "dispenserbeam4*,kill,,0,-1" } dispenser_touch_trigger { "targetname" "dispenserbeam4_tank_bounds" "mins" "-600 -600 -600" "maxs" "600 600 600" "spawnflags" "1" } mapobj_cart_dispenser { "targetname" "dispenserbeam4_tank" "origin" "35 110 90" "spawnflags" "6" "TeamNum" "3" "touch_trigger" "dispenserbeam4_tank_bounds" } OnSpawnOutput { Target "dispensermodel*" Action "SetHealth" Param "1000" } } backbelt_packspawn { NoFixup 1 item_ammopack_small { "targetname" "backbelt_pack" "automaterialize" "0" } } underworld_wave // remake for overworld, currently unusued { NoFixup 1 logic_relay { "targetname" "underworld_transport" "OnTrigger" "underworld_hurt_zone,disable,,0,-1" "OnTrigger" "env_soundscape,Disable,,0,-1" "OnTrigger" "merasmus_teleport_announcment,PlaySound,,0,-1" "OnTrigger" "fadein,Fade,,1.5,-1" "OnTrigger" "underworld_gatehouse_open,PlaySound,,0,-1" "OnTrigger" "underworld_sfx_shake,StartShake,,1.5,-1" "OnTrigger" "underworld_gatehouse_open,PlaySound,,3.5,-1" "OnTrigger" "underworld_sfx_shake,StartShake,,3.5,-1" "OnTrigger" "teleport_underworld,enable,,4.5,-1" "OnTrigger" "underworld_cutscene,trigger,,4.55,-1" "OnTrigger" "underworld_nocutscene,trigger,,4.6,-1" } logic_relay { "targetname" "underworld_nocutscene" "OnTrigger" "merasmus_underworld_introdcution,PlaySound,,1,-1" "OnTrigger" "death_hint,show,,1,-1" "OnTrigger" "merasmus_underworld_laugh,PlaySound,,10,-1" "OnTrigger" "spawnbot_underworld*,enable,,10,-1" } logic_relay { "targetname" "underworld_cutscene" "StartDisabled" "1" "OnTrigger" "player,SetHUDVisibility,0,0,-1" "OnTrigger" "cameratrain_first,SetSpeed,700,0,-1" "OnTrigger" "underworld_showcase,$EnableAll,,0,-1" "OnTrigger" "merasmus_underworld_introdcution,PlaySound,,3.2,-1" "OnTrigger" "merasmus_underworld_laugh,PlaySound,,8,-1" "OnTrigger" "fadeinquick,Fade,,8.5,-1" "OnTrigger" "cameratrain_first,SetSpeed,400,8,-1" "OnTrigger" "underworld_showcase,$DisableAll,,9.5,-1" "OnTrigger" "cameratrain_first,SetSpeed,0,10,-1" "OnTrigger" "player,SetHUDVisibility,1,10,-1" "OnTrigger" "barrier_hint,show,,12,-1" "OnTrigger" "death_hint,show,,20,-1" "OnTrigger" "spawnbot_underworld*,enable,,26,-1" } point_viewcontrol { "targetname" "underworld_showcase" "spawnflags" "44" "wait" "100" "origin" "-519 -117 -9876" "angles" "-15 -45 0" } logic_measure_movement { "targetname" "measure_movement_targetname" "measurereference" "cameratrain_first" "measuretarget" "cameratrain_first" "measuretype" "0" "target" "underworld_showcase" "targetreference" "cameratrain_first" "targetscale" "1" } func_tracktrain { "targetname" "cameratrain_first" "mins" "-1 -1 -1" "maxs" "1 1 1" "origin" "-684 39 -9936" "spawnflags" "536" "startspeed" "120" "rendermode" "10" "orientationtype" "2" "speed" "0" "angles" "-15 -45 0" "target" "cameratrack_first_1" } path_track { "targetname" "cameratrack_first_1" "target" "cameratrack_first_2" "origin" "-684 39 -9936" } path_track { "targetname" "cameratrack_first_2" "origin" "-689 700 -10026" } ambient_generic { "targetname" "merasmus_teleport_announcment" "message" "vo/halloween_merasmus/sf12_found02.mp3" "health" "20" "spawnflags" "48" } ambient_generic { "targetname" "merasmus_underworld_introdcution" "message" "vo/halloween_merasmus/sf12_appears14.mp3" "health" "20" "spawnflags" "48" } ambient_generic { "targetname" "merasmus_underworld_laugh" "message" "vo/halloween_merasmus/sf12_appears10.mp3" "health" "20" "spawnflags" "48" } trigger_teleport { "targetname" "teleport_underworld" "target" "spawn_gate" "StartDisabled" "1" "spawnflags" "1" "origin" "-64 -1408 0" "mins" "-9999 -9999 -1000" "maxs" "9999 9999 9999" "filtername" "filter_redteam" } trigger_teleport { "targetname" "teleport_underworld" "target" "spawn_gate" "StartDisabled" "1" "spawnflags" "1" "origin" "152 2500 -10450" "mins" "-516 -516 -50" "maxs" "516 516 50" "filtername" "filter_redteam" } env_fade { "duration" "3" "holdtime" "1" "rendercolor" "255 255 255" "targetname" "fadein" } env_fade { "duration" "0.5" "holdtime" "1.25" "rendercolor" "0 0 0" "targetname" "fadeinquick" } prop_dynamic { "targetname" "bridgethingy" "model" "models\props_doomsday\dd_woodfence_256.mdl" "disableshadows" "1" "origin" "-180 -12 -10068" "angles" "0 15 80" "solid" "6" } prop_dynamic { "targetname" "bridgethingy" "model" "models\props_doomsday\dd_woodfence_256.mdl" "disableshadows" "1" "origin" "190 -290 -10040" "angles" "0 75 95" "solid" "6" } func_forcefield { "targetname" "underworld_blocker" "teamnum" "3" "origin" "671 -1130 -9955" "mins" "-5000 -10 -1200" "maxs" "5000 10 3000" } prop_dynamic { "origin" "671 -1100 -9800" "angles" "0 0 90" "model" "models/props_lakeside_event/vortex_lakeside.mdl" "rendercolor" "156 187 255" "disableshadows" "1" } prop_dynamic { "origin" "-241 -1000 -9950" "angles" "0 0 90" "model" "models/props_lakeside_event/vortex_lakeside.mdl" "rendercolor" "156 187 255" "disableshadows" "1" } training_annotation { "targetname" "barrier_hint" "display_text" "You will need to survive a small onslaught of enemies to lower the barriers!" "lifetime" "8" "origin" "253 -676 -9954" } training_annotation { "targetname" "death_hint" "display_text" "Make sure you don't fall off! If you all die you'll lose the wave." "lifetime" "8" "origin" "253 -676 -9954" } } mastermind_intro { OnSpawnOutput { Target spawnzap* Action Start } OnSpawnOutput { Target gamerules Action PlayVO Param "mvm/mvm_tele_deliver.wav" } OnSpawnOutput { Target "@p@mastermind_pointer" Action "$ChangeAttributes" Param "intro" Delay 0.1 } OnSpawnOutput { Target "mastermind_cutscene" Action "Trigger" Delay 0.15 } logic_relay { "targetname" "mastermind_cutscene" "OnTrigger" "player,SetHUDVisibility,0,0,-1" "OnTrigger" "mastermind_fadeout,Fade,0,0,-1" "OnTrigger" "mastermind_camera,$EnableAll,,0,-1" "OnTrigger" "fadeinquick,Fade,,4.65,-1" "OnTrigger" "mastermind_camera,$DisableAll,,5.85,-1" "OnTrigger" "player,SetHUDVisibility,1,5.85,-1" "OnTrigger" "top_text,display,,6,-1" "OnTrigger" "middle_text,display,,10.5,-1" } env_fade { "duration" "1" "holdtime" "0.25" "rendercolor" "0 0 0" "spawnflags" "1" "targetname" "mastermind_fadeout" } point_viewcontrol { "targetname" "mastermind_camera" "spawnflags" "44" "wait" "100" "origin" "528 -2084 425" "angles" "-64 48 0" "target" "mastermind_pointer" } info_particle_system { "targetname" "spawnzap" "origin" "750 -1823 248" "angles" "0 0 0" "effect_name" "teleportedin_blue" } info_particle_system { "targetname" "spawnzap" "origin" "750 -1823 200" "angles" "0 0 0" "effect_name" "teleportedin_blue" } game_text { "targetname" "top_text" "message" "THE CORTEX OF THE INVASION" "x" "-1" "y" "0.4" "channel" "4" "effect" "2" "spawnflags" "1" "color" "255 255 255" "fadein" "0.1" "fadeout" "0.75" "holdtime" "8.25" } game_text { "targetname" "middle_text" "message" "M A S T E R M I N D" "x" "-1" "y" "0.45" "channel" "1" "effect" "2" "spawnflags" "1" "color" "255 0 0" "fadein" "0.3" "fadeout" "0.75" "holdtime" "1.75" } } mastermind_stuff // Main logic of the boss in question. { NoFixup 1 OnSpawnOutput // adding for refrence in case i need to somehow point it through a different method { Target mastermind_pointer Action SetParent Param "!activator" Delay 0.05 } info_target { "targetname" "mastermind_pointer" } logic_case { "targetname" "weapons_phase1" "OnCase01" "!activator,$ChangeAttributes,shotgun,0,-1" "OnCase02" "!activator,$ChangeAttributes,widowmaker,0,-1" "OnCase03" "!activator,$ChangeAttributes,pomson,0,-1" "OnCase04" "!activator,$ChangeAttributes,rescue,0,-1" "OnCase05" "!activator,$ChangeAttributes,spawnfoes,0,-1" } logic_relay { "targetname" "inbetween_phase" "OnTrigger" "!activator,$ChangeAttributes,drones,0,-1" "OnTrigger" "bigdispensers,ForceSpawn,,0,-1" } logic_case { "targetname" "weapons_phase2" "OnCase01" "!activator,$ChangeAttributes,shotgun_burst,0,-1" "OnCase02" "!activator,$ChangeAttributes,overclocked_widowmaker,0,-1" "OnCase03" "!activator,$ChangeAttributes,pomson,0,-1" "OnCase04" "!activator,$ChangeAttributes,converter,0,-1" "OnCase05" "!activator,$ChangeAttributes,spawnfoes_harder,0,-1" } } } SpawnTemplate powerup_fix SpawnTemplate extra_guff_and_fluff SpawnTemplate underworld_wave PlayerAttributes { Scout { "health regen" -9999 "move speed penalty" 0 } Soldier { "health regen" -9999 } Pyro { "health regen" -9999 } Demoman { "health regen" -9999 } Heavyweapons { "health regen" -9999 } Engineer { "health regen" -9999 } Medic { "health regen" -9999 } Sniper { "health regen" -9999 } Spy { "cannot disguise" 1 "penetrate teammates" 1 "mult credit collect range" 2 "health from credits" 25 } } CustomWeapon { Name "Tranquilizer" OriginalItemName "powerhouse_revolver_deadreckoner" "special item description" "Coats enemy in mad milk on hit" "clip size penalty" 0.1 "override projectile type" 5 "add cond on hit" 27 "add cond on hit duration" 5 "Reload time increased" 1.5 "damage penalty" 0.05 "mult dmg vs tanks" 0 "disable buildings on hit" 5 "passive reload" 1 "custom kill icon" "syringegun_medic" "max health additive bonus" 100 "set_item_texture_wear" 0 "crit mod disabled" 0 "custom weapon fire sound" "=80|weapons/doom_sniper_rifle.wav" } CustomWeapon { Name "Big Cobalt" OriginalItemName "TTG Sam Revolver" "provide on active" 1 "special item description" "[INFO] Shoots large bullets that explode on impact." "damage bonus HIDDEN" 2.5 "fire rate penalty" 1.2 "Reload time increased" 2.25 "hand scale" 2.5 "override projectile type" 2 "Projectile speed increased" 1.33 "centerfire projectile" 1 "clip size penalty" 0.5 "rocket jump damage reduction" 0.75 "crit mod disabled" 0 "add damage type" 64 "remove damage type" 2 "custom weapon fire sound" "=70|weapons/loch_n_load_shoot.wav" "custom weapon reload sound" "=75|items/ammo_pickup.wav" //"custom projectile model" "models/weapons/w_models/w_rocketbullet.mdl" "projectile trail particle" "~rockettrail_airstrike_line" } CustomWeapon { Name "Spy's Carbine" OriginalItemName "The Cleaner's Carbine" "special item description" "Disables sapper." "use original class weapon animations" 1 "use original class player animations" 1 "max health additive bonus" 75 "dmg bonus vs buildings" 1.5 "damage penalty" 1 "clip size penalty" 1 } CustomWeapon { Name "Shotgun" OriginalItemName TF_WEAPON_SHOTGUN_SOLDIER "special item description" "Disables sapper." "use original class weapon animations" 1 "use original class player animations" 1 "max health additive bonus" 75 "dmg bonus vs buildings" 1.5 } CustomWeapon { Name "Hasteject" OriginalItemName "The Cloak and Dagger" "special item description" "[INFO] Provides the HASTE powerup when used." "effect cond override" 91 "set cloak is movement based" 0 "mult cloak meter regen rate" 0.75 "ReducedCloakFromAmmo" 0 "cloak consume rate decreased" 2 } //CustomWeapon //{ // Name "Spy's Bushwacka" // OriginalItemName "The Bushwacka" // "provide on active" 0 // "special item description" "Disables backstab." // "use original class weapon animations" 1 // "use original class player animations" 1 // "max health additive bonus" 50 //} CustomWeapon { Name "Backbelt Dagger" OriginalItemName "Upgradeable TF_WEAPON_KNIFE" "special item description" "On kill : Spawn a small ammo pack on top of you." "fire input on kill" "backbelt_packspawn^ForceSpawnAtEntityOrigin^!activator" "damage penalty" 0.5 "single wep deploy time increased" 1.33 set_item_texture_wear 0 paintkit_proto_def_index 143 } CustomWeapon // hacky workaround { Name "SpyModel" OriginalItemName "Titanium Tank Participant Medal 2017" "custom item model" "models/player/spy.mdl" } CustomWeapon { Name "Empty Handed" OriginalItemName "The Conscientious Objector" "damage penalty" 0 //"is invisible" 1 "custom item model" "models/empty.mdl" "fire rate penalty" 9999 } CustomWeapon { Name "Fake Frontier" OriginalItemName TF_WEAPON_SHOTGUN_HWG "custom item model" "models/weapons/c_models/c_frontierjustice/c_frontierjustice.mdl" "clip size penalty" 0.5 "critboost on kill" 3 "custom kill icon" "frontier_kill" "custom weapon fire sound" "Weapon_FrontierJustice.Single" } ItemBlacklist { ItemName "Zombie Spy" } ForceItem { Spy { Name "SpyModel" } } ItemReplacement // Replace Items { "Your Eternal Reward" { Name "The Wanga Prick" // wanga keeps rebelling for some reason, so i'll put it in jail like this. } } ExtraLoadoutItems { Spy { // ### REVOLVERS ### \\ // Ordinary Secondary "Tranquilizer" Secondary "Big Cobalt" // Unordinary Secondary "Spy's Carbine" Secondary "Shotgun" // ### MELEE ### \\ // Ordinary Melee "Backbelt Dagger" // Unordinary //Melee "Spy's Bushwacka" // ### WATCHES ### \\ PDA2 { Item "Hasteject" AllowedMinWave 2 } //PDA2 "Powerhuff" } } DisallowUpgrade { Upgrade "projectile penetration" // Upgrade name MaxLevel 0 ItemName "Big Cobalt" ItemName "Tranquilizer" } DisallowUpgrade { Upgrade "robo sapper" // Upgrade name MaxLevel 0 CheckAllSlots 1 ItemName "Spy's Carbine" ItemName "Shotgun" } // last changes made 17.05 1:52 ExtendedUpgrades // Last changes made 17.05 1:52 { Damage_Revolvers { Name "25% damage bonus" Attribute "damage bonus" Cap 2.0 Increment 0.25 Cost 400 AllowPlayerClass Spy AllowedWeapons { Slot "Secondary" } DisallowedWeapons { ItemName "Tranquilizer" ItemName "Big Cobalt" ItemName "Spy's Carbine" } } Damage_Cobalt { Name "25% damage bonus" Attribute "damage bonus" Cap 2.0 Increment 0.25 Cost 400 AllowPlayerClass Spy AllowedWeapons { ItemName "Big Cobalt" } } Damage_Carbine { Name "50% damage bonus" Attribute "damage bonus" Cap 3.0 Increment 0.5 Cost 250 AllowPlayerClass Spy AllowedWeapons { ItemName "Spy's Carbine" } } DamageTank_Carbine { Name "25% damage bonus vs Tanks" Attribute "mult dmg vs tanks" Cap 2.0 Increment 0.25 Cost 150 AllowPlayerClass Spy AllowedWeapons { ItemName "Spy's Carbine" } } Reload_Revolvers { Name "25% faster reload speed" Attribute "Reload time decreased" Cap 0.25 Increment -0.25 Cost 200 AllowPlayerClass Spy AllowedWeapons { Slot "Secondary" } DisallowedWeapons { ItemName "Tranquilizer" ItemName "Big Cobalt" ItemName "The Diamondback" ItemName "Spy's Carbine" ItemName "Shotgun" } } Reload_Cobalt { Name "25% faster reload speed" Attribute "Reload time decreased" Cap 0.25 Increment -0.25 Cost 250 AllowPlayerClass Spy AllowedWeapons { ItemName "Big Cobalt" } } Reload_Carbine { Name "25% faster reload speed" Attribute "Reload time decreased" Cap 0.25 Increment -0.25 Cost 300 AllowPlayerClass Spy AllowedWeapons { ItemName "Spy's Carbine" } } RocketSpeclialist { Name "Rocket Specialist" Attribute "rocket specialist" Cap 1 Increment 1 Cost 400 AllowPlayerClass Spy AllowedWeapons { ItemName "Big Cobalt" } } ExplosiveHeadshot { Name "Explosive headshot" Attribute "explosive sniper shot" Cap 2 Increment 1 Cost 400 AllowPlayerClass Spy AllowedWeapons { SimilarToItem "The Ambassador" } } Bleed_Damage_Tranq { Name "+5 seconds of bleed on hit" Attribute "bleeding duration" Description "Bleed damage increases per tick." Cap 15.0 Increment 5 Cost 300 AllowPlayerClass Spy AllowedWeapons { ItemName "Tranquilizer" } DisallowedUpgrade { Upgrade Slowing_Tranq Level 1 } SecondaryAttributes { "dmg penalty vs players" 3 } } Slowing_Tranq { Name "Slowing Darts" Attribute "cannot giftwrap" Cap 1 Increment 1 Cost 500 AllowPlayerClass Spy AllowedWeapons { ItemName "Tranquilizer" } DisallowedUpgrade { Upgrade Bleed_Damage_Tranq Level 1 } SecondaryAttributes { "add attributes on hit" "move speed penalty|0.35|3" "special item description" "Majorly slows down enemies on hit." } } } ItemAttributes { SimilarToItem TF_WEAPON_REVOLVER "damage bonus HIDDEN" 1.25 } ItemAttributes { SimilarToItem "The Ambassador" "special item description" "[INFO] Crit damage fall off has been disabled. Increased damage on headshots majorly." "headshot damage increase" 1.75 "damage bonus HIDDEN" 1.25 "crit_dmg_falloff" 0 } ItemAttributes { SimilarToItem "The Red-Tape Recorder" "sapper degenerates buildings" 0 "sapper damage penalty" 1 } ItemAttributes { ItemName "L'Etranger" "special item description" "[INFO] Removes cloak gain, as the new watches will not play nicely with it. Replaced with another utility." "damage penalty" 0.66 "mark for death" 1 "add cloak on hit" 0 "damage bonus HIDDEN" 1.5 "cloak consume rate decreased" 1 } ItemAttributes { ItemName "The Enforcer" "special item description" "[INFO] Damage bonus in place of the disguised damage." "CARD: damage bonus" 1.4 "fire rate penalty" 1.25 "damage bonus HIDDEN" 1.25 "damage bonus while disguised" 1 } ItemAttributes { ItemName "The Diamondback" "special item description" "[INFO] No clip, uses reserve ammo to shoot. Touch resupply cabinet to properly apply the property." "mod max primary clip override" -1 "sniper fires tracer" 1 "damage bonus HIDDEN" 1.25 "fire rate penalty" 1.15 } ItemAttributes { SimilarToItem TF_WEAPON_KNIFE "special item description" "[INFO] Other knife benefits may prove more useful." "damage bonus" 1.25 "max health additive bonus" 25 } ItemAttributes { SimilarToItem "Your Eternal Reward" "special item description" "[INFO] Different benefit due to cloak being disabled." "special item description 2" "3 Seconds of Stealth on Kill." "mult dmg vs giants" 0.75 "max health additive penalty" -25 "mult cloak meter consume rate" 1.3 "add cond on kill" 66 "add cond on kill duration" 3 } ItemAttributes { ItemName "The Big Earner" "special item description" "[INFO] No health penalty. Move speed bonus and increased cloak duration." "max health additive penalty" 0 "move speed bonus" 1.2 "cloak consume rate decreased" 0.75 "speed_boost_on_kill" 5 } ItemAttributes { ItemName "Conniver's Kunai" "max health additive penalty" -50 } ItemAttributes { ItemName "The Spy-cicle" "special item description" "[INFO] Double Jump, increased jump height." "air dash count" 1 "increased jump height" 1.2 "melts in fire" 5 } ItemAttributes { SimilarToItem TF_WEAPON_INVIS "special item description" "[INFO] Simple Buff." "max health additive bonus" 25 } ItemAttributes { ItemName "The Cloak and Dagger" "special item description" "[INFO] Simple buff" "max health additive bonus" 25 } ExtraSpawnPoint { Name hatchspawn TeamNum 3 X -2430 Y -1545 Z 360 } ExtraSpawnPoint { Name flankers_temp TeamNum 3 X 3173 Y -4114 Z 528 } ExtraSpawnPoint { Name swarm TeamNum 3 X -1126 Y -2333 Z 352 } ExtraSpawnPoint { Name swarm TeamNum 3 X -555 Y -625 Z 115 } ExtraSpawnPoint { Name swarm TeamNum 3 X 1732 Y -1522 Z 323 } ExtraSpawnPoint { Name swarm TeamNum 3 X 1244 Y -3377 Z 651 } ExtraSpawnPoint { Name swarm TeamNum 3 X -122 Y -1646 Z 19 } ExtraSpawnPoint { Name mastermind TeamNum 3 X 825 Y -1916 Z 248 } Templates { T_TFBot_Giant_Demoknight_Tide { Class Demoman ClassIcon demoknight_giant Name "Giant Demoknight" Skill Expert Health 3300 Item "Prince Tavish's Crown" Item "The Tide Turner" Item "The Eyelander" Item "Ali Baba's Wee Booties" WeaponRestrictions MeleeOnly Attributes MiniBoss ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Giant_Boxing_Heavy_Bonk { Class heavyweapons Name "Giant Bonkweight Champ" ClassIcon heavy_champ_bonk_giant Skill Expert Health 5000 Item "the killing gloves of boxing" Item "The Buffalo Steak Sandvich" Item "The Caffeine Cooler" Item "Pugilist's Protector" WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes AlwaysFireWeapon ItemAttributes { ItemName "the killing gloves of boxing" "fire rate bonus" 0.6 "damage bonus" 1.2 } ItemAttributes { ItemName "The Buffalo Steak Sandvich" "effect cond override" 14 "custom item model" "models/weapons/c_models/c_energy_drink/c_energy_drink.mdl" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } CustomEyeGlowColor "220 30 30" } T_TFbot_Giant_Heavy_HOK { Class Heavyweapons Name "Giant Heal-on-Kill Heavy" ClassIcon heavy_deflector_healonkill Skill Expert Health 5500 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Item "Deflector" Item "The Tungsten Toque" ItemAttributes { ItemName "Deflector" "damage bonus" 1.2 "attack projectiles" 1 "heal on kill" 5000 } CharacterAttributes { "move speed bonus" 0.45 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Giant_Heavy_IronFist // Giant version of a steel gauntlet { Class Heavyweapons Name "Steel Giant" ClassIcon heavy_steelfist_giant Skill Expert Health 5000 WeaponRestrictions MeleeOnly Attributes MiniBoss Item "Fists of Steel" Item "Pugilist's Protector" ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.8 // recreates super weight champ's fire rate "damage bonus" 1.2 } ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 8626083 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Medic_Kritzkrieg // Simple kritzkreig medic. { Class Medic Name "Kritz Medic" ClassIcon medic_kritz Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "Lo-Fi Longwave" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 600 "bot medic uber health threshold" 600 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } } T_TFBot_Giant_Civilian { Class Heavyweapons Name "Giant Civilian" ClassIcon hellmet_blank Skill Expert Health 5000 WeaponRestrictions MeleeOnly Attributes MiniBoss ExtAttr IgnorePlayers Item "Empty Handed" Item "The Mann of the House" Item "The Siberian Sophisticate" Item "The Carl" ItemAttributes { ItemName "The Carl" "set item tint RGB" 1315860 } CharacterAttributes { "move speed bonus" 0.66 "damage force reduction" 0.25 "torso scale" 0.5 "head scale" 1.25 "hand scale" 0.75 no_duck 1 "not solid to players" 1 "airblast vulnerability multiplier" 0.25 } //UseHumanAnimations 1 PainSound "misc/null.wav" DeathSound "=90|mvm/physics/robo_impact_hard_02.wav" AdditionalStepSound "=75|mvm/giant_scout/giant_scout_step_01.wav" } T_TFBot_Giant_Soldier_Homing { Class Soldier Name "Giant Homing Soldier" ClassIcon soldier_homing_nys Skill Normal Health 3800 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Item "Ghastly Gibus" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "paintkit_proto_def_index" 223 "set_item_texture_wear" 0 "projectile trail particle" eyeboss_projectile } ItemAttributes { ItemName "Ghastly Gibus" "set item tint RGB" 8208497 } HomingRockets { IgnoreDisguisedSpies 0 IgnoreStealthedSpies 0 AimTime 2 RocketSpeed 0.5 TurnPower 60 MaxAimError 80 } AddCond { Index 36 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } } SpawnTemplate { Name "cabinet" Origin "-2809 -2486 464" Angles "0 180 0" } SpawnTemplate { Name "cabinet" Origin "-3494 -1538 280" Angles "0 180 0" } SpawnTemplate { Name "cabinet_front" Origin "-45 -3992 328" Angles "0 0 0" } Mission { Objective Sniper Where flankers BeginAtWave 1 RunForThisManyWaves 2 DesiredCount 2 InitialCooldown 15 CooldownTime 30 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where flankers BeginAtWave 4 RunForThisManyWaves 1 DesiredCount 3 InitialCooldown 40 CooldownTime 40 TFBot { Template T_TFBot_Sniper } } Mission { Objective Engineer Where flankers BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 5 CooldownTime 25 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle ClassIcon engineer_telein Health 500 TeleportWhere flankers TeleportWhere spawnbot } } // Wave 1/6 ($1200) // 3 Giant Demoknights & 1 Big Heal Medic Each // 44 Bat Scouts (Normal AI) // 24 Direct Hit Soldiers (Easy AI) // 12 Steel Gauntlets // 2 Giant Bonkweight Champs // Support : Bonk Scouts Wave { CustomMaxWaveNumber 5 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{B85CFF}Welcome to {FF0004}SPY RESIDENCE!" Line "{B85CFF}This mission is exclusively {FF0004}SPY ONLY{B85CFF}, no other classes are permitted!" Line "{B85CFF}Certain weapons have been rebalanced, and some new comers!" Line "{B85CFF}Some upgrades need to be purchased via the sourcemod menu on the left." } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 4 SpawnCount 2 Where spawnbot WaitBetweenSpawns 8 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Demoknight_Tide CustomEyeGlowColor "220 30 30" } TFBot { Template T_TFBot_Medic_BigHeal Name "Big-Heal Medic" Item "The Surgeon's Stahlhelm" } } } WaveSpawn { Name "wave01" TotalCount 44 MaxActive 18 SpawnCount 2 Where flankers WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 200 TFBot { Class Scout Name "Bat Scout" ClassIcon scout_bat_nys Skill Normal AimTrackingInterval 3 WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave02" TotalCount 24 MaxActive 12 SpawnCount 4 Where spawnbot WaitForAllDead "wave01" WaitBetweenSpawns 8 TotalCurrency 200 TFBot { Class Soldier Name "Direct Hit Soldier" ClassIcon soldier_directhit_lite MaxVisionRange 1200 Skill Easy Item "The Direct Hit" } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 6 SpawnCount 2 Where flankers WaitForAllDead "wave01" WaitBetweenSpawns 6 TotalCurrency 300 TFBot { Template T_TFBot_Heavyweapons_Fist AimTrackingInterval 1 Skill Normal } } WaveSpawn { Name "wave03" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForAllDead "wave02" WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Boxing_Heavy_Bonk CustomEyeGlowColor "220 30 30" } } WaveSpawn { Name "wave03_support" TotalCount 18 MaxActive 6 SpawnCount 2 Where spawnbot Support 1 WaitForAllDead "wave02" WaitBeforeStarting 20 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Scout_Bonk Name "Bonk Scout" Action Mobber AimTrackingInterval 5 CustomEyeGlowColor "0 255 34" Skill Easy } } } // Wave 2/6 ($1600) // 1 Giant Heal-On-Kill Deflector (Normal AI) // 4 Giant Charged Soldiers // 28 Heavyweight Champs // 3 Giant Burst-Fire Demomen & 3 Kritz Medics Each // 30 Loch-n-Load Demomen // 1 Tank (22k HP) // 36 Phlog Pyros (Use MMPH asap) // Support : Clueless Gauntlet Wave { CustomMaxWaveNumber 5 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave00" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot TotalCurrency 200 TFBot { Template T_TFbot_Giant_Heavy_HOK } } WaveSpawn { Name "wave_support" TotalCount 32 MaxActive 3 SpawnCount 1 Support 1 Where flankers WaitBetweenSpawns 6 WaitForAllDead "wave00" TFBot { Class Heavy Name "Clueless Gauntlet" ClassIcon heavy_steelfist Item "The Galvanized Gibus" Item "Fists of Steel" ExtAttr IgnorePlayers // he's so friendly... CustomEyeGlowColor "0 255 34" WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave01" TotalCount 4 MaxActive 4 SpawnCount 1 Where spawnbot WaitForAllDead "wave00" WaitBeforeStarting 10 WaitBetweenSpawns 8 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Soldier_Crit } } WaveSpawn { Name "wave01" TotalCount 28 MaxActive 14 SpawnCount 6 Where spawnbot Where flankers WaitForAllDead "wave00" WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ AimTrackingInterval 3 Skill Normal } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 8 SpawnCount 4 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst CustomEyeGlowColor "220 30 30" } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave02" TotalCount 30 MaxActive 10 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 200 TFBot { Class Demoman Name "Loch-n-Load Demoman" ClassIcon demo_lochload Skill Normal Item "The Loch-N-Load" ItemAttributes { ItemName "The Loch-N-Load" "Projectile speed increased" 1.0 } } } WaveSpawn { Name "wave03_tank" TotalCount 1 MaxActive 1 WaitForAllSpawned "wave02" WaitBeforeStarting 17 TotalCurrency 200 Tank { Name "tankboss" Health 18000 StartingPathTrackNode "tank_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave03" TotalCount 36 MaxActive 18 SpawnCount 2 Where flankers WaitForAllSpawned "wave03_tank" WaitBeforeStarting 10 WaitBetweenSpawns 3.5 TotalCurrency 300 TFBot { Class Pyro Name "Phlogistinator Pyro" ClassIcon pyro_phlog Skill Hard Attributes SpawnWithFullCharge Item "The Phlogistinator" FireWeapon { Delay 0.5 Cooldown 2 Repeats 0 IfSeeTarget 1 Duration 1 Type "Secondary" } ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } } } } // Wave 3/6 ($1800) // 4 Giant Homing Soldiers (Critboosted) & 1 Uber Medic each // 1 Dispenser Tank (25k Tank) // 36 Shotgun Heavies // 4 Steel Giants // 4 Giant Civilians // 30 Spies // 30 Revolver Spies Wave { CustomMaxWaveNumber 5 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01_tutorial" TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Homing Attributes AlwaysCrit FireInput { Target "homing_notice" Action "show" Delay 12 Repeats 1 } AddCond { Index 54 Delay 12 Duration 3 } AddCond { Index 36 } } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave_support" TotalCount 32 MaxActive 3 SpawnCount 1 Support 1 WaitForAllDead "wave01_tutorial" Where flankers WaitBeforeStarting 7.5 WaitBetweenSpawns 7.5 TFBot { Class Heavy Name "Clueless Gauntlet" ClassIcon heavy_steelfist Item "The Galvanized Gibus" Item "Fists of Steel" ExtAttr IgnorePlayers CustomEyeGlowColor "0 255 34" WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot TotalCurrency 150 WaitBetweenSpawns 15 WaitForAllDead "wave01_tutorial" Squad { TFBot { Template T_TFBot_Giant_Soldier_Homing Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave02_tank" WaitForAllDead "wave01" TotalCount 1 MaxActive 1 DoneOutput { Target flankers_temp Action Disable } TotalCurrency 300 Tank { Name "tank_dispense" Health 20000 ClassIcon dispenser_lite StartingPathTrackNode "tank_path_1" SpawnTemplate tank_dispenser OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" WaitForAllDead "wave01" TotalCount 4 MaxActive 3 SpawnCount 1 Where spawnbot TotalCurrency 200 WaitBetweenSpawns 12 WaitBeforeStarting 10 TFBot { Template T_TFBot_Giant_Heavy_IronFist } } WaveSpawn { Name "wave02" WaitForAllDead "wave01" TotalCount 18 MaxActive 6 SpawnCount 1 Where flankers TotalCurrency 100 WaitBetweenSpawns 3.5 WaitBeforeStarting 3 TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Normal Name "Shotgun Heavy" } } WaveSpawn { WaitForAllDead "wave01" TotalCount 18 MaxActive 6 SpawnCount 1 Support Limited Where flankers_temp TotalCurrency 100 WaitBetweenSpawns 3.5 WaitBeforeStarting 3 TFBot { Template T_TFBot_Heavyweapons_Shotgun ClassIcon engineer_justice_nys Skill Normal Name "Frontier Heavy" Action Mobber Item "Fake Frontier" Item "The Data Mining Light" InterruptAction { Target "tank_dispense" Duration 99999 WaitUntilDone 1 } } } WaveSpawn { Name "wave03" TotalCount 4 MaxActive 4 SpawnCount 1 Where flankers WaitForAllSpawned "wave02" WaitBeforeStarting 10 WaitBetweenSpawns 7 TotalCurrency 600 TFBot { Template T_TFBot_Giant_Civilian } } WaveSpawn { Name "wave03" TotalCount 30 MaxActive 10 SpawnCount 2 Where spawnbot Support Limited WaitForAllSpawned "wave02" WaitBeforeStarting 12 WaitBetweenSpawns 3 TotalCurrency 150 TFBot { Class Spy Skill Normal AimTrackingInterval 0.5 WeaponRestrictions MeleeOnly Attributes IgnoreFlag Action Spy CharacterAttributes { "force distribute currency on death" 1 } } } WaveSpawn { Name "wave03" TotalCount 30 MaxActive 10 SpawnCount 2 Where swarm Support Limited WaitForAllSpawned "wave02" WaitBeforeStarting 12 WaitBetweenSpawns 3 TotalCurrency 150 TFBot { Class Spy ClassIcon spy_revolver_lite Name "Revolver Spy" Skill Easy AimTrackingInterval 0.75 WeaponRestrictions PrimaryOnly Attributes AlwaysCrit AddCond { Index 66 Duration 1 } Action Mobber CharacterAttributes { "not solid to players" 1 "move speed bonus" 1.15 "force distribute currency on death" 1 "cannot disguise" 1 } } } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 12.5 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 12.5 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization01.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.1 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization02.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.2 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.5 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization01.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.4 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.8 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization03.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 13.7 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.2 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization03.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.1 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.4 FirstSpawnWarningSound "vo/mvm/norm/spy_mvm_positivevocalization02.mp3" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.3 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.35 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.45 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } WaveSpawn { WaitForAllSpawned "wave02" WaitBeforeStarting 14.5 FirstSpawnWarningSound "mvm/mvm_bought_upgrade.wav" } } // Wave 4/6 ($1200) // 1 Colonel Barrage & 1 Giant Medic (popping) // 4 Shielded Rushers // 36 Blutsauger Medics // 16 Buff Banner Soldiers (minigiant) // 6 Giant Medics (Regen) // 36 Heavies (Normal AI) // 8 Giant Charged Soldiers & 1 Giant Medic Each Wave { CustomMaxWaveNumber 5 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{B85CFF}Becareful around the shield medics, their shields can vaporize you if you are reckless." } WaveSpawn { FirstSpawnOutput { Target underworld_cutscene Action Enable } } WaveSpawn { FirstSpawnOutput { Target underworld_nocutscene Action Disable } } WaveSpawn { Name "wave00" TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } TFBot { Template T_TFBot_Giant_Medic ClassIcon medic_pop } } } WaveSpawn { Name "wave_support" TotalCount 32 MaxActive 3 SpawnCount 1 Support 1 WaitForAllDead "wave00" Where flankers WaitBetweenSpawns 7.5 TFBot { Class Heavy Name "Clueless Gauntlet" ClassIcon heavy_steelfist Item "The Galvanized Gibus" Item "Fists of Steel" ExtAttr IgnorePlayers CustomEyeGlowColor "0 255 34" WeaponRestrictions MeleeOnly } } WaveSpawn { Name "wave01" TotalCount 4 MaxActive 3 SpawnCount 1 Where spawnbot WaitForAllDead "wave00" WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Medic ClassIcon medic_shield_lite Name "Shield Rusher" Skill Normal Attributes SuppressFire Action FetchFlag FireWeapon { Delay "5" Repeats "1" Type "Special" } Item "Upgradeable TF_WEAPON_MEDIGUN" Item "Steel Shako" ItemAttributes { ItemName "Upgradeable TF_WEAPON_MEDIGUN" "generate rage on heal" 1 "bot medic uber deploy delay duration" 5000 } CharacterAttributes { "increase buff duration" 69 } } } WaveSpawn { Name "wave01" TotalCount 36 MaxActive 8 SpawnCount 4 Where spawnbot WaitForAllDead "wave00" WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Class Medic ClassIcon medic_blutsauger_lite Skill Normal Action FetchFlag } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 4 SpawnCount 1 Where spawnbot WaitForAllDead "wave00" WaitBeforeStarting 12 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Health 600 Scale 1.5 Skill Normal } } WaveSpawn { Name "wave02" TotalCount 6 MaxActive 4 SpawnCount 1 Where flankers WaitForAllDead "wave01" WaitBetweenSpawns 9 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Medic_Regen ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 1.0 "damage bonus" 1.5 } } } WaveSpawn { Name "wave02" TotalCount 39 MaxActive 11 SpawnCount 3 Where flankers Where spawnbot WaitForAllDead "wave01" WaitBetweenSpawns 3 TotalCurrency 200 TFBot { Class Heavyweapons Skill Normal MaxVisionRange 1000 } } WaveSpawn { Name "wave03" TotalCount 16 MaxActive 16 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Template T_TFBot_Giant_Medic ClassIcon medic_pop Attributes IgnoreEnemies } } } } // Wave 6/6 // The Mastermind Wave { CustomMaxWaveNumber 5 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{FF0004}The Mastermind{B85CFF} is coming to deal with you himself!" } SpawnTemplate mastermind_intro WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where mastermind TotalCurrency 1500 TFBot { Class Engineer Health 75000 Scale 1.9 ClassIcon engineer_hyper Name "Mastermind" Skill Expert Action Mobber UseMeleeThreatPrioritization 1 Item "Mad Mask" Item "The Juggernaut Jacket" item "Preventative Measure" Item "Skullcracker Taunt" SpawnTemplate mastermind_stuff Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload AlwaysGlow 1 Item "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.75 "faster reload rate" 0.1 } CharacterAttributes { "move speed penalty" 0.65 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 7 "not solid to players" 1 "voice pitch scale" 0.65 "gesture speed increase" 0.75 "SET BONUS: special dsp" 57 } FireInput { Target "weapons_phase1" Action PickRandomShuffle Delay 7.5 Repeats 9999 Cooldown 10 IfHealthAbove 42000 } EventChangeAttributes { intro { Taunt { Delay 1 Cooldown 1 Repeats 1 Duration 5.5 Name "Skullcracker Taunt" } InterruptAction { Delay 0.05 Cooldown 1 Repeats 1 Duration 3 AimTarget "771 -2306 333" } } shotgun { Item "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.75 "faster reload rate" 0.1 } } widowmaker { Item "The Widowmaker" ItemAttributes { ItemName "The Widowmaker" "fire rate bonus" 0.6 "bullets per shot bonus" 2 "damage bonus" 1.5 } } pomson { Item "The Pomson 6000" ItemAttributes { ItemName "The Pomson 6000" "fire rate bonus" 0.1 "damage bonus" 2.2 "always crit" 1 "clip size bonus" 12 "particle color rainbow" 122 "faster reload rate" 0.1 } } rescue { Item "The Rescue Ranger" ItemAttributes { ItemName "The Rescue Ranger" "fire rate bonus" 0.1 "damage bonus" 3 "projectile spread angle penalty" 4 "faster reload rate" 0.44 } } spawnfoes { Message { Name "spawnfoes is currently NONFUNCTIONAL! Give it some love please!" Delay 0.05 Cooldown 3 Repeats 1 } Taunt { Delay 0.05 Cooldown 1 Repeats 1 } } } } } } // Keeping this here for future refrence if i come back to this. // Wave 5/6 ($1500) // Takes place in an overworld deathmatch, similar to a reverse mission structure, thing. // HATCH : // // MID : // // FRONT : // // TEST WAVE Wave { CustomWaveNumber 0 CustomMaxWaveNumber 0 StartWaveOutput { Target wave_start_ironman_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{FF0004}SPY RESIDENCE TEST WAVE" } WaveSpawn { TotalCount 9999 MaxActive 12 Where hatchspawn Where swarm WaitBetweenSpawns 2 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Action Mobber } } WaveSpawn { TotalCount 9999 MaxActive 2 Where hatchspawn WaitBetweenSpawns 15 WaitBeforeStarting 15 TFBot { Template T_TFBot_Giant_Boxing_Heavy AimTrackingInterval 5 Action Mobber } } WaveSpawn { Name "wave03_tank" TotalCount 9999 MaxActive 1 TotalCurrency 200 Tank { Name "tankboss" Health 22000 StartingPathTrackNode "tank_path_1" SpawnTemplate tank_dispenser OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target NopeUhnuh Action NothingToDo } } } } }