///////////////////////////////////////////////////////////////////// // // Example pop file for the map mvm_example. // // This pop file contains a sampling of wave types used in MVM and is commented. // ///////////////////////////////////////////////////////////////////// // // Helpful debug and console commands for developing MVM population scripts: // // sv_cheats 1 // Allows cheat commands. // god // Enables god mode for players. // nb_stop 1 // Stops all bots in place. // nb_blind 1 // Bots will not treat players as threats. // currency_give x // Give player x amount of game currency to be used on upgrades. // tf_populator_health_multiplier x.x // Multiplies health of enemy bots - example: tf_populator_health_multiplier 0.01 will set health of bots to 1% of normal. // tf_mvm_popfile abcd // Will load the .pop file of the specified name - example tf_mvm_popfile mvm_mapname_challenge2 will load mvm_mapname_challenge2.pop in the tf/scripts/population directory. // tf_mvm_jump_to_wave x // Will jump to the specified wave number of the current .pop file - example tf_mvm_jump_to_wave 6 will jump to wave 6. // tf_bot_flag_kill_on_touch 1 // When a bot picks up the flag, they die. // ///////////////////////////////////////////////////////////////////// // BEGIN POP FILE ///////////////////////////////////////////////////////////////////// #base robot_giant.pop // This pop file is marked to be included. These are other .pop files that contain templates for TFBots. In our WaveSpawns we can reference the templates in these pop files. #base robot_standard.pop // This pop file is marked to be included. These are other .pop files that contain templates for TFBots. In our WaveSpawns we can reference the templates in these pop files. WaveSchedule { //These keyvalues are used to create the gamemode ReverseWinConditions 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam blue BluPlayersAreRobots 0 SetCreditTeam 3 StartingCurrency 20000 // How much currency each player starts with. Normally 400 is a good starting point, but increased to 20k for the purpose of this test script. RespawnWaveTime 10 // This is the maximum respawn time, in seconds for players when they die. Starting at 2 seconds, it grows 2 seconds per wave. // In this case, wave 1 will have a respawn time of 2 seconds. Wave 2 - 4 seconds. Wave 3 - 6 seocnds, and so on until it hits the cap of 10 seconds for wave 5 and beyond. CanBotsAttackWhileInSpawnRoom no // Sets the robots to not attack players while they are inside of their respawn room volume. //TEMPLATES PrecacheModel "models/props_doomsday/australium_container.mdl" PrecacheModel "models/props_doomsday/cap_point_small.mdl" PrecacheModel "models/props_doomsday/mini_lights_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_base_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_flight_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_gantry_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_hatch_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_lid_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_lift_doomsday.mdl" PrecacheModel "models/props_doomsday/rocket_socket_doomsday.mdl" PointTemplates { DoomsdayRocketModels { prop_dynamic { "id" "18" "classname" "prop_dynamic" "angles" "0 90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_flight_doomsday.mdl" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "1" "targetname" "rocket_flying" "origin" "0 24 653" } prop_dynamic { "id" "58" "classname" "prop_dynamic" "angles" "0 270 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "cap_track2" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_gantry_doomsday.mdl" "parentname" "rocket_gantry" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_gantry_model" "origin" "0 24 653" } prop_dynamic { "id" "115" "classname" "prop_dynamic" "angles" "0 0 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "cap_track2" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/cap_point_small.mdl" "parentname" "elevator_train" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "targetname" "cap_point_small" "origin" "0 -128 732.648" } prop_dynamic { "id" "256" "classname" "prop_dynamic" "angles" "0 90 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0.0" "fademindist" "-1.0" "fadescale" "1.0" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_doomsday/rocket_hatch_doomsday.mdl" "modelscale" "1.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "origin" "0 24 697.888" } prop_dynamic { "id" "390" "classname" "prop_dynamic" "angles" "0 270 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "cap_track2" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_doomsday/mini_lights_doomsday.mdl" "parentname" "elevator_train" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_lift_lights" "origin" "0 -112 732.358" } prop_dynamic { "id" "777" "classname" "prop_dynamic" "angles" "0 90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "cap_track2" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_base_doomsday.mdl" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_base_model" "origin" "0 24 653" } prop_dynamic { "id" "789" "classname" "prop_dynamic" "angles" "0 90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_lid_doomsday.mdl" "parentname" "rocket_lid" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_lid_model" "origin" "0 24 1136" } prop_dynamic { "id" "793" "classname" "prop_dynamic" "angles" "0 270 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_socket_doomsday.mdl" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_socket" "origin" "0 24 1136" } prop_dynamic { "id" "851" "classname" "prop_dynamic" "angles" "0 270 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "lightingorigin" "cap_track2" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/rocket_lift_doomsday.mdl" "parentname" "elevator_train" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "rocket_lift_model" "origin" "0 -112 732.358" } prop_dynamic { "id" "2600" "classname" "prop_dynamic" "angles" "75 274 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_doomsday/australium_container.mdl" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "StartDisabled" "1" "targetname" "blue_australium_model" "origin" "-4 12 1162" } } DoomsdayRocketLogic { logic_relay { "id" "16" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "blue_team_owner_lid_X" "OnTrigger" "gamerules,PlayVOBlue,Announcer.SD_WeAreAboutToLaunch,0,-1" "origin" "128 -40 1147.92" } logic_relay { "id" "31" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "blue_win" "OnTrigger" "bots_win,RoundWin,,6.1,-1" "OnTrigger" "bots_win,SetTeam,3,0,-1" "OnTrigger" "rocket_base_model,Disable,,0,-1" "OnTrigger" "rocket_lid,Kill,,0,-1" "OnTrigger" "red_building_explosion,Start,,6.1,-1" "OnTrigger" "rocket_flying,Enable,,0,-1" "OnTrigger" "rocket_flying,SetAnimation,blue_flight,0.1,-1" "OnTrigger" "rocket_shake_flight,StartShake,,0,-1" "OnTrigger" "rocket_flying,Kill,,6.35,-1" "OnTrigger" "red_building_explosion_sound,PlaySound,,6.1,-1" "OnTrigger" "rocket_lid_model,Disable,,0,-1" "OnTrigger" "rocket_base_model,Kill,,2,-1" "OnTrigger" "rocket_socket,Kill,,0,-1" "OnTrigger" "blue_australium_model,Kill,,0,-1" "OnTrigger" "rocket_lid_model,Kill,,2,-1" "OnTrigger" "rocket_gantry_model,SetAnimation,gantry_arms_open_stay,1,-1" "OnTrigger" "rocket_gantry,Open,,0,-1" "OnTrigger" "rocket_gantry_model,SetAnimation,gantry_arms_open,0,-1" "OnTrigger" "vent_hurt2,Disable,,2,-1" "OnTrigger" "vent_hurt2,Enable,,1,-1" "OnTrigger" "rocket_push,Enable,,0.5,-1" "OnTrigger" "red_base_building_relay,Trigger,,6.1,-1" "OnTrigger" "rocket_shake_impact,StartShake,,6.1,-1" "OnTrigger" "hdr_scale,Trigger,,6.1,-1" "OnTrigger" "rocket_hole_brush,Disable,,0.1,-1" "OnTrigger" "red_death_magnet,Disable,,6.2,-1" "OnTrigger" "red_death_magnet,Enable,,6.1,-1" "OnTrigger" "red_death,Disable,,6.2,-1" "OnTrigger" "red_death,Enable,,6.1,-1" "OnTrigger" "pj_bugle_sound,Trigger,,3.5,-1" "OnTrigger" "vo_crashed,PlaySound,,7,-1" "OnTrigger" "gamerules,PlayVOBlue,Game.YourTeamWonQuiet,0,-1" "origin" "24 -48 1152" } logic_timer { "id" "43" "classname" "logic_timer" "RefireTime" ".5" "spawnflags" "0" "StartDisabled" "1" "targetname" "elevator_alarm" "UseRandomTime" "0" "OnTimer" "elevator_alarm_sound,PlaySound,,0,-1" "origin" "0 -133.49 1008" } logic_relay { "id" "48" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "0" "targetname" "touch_relay" "OnTrigger" "cap_track_relay,Disable,,0,-1" "OnTrigger" "cap_track1,EnablePath,,0,-1" "OnTrigger" "elevator_train,SetSpeedDirAccel,1,0,-1" "OnTrigger" "elevator_hurt_relay,Disable,,0,-1" "OnTrigger" "elevator_hurt,Disable,,0,-1" "OnTrigger" "elevator_train,SetSpeedForwardModifier,.2,0,-1" "OnTrigger" "blue_dispenser_logic,Trigger,,0,-1" "OnTrigger" "elevator_alarm,Enable,,0,-1" "OnTrigger" "achievement_volume,Enable,,0,-1" "OnTrigger" "blue_team_owner_lift,Trigger,,0,-1" "origin" "0 -144 971" } logic_relay { "id" "50" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "0" "targetname" "drop_relay" "OnTrigger" "elevator_train,SetSpeedDirAccel,-0.3,0,-1" "OnTrigger" "cap_track_relay,Enable,,0,-1" "OnTrigger" "elevator_hurt_relay,Enable,,0,-1" "OnTrigger" "blue_dispenser_beam,Disable,,0,-1" "OnTrigger" "cap_point_small,Skin,0,0,-1" "OnTrigger" "rocket_lift_lights,Skin,0,0,-1" "OnTrigger" "mini_light_flashing_blue,Stop,,0,-1" "OnTrigger" "elevator_alarm,Disable,,0.1,-1" "origin" "0 -144 951" } logic_relay { "id" "77" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "elevator_hurt_relay" "OnTrigger" "elevator_hurt,Enable,,0,-1" "origin" "0 244 808" } logic_relay { "id" "79" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "cap_track_relay" "OnTrigger" "elevator_train,SetSpeedDirAccel,0,0,-1" "origin" "-4 292 784" } logic_auto { "classname" "logic_auto" "spawnflags" "1" "OnMapSpawn" "elevator_train,TeleportToPathTrack,cap_track1,0,-1" "OnMapSpawn" "cap_track0,DisablePath,,1,-1" "origin" "-4 296 760" } logic_auto { "id" "95" "classname" "logic_auto" "spawnflags" "1" "OnMapSpawn" "blue_dispenser_beam,Disable,,0,-1" "origin" "-8 -120 816" } logic_timer { "id" "111" "classname" "logic_timer" "RefireTime" "3" "spawnflags" "0" "StartDisabled" "0" "targetname" "elevator_touch_test" "UseRandomTime" "0" "OnTimer" "elevator_australium_zone,Test,,0,-1" "origin" "-2 -296 736" } logic_relay { "id" "113" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "blue_dispenser_logic" "OnTrigger" "blue_dispenser_beam,Enable,,0,-1" "OnTrigger" "cap_point_small,Skin,2,0,-1" "OnTrigger" "rocket_lift_lights,Skin,2,0,-1" "OnTrigger" "mini_light_flashing_blue,Start,,0,-1" "origin" "12 -121 763" } logic_relay { "id" "784" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "1" "targetname" "rocket_launch_sound_relay" "OnTrigger" "rocket_launch_sound,PlaySound,,0,-1" "origin" "0 30 1300" } logic_relay { "id" "855" "classname" "logic_relay" "spawnflags" "0" "StartDisabled" "0" "targetname" "blue_team_owner_lift" "OnTrigger" "gamerules,PlayVOBlue,Announcer.SD_OurFlagOnElevator,0,-1" "OnTrigger" "blue_team_owner_lift,Disable,,0,-1" "origin" "136 -60.22 948" } } DoomsdayRocketPathTrack { path_track { "id" "52" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "targetname" "cap_track8" "OnPass" "rocket_lid_spin,Open,,0,-1" "OnPass" "sound_cap_start,PlaySound,,0,-1" "OnPass" "elevator_alarm,RefireTime,1.3,0,-1" "origin" "0 224 1088" } path_track { "id" "55" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track8" "targetname" "cap_track7" "OnPass" "elevator_alarm,RefireTime,1.3,0,-1" "origin" "0 224 1078" } path_track { "id" "62" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track7" "targetname" "cap_track6" "OnPass" "elevator_alarm,RefireTime,1.8,0,-1" "origin" "0 224 994" } path_track { "id" "65" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track6" "targetname" "cap_track5" "OnPass" "rocket_lid,Close,,0,-1" "origin" "0 224 976" } path_track { "id" "68" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track5" "targetname" "cap_track4" "OnPass" "elevator_hurt_relay,Trigger,,0,-1" "OnPass" "elevator_alarm,RefireTime,2,0,-1" "OnPass" "rocket_lid,Close,,0,-1" "origin" "0 224 924" } path_track { "id" "71" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track4" "targetname" "cap_track3" "OnPass" "elevator_hurt_relay,Trigger,,0,-1" "OnPass" "elevator_alarm,RefireTime,2,0,-1" "OnPass" "rocket_lid,Close,,0,-1" "origin" "0 224 868" } path_track { "id" "74" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track3" "targetname" "cap_track2" "OnPass" "elevator_hurt_relay,Trigger,,0,-1" "OnPass" "elevator_alarm,RefireTime,2.5,0,-1" "origin" "0 224 808" } path_track { "id" "83" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track2" "targetname" "cap_track1b" "OnPass" "elevator_alarm,RefireTime,2.5,0,-1" "OnPass" "achievement_volume,Enable,,0,-1" "origin" "0 224 744" } path_track { "id" "86" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track1b" "targetname" "cap_track1" "OnPass" "cap_track_relay,Trigger,,0,-1" "OnPass" "achievement_volume,Disable,,0,-1" "origin" "0 224 730" } path_track { "id" "812" "classname" "path_track" "angles" "0 0 0" "orientationtype" "2" "radius" "0" "spawnflags" "0" "speed" "0" "target" "cap_track1" "targetname" "cap_track0" "origin" "0 224 706" } } DoomsdayRocketSoundsAndParticles { ambient_generic { "id" "7" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "Announcer.SD_Rocket_Crash" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "1250" "spawnflags" "49" "spindown" "0" "spinup" "0" "targetname" "vo_crashed" "volstart" "0" "origin" "0 -152 1248" } ambient_generic { "id" "22" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.cap_close_quick" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "2250" "spawnflags" "49" "spindown" "0" "spinup" "0" "targetname" "sound_cap_quickdown" "volstart" "0" "origin" "0 -32 1240" } ambient_generic { "id" "25" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.cap_spinstart" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "2500" "spawnflags" "49" "spindown" "0" "spinup" "0" "targetname" "sound_cap_start" "volstart" "0" "origin" "0 -32 1216" } ambient_generic { "id" "28" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.cap_spinloop" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "2500" "spawnflags" "17" "spindown" "0" "spinup" "0" "targetname" "sound_cap_spin" "volstart" "0" "origin" "0 -32 1192" } ambient_generic { "id" "45" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.alarm" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "1250" "SourceEntityName" "elevator_train" "spawnflags" "48" "spindown" "0" "spinup" "0" "targetname" "elevator_alarm_sound" "volstart" "0" "origin" "2 -132 984" } ambient_generic { "id" "781" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.launch" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "2500" "spawnflags" "49" "spindown" "0" "spinup" "0" "targetname" "rocket_launch_sound" "volstart" "0" "origin" "-0.0899658 24 1263" } ambient_generic { "id" "786" "classname" "ambient_generic" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "doomsday.launch" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "2500" "spawnflags" "49" "spindown" "0" "spinup" "0" "targetname" "rocket_launch_sound" "volstart" "0" "origin" "-0.0899658 24 1240" } info_particle_system { "id" "123" "classname" "info_particle_system" "angles" "-16.5272 164.12 0" "cpoint1_parent" "0" "cpoint2_parent" "0" "cpoint3_parent" "0" "cpoint4_parent" "0" "cpoint5_parent" "0" "cpoint6_parent" "0" "cpoint7_parent" "0" "effect_name" "cart_flashinglight" "flag_as_weather" "0" "parentname" "elevator_train" "start_active" "1" "targetname" "mini_light_flashing_blue" "origin" "172.728 -204.494 742.081" } info_particle_system { "id" "260" "classname" "info_particle_system" "angles" "-23.5346 104.164 0" "cpoint1_parent" "0" "cpoint2_parent" "0" "cpoint3_parent" "0" "cpoint4_parent" "0" "cpoint5_parent" "0" "cpoint6_parent" "0" "cpoint7_parent" "0" "effect_name" "cart_flashinglight" "flag_as_weather" "0" "parentname" "elevator_train" "start_active" "1" "targetname" "mini_light_flashing_blue" "origin" "172.846 4.95996 744.319" } info_particle_system { "id" "459" "classname" "info_particle_system" "angles" "-16.5936 0 0" "cpoint1_parent" "0" "cpoint2_parent" "0" "cpoint3_parent" "0" "cpoint4_parent" "0" "cpoint5_parent" "0" "cpoint6_parent" "0" "cpoint7_parent" "0" "effect_name" "cart_flashinglight" "flag_as_weather" "0" "parentname" "elevator_train" "start_active" "1" "targetname" "mini_light_flashing_blue" "origin" "-172.73 8.45996 744.116" } info_particle_system { "id" "524" "classname" "info_particle_system" "angles" "-16.1163 46.7143 0" "cpoint1_parent" "0" "cpoint2_parent" "0" "cpoint3_parent" "0" "cpoint4_parent" "0" "cpoint5_parent" "0" "cpoint6_parent" "0" "cpoint7_parent" "0" "effect_name" "cart_flashinglight" "flag_as_weather" "0" "parentname" "elevator_train" "start_active" "0" "targetname" "mini_light_flashing_blue" "origin" "-171.5 -224.966 744.043" } } DoomsdayRocketEntityBrushes { func_tracktrain { "id" "101" "classname" "func_tracktrain" "bank" "0" "disablereceiveshadows" "1" "disableshadows" "1" "dmg" "1000" "height" "0" "ManualAccelSpeed" "70" "ManualDecelSpeed" "150" "ManualSpeedChanges" "1" "MoveSound" "doomsday.lift_loop" "MoveSoundMaxPitch" "200" "MoveSoundMaxTime" "0" "MoveSoundMinPitch" "60" "MoveSoundMinTime" "0" "orientationtype" "1" "origin" "0 224 728.33" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "spawnflags" "514" "speed" "0" "StartSound" "doomsday.lift_start" "startspeed" "100" "StopSound" "doomsday.lift_stop" "target" "cap_track0" "targetname" "elevator_train" "velocitytype" "1" "volume" "10" "wheels" "20" "mins" "-344 -240 -16" "maxs" "344 240 16" "origin" "0 244 728.33" "parentname" "rocket_lift_model" } func_flagdetectionzone { "id" "847" "classname" "func_flagdetectionzone" "parentname" "rocket_lift_model" "StartDisabled" "0" "targetname" "elevator_australium_zone" "TeamNum" "0" "OnStartTouchFlag" "mini_light_flashing_blue,Start,,0,-1" "OnStartTouchFlag" "bots_win,RoundWin,,6.1,-1" "OnStartTouchFlag" "cap_destroy_relay,Trigger,,0,-1" "OnStartTouchFlag" "elevator_alarm_sound,PlaySound,,0,-1" "OnEndTouchFlag" "drop_relay,Trigger,,0,-1" "OnStartTouchFlag" "touch_relay,Trigger,,0,-1" "mins" "-344 -244 -148" "maxs" "344 244 148" "origin" "0 -106 802" } func_capturezone { "id" "797" "classname" "func_capturezone" "capturepoint" "1" "StartDisabled" "0" "targetname" "capturezone_volume" "TeamNum" "0" "OnCapTeam2" "blue_win,Enable,,0,-1" "OnCapTeam2" "blue_australium_model,Enable,,0,-1" "OnCapTeam2" "mini_light_flashing_blue,Start,,0,-1" "OnCapTeam2" "bots_win,RoundWin,,6.1,-1" "OnCapTeam2" "elevator_alarm_sound,PlaySound,,0,-1" "OnCapTeam2" "cap_destroy_relay,Trigger,,0,-1" "OnCapture" "rocket_lid,Close,,0.1,-1" "OnCapture" "rocket_lid,SetSpeed,30,0,-1" "OnCapture" "sound_cap_spin,StopSound,,1,-1" "OnCapture" "sound_cap_quickdown,PlaySound,,0,-1" "OnCapture" "rocket_launch_sound_relay,Enable,,0,-1" "OnCapture" "game_timer,Disable,,0,-1" "mins" "-48 -48 -48" "maxs" "48 48 48" "origin" "0 0 1152" } } } SpawnTemplate { Name "DoomsdayRocketModels" Origin "1664 -24 -907" Angles "0 0 0" } SpawnTemplate { Name "DoomsdayRocketLogic" Origin "1664 -24 -907" Angles "0 0 0" } SpawnTemplate { Name "DoomsdayRocketPathTrack" Origin "1664 -24 -907" Angles "0 0 0" } SpawnTemplate { Name "DoomsdayRocketSoundsAndParticles" Origin "1664 -24 -907" Angles "0 0 0" } SpawnTemplate { Name "DoomsdayRocketEntityBrushes" Origin "1664 -24 -907" Angles "0 0 0" } ///////////////// //MISSIONS ///////////////// Mission // This is a sentry buster mission. It creates sentry busters for any player sentries deemed too dangerous. { Objective DestroySentries InitialCooldown 5 // Amount of time once a wave starts before the mission becomes active. Where spawnbot_mission_sentrybuster // Entity at which to spawn. BeginAtWave 1 // The mission becomes active on this wave. RunForThisManyWaves 11 // It remains active for this many waves. Generally, this is the same as the total number of waves. CooldownTime 35 // This is the time, in seconds, between when Sentry Busters are allowed to spawn, should their spawning conditions be met. TFBot { Template T_TFBot_SentryBuster // This references a template to use for its TFBot. AddCond //Adds conditions to bots { Name "TF_COND_REPROGRAMMED" } } } Mission // This is a sniper mission. This spawns sniper(s) at periodic intervals, it will not spawn more snipers unless its conditions are met, and all previous snipers from this mission are dead. { Objective Sniper InitialCooldown 10 // Amount of time once a wave starts before the mission becomes active. Where spawnbot_mission_sniper // Entity at which to spawn. BeginAtWave 4 // The mission becomes active on this wave. RunForThisManyWaves 1 // It remains active for this many waves. CooldownTime 35 // This is the time, in seconds, between when Sniper Missions are allowed to spawn, should their spawning conditions be met. DesiredCount 2 // Number of snipers to spawn each time this mission's criteria are met. TFBot { Class Sniper Skill Expert Name Sniper AddCond //Adds conditions to bots { Name "TF_COND_REPROGRAMMED" } } } Mission // This is a spy mission. This spawns spy(s) at periodic intervals, it will not spawn more spies unless its conditions are met, and all previous spies from this mission are dead. { Objective Spy InitialCooldown 20 // Amount of time once a wave starts before the mission becomes active. Where spawnbot_mission_spy // Entity at which to spawn. BeginAtWave 3 // The mission becomes active on this wave. RunForThisManyWaves 1 // It remains active for this many waves. CooldownTime 15 // This is the time, in seconds, between when Sniper Missions are allowed to spawn, should their spawning conditions be met. DesiredCount 4 // Number of spies to spawn each time this mission's criteria are met. TFBot { Class Spy Skill Expert Name Spy AddCond //Adds conditions to bots { Name "TF_COND_REPROGRAMMED" } } } ///////////////// //WAVES ///////////////// //WAVE 1 ///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // This wave consists of 15 scouts, with 400 currency divided between them. // At the start of the wave scouts are spawned in groups of 5, 5 seconds apart, until there are 10 bots are in the world. // They spawn at the spawnpoint named spawnbot, and if multiple spawnbot spawn points exist, they choose a random spawnbot each time a group of 2 spawn. // As bots are eliminated, new bots spawn in groups of 5 as long as there are enough slots in the max active count. // The wave is over when all 15 bot scouts have been eliminated. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput // Output which occurs at moment the wave begins. { Target wave_start_relay // Name of the entity in the map to target. Action Trigger // Input to give the targeted entity. } DoneOutput // Output which occurrs at moment the wave is completed. { Target wave_finished_relay // Name of the entity in the map to target. Action trigger // Input to give the targeted entity. } Checkpoint Yes // Sets a checkpoint at the end of this wave. WaveSpawn { Where spawnbot // Entity at which to spawn. TotalCount 1 // The total number of individual bots that will spawn. MaxActive 10 // The maximum number of bots, from this WaveSpawn, that can be alive in the world at any moment. SpawnCount 5 // Defines the number of bots to spawn at a time as a group. WaitBeforeStarting 0 // Amount of time to wait before spawning the first bot. WaitBetweenSpawns 5 // Amount of time to wait between spawning each group (defined by the spawncount) of bots. TotalCurrency 400 // Amount of money dropped by all of the bots in the WaveSpawn. Money is divided equally between each bot. TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Skill Hard AimTrackingInterval 1 Item "Deflector" Item "Tough Guy's Toque" Action Mobber Attributes UseBossHealthBar ExtAttr AlwaysFireWeaponAlt UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "voice pitch scale" 0 } } } } //WAVE 2 ///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // This wave is identical to wave 1 except that the bot scouts are using a template located in one of the included pop files. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput // Output which occurs at moment the wave begins. { Target wave_start_relay // Name of the entity in the map to target. Action Trigger // Input to give the targeted entity. } DoneOutput // Output which occurrs at moment the wave is completed. { Target wave_finished_relay // Name of the entity in the map to target. Action trigger // Input to give the targeted entity. } Checkpoint Yes // Sets a checkpoint at the end of this wave. WaveSpawn { Where spawnbot // Entity at which to spawn. TotalCount 1 // The total number of individual bots that will spawn. MaxActive 10 // The maximum number of bots, from this WaveSpawn, that can be alive in the world at any moment. SpawnCount 5 // Defines the number of bots to spawn at a time as a group. WaitBeforeStarting 0 // Amount of time to wait before spawning the first bot. WaitBetweenSpawns 5 // Amount of time to wait between spawning each group (defined by the spawncount) of bots. TotalCurrency 400 // Amount of money dropped by all of the bots in the WaveSpawn. Money is divided equally between each bot. TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Skill Hard AimTrackingInterval 1 Item "Deflector" Item "Tough Guy's Toque" Action Mobber Attributes UseBossHealthBar ExtAttr AlwaysFireWeaponAlt UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "voice pitch scale" 0 } } } } //WAVE 3 ///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // This wave is similar to wave 2 but with a TANK added that spawns 15 seconds AFTER all the scouts have been spawned. // Additionally, each individual scout, not the SpawnCount group as a whole, will spawn at a random spawn point of the specified name. // **SPY MISSION** is active for this wave, as defined at the top of the pop file. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput // Output which occurs at moment the wave begins. { Target wave_start_relay // Name of the entity in the map to target. Action Trigger // Input to give the targeted entity. } DoneOutput // Output which occurrs at moment the wave is completed. { Target wave_finished_relay // Name of the entity in the map to target. Action trigger // Input to give the targeted entity. } Checkpoint Yes // Sets a checkpoint at the end of this wave. WaveSpawn { Where spawnbot // Entity at which to spawn. TotalCount 1 // The total number of individual bots that will spawn. MaxActive 10 // The maximum number of bots, from this WaveSpawn, that can be alive in the world at any moment. SpawnCount 5 // Defines the number of bots to spawn at a time as a group. WaitBeforeStarting 0 // Amount of time to wait before spawning the first bot. WaitBetweenSpawns 5 // Amount of time to wait between spawning each group (defined by the spawncount) of bots. TotalCurrency 400 // Amount of money dropped by all of the bots in the WaveSpawn. Money is divided equally between each bot. TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Skill Hard AimTrackingInterval 1 Item "Deflector" Item "Tough Guy's Toque" Action Mobber Attributes UseBossHealthBar ExtAttr AlwaysFireWeaponAlt UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "voice pitch scale" 0 } } } } //WAVE 4 ///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // This wave has 2 tanks which spawn on different tracks. The first tank starts at the beginning of the wave, the other 10 seconds later. // **SNIPER MISSION** is active for this wave, as defined at the top of the pop file. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput // Output which occurs at moment the wave begins. { Target wave_start_relay // Name of the entity in the map to target. Action Trigger // Input to give the targeted entity. } DoneOutput // Output which occurrs at moment the wave is completed. { Target wave_finished_relay // Name of the entity in the map to target. Action trigger // Input to give the targeted entity. } Checkpoint Yes // Sets a checkpoint at the end of this wave. WaveSpawn { Where spawnbot // Entity at which to spawn. TotalCount 1 // The total number of individual bots that will spawn. MaxActive 10 // The maximum number of bots, from this WaveSpawn, that can be alive in the world at any moment. SpawnCount 5 // Defines the number of bots to spawn at a time as a group. WaitBeforeStarting 0 // Amount of time to wait before spawning the first bot. WaitBetweenSpawns 5 // Amount of time to wait between spawning each group (defined by the spawncount) of bots. TotalCurrency 400 // Amount of money dropped by all of the bots in the WaveSpawn. Money is divided equally between each bot. TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Skill Hard AimTrackingInterval 1 Item "Deflector" Item "Tough Guy's Toque" Action Mobber Attributes UseBossHealthBar ExtAttr AlwaysFireWeaponAlt UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "voice pitch scale" 0 } } } } //WAVE 5 ///////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // This wave consists of 18 bots, with 400 currency divided between them. // At the start of the wave bots are spawned in groups of 3, 1 second apart, until there are 9 bots are in the world. // For each bot spawned, a random TFBot from those listed inside the RandomChoice is picked. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput // Output which occurs at moment the wave begins. { Target wave_start_relay // Name of the entity in the map to target. Action Trigger // Input to give the targeted entity. } DoneOutput // Output which occurrs at moment the wave is completed. { Target wave_finished_relay // Name of the entity in the map to target. Action trigger // Input to give the targeted entity. } Checkpoint Yes // Sets a checkpoint at the end of this wave. WaveSpawn { Where spawnbot // Entity at which to spawn. TotalCount 1 // The total number of individual bots that will spawn. MaxActive 10 // The maximum number of bots, from this WaveSpawn, that can be alive in the world at any moment. SpawnCount 5 // Defines the number of bots to spawn at a time as a group. WaitBeforeStarting 0 // Amount of time to wait before spawning the first bot. WaitBetweenSpawns 5 // Amount of time to wait between spawning each group (defined by the spawncount) of bots. TotalCurrency 400 // Amount of money dropped by all of the bots in the WaveSpawn. Money is divided equally between each bot. TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill Skill Hard AimTrackingInterval 1 Item "Deflector" Item "Tough Guy's Toque" Action Mobber Attributes UseBossHealthBar ExtAttr AlwaysFireWeaponAlt UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "voice pitch scale" 0 } } } } }