// Advanced survival "Skeletal Surge" // Made by Space Jockey. #base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop #base robot_spacejockey.pop WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom yes RespawnWaveTime 9999 AddSentryBusterWhenDamageDealtExceeds 1000000 AddSentryBusterWhenKillCountExceeds 100000 Advanced 1 // EventPopfile Halloween BotsAreHumans 1 BotHumansHaveRobotVoice 1 BotHumansHaveEyeGlow 1 ForceHoliday 2 NoReanimators 1 //Disable reanimators NoMvMDeathTune 1 //Disable distinctive sound played when a player is killed BonusRatioHalf 2 BotPushaway 0 NoRomevisionCosmetics 1 StandableHeads 1 NoHolidayPickups 1 FastNPCUpdate 1 NoThrillerTaunt 1 NoCritPumpkin 1 SendBotsToSpectatorImmediately 1 BodyPartScaleSpeed 50 WaveStartCountdown 5 ForceRobotBleed 1 BuybacksPerWave 0 FixedBuybacks 1 DisplayRobotDeathNotice 1 MaxSpectators 0 NoJoinMidwave 1 RobotLimit 27 TextPrintTime 0 FixSetCustomModelInput 1 WaveStartCountdown 3 MaxSpeedLimit 1000 ExtendedUpgradesOnly 1 BotsDropSpells 1 SpellDropRateCommon 0 SpellDropRateGiant 0 HHHNoControlPointLogic 1 HHHHealthPerPlayer 0 // (default: 200) HHHHealthBase 5000 // (default: 3000) HHHAttackRange 250 // (default: 200) HHHChaseRange 9999 // (default: 1500) HHHTerrifyRange 500 // (default: 500) HHHQuitRange 10000 // (default: 2000) HHHChaseDuration 999 // (default: 30) PrecacheModel "models/bots/skeleton_sniper_boss/skeleton_sniper_boss.mdl" PrecacheModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" PrecacheModel "models/weapons/c_models/c_brick/c_brick.mdl" PrecacheModel "models/bots/engineer/bot_engineer_gray.mdl" PrecacheModel "models/bots/demo/bot_demo_gray.mdl" PrecacheModel "models/bots/heavy/bot_heavy_gray.mdl" PrecacheModel "models/bots/pyro/bot_pyro_gray.mdl" PrecacheModel "models/bots/scout/bot_scout_gray.mdl" PrecacheModel "models/bots/soldier/bot_soldier_gray.mdl" PrecacheModel "models/bots/soldier_boss/bot_soldier_gray_boss.mdl" PrecacheModel "models/bots/demo_boss/bot_demo_gray_boss.mdl" PrecacheModel "models/bots/pyro_boss/bot_pyro_gray_boss.mdl" PrecacheModel "models/bots/heavy_boss/bot_heavy_gray_boss.mdl" PrecacheModel "models/weapons/c_models/c_baton/c_baton.mdl" PrecacheSound "denominator/chainsaw1.wav" PrecacheSound "denominator/chainsaw2.wav" PrecacheSound "denominator/chain_spin.wav" PrecacheSound "denominator/chain_wind_down.wav" PrecacheSound "denominator/chain_wind_up.wav" DisableSound "heavy_mvm_giant_robot01" DisableSound "heavy_mvm_giant_robot02" DisableSound "heavy_mvm_giant_robot03" DisableSound "heavy_mvm_giant_robot04" DisableSound "engineer_mvm_giant_robot01" DisableSound "engineer_mvm_giant_robot02" DisableSound "engineer_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot01" DisableSound "soldier_mvm_giant_robot02" DisableSound "soldier_mvm_giant_robot03" DisableSound "soldier_mvm_giant_robot04" DisableSound "medic_mvm_giant_robot01" DisableSound "medic_mvm_giant_robot02" DisableSound "medic_mvm_giant_robot03" DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" DisableSound "MVM.BombWarning" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_All_Dead" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" ItemBlacklist { ClassName "tf_weapon_sniperrifle" ClassName "tf_weapon_sniperrifle_decap" ClassName "tf_weapon_sniperrifle_classic" } OverrideSounds { "Regenerate.Touch" "misc/null.wav" "MVM.BotStep" "cleats_dirt.StepRight" } ClassLimit //Limits the number of specified classes { Heavyweapons 0 Scout 0 Soldier 0 Spy 0 Engineer 0 Pyro 0 Demoman 0 Medic 0 } PointTemplates { Skeletonify { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/bots/skeleton_sniper/skeleton_sniper.mdl" Delay 0.05 } OnSpawnOutput { Target "!activator" Action "AddOutput" Param "modelscale 1.001" Delay 0.05 } OnParentKilledOutput //prevent keeping buster model on mission change { Target "!activator" Action "$SetModelOverride" Param "models/player/sniper.mdl" Delay 0 } } Rename_Player { OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname dead_player" Delay 0 } } Resupply { NoFixup 1 prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "0" "rendermode" "10" "origin" "-3232 788 -608" "angles" "0 90 0" "disableshadows" "1" } func_regenerate { "targetname" "locker_regenerate" "associatedmodel" "locker_model" "TeamNum" "2" "origin" "-3232.2 1648.0 -1300.0" "mins" "-6000 -6000 -6000" "maxs" "6000 6000 6000" //"OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" //"OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } } RespawnRoom { NoFixup 1 logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger locker_model:Disable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger locker_model:Enable::0:-1,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger locker_model:DisableCollision::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger locker_model:EnableCollision::0:-1,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger locker_regenerate:Disable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger locker_regenerate:Enable::0:-1,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger le_respawnroom:Disable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger le_respawnroom:Enable::0.1:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger dead_player*:$ForceRespawn::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger permadeath_detect_player_crit:Disable::0:-1,0,-1" "OnMapSpawn" "nav_interface,RecomputeBlockers,,0.1,-1" "OnMapSpawn" "fog_old,Trigger,,0.1,-1" } trigger_multiple { "targetname" "le_respawnroom" "origin" "0 0 0" "spawnflags" "1" "solid" "0" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "OnEndTouch" "!activator,$ForceRespawnDead,0.1,-1" } } fog { NoFixup 1 env_fog_controller { "farz" "-1" "fogblend" "1" "fogcolor" "24 25 36" "fogcolor2" "18 20 24" "fogdir" "1 0 0" "fogenable" "1" "fogend" "750" "foglerptime" "2" "fogmaxdensity" "1" "fogstart" "1" "spawnflags" "1" "targetname" "mist" } sky_camera { "fogmaxdensity" "1" "origin" "-3590 2186 -5394" "angles" "0 0 0" "fogcolor" "0 0 0" "fogcolor2" "0 0 0" "fogdir" "1 0 0" "fogenable" "1" "fogend" "1" "fogstart" "1" "scale" "16" "targetname" "mist_camera" } trigger_multiple { "targetname" "fog_system" "origin" "-3188 2588 71" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "StartDisabled" "1" "spawnflags" "1" "OnStartTouch" "!activator,SetFogController,mist,0.01,-1" } logic_relay { "origin" "0 0 0" "targetname" "fog_old" "OnTrigger" "player*,SetFogController,fog_controller,0.01,-1" } } Teleported_Particle { OnSpawnOutput { Target "teleported" Action "Kill" Delay 1 } info_particle_system { "origin" "0 0 0" "targetname" "teleported" "effect_name" "eb_tp_player_rope" "flag_as_weather" "0" "start_active" "1" } } FunnyPitTeleport { NoFixup 1 logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger permadeath_laststanding_relay:Enable:2:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger permadeath_resetbonus_relay:Enable:2:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger permadeath_recount_relay:Enable:2:-1" } ///////////// // // Filters // //////////// filter_tf_bot_has_tag //our tag { "Negated" "1" "require_all_tags" "1" "tags" "bot_notplayer" "targetname" "filter_notplayer" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_notplayer" "targetname" "filter_notplayerbot" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_gry" "targetname" "filter_gry" } filter_multi { "targetname" "filter_redplayer" "filtertype" "0" "Filter01" "filter_red" "Filter02" "filter_notplayer" } filter_multi { "targetname" "filter_notplayer_main" "filtertype" "1" "Filter01" "filter_blue" "Filter02" "filter_notplayerbot" "Filter03" "filter_gry" } /////////////////////// // // Permadeath logic // ///////////////////////// trigger_multiple { "targetname" "permadeath_detect_player_spell" "filtername" "filter_redplayer" "spawnflags" "1" "StartDisabled" "0" "wait" "0" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "OnEndTouch" "permadeath_death_counter,Subtract,1,0,-1" "OnStartTouch" "permadeath_death_counter,Add,1,0,-1" } trigger_multiple { "targetname" "permadeath_resetbonus" "filtername" "filter_redplayer" "spawnflags" "1" "StartDisabled" "1" "wait" "0" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "OnStartTouch" "!activator,$RemoveCond,40,0.02,-1" "OnStartTouch" "slower0,Disable,,0.02,-1" "OnStartTouch" "gameover,StopSound,,0.02,-1" "OnStartTouch" "gameover2,StopSound,,0.02,-1" "OnStartTouch" "sign0,Hide,,0.02,-1" } trigger_add_tf_player_condition { "targetname" "permadeath_detect_player_crit" "filtername" "filter_redplayer" "condition" "40" "duration" "9999999999" // It doesn't like applying when it's -1?? "spawnflags" "1" "StartDisabled" "1" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" } math_counter { "targetname" "permadeath_death_counter" "min" "0" "max" "7" "startvalue" "0" "OutValue" "permadeath_death_case,InValue,,0,-1" "GetValue" "permadeath_death_case,InValue,,0,-1" "OutValue" "debug_permadeath_death_case,InValue,,0,-1" "GetValue" "debug_permadeath_death_case,InValue,,0,-1" } logic_relay { "targetname" "permadeath_laststanding_relay" "OnTrigger" "permadeath_detect_player_crit,Enable,,2.5,-1" "OnTrigger" "permadeath_detect_player_crit,Disable,,2.6,-1" "OnTrigger" "slower0,Enable,,2.5,-1" "OnTrigger" "gameover,PlaySound,,0,-1" "OnTrigger" "gameover2,PlaySound,,0,-1" "OnTrigger" "sign0,Show,,2.5,-1" "OnTrigger" "viro_beaton,Trigger,,21,-1" "OnTrigger" "obj_dispenser,RemoveHealth,5000,2.5,-1" "OnTrigger" "obj_sentrygun,RemoveHealth,5000,2.5,-1" "OnTrigger" "obj_teleporter,RemoveHealth,5000,2.5,-1" "StartDisabled" "1" } logic_relay { "targetname" "permadeath_resetbonus_relay" "OnTrigger" "permadeath_resetbonus,Enable,,0,-1" "OnTrigger" "permadeath_resetbonus,Disable,,0.3,-1" "StartDisabled" "1" } logic_relay { "targetname" "permadeath_recount_relay" "OnTrigger" "permadeath_resetbonus,Enable,,0,-1" "OnTrigger" "permadeath_resetbonus,Disable,,0.3,-1" "OnTrigger" "permadeath_laststanding_relay,Disable,,0,-1" "OnTrigger" "permadeath_laststanding_relay,Enable,,0.5,-1" "OnTrigger" "permadeath_detect_player_spell,Disable,,0,-1" "OnTrigger" "permadeath_detect_player_spell,Enable,,.2,-1" "OnTrigger" "permadeath_death_counter,SetValue,0,.1,-1" "OnTrigger" "permadeath_death_counter,GetValue,,1.1,-1" "OnTrigger" "permadeath_recount_buffer,Enable,,1.2,-1" "StartDisabled" "1" } point_clientcommand { "targetname" "commandme" } logic_relay { "targetname" "permadeath_recount_buffer" "OnTrigger" "permadeath_recount_relay,Trigger,,0,-1" "OnTrigger" "!self,Disable,,0,-1" } logic_case { "targetname" "permadeath_death_case" "Case01" "0" "Case02" "1" "Case03" "2" "Case04" "3" "Case05" "4" "Case06" "5" "Case07" "6" "Case08" "7" "OnCase01" "permadeath_recount_buffer,Trigger,,0,-1" "OnCase02" "permadeath_laststanding_relay,Trigger,,0,-1" "OnCase03" "permadeath_resetbonus_relay,Trigger,,0,-1" "OnCase04" "permadeath_resetbonus_relay,Trigger,,0,-1" "OnCase05" "permadeath_resetbonus_relay,Trigger,,0,-1" "OnCase06" "permadeath_resetbonus_relay,Trigger,,0,-1" "OnCase07" "permadeath_resetbonus_relay,Trigger,,0,-1" "OnCase08" "permadeath_recount_relay,Trigger,,0,-1" } /////////////////// // // Deathpit teleport // /////////////////// info_teleport_destination { "targetname" "coolkids_area" "origin" "-3631.54 2468.23 -1186" "angles" "0 0 0" } trigger_teleport { "targetname" "idiot-proof_trigger" "origin" "-3280 2200 -7440" "mins" "-4864 -5328 -192" "maxs" "4864 5328 192" "spawnflags" "1" "solid" "0" "filtername" "filter_redplayer" "target" "coolkids_area" "OnStartTouch" "teleported_particle_maker,FireUser1,,0,-1" } trigger_hurt { "targetname" "trolley" "origin" "-3280 2200 -7460" "mins" "-4864 -5328 -192" "maxs" "4864 5328 192" "solid" "0" "spawnflags" "1" "damage" "99999" "filtername" "filter_notplayer_main" } info_particle_system { "origin" "-3265.5 2507.4 -7440" "targetname" "vortex" "effect_name" "eb_tp_vortex01" "flag_as_weather" "0" "start_active" "1" } env_entity_maker { "targetname" "teleported_particle_maker" "EntityTemplate" "Teleported_Particle" "OnUser1" "!self,ForceSpawnAtEntityOrigin,coolkids_area,0,-1" } } LoseRelay { NoFixup 1 OnSpawnOutput { Target func_capturezone Action AddOutput Param "OnCapture boss_deploy_relay:Trigger:0:-1" } logic_relay { "targetname" "lose_relay" "OnTrigger" "bots_win,RoundWin,,0,-1" } logic_relay { "targetname" "boss_deploy_relay" "OnTrigger" "lose_relay,Trigger,,0,-1" "OnTrigger" "pit_destroy,Start,,0,-1" "OnTrigger" "hatchhurt,Enable,,0,-1" } info_particle_system { "angles" "0 0 0" "effect_name" "mvm_hatch_destroy" "targetname" "pit_destroy" "origin" "-3252 2480 -1272.68" } trigger_hurt { "targetname" "hatchhurt" "origin" "-3248 2480 -1272" "spawnflags" "1" "damagetype" "8" "damage" "1000000" "mins" "-128 -128 -128" "maxs" "128 128 128" "StartDisabled" "1" } func_flagdetectionzone { "origin" "-3124 2564 -1188" "alarm" "1" "effects" "0" "StartDisabled" "0" "TeamNum" "3" "mins" "-436 -788 -108" "maxs" "436 788 108" } func_respawnflag { "origin" "-3200 2496 -4188" "StartDisabled" "0" "mins" "-2048 -2048 -2048" "maxs" "2048 2048 2048" } } p_slower0 { NoFixup 1 trigger_stun { "trigger_delay" "0" "TeamNum" "0" "targetname" "slower0" "stun_type" "0" "stun_effects" "1" "stun_duration" "1" "StartDisabled" "1" "spawnflags" "1" "origin" "0 0 0" "move_speed_reduction" "0.65" "filtername" "filter_redplayer" "classname" "trigger_stun" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "solid" "3" } } skellyguy { prop_dynamic { "angles" "0 0 0" "DefaultAnim" "competitive_loserstate_idle" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/bots/skeleton_sniper/skeleton_sniper.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "targetname" "skelly" "origin" "0 0 0" } } Combo_Pyro { NoFixup 1 logic_relay { "targetname" "combo_primary_to_secondary" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0.6,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.61,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary^Trigger^|0,0.62,-1" } logic_relay { "targetname" "combo_primary_to_secondary_longhold" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,1.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,1.51,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary_longhold^Trigger^|0,1.52,-1" } } chiefmedic { NoFixup 1 prop_dynamic { "angles" "0 0 0" "DefaultAnim" "competitive_winnerstate_idle" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/player/medic.mdl" "modelscale" "1.75" "rendermode" "10" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "disablebonefollowers" "1" "lightingorigin" "particle_fire" "targetname" "cureguy" } prop_dynamic_ornament { "targetname" "medbody" "classname" "prop_dynamic_ornament" "DisableBoneFollowers" "1" "disableshadows" "1" "solid" "0" "spawnflags" "256" "initialowner" "cureguy" "lightingorigin" "particle_fire" "skin" "1" "modelscale" "1.75" "model" "models/bots/medic/bot_medic.mdl" } prop_dynamic_ornament { "targetname" "medhat" "classname" "prop_dynamic_ornament" "DisableBoneFollowers" "1" "disableshadows" "1" "solid" "0" "spawnflags" "256" "initialowner" "cureguy" "lightingorigin" "particle_fire" "skin" "1" "model" "models/workshop/player/items/all_class/robo_all_modest_pile/robo_all_modest_pile_medic.mdl" } prop_dynamic_ornament { "targetname" "medsuit" "classname" "prop_dynamic_ornament" "DisableBoneFollowers" "1" "disableshadows" "1" "solid" "0" "spawnflags" "256" "initialowner" "cureguy" "lightingorigin" "particle_fire" "skin" "1" "model" "models/workshop/player/items/medic/dec17_coldfront_carapace/dec17_coldfront_carapace.mdl" } } ReprogramFire { NoFixup 1 OnSpawnOutput { Target "reprogram_handler" Action "FireUser1" Delay 0 } } Reprogram_Handler { NoFixup 1 filter_tf_condition { "targetname" "filter_is_set_to_be_senttogulag" "Negated" "0" "require_all_tags" "1" "condition" "121" } filter_tf_bot_has_tag { "targetname" "filter_can_reprogram" "Negated" "1" "require_all_tags" "1" "tags" "no_reprogram" } filter_multi //main filter { "targetname" "filter_reprogram_main" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_set_to_be_senttogulag" "Filter02" "filter_can_reprogram" "OnPass" "!activator,$RemoveCond,121,0,-1" "OnPass" "!activator,$AddCond,43,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,receive friendly fire|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,collect currency on kill|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,force distribute currency on death|1,0,-1" "OnPass" "!activator,$RemoveCond,43,10,-1" //delay is duration "OnPass" "!activator,$RemovePlayerAttribute,receive friendly fire,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,not solid to players,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,collect currency on kill,10,-1" "OnPass" "!activator,$Suicide,,10.1,-1" } trigger_multiple { "targetname" "reprogram_handler" "origin" "0 0 0" "mins" "-10000.0 -10000.0 -10000.0" "maxs" "10000.0 10000.0 10000.0" "spawnflags" "1" "StartDisabled" "1" //"filtername" "filter_reprogram_main" "OnStartTouch" "filter_reprogram_main,TestActivator,!activator,0,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } } barriers { NoFixup 1 //////////////////////// // // First barricade // ////////////////////// prop_dynamic { "targetname" "barricade1" "classname" "prop_dynamic" "angles" "0 30 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_barnblitz/fence_small_bb02.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3759.84 -741.767 -1653" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade1" "classname" "prop_dynamic" "angles" "0 120 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medical/beer_barrels.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3728.09 -654.765 -1631.69" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade1" "classname" "prop_dynamic" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/wood_fence_128.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3391 192 -1408" "StartDisabled" "1" } /////////////////////// // // Second barricade // /////////////////////// prop_dynamic { "targetname" "barricade2" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/wood_fence_256.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-2358 -695 -1603" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade2" "classname" "prop_dynamic" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_forest/wood_patch3.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-2379 -688 -1525" "StartDisabled" "1" } ////////////////////// // // Third barricade // ///////////////////// prop_dynamic { "targetname" "barricade3" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_forest/wood_patch4_small.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-1434 2547 -1166" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade3" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_forest/wood_patch4_small.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-1434 2547 -1119" "StartDisabled" "1" } ////////////////////// // // Fourth barricade // //////////////////// prop_dynamic { "targetname" "barricade4" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_medieval/medieval_doorandframe.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3135 3330 -1483" "StartDisabled" "1" } /////////////////// // // Fifth barricade // /////////////////// prop_dynamic { "targetname" "barricade5" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/wood_fence_256.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3105 3677 -1194" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade5" "classname" "prop_dynamic" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_forest/wood_patch4.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3157.44 3669 -1169" "StartDisabled" "1" } ///////////////////// // // Sixth barricade // /////////////////// prop_dynamic { "targetname" "barricade6" "classname" "prop_dynamic" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_hydro/metal_barrier02.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-2938 1598 -1138" "StartDisabled" "1" } ///////////////// // // Seventh barricade // ///////////////// prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/wood_fence_256.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3863 4189 -987" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/corrugated_metal001.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3760 3932 -1031" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_coalmines/wood_fence_256.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3588 3941.73 -1032" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/corrugated_metal001.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3651 3932 -1060" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 270 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/corrugated_metal001.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3601 3932 -1060" "StartDisabled" "1" } prop_dynamic { "targetname" "barricade7" "classname" "prop_dynamic" "angles" "0 270 90" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_2fort/corrugated_metal001.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3604 3932 -943" "StartDisabled" "1" } logic_auto { "OnMapSpawn" "wave_initA_relay,AddOutput,OnTrigger barricade1:Enable::0:-1,0,-1" "OnMapSpawn" "wave_initB_relay,AddOutput,OnTrigger barricade2:Enable::0:-1,0,-1" "OnMapSpawn" "wave_initB_relay,AddOutput,OnTrigger barricade3:Enable::0:-1,0,-1" "OnMapSpawn" "wave_initC_relay,AddOutput,OnTrigger barricade4:Enable::0:-1,0,-1" } } disablebarriers { NoFixup 1 logic_relay { "targetname" "disable_barriers" "OnTrigger" "barricade1,Disable,0,-1" "OnTrigger" "barricade1,DisableCollision,0,-1" } } shake { NoFixup 1 env_shake { "id" "3" "classname" "env_shake" "amplitude" "255" "duration" "1" "frequency" "255" "radius" "5000000" "spawnflags" "5" "targetname" "shaker" "origin" "-189.888 17.0933 65" } env_viewpunch { "punchangle" "-90 0 0" "radius" "9999" "spawnflags" "3" "targetname" "punch" "origin" "1184 512 388" } } KillOnSpawn { OnSpawnOutput { Target "!activator" Action "$Suicide" Delay 0.1 } } saw { OnSpawnOutput { Target spuncheck Action Trigger } logic_relay { "targetname" "spuncheck" "spawnflags" "2" "ontrigger" "filter_spun,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop { "targetname" "filter_spun" "$name" "m_iWeaponState" "$value" "1" "$compare" "greater than" "onpass" "sawsound,playsound,,0,-1" } $filter_sendprop { "targetname" "filter_spun" "$name" "m_iWeaponState" "$value" "1" "$compare" "less than or equal" "onpass" "sawsound,stopsound,,0,-1" } ambient_generic { "targetname" "sawsound" "message" "denominator/chain_spin.wav" "health" "3" "pitch" "100" "radius" "5000" "spawnflags" "16" "sourceentityname" "!parent" } } lol { NoFixup 1 prop_dynamic { "angles" "-30 90 0" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_vehicles/train_flatcar_container.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "rendermode" "10" "skin" "0" "solid" "6" "origin" "-2164 2044.95 -1525.96" } } lol2 { NoFixup 1 trigger_teleport { "targetname" "trolldier_failsafe" "origin" "-3208 2488.5 -2080" "spawnflags" "1" "filtername" "filter_trolldier" "target" "coolkids_area" "mins" "-424 -568 -64" "maxs" "424 568 64" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "trolldier" "targetname" "filter_trolldier" } } ColorTank_Gray { OnSpawnOutput { Target "!activator" Action "color" Param "69 69 69" } } NoMannPower { NoFixup 1 trigger_brush { "origin" "0 0 0" "targetname" "game_playerdie" "StartDisabled" "0" "OnUse" "item_powerup_rune,Kill,0,-1" } } enemyspawner { NoFixup 1 prop_dynamic { "angles" "0 270 0" "DefaultAnim" "idle" "disableshadows" "1" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "2" "solid" "0" "targetname" "spawnprop" "origin" "0 0 0" } } here1 { NoFixup 1 info_target { "targetname" "gohere1" "origin" "-3248 2424 -1262.94" } } here2 { NoFixup 1 info_target { "targetname" "gohere2" "origin" "-3248 2560 -1262.94" } } here3 { NoFixup 1 info_target { "targetname" "gohere3" "origin" "-2711 2477 -1288" } } killer { NoFixup 1 logic_relay { "targetname" "kill_relay" "OnTrigger" "player,$ChangeAttributes,Attr4,,0,-1" } } HellTeleport { NoFixup 1 trigger_teleport { "targetname" "gotohell" "origin" "0 0 0" "spawnflags" "1" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "StartDisabled" "1" "target" "teleport_dest_hell" } env_fade { "duration" "3" "holdtime" "0.5" "fadeout" "0.5" "rendercolor" "255 255 255" "targetname" "faded" } logic_relay { "targetname" "gotohell_relay" "OnTrigger" "screen_shake,StartShake,,0,-1" "OnTrigger" "faded,Fade,,2,-1" "OnTrigger" "gotohell,Enable,,3,-1" "OnTrigger" "gotohell,Disable,,3.1,-1" } } sniper_huntsman_sentry { KeepAlive 1 OnSpawnOutput { Target "sniper_sentry" Action AddOutput Param "angles 0 0 0" Delay 0.00 } OnSpawnOutput { Target "sniper_sentry" Action RemoveHealth Param 696969 Delay 8.00 } obj_sentrygun { "targetname" "sniper_sentry" "defaultupgrade" "0" "modelscale" "0.75" "spawnflags" "0" "TeamNum" "2" "skin" "1" "solid" "0" "SolidToPlayer" "0" "disablereceiveshadows" "1" "disableshadows" "1" "origin" "0 0 0" "angles" "0 0 0" } } sniper_huntsman_shoottemplate { KeepAlive 1 OnParentKilledOutput { Target "sniper_huntsman_sentry_maker" Action ForceSpawnAtEntityOrigin Param "projectile" Delay 0.00 } OnParentKilledOutput { Target "projectile" Action Kill Delay 0.01 } prop_dynamic { "targetname" "projectile" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/weapons/c_models/c_toolbox/c_toolbox.mdl" "modelscale" "0.9" "solid" "0" "spawnflags" "0" "StartDisabled" "0" } } sentry_maker { NoFixup 1 env_entity_maker { "targetname" "sniper_huntsman_sentry_maker" "entitytemplate" "sniper_huntsman_sentry" } } RotatingAxe { // OnSpawnOutput // { // Target "rot" // Action "addoutput" // Param "avelocity 0 400 0" // Delay 0.01 // } OnSpawnOutput { Target "!activator" Action "addoutput" Param "rendermode 10" Delay 0.01 } prop_dynamic { "angles" "0 0 0" "disableshadows" "1" "model" "models/workshop/weapons/c_models/c_rift_fire_axe/c_rift_fire_axe.mdl" "parentname" "rot" "solid" "0" "targetname" "blade" "origin" "0 0 0" } func_rotating { "targetname" "rot" "fanfriction" "333333" "maxspeed" "400" "mins" "-1 -1 -1" "maxs" "1 1 1" "spawnflags" "577" } } } SpawnTemplate "Resupply" // SpawnTemplate "RespawnRoom" // SpawnTemplate "FunnyPitTeleport" SpawnTemplate "LoseRelay" SpawnTemplate "p_slower0" SpawnTemplate "Reprogram_Handler" // SpawnTemplate "fog" SpawnTemplate "shake" SpawnTemplate "NoMannPower" // SpawnTemplate "here1" // SpawnTemplate "here2" // SpawnTemplate "here3" SpawnTemplate "Combo_Pyro" SpawnTemplate "HellTeleport" SpawnTemplate "killer" SpawnTemplate "lol2" SpawnTemplate "sentry_maker" // SpawnTemplate "barriers" SpawnTemplate { Name "skellyguy" Origin "-4594 3244 -1295" Angles "0 0 0" } SpawnTemplate { Name "skellyguy" Origin "-2630 2079 -1282" Angles "0 180 0" } SpawnTemplate { Name "skellyguy" Origin "-2398 1753 -1367" Angles "0 0 0" } SpawnTemplate { Name "skellyguy" Origin "-4731 1358 -1319" Angles "0 270 0" } SpawnTemplate { Name "skellyguy" Origin "-1325 4179 -1095" Angles "0 180 0" } SpawnTemplate { Name "chiefmedic" Origin "-2746 2551 -858" Angles "0 180 0" } SpawnTemplate { Name "enemyspawner" Origin "-1892 2248 -1176" Angles "0 0 0" } SpawnTemplate { Name "enemyspawner" Origin "-1504 2504 -1184" Angles "0 180 0" } SpawnTemplate { Name "enemyspawner" Origin "-1920 1368 -1408" Angles "0 90 0" } SpawnTemplate { Name "enemyspawner" Origin "-2488 3228 -1232" Angles "0 0 0" } SpawnTemplate { Name "enemyspawner" Origin "-3456 3484 -1296" Angles "0 270 0" } PlayerSpawnTemplate { Name "Rename_Player" } PlayerSpawnTemplate { Name "Skeletonify" Class Sniper } PlayerShootTemplate { Name "ReprogramFire" Speed 0 } PlayerShootTemplate { Name "sniper_huntsman_shoottemplate" ItemName "Sentry Arrows" AttachToProjectile 1 } ItemReplacement // easter egg { "Balloonicorpse" { Name "Pet Reindoonicorn" } } ItemReplacement // easter egg { "Balloonicorpse" { Name "Pet Balloonicorn" } } ExtraSpawnPoint { Name "grayspawn_1" TeamNum 3 X "-1900" Y "2244" Z "-1170.99" } ExtraSpawnPoint { Name "grayspawn_2" TeamNum 3 X "-1496" Y "2504" Z "-1178.99" } ExtraSpawnPoint { Name "grayspawn_3" TeamNum 3 X "-1928" Y "1376" Z "-1402.99" } ExtraSpawnPoint { Name "grayspawn_4" TeamNum 3 X "-2488" Y "3232" Z "-1266.99" } ExtraSpawnPoint { Name "grayspawn_5" TeamNum 3 X "-3456" Y "3488" Z "-1282.82" } ExtraSpawnPoint { Name "Cspawn" TeamNum 3 X "-1838.9" Y "4024.79" Z "-1021.82" } ExtraSpawnPoint { Name "yetispawn" TeamNum 3 X "-4509.60" Y "2864.09" Z "-1290.87" } ExtraSpawnPoint { Name "Espawn" TeamNum 3 X "-3244.89" Y "2479.84" Z "-1213.82" } CustomWeapon { Name "Chainsaw" OriginalItemName "TF_WEAPON_MINIGUN" "custom item model" "models\weapons\c_models\c_w_chainsaw\c_w_chainsaw.mdl" "provide on active" 1 "hand scale" 0.75 "damage bonus hidden" 4 "no damage falloff" 1 "max health additive bonus" 100 "particle effect use head origin" 1 "particle effect vertical offset" -5000 "custom weapon fire sound" "common/null.wav" "custom minigun spin sound" "common/null.wav" "custom wind up sound" "=58|denominator/chain_wind_up.wav" "custom wind down sound" "=58|denominator/chain_wind_down.wav" "custom hit sound" "=58|denominator/chainsaw1.wav" "custom impact sound" "SolidMetal.BulletImpact" "custom kill icon" "saw_kill" "override projectile type" 2 "projectile lifetime" 0.25 "Projectile speed increased" 0.25 "blast radius decreased" 0.25 "no self blast dmg" 2 "self dmg push force decreased" -2.5 "no explosion particles" 1 "centerfire projectile" 1 "custom projectile model" "models/empty.mdl" "minigun spinup time decreased" 0.25 "aiming movespeed decreased" 2.1 "dmg pierces resists absorbs" 1 "mult dmg vs tanks" 2 } CustomWeapon { Name "Sentry Arrows" OriginalItemName "The Huntsman" "fire rate bonus hidden" 4 "override projectile type" 17 "custom projectile model" "models/empty.mdl" "no self blast dmg" 2 "no explosion particles" 1 "grenade no bounce" 1 // "grenade no spin" 1 "projectile speed increased" 0.75 // "grenade explode on impact" 1 "special item description" "Shoots sentries which last for a few seconds, your weapon fires slower" } PlayerAttributes { "min respawn time" 9999 Sniper { // "model scale" 1.001 "bombinomicon effect on death" 1 // "SPELL: set Halloween footstep type" 7511618 "SPELL: Halloween voice modulation" 1 } } ItemAttributes { Classname "TF_WEAPON_CLUB" "custom item model" "models/empty.mdl" "custom kill icon" "skull_tf" } ExtraLoadoutItems { Sniper { Primary { Item "Sentry Arrows" Cost 500 } } } // Enables extended upgrades displayed on the left of upgrade gui as SourceMod menu. This allows for more than 8 upgrades per weapon, with custom weapon rules ExtendedUpgrades { MaxUpgradesTier // For tiered upgrades: Specify how many upgrades can be bought per tier. (1 by default) { 2 200 // Max 2 upgrades on tier 1 2 200 // Max 1 upgrade on tier 2 } MinUpgradesTier // For tiered upgrades: Specify how many upgrades have to be bought to unlock next tier. (1 by default) { 1 1 // Min 2 upgrades on tier 1 to unlock tier 2 2 1 // Min 1 upgrade on tier 2 to unlock tier 3 } arrowmastery { Name "Arrow Mastery" // Name of the upgrade displayed on the menu Attribute "arrow mastery" // The attribute name Cap 2 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 200 // Cost of the upgrade per level Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade penetration // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } infinite_clip { Name "Infinite Clip" // Name of the upgrade displayed on the menu Attribute "reload time decreased" // The attribute name Cap 0.0001 // Maximum amount of the attribute Increment -0.9999 // Attribute increment value per level Cost 200 // Cost of the upgrade per level Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus hidden" -0.85 } } pierce { Name "Bullet Penetration" // Name of the upgrade displayed on the menu Attribute "projectile penetration heavy" // The attribute name Cap 3 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 200 // Cost of the upgrade per level Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } } extrabullets { Name "More Bullets" // Name of the upgrade displayed on the menu Attribute "bullets per shot bonus" // The attribute name Cap 2 // Maximum amount of the attribute Increment 0.2 // Attribute increment value per level Cost 100 // Cost of the upgrade per level Description "More bullets per shot, less accuracy" Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "spread penalty" 1.05 } } plasmafield { Name "Plasma Blast" // Name of the upgrade displayed on the menu Attribute "override projectile type" // The attribute name Cap 13 // Maximum amount of the attribute Increment 13 // Attribute increment value per level Cost 100 // Cost of the upgrade per level Description "Shoots plasma rays instead of bullets" AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "energy weapon penetration" 1 "ragdolls plasma effect" 1 "custom weapon fire sound" "Weapon_Bison.Single" "fire rate bonus hidden" 4 "reload time increased hidden" 2 "ammo regen" 0.3 //"mod max primary clip override" -1 } DisallowedUpgrade { Upgrade extrabullets // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade pierce // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade infinite_clip // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } upgrade { Name "More Ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.2 description "+20% max ammo" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } } upgrade { Name "More Ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.2 description "+20% max ammo" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } } upgrade { Name "+10% movement speed" // Name of the upgrade displayed on the menu Attribute "move speed bonus" // The attribute name Cap 1.3 // Maximum amount of the attribute Increment 0.1 // Attribute increment value per level Cost 200 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "Calcified Armor" // Name of the upgrade displayed on the menu Attribute "max health additive bonus" // The attribute name Cap 325 // Maximum amount of the attribute Increment 25 // Attribute increment value per level Cost 200 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "HP Regen" // Name of the upgrade displayed on the menu Attribute "health regen" // The attribute name Cap 10 // Maximum amount of the attribute Increment 2 // Attribute increment value per level Cost 200 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "+25% blast resistance" // Name of the upgrade displayed on the menu Attribute "dmg taken from blast reduced" // The attribute name Cap 0.25 // Maximum amount of the attribute Increment -0.25 // Attribute increment value per level Cost 300 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "+25% bullet resistance" // Name of the upgrade displayed on the menu Attribute "dmg taken from bullets reduced" // The attribute name Cap 0.25 // Maximum amount of the attribute Increment -0.25 // Attribute increment value per level Cost 300 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "+25% fire resistance" // Name of the upgrade displayed on the menu Attribute "dmg taken from fire reduced" // The attribute name Cap 0.25 // Maximum amount of the attribute Increment -0.25 // Attribute increment value per level Cost 150 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "+25% melee resistance" // Name of the upgrade displayed on the menu Attribute "mult dmgtaken from melee" // The attribute name Cap 0.25 // Maximum amount of the attribute Increment -0.25 // Attribute increment value per level Cost 300 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } upgrade { Name "+30% crit resistance" // Name of the upgrade displayed on the menu Attribute "dmg taken from crit reduced" // The attribute name Cap 0.1 // Maximum amount of the attribute Increment -0.3 // Attribute increment value per level Cost 150 // Cost of the upgrade per level PlayerUpgrade 1 // Is the upgrade a player upgrade } reloadseed { Name "+20% reload speed" // Name of the upgrade displayed on the menu Attribute "faster reload rate" // The attribute name Cap 0.4 // Maximum amount of the attribute Increment -0.2 // Attribute increment value per level Cost 250 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } } penetration { Name "Projectile Penetration" // Name of the upgrade displayed on the menu Attribute "projectile penetration" // The attribute name Cap 1 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 400 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade arrowmastery // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } firearrows { Name "Fire Arrows" // Name of the upgrade displayed on the menu Attribute "set damagetype ignite" // The attribute name Cap 1 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Sets enemies on fire, reduces inital damage" Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus hidden" -0.5 "attach particle effect" 1 } DisallowedUpgrade { Upgrade headshotdmg // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } longburn { Name "Hellfire Arrowheads" // Name of the upgrade displayed on the menu Attribute "weapon burn dmg increased" // The attribute name Cap 2.0 // Maximum amount of the attribute Increment 0.25 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Increases arrow afterburn damage" Tier 2 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade headshotdmg // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } headshotdmg { Name "Sharper Arrows" // Name of the upgrade displayed on the menu Attribute "headshot damage increase" // The attribute name Cap 2 // Maximum amount of the attribute Increment 0.2 // Attribute increment value per level Cost 200 // Cost of the upgrade per level Tier 1 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } dmgbonus { Name "+25% Damage Bonus" // Name of the upgrade displayed on the menu Attribute "damage bonus" // The attribute name Cap 2 // Maximum amount of the attribute Increment 0.25 // Attribute increment value per level Cost 400 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade armorpiercing // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } armorpiercing { Name "Armor Penetration" // Name of the upgrade displayed on the menu Attribute "dmg pierces resists absorbs" // The attribute name Cap 1 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Penetrates enemy resistances, your weapon fires slower" Tier 2 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "fire rate bonus hidden" 0.5 } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } gasjars { Name "Molotov Cocktail" // Name of the upgrade displayed on the menu Attribute "effect cond override" // The attribute name Cap 123 // Maximum amount of the attribute Increment 123 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Jars ignite enemies" AllowedWeapons // Restricts upgrade to specified weapons { Slot "Secondary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedWeapons // Disallow those weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "Festive SMG 2014" ItemName "The Cleaner's Carbine" ItemName "The Razorback" ItemName "The Cozy Camper" ItemName "Darwin's Danger Shield" } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade reprogramjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } reprogramjars { Name "Antidote" // Name of the upgrade displayed on the menu Attribute "effect cond override" // The attribute name Cap 121 // Maximum amount of the attribute Increment 121 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Throws jars which convert enemies for 10 seconds. Converted enemies can still be attacked." AllowedWeapons // Restricts upgrade to specified weapons { Slot "Secondary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedWeapons // Disallow those weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "Festive SMG 2014" ItemName "The Cleaner's Carbine" ItemName "The Razorback" ItemName "The Cozy Camper" ItemName "Darwin's Danger Shield" } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } recharge { Name "+15% recharge rate" // Name of the upgrade displayed on the menu Attribute "effect bar recharge rate increased" // The attribute name Cap 0.4 // Maximum amount of the attribute Increment -0.15 // Attribute increment value per level Cost 250 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Secondary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedWeapons // Disallow those weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "Festive SMG 2014" ItemName "The Cleaner's Carbine" ItemName "The Razorback" ItemName "The Cozy Camper" ItemName "Darwin's Danger Shield" } } upgrade { Name "Extended Radius" Attribute "melee range multiplier" Cap 2 Increment 0.5 description "Longer melee range and tiny bit more damage" Cost 50 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } SecondaryAttributes { "damage bonus" 0.1 } } minicritboost { Name "Minicrit on kill" Attribute "minicritboost on kill" Cap 9 Increment 3 description "+3s of minicrit on kill" Cost 50 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } DisallowedUpgrade { Upgrade axtinguisher // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } upgrade { Name "Heal On Kill" Attribute "heal on kill" Cap 100 Increment 25 description "+25hp on kill" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } } upgrade { Name "Skeletal Berserker" Attribute "fire rate bonus with reduced health" Cap 0.2 Increment -0.2 description "Up to +20% fire rate based on current health" Cost 150 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } } meleefirerate { Name "+10% fire rate" Attribute "melee attack rate bonus" Cap 0.6 Increment -0.1 Cost 200 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } } axtinguisher { Name "Axtinguish" Attribute "attack_minicrits_and_consumes_burning" Cap 1 Increment 1 description "Mini-crits burning targets and extinguishes them" Cost 150 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } DisallowedUpgrade { Upgrade minicritboost // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } knockback { Name "Knockback" Attribute "damage causes airblast" Cap 1 Increment 1 description "Knocks back targets, but do less damage" Cost 150 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } SecondaryAttributes { "damage bonus" 0.75 } } } Templates { T_TFBot_BombHolder { Name "Bomb Holder" Class Soldier ClassIcon hellmet_blank Scale 1.01 Attributes SuppressFire Attributes IgnoreEnemies Skill Normal Tag bot_invisible CharacterAttributes { "move speed bonus" 0.0001 "voice pitch scale" 0 "hand scale" 0 "head scale" 0 "torso scale" 0 "dmg taken increased" 0 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "increased jump height" 0.01 "override footstep sound set" 9 } } T_TFBot_Skeleton { Name "Skeleton" Class Sniper ClassIcon dead_blu_lite Scale 1.001 Health 200 Attributes DisableDodge Action Mobber Skill Hard Tag bot_notplayer StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" // Skin 1 ItemAttributes { ItemName "TF_WEAPON_CLUB" "is invisible" 1 "custom kill icon" "skull_tf" } } T_TFBot_Skeleton_Small { Name "Skeleton" Class Sniper ClassIcon dead_blu_lite Scale 0.4 Health 60 Skill Hard Attributes DisableDodge Tag bot_notplayer Action Mobber StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" // Skin 1 ItemAttributes { ItemName "TF_WEAPON_CLUB" "is invisible" 1 "custom kill icon" "skull_tf" "damage penalty" 0.5 } CharacterAttributes { "head scale" 3 "move speed bonus" 1.5 "voice pitch scale" 1.3 } } T_TFBot_Skeleton_Fire { Name "Burning Skeleton" Class Pyro ClassIcon dead_flame_lite Scale 1.001 Health 200 Skill Expert Tag bot_notplayer Attributes AlwaysFireWeapon Attributes DisableDodge Action Mobber StripItemSlot 1 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Skin 3 DeathSound "player/flame_out.wav" Item "The Backburner" Item "Old Guadalajara" Item "Trickster's Turnout Gear" ItemAttributes { ItemName "The Backburner" "mod flamethrower back crit" 0 "flame_speed" -500 "flame_up_speed" 50 "flame_lifetime" 1.4 "flame size bonus" 3 "flame life penalty" 2 "airblast disabled" 1 "weapon burn dmg increased" 1.25 "custom kill icon" "firedeath" "is invisible" 1 } ItemAttributes { ItemName "TF_WEAPON_FIREAXE" "is invisible" 1 "is_passive_weapon" 1 "fire rate penalty" 200 "damage penalty" 0 } CharacterAttributes { "attach particle effect" 1 "voice pitch scale" 0 "move speed bonus" 1.3 "gesture speed increase" 0.75 } } T_TFBot_Skeleton_Bleed { Name "Bleeding Skeleton" Class Sniper ClassIcon dead_bleed_lite Scale 1.001 Health 200 Skill Expert Attributes DisableDodge Tag bot_notplayer Action Mobber StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Item "The Tribalman's Shiv" Item "The Anger" ItemAttributes { ItemName "The Tribalman's Shiv" "is invisible" 1 "damage penalty" 1 "custom kill icon" "skull_tf" } } T_TFBot_Skeleton_Bow { Name "Skeletal Archer" Class Sniper ClassIcon sniper_bow Scale 1.001 Health 125 Attributes DisableDodge Action Mobber Skill Hard Tag bot_notplayer MaxVisionRange 1200 WeaponRestrictions PrimaryOnly DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Item "The Huntsman" Item "Larrikin Robin" ItemAttributes { ItemName "The Huntsman" "damage penalty" 0.5 "voice pitch scale" 0 } } T_TFBot_Skeleton_Gloves { Name "Skeletal Gauntlet" Class Sniper ClassIcon heavy_champ Scale 1.2 Health 300 Attributes DisableDodge Action Mobber Skill Expert Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" } T_TFBot_Skeleton_Fists { Name "Skeletal Gauntlet" Class Sniper ClassIcon heavy_steelfist Scale 1.5 Health 900 Attributes DisableDodge Action Mobber Skill Expert WeaponRestrictions MeleeOnly Tag bot_giant Tag no_reprogram StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Item "Fists of Steel" Item "The Warsworn Helmet" Item "Forgotten King's Pauldrons" CharacterAttributes { "move speed penalty" 0.85 } } T_TFBot_Giant_Skeleton { Name "Giant Skeleton" Class Sniper ClassIcon dead_blu_lite_giant Health 3000 Attributes MiniBoss Attributes DisableDodge Skill Expert Tag bot_giant Tag no_reprogram Action Mobber StripItemSlot 0 StripItemSlot 1 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper_boss/skeleton_sniper_boss.mdl" NoIdleSound 1 ItemAttributes { ItemName "TF_WEAPON_CLUB" "is invisible" 1 "custom kill icon" "skull_tf" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 7 "voice pitch scale" 0 } } T_TFBot_Giant_Skeleton_Bow { Name "Giant Skeletal Archer" Class Sniper ClassIcon sniper_bow_giant Health 3000 Attributes MiniBoss Attributes IgnoreFlag Action Mobber Skill Expert MaxVisionRange 1600 WeaponRestrictions PrimaryOnly Tag bot_giant Tag no_reprogram UseCustomModel "models/bots/skeleton_sniper_boss/skeleton_sniper_boss.mdl" DeathSound "misc/halloween/skeleton_break.wav" Item "The Huntsman" Item "Larrikin Robin" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 7 "voice pitch scale" 0 } } T_TFBot_Giant_Skeleton_Brick { Name "Giant Brick-Throwing Skeleton" Class Sniper ClassIcon sniper_brick_lite Health 3000 Attributes MiniBoss Attributes AlwaysFireWeapon Action Mobber Skill Expert MaxVisionRange 1600 WeaponRestrictions PrimaryOnly Tag bot_giant Tag no_reprogram StripItemSlot 2 DeathSound "misc/halloween/skeleton_break.wav" UseCustomModel "models/bots/skeleton_sniper_boss/skeleton_sniper_boss.mdl" Item "TF_WEAPON_GRENADELAUNCHER" Item "Jarate" Item "The Fed-Fightin' Fedora" Item "The Mislaid Sweater" Item "The Triggerman's Tacticals" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is invisible" 1 "fire rate penalty" 2.5 "mod max primary clip override" -1 "no self blast dmg" 2 "custom weapon fire sound" "misc/null.wav" "custom impact sound" "misc/null.wav" "custom projectile model" "models/weapons/c_models/c_brick/c_brick.mdl" "no explosion particles" 1 "fuse bonus" 10 "damage penalty" 0.34 "blast radius decreased" 0.0025 "remove damage type" 64 "special damage type" 1 "dmg taken mult from special damage type 1" 0.01 "custom kill icon" "skull_tf" } ItemAttributes { ItemName "Jarate" "is_passive_weapon" 1 "effect bar recharge rate increased" -1 "fire rate penalty" 2 "override projectile type" 27 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 7 } } T_TFBot_Zombie_Regular1 { Class Soldier Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Soldier" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die1.wav" } T_TFBot_Zombie_Regular2 { Class Pyro Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Pyro" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die2.wav" } T_TFBot_Zombie_Regular3 { Class Sniper Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Sniper" Item "Ritzy Rick's Hair Fixative" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die3.wav" } T_TFBot_Zombie_Regular4 { Class Demoman Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Demo" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die1.wav" } T_TFBot_Zombie_Regular5 { Class Heavyweapons Name "Zombie" Health 300 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "Upgradeable TF_WEAPON_FISTS" Item "Zombie Heavy" ItemAttributes { ItemName "Upgradeable TF_WEAPON_FISTS" "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.68 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 350 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break3.wav DeathSound "npc/zombie/zombie_die2.wav" } T_TFBot_Zombie_Regular6 { Class Medic Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Medic" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" // "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 "enables aoe heal" 1 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die1.wav" } T_TFBot_Zombie_Regular7 { Class Sniper Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge UseCustomModel "models/player/spy.mdl" Skin 23 Item "The Crossing Guard" Item "Zombie Spy" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 "crit from behind" 1 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die3.wav" } T_TFBot_Zombie_Regular8 { Class Scout Name "Zombie" Health 200 ClassIcon heavy_zombie_lite Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber Attributes DisableDodge Item "The Crossing Guard" Item "Zombie Scout" Item "Millennial Mercenary" Item "The Bigg Mann on Campus" ItemAttributes { ItemName "The Crossing Guard" "is invisible" 1 "custom hit sound" "npc/zombie/claw_strike1.wav" "custom kill icon" "unarmed_combat" "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.4 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } //PainSound =65|physics/body/body_medium_break4.wav DeathSound "npc/zombie/zombie_die1.wav" } T_TFBot_Zombie_Samurai { Name "Samurai Zombie" Class Soldier ClassIcon demoknight_samurai Scale 1.3 Health 400 Tag bot_notplayer Attributes SpawnWithFullCharge Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Action Mobber StripItemSlot 0 Item "The Concheror" Item "The Half-Zatoichi" Item "Soldier Samurai Hat" Item "Zombie Soldier" ItemAttributes { ItemName "The Half-Zatoichi" "honorbound" 0 } CharacterAttributes { "move speed bonus" 0.75 "damage bonus" 1.25 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 "increase buff duration" 20 "deploy time decreased" 0.5 } } T_TFBot_Zombie_Chainsaw { Name "Chainsaw Zombie" Class Heavyweapons ClassIcon heavy_zombie_lite Scale 1.4 Health 650 Tag no_reprogram Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions PrimaryOnly StripItemSlot 1 Action Mobber DeathSound "npc/zombie/zombie_die1.wav" UseMeleeThreatPrioritization 1 Item "Chainsaw" Item "The Outdoorsman" Item "The Apparatchik's Apparel" Item "Zombie Heavy" SpawnTemplate "saw" CharacterAttributes { "move speed bonus" 0.68 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 } } T_TFBot_Zombie_Mutated { Name "Mutated Zombie" Class Engineer ClassIcon pyro_membrain_lite Health 2000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag bot_giant Tag no_reprogram Action Mobber StripItemSlot 0 StripItemSlot 1 StripItemSlot 4 NoIdleSound 1 DeathSound "npc/zombie_poison/pz_alert2.wav" Item "Prinny Machete" Item "Texas Slim's Dome Shine" Item "Titanium Tank Participant Medal 2017" Item "Legend of Bugfoot" Item "The Biomech Backpack" Item "Zombie Engineer" ItemAttributes { ItemName "Prinny Machete" "is invisible" 1 "damage causes airblast" 1 "custom kill icon" "bread_bite" "custom hit sound" "physics/flesh/flesh_bloody_break.wav" } CharacterAttributes { "move speed bonus" 0.55 "mult stun resistance" 0 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "gesture speed increase" 1.47 "voice pitch scale" 0 "override footstep sound set" 7 } ItemModel { ItemName "Titanium Tank Participant Medal 2017" Model "models/workshop/player/items/pyro/invasion_phobos_filter/invasion_phobos_filter.mdl" } } T_TFBot_Zombie_Trucker { Name "Trucker Zombie" Class Scout ClassIcon pyro_scout_fireaxe_bat Attributes DisableDodge Skill Expert MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/zombie/zombie_die3.wav" Item "Trucker's Topper" Item "Zombie Scout" ItemAttributes { ItemName "TF_WEAPON_BAT" "custom item model" "models/weapons/c_models/c_fireaxe_pyro/c_fireaxe_pyro.mdl" "custom kill icon" "fireaxe" "custom hit sound" "weapons/axe_hit_flesh1.wav" "bleeding duration" 3 } CharacterAttributes { "move speed bonus" 0.8 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "fire rate penalty" 1.33 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } } T_TFBot_Zombie_Pickaxe { Name "Miner Zombie" Class Soldier ClassIcon soldier_equalizer Attributes DisableDodge Skill Hard MaxVisionRange 400 Tag bot_notplayer WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/zombie/zombie_die2.wav" Item "The Equalizer" Item "Potato Hat" Item "Zombie Soldier" ItemAttributes { ItemName "The Equalizer" "damage bonus" 1.25 "cannot taunt" 1 } CharacterAttributes { "move speed bonus" 0.8 "cancel falling damage" 1 "heal on kill" 150 "voice pitch scale" 0 "mult smack time" 0.1 "gesture speed increase" 0.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } } T_TFBot_Zombie_SWAT_1 { Name "SWAT Zombie" Class Soldier ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag bot_notplayer StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/combine_soldier/die2.wav" Item "Zombie Soldier" Item "The Crossing Guard" Item "Breach and Bomb" Item "Blast Blocker" Item "The Mantreads" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom hit sound" "npc/zombie/zombie_hit.wav" "custom kill icon" "bat" } CharacterAttributes { "move speed bonus" 0.67 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Zombie_SWAT_2 { Name "SWAT Zombie" Class Heavyweapons ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/combine_soldier/die2.wav" Item "Zombie Heavy" Item "The Crossing Guard" Item "Breach and Bomb" Item "Blast Blocker" Item "The Mantreads" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "mark for death" 1 } CharacterAttributes { "move speed bonus" 0.67 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Zombie_SWAT_3 { Name "SWAT Zombie" Class Engineer ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/combine_soldier/die2.wav" Item "Zombie Engineer" Item "The Crossing Guard" Item "Breach and Bomb" Item "Blast Blocker" Item "The Mantreads" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "mark for death" 1 } CharacterAttributes { "move speed bonus" 0.67 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Zombie_Police_1 { Name "Police Zombie" Class Demoman ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "=75|npc/metropolice/die2.wav" Item "Zombie Demo" Item "The Crossing Guard" Item "Attack Packs" Item "The Law" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "mark for death" 1 } CharacterAttributes { "move speed bonus" 0.67 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Zombie_Police_2 { Name "Police Zombie" Class Sniper ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 Action Mobber StripItemSlot 0 StripItemSlot 1 DeathSound "=75|npc/metropolice/die2.wav" Item "Zombie Sniper" Item "The Crossing Guard" Item "Attack Packs" Item "The Law" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "mark for death" 1 } CharacterAttributes { "move speed bonus" 0.67 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Zombie_Police_3 { Name "Police Zombie" Class Scout ClassIcon heavy_zombie_breach_lite Health 200 Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 Action Mobber StripItemSlot 0 StripItemSlot 1 DeathSound "=75|npc/metropolice/die1.wav" Item "Zombie Scout" Item "The Crossing Guard" Item "Attack Packs" Item "The Law" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "mark for death" 1 } CharacterAttributes { "move speed bonus" 0.4 "cancel falling damage" 1 "voice pitch scale" 0 "gesture speed increase" 0.66 "increased jump height" 1.5 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "dmg taken from crit reduced" 0.5 "dmg taken from blast reduced" 0.5 "dmg taken from bullets reduced" 0.5 } } T_TFBot_Giant_Zombie_Claw { Name "Giant Claw Zombie" Class Heavyweapons ClassIcon heavy_warrior Scale 1.65 Health 3000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag bot_giant Tag no_reprogram Action Mobber StripItemSlot 0 StripItemSlot 1 NoIdleSound 1 DeathSound "npc/zombie/zombie_pain2.wav" Item "Warrior's Spirit" Item "Zombie Heavy" ItemAttributes { ItemName "Warrior's Spirit" "dmg taken increased" 1 "damage causes airblast" 1 "minicritboost on kill" 3 } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "voice pitch scale" 0 } } T_TFBot_Zombie_Injector { Name "Injector Zombie" Class Medic ClassIcon medic_vitasaw_nys Attributes DisableDodge Skill Expert Tag bot_notplayer MaxVisionRange 400 WeaponRestrictions MeleeOnly StripItemSlot 0 StripItemSlot 1 Action Mobber DeathSound "npc/zombie/zombie_die1.wav" Item "The Vita-Saw" Item "The Gauzed Gaze" Item "Zombie Medic" ItemAttributes { ItemName "The Vita-Saw" "max health additive penalty" 0 } CharacterAttributes { "move speed bonus" 0.6 "cancel falling damage" 1 "heal on kill" 100 "voice pitch scale" 0 "mult smack time" 1 "fire rate penalty" 2.33 "gesture speed increase" 0.4 "mult stun resistance" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "increased jump height" 1.5 } DamageAppliesCond { Name TF_COND_PLAGUE Duration 1 } } T_TFBot_Zombie_Unicorn { Name "Unicorn Zombie" Class Pyro ClassIcon heavy_zombie_arm2_lite Scale 1.5 Health 3300 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 500 WeaponRestrictions MeleeOnly Tag bot_giant Tag no_reprogram StripItemSlot 0 StripItemSlot 1 Action Mobber NoIdleSound 1 Skin 5 DeathSound "npc/zombie_poison/pz_pain1.wav" // Item "Zombie Pyro" Item "Combustible Cutie" Item "The Baphomet Trotters" Item "The Crossing Guard" Item "PASS Time Early Participation Pin" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_lollichop/c_lollichop.mdl" "custom kill icon" "lollichop" "damage causes airblast" 1 "damage bonus" 1.54 "melee range multiplier" 0.85 "melee bounds multiplier" 0.85 } ItemModel { ItemName "PASS Time Early Participation Pin" Model "models/player/items/pyro/pyro_zombie.mdl" } ItemModel { ItemName "The Baphomet Trotters" Model "models/workshop/player/items/all_class/hw2013_the_magical_mercenary/hw2013_the_magical_mercenary_pyro.mdl" } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "increased jump height" 1.3 "fire rate penalty" 1.5 "mult stun resistance" 0 "cancel falling damage" 1 "crit kill will gib" 1 "gesture speed increase" 1.5 "voice pitch scale" 0.65 } } T_TFBot_Zombie_Officer { Name "Officer Zombie" Class Soldier ClassIcon soldier_major_crits Scale 1.3 Health 1200 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag no_reprogram Action Mobber NoIdleSound 1 StripItemSlot 0 StripItemSlot 1 DeathSound "npc/combine_soldier/die1.wav" Item "The Crossing Guard" Item "Soldier Drill Hat" Item "Fancy Dress Uniform" Item "Zombie Soldier" ItemAttributes { ItemName "The Crossing Guard" "custom item model" "models/weapons/c_models/c_baton/c_baton.mdl" "custom kill icon" "bat" "custom hit sound" "npc/zombie/zombie_hit.wav" "speed_boost_on_kill" 3 "mark for death" 1 // "fire input on hit" "punch^ViewPunch^0" } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "increased jump height" 1.3 "minicrits become crits" 1 "fire rate penalty" 1.5 "mult stun resistance" 0 "cancel falling damage" 1 "crit kill will gib" 1 "gesture speed increase" 0.6 "voice pitch scale" 0.65 } } T_TFBot_Zombie_Officer_Shotgun { Name "Officer Zombie" Class Soldier ClassIcon shotgun_lite Scale 1.3 Health 1200 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions SecondaryOnly Tag no_reprogram Action Mobber NoIdleSound 1 StripItemSlot 0 StripItemSlot 2 DeathSound "npc/combine_soldier/die1.wav" Item "Soldier Drill Hat" Item "Fancy Dress Uniform" Item "Zombie Soldier" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "can headshot" 1 "weapon spread bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "increased jump height" 1.3 "fire rate penalty" 1.5 "mult stun resistance" 0 "cancel falling damage" 1 "crit kill will gib" 1 "gesture speed increase" 0.6 "voice pitch scale" 0.65 } } T_TFBot_Zombie_Trolldier { Name "Trolldier Zombie" Class Soldier ClassIcon soldier_jug_market Attributes DisableDodge Skill Expert MaxVisionRange 800 Tag bot_notplayer Tag trolldier RocketJump 1 Action Sniper AimTrackingInterval 0 FastUpdate 1 StripItemSlot 1 DeathSound "npc/zombie/zombie_pain4.wav" UseMeleeThreatPrioritization 1 Item "Rocket Jumper" Item "The Market Gardener" Item "Dr's Dapper Topper" Item "Zombie Soldier" ItemAttributes { ItemName "Rocket Jumper" "mod max primary clip override" -1 } CharacterAttributes { "move speed bonus" 1.3 "boots falling stomp" 1 "dmg taken increased" 0.33 "dmg from ranged reduced" 3 "dmg from melee increased" 3 "voice pitch scale" 0.65 "deploy time decreased" 0.5 } } T_TFBot_Lout { Name "Lout" Class Demoman ClassIcon demo_targe_nys Scale 1.4 Health 900 Attributes DisableDodge WeaponRestrictions MeleeOnly Skill Hard MaxVisionRange 800 Action Mobber StripItemSlot 0 UseCustomModel "models/player/heavy.mdl" Skin 5 Item "The Chargin' Targe" Item "Frying Pan" Item "Zombie Heavy" ItemAttributes { Itemname "Frying Pan" "no_attack" 1 } CharacterAttributes { "charge recharge rate increased" 1.25 "charge time increased" 2 "charge impact damage increased" 1.9 "voice pitch scale" 0 } } T_TFBot_Giant_Pyro_Volcano_Throw { Name "Giant Riftaxe Thrower" Class Pyro ClassIcon pyro_volcano Scale 1.75 Health 3000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Tag bot_giant Tag no_reprogram Action Mobber StripItemSlot 0 AimLeadProjectileSpeed 1 AimAt Head NoIdleSound 1 DeathSound "=75|weapons/flaregun/burn.wav" Item "The Detonator" Item "The Bat Outta Hell" Item "Blazing Bull" Item "Fallen Angel" Item "Zombie Pyro" ItemAttributes { ItemName "The Detonator" "projectile speed increased" 0.33 "mult projectile scale" 0.01 "custom weapon fire sound" "weapons/iceaxe/iceaxe_swing1.wav" // "projectile lifetime" 4 "damage bonus" 1.3 "fire rate bonus" 2 "reload time decreased" 0.01 "no damage falloff" 1 "custom item model" "models/workshop/weapons/c_models/c_rift_fire_axe/c_rift_fire_axe.mdl" "projectile trail particle" "spell_fireball_small_red" "custom kill icon" "lava_axe" "custom projectile size" 3000 "blast dmg to self increased" 0 } ItemAttributes { ItemName "The Bat Outta Hell" "custom item model" "models/workshop/weapons/c_models/c_rift_fire_axe/c_rift_fire_axe.mdl" "custom kill icon" "lava_axe" "fire rate penalty" 2 "is_passive_weapon" 1 "set damagetype ignite" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 7 "voice pitch scale" 0 } FireWeapon { Delay 0 Cooldown 0.5 Repeats 0 IfSeeTarget 1 Duration 0.15 Type "Primary" } ShootTemplate { Name RotatingAxe AttachToProjectile 1 } } T_TFBot_Heavy_Robot_Gray { Name "Scrap Heavy" Class Heavyweapons ClassIcon bot_norm_lite Attributes DisableDodge Skill Normal WeaponRestrictions MeleeOnly Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/heavy/bot_heavy_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" CustomEyeGlowColor "255 0 0" Item "Upgradeable TF_WEAPON_FISTS" ItemAttributes { ItemName "Upgradeable TF_WEAPON_FISTS" "damage bonus" 0.75 } CharacterAttributes { "crit mod disabled" 0 "collect currency on kill" 1 "voice pitch scale" 0 "not solid to players" 1 } } T_TFBot_Boss_Yeti { Name "Yeti" Class Heavyweapons ClassIcon boss_yetimachine Scale 1.5 Health 12500 Attributes MiniBoss Attributes DisableDodge Attributes UseBossHealthBar Skill Expert MaxVisionRange 500 WeaponRestrictions MeleeOnly Tag bot_giant Tag no_reprogram Action Mobber NoIdleSound 1 StripItemSlot 0 StripItemSlot 1 DeathSound "shadows/tank_death_01.wav" Item "Upgradeable TF_WEAPON_FISTS" Item "Yeti_Head" Item "Yeti_Arms" Item "Yeti_Legs" ItemAttributes { ItemName "Upgradeable TF_WEAPON_FISTS" "crit kill will gib" 1 "damage bonus" 1.5 "heal on kill" 3000 "fire rate penalty" 1.35 "damage causes airblast" 1 } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "mult stun resistance" 0 "voice pitch scale" 0 "gesture speed increase" 1.35 "override footstep sound set" 7 } } T_TFBot_Scout_Robot_Gray { Name "Scrap Scout" Class Scout ClassIcon bot_norm_lite Attributes DisableDodge Skill Normal WeaponRestrictions MeleeOnly Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/scout/bot_scout_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" CustomEyeGlowColor "255 0 0" StripItemSlot 0 StripItemSlot 1 CharacterAttributes { "crit mod disabled" 0 "collect currency on kill" 1 "voice pitch scale" 0 "not solid to players" 1 } } T_TFBot_Scout_Robot_Gray_Scattergun { Name "Scrap Scout" Class Scout ClassIcon bot_norm_lite Attributes DisableDodge Skill Normal WeaponRestrictions PrimaryOnly Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/scout/bot_scout_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" CustomEyeGlowColor "255 0 0" StripItemSlot 1 StripItemSlot 2 CharacterAttributes { "crit mod disabled" 0 "collect currency on kill" 1 "voice pitch scale" 0 "not solid to players" 1 } } T_TFBot_Giant_Soldier_Robot_Gray { Name "Giant Scrap Soldier" Class Soldier ClassIcon bot_norm_lite_giant Health 3800 Attributes MiniBoss Attributes DisableDodge Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Tag bot_giant Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/soldier_boss/bot_soldier_gray_boss.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "mvm/sentrybuster/mvm_sentrybuster_explode.wav" CustomEyeGlowColor "255 0 0" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 3 "crit mod disabled" 0 "voice pitch scale" 0 "collect currency on kill" 1 "not solid to players" 1 } } T_TFBot_Pyro_Robot_Gray { Name "Scrap Pyro" Class Pyro ClassIcon bot_norm_lite Attributes DisableDodge Skill Hard Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } MaxVisionRange 500 UseCustomModel "models/bots/pyro/bot_pyro_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" AimLeadProjectileSpeed 1 CustomEyeGlowColor "255 0 0" Item "The Degreaser" Item "The Flare Gun" ItemAttributes { ItemName "The Degreaser" "fire input on hit" "combo_primary_to_secondary^Trigger^" "airblast disabled" 1 "damage penalty" 0.1 } CharacterAttributes { "crit mod disabled" 0 "collect currency on kill" 1 "deploy time decreased" 0.5 "not solid to players" 1 } } T_TFBot_Engineer_Robot_Gray { Name "Scrap Engineer" Class Engineer ClassIcon bot_norm_lite Attributes DisableDodge Skill Normal MaxVisionRange 800 WeaponRestrictions PrimaryOnly Tag bot_gry Tag no_reprogram Action Mobber UseCustomModel "models/bots/engineer/bot_engineer_gray.mdl" AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } PainSound "=75|physics/metal/metal_solid_impact_hard4.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" CustomEyeGlowColor "255 0 0" UseMeleeThreatPrioritization 1 StripItemSlot 1 StripItemSlot 2 StripItemSlot 4 Item "The Frontier Justice" CharacterAttributes { "collect currency on kill" 1 "crit mod disabled" 0 "voice pitch scale" 0 "collect currency on kill" 1 "not solid to players" 1 } } T_TFBot_Medic_Uber_Robot_Gray { Name "Quick Uber Medic" Class Medic ClassIcon bot_norm_lite Attributes SpawnWithFullCharge Attributes DisableDodge Skill Expert Tag bot_gry Tag no_reprogram AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/medic/bot_medic_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "ambient/energy/zap9.wav" StripItemSlot 0 CustomEyeGlowColor "255 0 0" Item "The Ubersaw" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 5 "uber duration bonus" -3 "heal rate bonus" 0.5 } ItemAttributes { ItemName "The Ubersaw" "provide on active" 1 "move speed bonus" 3 "attach particle effect" 3044 } CharacterAttributes { "cannot pick up intelligence" 1 "crit mod disabled" 0 "voice pitch scale" 0 "bot medic uber deploy delay duration" 0.75 "collect currency on kill" 1 "not solid to players" 1 } } T_TFBot_Sniper_Huntsman_Spammer_Robot { Name "Bowman Rapid Fire" Class Sniper ClassIcon sniper_bow_multi Scale 1.5 Health 1200 Attributes DisableDodge Skill Expert MaxVisionRange 1024 WeaponRestrictions PrimaryOnly StripItemSlot 1 StripItemSlot 2 CustomEyeGlowColor "255 0 0" Tag no_reprogram Tag bot_giant UseCustomModel "models/bots/sniper/bot_sniper_gray.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard4.wav" Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 } CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 "voice pitch scale" 0.7 "not solid to players" 1 } } T_TFBot_Giant_Heavyweapons_Robot_Gray { Name "Giant Heavy" Class Heavyweapons ClassIcon heavy_giant Health 5000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 1024 WeaponRestrictions PrimaryOnly Tag bot_giant Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/heavy_boss/bot_heavy_gray_boss.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard4.wav" DeathSound "mvm/sentrybuster/mvm_sentrybuster_explode.wav" CustomEyeGlowColor "255 0 0" AimTrackingInterval 0.75 StripItemSlot 1 CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "crit mod disabled" 0 "voice pitch scale" 0 "collect currency on kill" 1 "not solid to players" 1 } } T_TFBot_Giant_Heavy_FoS_Gray { Name "Giant Steel Gauntlet" Class Heavyweapons ClassIcon heavy_steelfist_nys Health 5000 Attributes MiniBoss Attributes DisableDodge Skill Expert MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag bot_giant Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/heavy_boss/bot_heavy_gray_boss.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard4.wav" DeathSound "mvm/sentrybuster/mvm_sentrybuster_explode.wav" CustomEyeGlowColor "255 0 0" StripItemSlot 1 Item "Fists of Steel" ItemAttributes { ItemName "Fists of Steel" "custom item model" "models/weapons/c_models/c_fists_of_steel_gray/c_fists_of_steel_gray.mdl" "fire rate bonus" 0.6 "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "crit mod disabled" 0 "voice pitch scale" 0 "collect currency on kill" 1 "not solid to players" 1 } } T_TFBot_Giant_Demo_Robot_Chief { Name "Giant Burst Fire Demo" Class Demoman ClassIcon demo_burst_gry Health 15000 Attributes MiniBoss Attributes DisableDodge Attributes UseBossHealthBar Attributes AlwaysCrit Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Tag bot_giant Tag bot_gry Tag no_reprogram Action Mobber AddCond { Name "TF_COND_REPROGRAMMED_NEUTRAL" } UseCustomModel "models/bots/demo_boss/bot_demo_gray_boss.mdl" PainSound "=75|physics/metal/metal_solid_impact_hard4.wav" DeathSound "mvm/sentrybuster/mvm_sentrybuster_explode.wav" CustomEyeGlowColor "255 0 0" StripItemSlot 1 StripItemSlot 2 AimLeadProjectileSpeed 1216 Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "faster reload rate" 0.64 "fire rate bonus" 0.1 "clip size upgrade atomic" 7 "projectile trail particle" "eyeboss_projectile" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 4 "crit mod disabled" 0 "voice pitch scale" 0 "collect currency on kill" 1 "not solid to players" 1 } ItemColor { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" Red 125 Green 64 Blue 113 } } T_TFBot_BombRunner { Name "Bomb Runner" Class Scout ClassIcon scout_bombrunner Health 70 Attributes DisableDodge Attributes IgnoreEnemies Skill Normal MaxVisionRange 400 WeaponRestrictions MeleeOnly Tag bomb_carrier Tag no_reprogram FastUpdate 1 NoBombUpgrades 1 StripItemSlot 0 StripItemSlot 1 PainSound "=75|physics/metal/metal_solid_impact_hard1.wav" DeathSound "=75|physics/metal/metal_solid_impact_bullet2.wav" UseCustomModel "models/bots/scout/bot_scout_gray.mdl" CustomEyeGlowColor "255 0 0" Item "The El Jefe" Item "Merc's Pride Scarf" ItemAttributes { ItemName "TF_WEAPON_BAT" "fire rate penalty" 200 "is invisible" 1 } CharacterAttributes { // "move speed bonus" 1.25 "damage force increase hidden" 1.5 "cancel falling damage" 1 "not solid to players" 1 "voice pitch scale" 0 // "head scale" 1.3 // "torso scale" 0.1 } ItemModel { ItemName "The El Jefe" Model "models/bots/gameplay_cosmetic/bot_light_chest.mdl" } ItemModel { ItemName "Merc's Pride Scarf" Model "models/bots/gameplay_cosmetic/bot_light_bomb_helmet.mdl" } } T_TFBot_Fake_Person { Class Soldier ClassIcon random_lite Scale 1 Health 200 Attributes MiniBoss Attributes DisableDodge Attributes IgnoreFlag Attributes SuppressFire Skill Expert WeaponRestrictions MeleeOnly Tag bot_notplayer // Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } DeathSound "physics/body/body_medium_break3.wav" NoIdleSound 1 StripItemSlot 0 StripItemSlot 1 BodyPartScaleSpeed 0.3 //Multiplier of body part scale speed Item "Parasite Hat" Item "TF_EOTL_winter_coat" Item "The Man in Slacks" ItemAttributes { ItemName "TF_WEAPON_SHOVEL" "is invisible" 1 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0.2 //Time before the first bot attribute change (Default: 10) Cooldown 5.5 //Time between each bot attribute change (Default: 10) Repeats 5 //How many times should bot change attributes in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Name "Attr1" // Name of the bot attributes listed in EventChangeAttributes } ChangeAttributes { Delay 5.5 Cooldown 10.5 Repeats 5 Name "Attr2" } ChangeAttributes { Delay 25 Cooldown 0.1 Repeats 1 Name "Attr3" } ChangeAttributes { Delay 30 Cooldown 0.1 Repeats 1 Name "Attr4" } VoiceCommand { Delay 0.1 Cooldown 5 Repeats 0 IfSeeTarget 0 Type "Help" } // Sequence // { // Name run_LOSER // Cooldown 5 // Delay 0.1 // Repeats 0 // } CharacterAttributes { "gesture speed increase" 0.75 "cancel falling damage" 1 } EventChangeAttributes { Attr1 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "gohere1" Delay 0.1 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 1 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } CharacterAttributes { "move speed bonus" 0.35 } } Attr2 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "gohere2" Delay 0.1 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 1 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted } CharacterAttributes { "move speed bonus" 0.35 } } Attr3 { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "gohere3" Delay 0.1 // Time before the first task starts (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 1 //Time between each task (Default: 10) Duration 300 // How long should the ai be interrupted // OnDoneChangeAttributes "Kill" // When the task is done, switch to this EventChangeAttributes } CharacterAttributes { "head scale" 3 "torso scale" 0.4 "voice pitch scale" 1.3 } } Attr4 { CharacterAttributes { "head scale" 3 "torso scale" 0.4 "health drain" -1000 "move speed bonus" 0.001 "voice pitch scale" 0.65 } } } } } ExtraTankPath { Name "boss_path" Node "-2880 -832 -1595" Node "-2552 -832 -1595" Node "-2504 -808 -1595" Node "-2464 -768 -1595" Node "-2464 -472 -1595" Node "-2448 -96 -1595" Node "-2408 568 -1595" Node "-2296 656 -1595" Node "-2136 688 -1568" Node "-1824 688 -1520" Node "-1592 720 -1520" Node "-1488 808 -1520" Node "-1488 976 -1464" Node "-1576 1064 -1440" Node "-1680 1128 -1440" Node "-1696 1464 -1400" Node "-1760 1584 -1376" Node "-1800 1616 -1376" Node "-1992 1664 -1376" Node "-2160 1712 -1376" Node "-2160 1920 -1368" Node "-2160 2208 -1272" Node "-2160 2408 -1272" Node "-2224 2472 -1272" Node "-3224 2472 -1272" } Wave // Wave 1 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_relay_s1 Action Trigger } RedTeamWipeCausesWaveLoss 1 Explanation { Line "{53007D}You have been revived as skeletons..." Line "{53007D}As members of the undead, you gain access to special upgrades and weapons." Line "{53007D}Something has been disturbing this castle recently and only you can find out the cause..." } WaveSpawn { Name "bomb" Where spawnbot_bomb TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited StartWaveOutput { Target setup_pause_botspawn_auto Action Trigger } TFBot { Template T_TFBot_BombHolder } } WaveSpawn // Dummy { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 StartWaveOutput { Target setup_chest_spawn_s1 Action Trigger } } //This enables the Universal Trigger event relay, which the first door in the map uses to trigger all "event_*" events enabled (in this case, only event_unpause_botspawn is enabled). //Unlocks spawn doors in 5 seconds WaveSpawn { StartWaveOutput { Target event_universal_trigger Action Enable } WaitBeforeStarting 5 FirstSpawnOutput { Target setup_s1a1_unlockspawndoor Action Trigger } } WaveSpawn { Name "a1" Where spawnbot_s1a1_frontdoor_staircase TotalCount 30 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.5 TotalCurrency 200 RandomChoice { TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton_Small } TFBot { Template T_TFBot_Skeleton_Small } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_s1a1_frontdoor_staircase TotalCount 20 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Skeleton_Fists } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_s1a1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Skeleton_Bow } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_s1a1_frontdoor_staircase TotalCount 30 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.5 TotalCurrency 200 RandomChoice { TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton } TFBot { Template T_TFBot_Skeleton_Small } TFBot { Template T_TFBot_Skeleton_Small } TFBot { Template T_TFBot_Skeleton_Small } TFBot { Template T_TFBot_Skeleton_Small } TFBot { Template T_TFBot_Skeleton_Fire ClassIcon dead_blu_lite } } } //When CP1 is captured, kills "s1a1_cp1" to trigger: //the relay to close the spawn door (killing anyone inside) //unlocks the next door to area2. //event_bomb triggers the events by killing the bot "s1a1_closing"... WaveSpawn { WaitForAllDead "a3" FirstSpawnOutput { Target setup_s1a1_lockspawndoor Action Trigger } StartWaveOutput { Target setup_s1a1_unlockcp1door Action Trigger } DoneOutput { Target event_bomb Action Enable } } //Setting up the stage events (key trigger) //Stops any bots from spawning until the new area is opened. //When this bot dies, spawns area2 mobs WaveSpawn { WaitForAllDead "a3" Name "s1a1_closing" StartWaveOutput { Target event_universal_trigger Action Enable } Where spawnbot_bomb WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_BombHolder } } //Disables the key platform section of area2 WaveSpawn { StartWaveOutput { Target setup_s1a2_platforms_key_disable Action Trigger } } } // Wave // Wave 2 // { // WaitWhenDone 65 // Checkpoint Yes // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target wave_initB_relay // Action Trigger // } // RedTeamWipeCausesWaveLoss 1 // SpawnTemplate "lol" // Explanation // { // Line "{53007D}The mysteries of the castle continue to unravel." // Line "{53007D}Some salvaged bots from the nearby scrapyard have reawoken." // Line "{53007D}How they got here is unknown, but they are hell-bent on killing you, and everyone in sight." // } // WaveSpawn // { // Name "b1" // Where spawnbot_ab // TotalCount 20 // MaxActive 5 // SpawnCount 5 // WaitBeforeStarting 0 // WaitBetweenSpawns 0.5 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Skeleton_Bow // } // } // WaveSpawn // { // Name "b1" // Where spawnbot_ab // TotalCount 32 // MaxActive 16 // SpawnCount 1 // WaitBeforeStarting 5 // WaitBetweenSpawns 1 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Skeleton_Gloves // } // } // WaveSpawn // Dummy // { // WaitForAllDead "b1" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 0 // FirstSpawnMessage "{FFFFFF}Aw shucks, them zombies have come back! Thought we got rid of them for good." // FirstSpawnOutput // { // Target shaker // Action StartShake // } // } // WaveSpawn // Dummy // { // WaitForAllDead "b1" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 2 // FirstSpawnWarningSound "ambient/creatures/town_zombie_call1.wav" // } // WaveSpawn // Dummy // { // WaitForAllDead "b1" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 2 // FirstSpawnWarningSound "ambient/creatures/town_zombie_call1.wav" // } // WaveSpawn // { // Name "b2a" // WaitForAllDead "b1" // Where spawnbot_abe // TotalCount 32 // MaxActive 12 // SpawnCount 1 // WaitBeforeStarting 5 // WaitBetweenSpawns 0.5 // TotalCurrency 100 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_Regular1 // } // TFBot // { // Template T_TFBot_Zombie_Regular2 // } // TFBot // { // Template T_TFBot_Zombie_Regular3 // } // TFBot // { // Template T_TFBot_Zombie_Regular4 // } // TFBot // { // Template T_TFBot_Zombie_Regular5 // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // } // TFBot // { // Template T_TFBot_Zombie_Regular7 // } // } // } // WaveSpawn // { // Name "b2b" // WaitForAllSpawned "b2a" // Where spawnbot_abe // TotalCount 3 // MaxActive 2 // SpawnCount 1 // WaitBeforeStarting 15 // WaitBetweenSpawns 5 // TotalCurrency 50 // TFBot // { // Template T_TFBot_Zombie_Chainsaw // } // } // WaveSpawn // { // Name "gray1" // WaitForAllSpawned "b2a" // Where grayspawn_1 // Where grayspawn_2 // Where grayspawn_3 // TotalCount 30 // MaxActive 5 // SpawnCount 1 // WaitBeforeStarting 10 // WaitBetweenSpawns 1 // TotalCurrency 0 // RandomSpawn 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Heavy_Robot_Gray // ExtAttr IgnoreNPC // } // TFBot // { // Template T_TFBot_Scout_Robot_Gray // ExtAttr IgnoreNPC // } // } // } // WaveSpawn // { // Name "gray2" // WaitForAllSpawned "b2a" // Where grayspawn_1 // TotalCount 3 // MaxActive 3 // SpawnCount 1 // WaitBeforeStarting 20 // WaitBetweenSpawns 10 // TotalCurrency 0 // TFBot // { // Template T_TFBot_Giant_Soldier_Robot_Gray // ExtAttr IgnoreNPC // } // } // WaveSpawn // { // Name "b3" // WaitForAllSpawned "b2a" // Where spawnbot_ab // TotalCount 25 // MaxActive 10 // SpawnCount 5 // WaitBeforeStarting 30 // WaitBetweenSpawns 2 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Zombie_Samurai // } // } // WaveSpawn // { // Name "b3" // WaitForAllDead "b2a" // Where spawnbot_ab // TotalCount 15 // MaxActive 15 // SpawnCount 5 // WaitBeforeStarting 0 // WaitBetweenSpawns 10 // TotalCurrency 100 // Squad // { // TFBot // { // Template T_TFBot_Giant_Skeleton // } // TFBot // { // Template T_TFBot_Skeleton_Bow // } // TFBot // { // Template T_TFBot_Skeleton_Bow // } // TFBot // { // Template T_TFBot_Skeleton_Bow // } // TFBot // { // Template T_TFBot_Skeleton_Bow // } // } // } // WaveSpawn // { // Name "b3" // WaitForAllDead "b2a" // Where spawnbot_abe // TotalCount 2 // MaxActive 2 // SpawnCount 1 // WaitBeforeStarting 22 // WaitBetweenSpawns 10 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Zombie_Mutated // } // } // WaveSpawn // Tank 15000 HP // { // Name "b3" // WaitForAllDead "b2b" // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 100 // FirstSpawnWarningSound "mvm/mvm_tank_start.wav" // Tank // { // Name "tankboss" // StartingPathTrackNode "boss_path_1" // Health 15000 // Speed 50 // Skin 0 // Model "models/bots/boss_bot/boss_tank_color.mdl" // ClassIcon tank_gry // SpawnTemplate ColorTank_Gray // Scale 0.65 // Gravity 1200 // OnBombDroppedOutput // { // Target boss_deploy_relay // Action Trigger // } // } // } // } // Wave // Wave 3 // { // WaitWhenDone 65 // Checkpoint Yes // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target wave_initC_relay // Action Trigger // } // RedTeamWipeCausesWaveLoss 1 // Explanation // { // Line "{53007D}The zombies and skeletons continue to swarm the area." // Line "{53007D}And there's rumours more monsters are lurking in that castle." // } // WaveSpawn // { // Name "c1" // Where Cspawn // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 100 // HalloweenBoss //Spawn halloween boss // { // BossType HHH //HHH / MONOCULUS / Merasmus // TeamNum 5 //Team to use (5 - boss team) Only monoculus can use teamnum 2 / 3 // ClassIcon horsemann_lite // IsMiniBoss 1 // FastUpdate 1 // Should do updates every tick (Default: 0) // Health 5000 // Boss health, 0 means default health (Default: 0) // SpawnCurrencyPack 100 // } // } // WaveSpawn // { // Name "gray1" // Where grayspawn_1 // Where grayspawn_2 // Where grayspawn_4 // TotalCount 30 // MaxActive 6 // SpawnCount 2 // WaitBeforeStarting 35 // WaitBetweenSpawns 1 // TotalCurrency 0 // RandomSpawn 1 // Squad // { // ShouldPreserveSquad 1 // TFBot // { // Template T_TFBot_Pyro_Robot_Gray // } // TFBot // { // Template T_TFBot_Medic_Uber_Robot_Gray // Classicon medic_uber // } // } // } // WaveSpawn // { // Name "c1" // Where spawnbot_cde // TotalCount 24 // MaxActive 6 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Zombie_Trucker // CharacterAttributes // { // "mult dmg vs npc" 0.8 // } // } // } // WaveSpawn // { // Name "c1" // Where spawnbot_cde // TotalCount 4 // MaxActive 4 // SpawnCount 1 // WaitBeforeStarting 10 // WaitBetweenSpawns 10 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Giant_Skeleton_Brick // } // } // WaveSpawn // { // Name "c2" // WaitForAllDead "c1" // Where spawnbot_cde // TotalCount 20 // MaxActive 5 // SpawnCount 1 // WaitBeforeStarting 5 // WaitBetweenSpawns 1 // TotalCurrency 100 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Skeleton_Bleed // } // } // WaveSpawn // { // Name "gray2" // WaitForAllSpawned "gray1" // Where grayspawn_1 // TotalCount 10 // MaxActive 5 // SpawnCount 5 // WaitBeforeStarting 10 // WaitBetweenSpawns 20 // TotalCurrency 0 // Squad // { // NoWaitForFormation 1 // TFBot // { // Template T_TFBot_Giant_Heavy_FoS_Gray // } // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_frontier_justice_nys // } // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_frontier_justice_nys // } // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_frontier_justice_nys // } // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_frontier_justice_nys // } // } // } // WaveSpawn // { // Name "c2" // WaitForAllDead "c1" // Where spawnbot_cde // TotalCount 27 // MaxActive 9 // SpawnCount 3 // WaitBeforeStarting 20 // WaitBetweenSpawns 6 // TotalCurrency 100 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Zombie_Pickaxe // } // } // WaveSpawn // { // Name "c2" // WaitForAllDead "c1" // Where spawnbot_ce_sewer // TotalCount 24 // MaxActive 6 // SpawnCount 1 // WaitBeforeStarting 30 // WaitBetweenSpawns 1 // TotalCurrency 0 // Support 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_Regular1 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular2 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular3 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular4 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular5 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Zombie_Regular7 // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // } // } // WaveSpawn // { // Name "c2" // WaitForAllDead "c1" // Where spawnbot_ce_sewer // TotalCount 24 // MaxActive 6 // SpawnCount 1 // WaitBeforeStarting 30 // WaitBetweenSpawns 1 // TotalCurrency 0 // Support 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Skeleton // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // TFBot // { // Template T_TFBot_Skeleton_Small // AddCond { Name TF_COND_SPEED_BOOST Duration 5 } // } // } // } // } // Wave // Wave 4 // { // WaitWhenDone 65 // Checkpoint Yes // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target wave_initD_relay // Action Trigger // } // RedTeamWipeCausesWaveLoss 1 // WaveSpawn // { // Name "d1" // Where spawnbot_cde // TotalCount 27 // MaxActive 9 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 100 // RandomSpawn 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_SWAT_1 // VoiceCommand // { // Delay 1 // Cooldown 5 // IfSeeTarget 0 // Type "Go" // } // } // TFBot // { // Template T_TFBot_Zombie_SWAT_2 // VoiceCommand // { // Delay 1 // Cooldown 5 // IfSeeTarget 0 // Type "Go" // } // } // TFBot // { // Template T_TFBot_Zombie_SWAT_3 // VoiceCommand // { // Delay 1 // Cooldown 5 // IfSeeTarget 0 // Type "Go" // } // } // TFBot // { // Template T_TFBot_Zombie_Police_1 // VoiceCommand // { // Delay 1 // Cooldown 5 // IfSeeTarget 0 // Type "Go" // } // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // VoiceCommand // { // Delay 1 // Cooldown 5 // IfSeeTarget 0 // Type "Go" // } // } // } // } // WaveSpawn // { // Name "d1" // Where spawnbot_cde // TotalCount 3 // MaxActive 3 // SpawnCount 1 // WaitBeforeStarting 20 // WaitBetweenSpawns 20 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Zombie_Unicorn // } // } // WaveSpawn // { // Name "d2" // WaitForAllSpawned "d1" // Where spawnbot_abe // TotalCount 24 // MaxActive 8 // SpawnCount 1 // WaitBeforeStarting 10 // WaitBetweenSpawns 1 // TotalCurrency 100 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Skeleton_Bow // } // } // WaveSpawn // { // Name "gray1" // WaitForAllSpawned "d1" // Where grayspawn_5 // Where grayspawn_3 // TotalCount 20 // MaxActive 5 // SpawnCount 5 // WaitBeforeStarting 25 // WaitBetweenSpawns 5 // TotalCurrency 0 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_widowmaker_nys // Item "The Widowmaker" // } // } // WaveSpawn // { // Name "gray2" // WaitForAllSpawned "d1" // Where grayspawn_5 // TotalCount 2 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 27 // WaitBetweenSpawns 20 // TotalCurrency 0 // TFBot // { // Template T_TFBot_Giant_Heavyweapons_Robot_Gray // } // } // WaveSpawn // { // Name "d2" // WaitForAllSpawned "d1" // Where spawnbot_cde // TotalCount 15 // MaxActive 3 // SpawnCount 1 // WaitBeforeStarting 20 // WaitBetweenSpawns 1 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Zombie_Injector // } // } // WaveSpawn // { // Name "d2" // WaitForAllSpawned "d1" // Where spawnbot_abe // TotalCount 12 // MaxActive 6 // SpawnCount 6 // WaitBeforeStarting 30 // WaitBetweenSpawns 15 // TotalCurrency 200 // Squad // { // TFBot // { // Template T_TFBot_Zombie_Officer // } // TFBot // { // Template T_TFBot_Zombie_Police_1 // } // TFBot // { // Template T_TFBot_Zombie_Police_1 // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // } // TFBot // { // Template T_TFBot_Zombie_Police_3 // } // } // } // WaveSpawn // { // Name "d2" // WaitForAllSpawned "d1" // Where spawnbot_cde // TotalCount 12 // MaxActive 6 // SpawnCount 6 // WaitBeforeStarting 35 // WaitBetweenSpawns 15 // TotalCurrency 200 // Squad // { // TFBot // { // Template T_TFBot_Zombie_Officer // } // TFBot // { // Template T_TFBot_Zombie_Police_1 // } // TFBot // { // Template T_TFBot_Zombie_Police_1 // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // } // TFBot // { // Template T_TFBot_Zombie_Police_3 // } // } // } // WaveSpawn // { // Name "boss" // WaitForAllDead "d2" // Where yetispawn // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Boss_Yeti // ExtAttr IgnoreBots // } // } // WaveSpawn // { // Name "gray3" // WaitForAllDead "d2" // Where grayspawn_4 // Where grayspawn_5 // TotalCount 20 // MaxActive 5 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 0 // Support 1 // TFBot // { // Template T_TFBot_Engineer_Robot_Gray // ClassIcon engineer_ranger_nys // Item "The Rescue Ranger" // AimLeadProjectileSpeed 1 // } // } // } // Wave // Wave 5 // { // WaitWhenDone 65 // Checkpoint Yes // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target wave_initE_relay // Action Trigger // } // RedTeamWipeCausesWaveLoss 1 // Explanation // { // Line "{53007D}We're at the center of the mansion, where most of the chaos is." // Line "{53007D}There's an abundance of monsters and robots lurking behind the walls." // Line "{red}This wave, robots will try to deploy the bomb! Keep an eye on it at all costs." // } // WaveSpawn // { // Name "prologue" // Where Espawn // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 0 // Support Limited // RandomChoice // { // Squad // { // TFBot // { // Template T_TFBot_Fake_Person // } // } // } // } // WaveSpawn // Dummy // { // WaitForAllSpawned "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 30 // Support Limited // FirstSpawnOutput // { // Target kill_relay // Action Trigger // } // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 0 // FirstSpawnWarningSound "npc/zombie/zombie_die3.wav" // FirstSpawnOutput // { // Target shaker // Action StartShake // } // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 3 // FirstSpawnWarningSound "npc/zombie/zombie_die3.wav" // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 3 // FirstSpawnWarningSound "npc/zombie/zombie_die2.wav" // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 4 // FirstSpawnWarningSound "npc/zombie/zombie_die1.wav" // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 4 // FirstSpawnWarningSound "npc/zombie/zombie_die3.wav" // } // WaveSpawn // Dummy // { // WaitForAllDead "prologue" // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 4.5 // FirstSpawnWarningSound "npc/zombie/zombie_die1.wav" // } // WaveSpawn // { // Name "e1" // WaitForAllDead "prologue" // Where spawnbot_abe // TotalCount 32 // MaxActive 8 // SpawnCount 1 // WaitBeforeStarting 5 // WaitBetweenSpawns 0.5 // TotalCurrency 200 // RandomSpawn 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_Regular1 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular2 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular3 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular4 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular5 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular7 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_Regular8 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // } // } // WaveSpawn // { // Name "boss" // WaitForAllSpawned "e1" // Where grayspawn_1 // TotalCount 4 // MaxActive 4 // SpawnCount 4 // WaitBeforeStarting 5 // WaitBetweenSpawns 0 // TotalCurrency 200 // Squad // { // TFBot // { // Template T_TFBot_Giant_Demo_Robot_Chief // } // TFBot // { // Template T_TFBot_Medic_Uber_Robot_Gray // ClassIcon medic_uber // } // TFBot // { // Template T_TFBot_Medic_Uber_Robot_Gray // ClassIcon medic_uber // } // TFBot // { // Template T_TFBot_Medic_Uber_Robot_Gray // ClassIcon medic_uber // } // } // } // WaveSpawn // { // Name "e2" // WaitForAllDead "boss" // Where spawnbot_ab // TotalCount 20 // MaxActive 10 // SpawnCount 5 // WaitBeforeStarting 0 // WaitBetweenSpawns 5 // TotalCurrency 100 // RandomSpawn 1 // TFBot // { // Template T_TFBot_BombRunner // } // } // WaveSpawn // { // Name "gray1" // WaitForAllDead "boss" // Where grayspawn_3 // Where grayspawn_5 // Where grayspawn_5 // TotalCount 4 // MaxActive 2 // SpawnCount 1 // WaitBeforeStarting 30 // WaitBetweenSpawns 15 // TotalCurrency 0 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Giant_Heavy_FoS_Gray // ExtAttr IgnoreBots // } // } // WaveSpawn // { // Name "e2" // WaitForAllDead "boss" // Where spawnbot_abe // TotalCount 15 // MaxActive 5 // SpawnCount 5 // WaitBeforeStarting 30 // WaitBetweenSpawns 15 // TotalCurrency 200 // Squad // { // NoWaitForFormation 1 // TFBot // { // Template T_TFBot_Zombie_Mutated // AddCond { Name TF_COND_SPEED_BOOST Duration 8 } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // Taunt // { // Delay 20 // Cooldown 20 // Repeats 20 // } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // Taunt // { // Delay 20 // Cooldown 20 // Repeats 20 // } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // Taunt // { // Delay 20 // Cooldown 20 // Repeats 20 // } // } // TFBot // { // Template T_TFBot_Zombie_Regular6 // Taunt // { // Delay 20 // Cooldown 20 // Repeats 20 // } // } // } // } // WaveSpawn // { // Name "e3" // WaitForAllDead "e2" // Where spawnbot_abe // TotalCount 4 // MaxActive 4 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 10 // TotalCurrency 200 // TFBot // { // Template T_TFBot_Giant_Zombie_Claw // } // } // WaveSpawn // { // Name "e3" // WaitForAllDead "e2" // Where spawnbot_cde // TotalCount 27 // MaxActive 9 // SpawnCount 3 // WaitBeforeStarting 10 // WaitBetweenSpawns 0.5 // TotalCurrency 150 // RandomSpawn 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_Trolldier // InterruptAction // { // Target "gohere1" // Delay 1 // Cooldown 30 // Repeats 999 // Duration 0.5 // } // } // TFBot // { // Template T_TFBot_Zombie_Trolldier // InterruptAction // { // Target "gohere2" // Delay 1 // Cooldown 30 // Repeats 999 // Duration 0.5 // } // } // } // } // WaveSpawn // { // Name "e4" // WaitForAllSpawned "e3" // Where spawnbot_ce_sewer // TotalCount 20 // MaxActive 8 // SpawnCount 4 // WaitBeforeStarting 10 // WaitBetweenSpawns 2 // TotalCurrency 100 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_Police_1 // } // TFBot // { // Template T_TFBot_Zombie_Police_2 // } // TFBot // { // Template T_TFBot_Zombie_Police_3 // } // } // } // WaveSpawn // { // Name "e4" // WaitForAllSpawned "e3" // Where spawnbot_ab // TotalCount 16 // MaxActive 4 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 2 // TotalCurrency 50 // RandomSpawn 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // } // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer_Robot // SpellDropRateRare 1 // CharacterAttributes // { // "attach particle effect" 3043 // "crit vs burning players" 1 // "crit vs non burning players" 1 // "projectile trail particle" "eyeboss_projectile" // } // AddCond { Name TF_COND_SODAPOPPER_HYPE } // } // } // } // } // Wave // Wave 6 // { // WaitWhenDone 65 // Checkpoint Yes // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target wave_initE_relay // Action Trigger // } // RedTeamWipeCausesWaveLoss 1 // Explanation // { // Line "{FF4500}You hear a strange voice from the depths, calling you towards it..." // } // WaveSpawn // Dummy // { // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 0 // FirstSpawnWarningSound "saturn_whisper1.mp3" // FirstSpawnOutput // { // Target gotohell_relay // Action Trigger // } // } // WaveSpawn // Dummy // { // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 0 // FirstSpawnWarningSound "saturn_whisper1.mp3" // } // WaveSpawn // Dummy // { // TotalCount 0 // SpawnCount 0 // WaitBeforeStarting 3.5 // FirstSpawnWarningSound "#music/vlvx_song23.mp3" // FirstSpawnOutput // { // Target annotation_hell // Action Show // } // } // WaveSpawn // { // Name "f1" // Where spawnbot_hell_invasion // TotalCount 24 // MaxActive 8 // SpawnCount 1 // WaitBeforeStarting 5 // WaitBetweenSpawns 0.5 // TotalCurrency 100 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Skeleton_Fire // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // } // WaveSpawn // { // Name "f1" // Where spawnbot_hell_invasion // TotalCount 18 // MaxActive 18 // SpawnCount 1 // WaitBeforeStarting 12 // WaitBetweenSpawns 1 // TotalCurrency 100 // RandomChoice // { // TFBot // { // Template T_TFBot_Zombie_SWAT_1 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_SWAT_2 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // TFBot // { // Template T_TFBot_Zombie_SWAT_3 // AddCond { Name TF_COND_SPEED_BOOST Duration 10 } // } // } // } // WaveSpawn // { // Name "f2" // WaitForAllSpawned "f1" // Where spawnbot_hell_invasion // TotalCount 12 // MaxActive 6 // SpawnCount 3 // WaitBeforeStarting 0 // WaitBetweenSpawns 10 // TotalCurrency 100 // Squad // { // TFBot // { // Template T_TFBot_Giant_Pyro_Volcano_Throw // } // TFBot // { // Template T_TFBot_Lout // } // TFBot // { // Template T_TFBot_Lout // } // } // } // } }