#base robot_standard.pop #base robot_giant.pop // WAVE 1 - 0$ + B(100$) // ------------------- // TOTAL - 0$ + B(100$) WaveSchedule { StartingCurrency 500 RespawnWaveTime 0 CanBotsAttackWhileInSpawnRoom no EventPopfile Halloween NoReanimators 1 NoRomevisionCosmetics 1 BotsAreHumans 1 ForceHoliday 2 Templates { T_TFBot_Sniper_Skeleton { Name "Skeleton" Class Sniper ClassIcon dead Skill Hard WeaponRestrictions MeleeOnly Skin 1 UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" } } PointTemplates { PermaDeathLogic { NoFixup 1 filter_activator_tfteam { "targetname" "filter_red" "TeamNum" "2" "Negated" "0" } filter_activator_name { "targetname" "filter_deadplayer" "filtername" "deadplayer" "Negated" "0" } filter_activator_name { "targetname" "filter_deadplayer_false" "filtername" "deadplayer" "Negated" "1" } filter_tf_bot_has_tag { "targetname" "filter_bot_false" "Negated" "1" "require_all_tags" "1" "tags" "common" } filter_multi { "targetname" "filter_redplayer" "Filter01" "filter_red" "Filter02" "filter_bot_false" "filtertype" "0" "Negated" "0" } filter_multi { "targetname" "filter_alive_redplayer" "Filter01" "filter_redplayer" "Filter02" "filter_deadplayer_false" "filtertype" "0" "Negated" "0" } game_forcerespawn { "targetname" "forcerespawn" } trigger_multiple { "targetname" "permadeath_detect_latejoin_trigger" "filtername" "filter_redplayer" "spawnflags" "1" "StartDisabled" "1" "wait" "0" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" "OnStartTouch" "permadeath_should_deny_player,Test,,0,-1" } trigger_multiple { "targetname" "permadeath_assign_trigger" "filtername" "filter_redplayer" "spawnflags" "1" "StartDisabled" "1" "wait" "0" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" "OnEndTouch" "!activator,AddOutput,targetname deadplayer,0,-1" } trigger_multiple { "targetname" "permadeath_lose_trigger" "filtername" "filter_alive_redplayer" "spawnflags" "1" "StartDisabled" "1" "wait" "0" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" "OnEndTouchAll" "permadeath_can_bots_win,Test,,0,-1" } point_teleport { "targetname" "permadeath_ghost_teleport_e" "target" "!activator" "origin" "-3250 2480 -1000" "angles" "0 0 0" } trigger_add_tf_player_condition { "targetname" "permadeath_ghost_trigger" "filtername" "filter_deadplayer" "condition" "66" "duration" "9999999999" // It doesn't like applying when it's -1?? "spawnflags" "1" "StartDisabled" "1" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" "OnStartTouch" "permadeath_ghost_teleport_e,Teleport,,0,-1" "OnStartTouch" "ghost_model_maker,ForceSpawnAtEntityOrigin,!activator,0.01,-1" } trigger_add_tf_player_condition { "targetname" "permadeath_ghost_trigger" "filtername" "filter_deadplayer" "condition" "77" "duration" "9999999999" // -1 works here but hehe symmetry go brrr "spawnflags" "1" "StartDisabled" "1" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" } trigger_add_tf_player_condition { "targetname" "permadeath_ghost_trigger" "filtername" "filter_deadplayer" "condition" "114" "duration" "9999999999" // -1 works here but hehe symmetry go brrr "spawnflags" "1" "StartDisabled" "1" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" } trigger_add_tf_player_condition { "targetname" "permadeath_ghost_trigger" "filtername" "filter_deadplayer" "condition" "43" "duration" "9999999999" // -1 works here but hehe symmetry go brrr "spawnflags" "1" "StartDisabled" "1" "mins" "-9216 -8192 -4096" "maxs" "9216 8192 4096" } logic_relay { "targetname" "ghost_reset_relay" "OnTrigger" "deadplayer,$ForceRespawn,,0,-1" // Fucking sorcery "OnTrigger" "deadplayer,AddOutput,targetname ,0.01,-1" } env_entity_maker { "targetname" "ghost_model_maker" "EntityTemplate" "GhostModel" } info_target { "targetname" "move_target" "origin" "0 0 0" "angles" "0 0 0" } logic_branch { "targetname" "permadeath_can_bots_win" "InitialValue" "0" "OnTrue" "bots_win,RoundWin,,0,-1" } logic_branch { "targetname" "permadeath_should_deny_player" "InitialValue" "0" "OnTrue" "!activator,AddOutput,targetname deadplayer,0,-1" "OnTrue" "permadeath_ghost_trigger,Disable,,0.01,-1" "OnTrue" "permadeath_ghost_trigger,Enable,,0.02,-1" } } GhostModel { OnSpawnOutput { Target "move_measure" Action SetParent Param "!activator" Delay 0.00 } prop_dynamic { "targetname" "model" "modelscale" "1.5" "rendercolor" "255 100 36" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/props_halloween/ghost.mdl" "defaultanim" "idle" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 -32" } prop_dynamic { "targetname" "move_measure" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/empty.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 -32" } logic_measure_movement { "MeasureReference" "move_target" "MeasureTarget" "move_measure" "MeasureType" "0" "Target" "model" "TargetReference" "move_target" "TargetScale" "1" } } Misc { NoFixup 1 OnSpawnOutput { Target entity_outputs Action Trigger Delay 0.00 } logic_relay { "targetname" "entity_outputs" "OnTrigger" "player,AddOutput,targetname ,0,-1" "OnTrigger" "wave_init*,AddOutput,OnTrigger ghost_reset_relay:Trigger::0:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_assign_trigger:Enable::0:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_lose_trigger:Enable::0:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_can_bots_win:SetValue:1:0:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger forcerespawn:ForceTeamRespawn:2:0:-1,0,-1" // Ensure all players are alive "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_detect_latejoin_trigger:Enable::0.01:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_should_deny_player:SetValue:1:0.02:-1,0,-1" "OnTrigger" "wave_start_relay,AddOutput,OnTrigger permadeath_ghost_trigger:Enable::0.03:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_assign_trigger:Disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_ghost_trigger:Disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_lose_trigger:Disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_can_bots_win:SetValue:0:0:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_detect_latejoin_trigger:Disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,AddOutput,OnTrigger permadeath_should_deny_player:SetValue:0:0:-1,0,-1" } } } SpawnTemplate "Misc" SpawnTemplate "PermaDeathLogic" // WAVE 1 [$0] Wave { InitWaveOutput { Target wave_initA_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] // [$0] WaveSpawn { Where spawnbot_ab TotalCount 1 SpawnCount 1 Support Limited TotalCurrency 500 TFBot { Class Scout Action Mobber CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } } WaveSpawn { Name "W1-1" Where spawnbot_ab TotalCount 20 MaxActive 8 SpawnCount 4 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 6 TFBot { Template T_TFBot_Scout_Fish Action Mobber Tag nav_path_a_main } } WaveSpawn { Name "W1-1" Where spawnbot_ab TotalCount 10 MaxActive 4 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 3 TFBot { Template T_TFBot_Scout_Fish Tag bot_gatebot Action PushToCapturePoint Tag nav_path_a_left_stairs } } WaveSpawn { Name "W1-2" Where spawnbot_ab TotalCount 42 MaxActive 16 SpawnCount 6 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 6 WaitForAllDead "W1-1" TFBot { Class Soldier WeaponRestrictions MeleeOnly Action Mobber Tag nav_path_a_main } } WaveSpawn { Name "W1-2" Where spawnbot_ab TotalCount 24 MaxActive 6 SpawnCount 6 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 10 WaitForAllDead "W1-1" TFBot { Template T_TFBot_Sniper_Skeleton Action Mobber Tag nav_path_a_left } } } Wave { InitWaveOutput { Target wave_initB_relay Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] // [$0] WaveSpawn { Where spawnbot_ab TotalCount 1 SpawnCount 1 Support Limited TotalCurrency 500 TFBot { Class Scout Action Mobber CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } } WaveSpawn { Name "W1-1" Where spawnbot_ab TotalCount 20 MaxActive 8 SpawnCount 4 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 6 TFBot { Template T_TFBot_Scout_Fish Action Mobber } } WaveSpawn { Name "W1-1" Where spawnbot_ab TotalCount 10 MaxActive 4 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 3 TFBot { Template T_TFBot_Scout_Fish Tag bot_gatebot Action PushToCapturePoint } } WaveSpawn { Name "W1-2" Where spawnbot_ab TotalCount 42 MaxActive 16 SpawnCount 6 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 6 WaitForAllDead "W1-1" TFBot { Class Soldier WeaponRestrictions MeleeOnly Action Mobber } } WaveSpawn { Name "W1-2" Where spawnbot_ab TotalCount 24 MaxActive 6 SpawnCount 6 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 10 WaitForAllDead "W1-1" TFBot { Template T_TFBot_Sniper_Skeleton Action Mobber } } } }