├── README.md ├── classes.txt ├── cvarlist.txt ├── datamaps.txt ├── game_sounds ├── game_sounds.txt ├── game_sounds_manifest.txt ├── game_sounds_music.txt ├── game_sounds_mvm.txt ├── game_sounds_passtime.txt ├── game_sounds_physics.txt ├── game_sounds_player.txt ├── game_sounds_taunt_workshop.txt ├── game_sounds_vo.txt ├── game_sounds_vo_handmade.txt ├── game_sounds_vo_merasmus.txt ├── game_sounds_vo_mvm.txt ├── game_sounds_vo_mvm_handmade.txt ├── game_sounds_vo_mvm_mighty.txt ├── game_sounds_vo_pauling.txt ├── game_sounds_vo_phonemes.txt ├── game_sounds_vo_rd_robots.txt ├── game_sounds_vo_taunts.txt ├── game_sounds_vo_tough_break.txt └── game_sounds_weapons.txt ├── netprops.txt ├── population ├── example │ └── example.pop ├── mvm_bigrock.pop ├── mvm_bigrock_advanced1.pop ├── mvm_bigrock_advanced2.pop ├── mvm_coaltown.pop ├── mvm_coaltown_advanced.pop ├── mvm_coaltown_advanced2.pop ├── mvm_coaltown_expert1.pop ├── mvm_coaltown_intermediate.pop ├── mvm_coaltown_intermediate2.pop ├── mvm_decoy.pop ├── mvm_decoy_advanced.pop ├── mvm_decoy_advanced2.pop ├── mvm_decoy_advanced3.pop ├── mvm_decoy_expert1.pop ├── mvm_decoy_intermediate.pop ├── mvm_decoy_intermediate2.pop ├── mvm_ghost_town.pop ├── mvm_ghost_town_666.pop ├── mvm_mannhattan.pop ├── mvm_mannhattan_advanced1.pop ├── mvm_mannhattan_advanced2.pop ├── mvm_mannworks.pop ├── mvm_mannworks_advanced.pop ├── mvm_mannworks_expert1.pop ├── mvm_mannworks_intermediate.pop ├── mvm_mannworks_intermediate2.pop ├── mvm_mannworks_ironman.pop ├── mvm_rottenburg.pop ├── mvm_rottenburg_advanced1.pop ├── mvm_rottenburg_advanced2.pop ├── robot_gatebot.pop ├── robot_giant.pop └── robot_standard.pop ├── talker ├── demoman.txt ├── demoman_auto.txt ├── engineer.txt ├── engineer_auto.txt ├── events.txt ├── heavy.txt ├── heavy_auto.txt ├── medic.txt ├── medic_auto.txt ├── pyro.txt ├── pyro_auto.txt ├── response_rules.txt ├── scout.txt ├── scout_auto.txt ├── sniper.txt ├── sniper_auto.txt ├── soldier.txt ├── soldier_auto.txt ├── spy.txt ├── spy_auto.txt └── tf.txt ├── teprops.txt └── tf.fgd /README.md: -------------------------------------------------------------------------------- 1 | tf2-data 2 | ======== 3 | 4 | Netprops, Datamaps, and sounds from TF2. 5 | -------------------------------------------------------------------------------- /game_sounds/game_sounds_manifest.txt: -------------------------------------------------------------------------------- 1 | game_sounds_manifest 2 | { 3 | "precache_file" "scripts/game_sounds.txt" 4 | "precache_file" "scripts/game_sounds_physics.txt" 5 | "precache_file" "scripts/game_sounds_weapons.txt" 6 | "precache_file" "scripts/game_sounds_vo.txt" 7 | "precache_file" "scripts/game_sounds_vo_handmade.txt" 8 | "precache_file" "scripts/game_sounds_music.txt" 9 | 10 | "preload_file" "scripts/game_sounds_player.txt" 11 | 12 | "precache_file" "scripts/game_sounds_mvm.txt" 13 | // "preload_file" "scripts/game_sounds_vo_mvm.txt" 14 | // "preload_file" "scripts/game_sounds_vo_mvm_mighty.txt" 15 | "precache_file" "scripts/game_sounds_vo_mvm_handmade.txt" 16 | 17 | // "precache_file" "scripts/mvm_level_sounds.txt" 18 | "precache_file" "scripts/game_sounds_vo_rd_robots.txt" 19 | "precache_file" "scripts/game_sounds_vo_taunts.txt" 20 | 21 | "precache_file" "scripts/game_sounds_taunt_workshop.txt" 22 | 23 | "precache_file" "scripts/game_sounds_vo_pauling.txt" 24 | "precache_file" "scripts/game_sounds_vo_merasmus.txt" 25 | "precache_file" "scripts/game_sounds_vo_tough_break.txt" 26 | 27 | "precache_file" "scripts/game_sounds_passtime.txt" 28 | 29 | } 30 | -------------------------------------------------------------------------------- /game_sounds/game_sounds_music.txt: -------------------------------------------------------------------------------- 1 | "music.class_menu" 2 | { 3 | "channel" "CHAN_STATIC" 4 | "soundlevel" "SNDLVL_NONE" 5 | "volume" "0.55" 6 | "wave" "#*music/class_menu_bg.wav" 7 | } 8 | 9 | "music.class_menu_01" 10 | { 11 | "channel" "CHAN_STATIC" 12 | "soundlevel" "SNDLVL_NONE" 13 | "volume" "0.55" 14 | "wave" "#*music/class_menu_01.wav" 15 | } 16 | 17 | "music.class_menu_02" 18 | { 19 | "channel" "CHAN_STATIC" 20 | "soundlevel" "SNDLVL_NONE" 21 | "volume" "0.55" 22 | "wave" "#*music/class_menu_08.wav" 23 | } 24 | 25 | "music.class_menu_03" 26 | { 27 | "channel" "CHAN_STATIC" 28 | "soundlevel" "SNDLVL_NONE" 29 | "volume" "0.55" 30 | "wave" "#*music/class_menu_02.wav" 31 | } 32 | 33 | "music.class_menu_04" 34 | { 35 | "channel" "CHAN_STATIC" 36 | "soundlevel" "SNDLVL_NONE" 37 | "volume" "0.55" 38 | "wave" "#*music/class_menu_04.wav" 39 | } 40 | 41 | "music.class_menu_05" 42 | { 43 | "channel" "CHAN_STATIC" 44 | "soundlevel" "SNDLVL_NONE" 45 | "volume" "0.55" 46 | "wave" "#*music/class_menu_07.wav" 47 | } 48 | 49 | "music.class_menu_06" 50 | { 51 | "channel" "CHAN_STATIC" 52 | "soundlevel" "SNDLVL_NONE" 53 | "volume" "0.55" 54 | "wave" "#*music/class_menu_05.wav" 55 | } 56 | 57 | "music.class_menu_07" 58 | { 59 | "channel" "CHAN_STATIC" 60 | "soundlevel" "SNDLVL_NONE" 61 | "volume" "0.55" 62 | "wave" "#*music/class_menu_03.wav" 63 | } 64 | 65 | "music.class_menu_08" 66 | { 67 | "channel" "CHAN_STATIC" 68 | "soundlevel" "SNDLVL_NONE" 69 | "volume" "0.55" 70 | "wave" "#*music/class_menu_09.wav" 71 | } 72 | 73 | "music.class_menu_09" 74 | { 75 | "channel" "CHAN_STATIC" 76 | "soundlevel" "SNDLVL_NONE" 77 | "volume" "0.55" 78 | "wave" "#*music/class_menu_06.wav" 79 | } 80 | 81 | "music.mvm_class_menu" 82 | { 83 | "channel" "CHAN_STATIC" 84 | "soundlevel" "SNDLVL_NONE" 85 | "volume" "0.45" 86 | "wave" "#*music/mvm_class_menu_bg.wav" 87 | } 88 | 89 | "music.mvm_class_menu_01" 90 | { 91 | "channel" "CHAN_STATIC" 92 | "soundlevel" "SNDLVL_NONE" 93 | "volume" "0.28" 94 | "wave" "#*music/mvm_class_menu_01.wav" 95 | } 96 | 97 | "music.mvm_class_menu_02" 98 | { 99 | "channel" "CHAN_STATIC" 100 | "soundlevel" "SNDLVL_NONE" 101 | "volume" "0.28" 102 | "wave" "#*music/mvm_class_menu_08.wav" 103 | } 104 | 105 | "music.mvm_class_menu_03" 106 | { 107 | "channel" "CHAN_STATIC" 108 | "soundlevel" "SNDLVL_NONE" 109 | "volume" "0.28" 110 | "wave" "#*music/mvm_class_menu_02.wav" 111 | } 112 | 113 | "music.mvm_class_menu_04" 114 | { 115 | "channel" "CHAN_STATIC" 116 | "soundlevel" "SNDLVL_NONE" 117 | "volume" "0.28" 118 | "wave" "#*music/mvm_class_menu_04.wav" 119 | } 120 | 121 | "music.mvm_class_menu_05" 122 | { 123 | "channel" "CHAN_STATIC" 124 | "soundlevel" "SNDLVL_NONE" 125 | "volume" "0.28" 126 | "wave" "#*music/mvm_class_menu_07.wav" 127 | } 128 | 129 | "music.mvm_class_menu_06" 130 | { 131 | "channel" "CHAN_STATIC" 132 | "soundlevel" "SNDLVL_NONE" 133 | "volume" "0.28" 134 | "wave" "#*music/mvm_class_menu_05.wav" 135 | } 136 | 137 | "music.mvm_class_menu_07" 138 | { 139 | "channel" "CHAN_STATIC" 140 | "soundlevel" "SNDLVL_NONE" 141 | "volume" "0.28" 142 | "wave" "#*music/mvm_class_menu_03.wav" 143 | } 144 | 145 | "music.mvm_class_menu_08" 146 | { 147 | "channel" "CHAN_STATIC" 148 | "soundlevel" "SNDLVL_NONE" 149 | "volume" "0.28" 150 | "wave" "#*music/mvm_class_menu_09.wav" 151 | } 152 | 153 | "music.mvm_class_menu_09" 154 | { 155 | "channel" "CHAN_STATIC" 156 | "soundlevel" "SNDLVL_NONE" 157 | "volume" "0.28" 158 | "wave" "#*music/mvm_class_menu_06.wav" 159 | } 160 | 161 | "music.mvm_upgrade_machine" 162 | { 163 | "channel" "CHAN_STATIC" 164 | "soundlevel" "77" 165 | "volume" "1.00" 166 | "wave" ")items\tf_music_upgrade_machine.wav" 167 | } 168 | 169 | "music.mvm_class_select" 170 | { 171 | "channel" "CHAN_STATIC" 172 | "soundlevel" "SNDLVL_NONE" 173 | "volume" "0.25" 174 | "wave" "#*music/mvm_class_select.wav" 175 | } 176 | 177 | "music.mvm_start_wave" 178 | { 179 | "channel" "CHAN_STATIC" 180 | "soundlevel" "SNDLVL_NONE" 181 | "volume" "0.48" 182 | "wave" "#*music/mvm_start_wave.wav" 183 | } 184 | 185 | "music.mvm_start_mid_wave" 186 | { 187 | "channel" "CHAN_STATIC" 188 | "soundlevel" "SNDLVL_NONE" 189 | "volume" "0.58" 190 | "wave" "#*music/mvm_start_mid_wave.wav" 191 | } 192 | "music.mvm_start_tank_wave" 193 | { 194 | "channel" "CHAN_STATIC" 195 | "soundlevel" "SNDLVL_NONE" 196 | "volume" "0.39" 197 | "wave" "#*music/mvm_start_tank_wave.wav" 198 | } 199 | 200 | "music.mvm_start_last_wave" 201 | { 202 | "channel" "CHAN_STATIC" 203 | "soundlevel" "SNDLVL_NONE" 204 | "volume" "0.58" 205 | "wave" "#*music/mvm_start_last_wave.wav" 206 | } 207 | 208 | "music.mvm_end_wave" 209 | { 210 | "channel" "CHAN_STATIC" 211 | "soundlevel" "SNDLVL_NONE" 212 | "volume" "0.55" 213 | "wave" "#*music/mvm_end_wave.wav" 214 | } 215 | 216 | "music.mvm_end_tank_wave" 217 | { 218 | "channel" "CHAN_STATIC" 219 | "soundlevel" "SNDLVL_NONE" 220 | "volume" "0.36" 221 | "wave" "#*music/mvm_end_tank_wave.wav" 222 | } 223 | 224 | "music.mvm_end_mid_wave" 225 | { 226 | "channel" "CHAN_STATIC" 227 | "soundlevel" "SNDLVL_NONE" 228 | "volume" "0.58" 229 | "wave" "#*music/mvm_end_mid_wave.wav" 230 | } 231 | 232 | "music.mvm_end_last_wave" 233 | { 234 | "channel" "CHAN_STATIC" 235 | "soundlevel" "SNDLVL_NONE" 236 | "volume" "0.6" 237 | "wave" "#*music/mvm_end_last_wave.wav" 238 | } 239 | 240 | "music.mvm_lost_wave" 241 | { 242 | "channel" "CHAN_STATIC" 243 | "soundlevel" "SNDLVL_NONE" 244 | "volume" "0.35" 245 | "wave" "#*music/mvm_lost_wave.wav" 246 | } 247 | 248 | "music.fortress_reel" 249 | { 250 | "channel" "CHAN_STATIC" 251 | "soundlevel" "SNDLVL_110dB" 252 | "volume" "1.0" 253 | "wave" ")*music/fortress_reel.wav" 254 | } 255 | "music.fortress_reel_intro" 256 | { 257 | "channel" "CHAN_STATIC" 258 | "soundlevel" "SNDLVL_90dB" 259 | "volume" "1.0" 260 | "wave" ")*music/fortress_reel_intro.wav" 261 | } 262 | "music.fortress_reel_loop" 263 | { 264 | "channel" "CHAN_STATIC" 265 | "soundlevel" "SNDLVL_90dB" 266 | "volume" "1.0" 267 | "wave" ")*music/fortress_reel_loop.wav" 268 | } 269 | "music.fortress_reel_intro2" 270 | { 271 | "channel" "CHAN_STATIC" 272 | "soundlevel" "SNDLVL_90dB" 273 | "volume" "1.0" 274 | "wave" ")*music/fortress_reel_intro2.wav" 275 | } 276 | 277 | "music.fortress_reel_loop2" 278 | { 279 | "channel" "CHAN_STATIC" 280 | "soundlevel" "SNDLVL_90dB" 281 | "volume" "1.0" 282 | "wave" ")*music/fortress_reel_loop2.wav" 283 | } 284 | 285 | "music.conga_loop" 286 | { 287 | "channel" "CHAN_STATIC" 288 | "soundlevel" "SNDLVL_75dB" 289 | "volume" "1.0" 290 | "wave" ")*music/conga_sketch_167bpm_01-04.wav" 291 | } 292 | 293 | "music.carousel_of_curses" 294 | { 295 | "channel" "CHAN_STATIC" 296 | "soundlevel" "SNDLVL_NONE" 297 | "volume" "1.0" 298 | "wave" "#*music/carousel_of_curses.wav" 299 | } 300 | "music.kart_football" 301 | { 302 | "channel" "CHAN_STATIC" 303 | "soundlevel" "SNDLVL_NONE" 304 | "volume" "1.0" 305 | "wave" "#*music/misfortune_teller.wav" 306 | } 307 | "music.kart_racetrack" 308 | { 309 | "channel" "CHAN_STATIC" 310 | "soundlevel" "SNDLVL_NONE" 311 | "volume" "1.0" 312 | "wave" "#*music/misfortune_teller.wav" 313 | } 314 | "music.kart_platform" 315 | { 316 | "channel" "CHAN_STATIC" 317 | "soundlevel" "SNDLVL_NONE" 318 | "volume" "1.0" 319 | "wave" "#*music/bump_in_the_night.wav" 320 | } 321 | "music.russian" 322 | { 323 | "channel" "CHAN_STATIC" 324 | "soundlevel" "SNDLVL_70dB" 325 | "volume" "1.0" 326 | "wave" ")*music/cossack_sandvich.wav" 327 | } 328 | "music.aerobic_loop" 329 | { 330 | "channel" "CHAN_STATIC" 331 | "soundlevel" "SNDLVL_75dB" 332 | "volume" "1.0" 333 | "wave" ")*music/mannrobics.wav" 334 | } -------------------------------------------------------------------------------- /game_sounds/game_sounds_passtime.txt: -------------------------------------------------------------------------------- 1 | "Passtime.BallIntercepted" 2 | { 3 | "channel" "CHAN_VOICE2" 4 | "volume" "VOL_NORM" 5 | "pitch" "PITCH_NORM" 6 | "soundlevel" "SNDLVL_NORM" 7 | "wave" "passtime/ball_intercepted.wav" 8 | } 9 | 10 | "Passtime.BallStolen" 11 | { 12 | "channel" "CHAN_VOICE2" 13 | "volume" "VOL_NORM" 14 | "pitch" "PITCH_NORM" 15 | "soundlevel" "SNDLVL_NORM" 16 | "wave" "passtime/ball_stolen.wav" 17 | } 18 | 19 | "Passtime.BallDropped" 20 | { 21 | "channel" "CHAN_VOICE2" 22 | "volume" "VOL_NORM" 23 | "pitch" "PITCH_NORM" 24 | "soundlevel" "SNDLVL_NORM" 25 | "wave" "passtime/ball_dropped.wav" 26 | } 27 | 28 | "Passtime.BigHornLong" 29 | { 30 | "volume" "1" 31 | "pitch" "PITCH_NORM" 32 | "soundlevel" "SNDLVL_NONE" 33 | "rndwave" 34 | { 35 | "wave" "*passtime/horn_big.wav" 36 | "wave" "*passtime/horn_air1.wav" 37 | "wave" "*passtime/horn_air2.wav" 38 | "wave" "*passtime/horn_air3.wav" 39 | "wave" "*passtime/horn_air4.wav" 40 | } 41 | } 42 | 43 | "Passtime.Crowd.Boo" 44 | { 45 | "channel" "CHAN_STATIC" 46 | "volume" "1" 47 | "pitch" "PITCH_NORM" 48 | "soundlevel" "SNDLVL_NORM" 49 | "rndwave" 50 | { 51 | "wave" "*passtime/crowd_boo.wav" 52 | } 53 | } 54 | 55 | "Passtime.Crowd.Cheer" 56 | { 57 | "channel" "CHAN_STATIC" 58 | "volume" "1" 59 | "pitch" "PITCH_NORM" 60 | "soundlevel" "SNDLVL_NORM" 61 | "rndwave" 62 | { 63 | "wave" "*passtime/crowd_cheer.wav" 64 | } 65 | } 66 | 67 | "Passtime.Crowd.React.Neg" 68 | { 69 | "channel" "CHAN_STATIC" 70 | "volume" "1" 71 | "pitch" "PITCH_NORM" 72 | "soundlevel" "SNDLVL_NORM" 73 | "rndwave" 74 | { 75 | "wave" "passtime/crowd_react_neg.wav" 76 | } 77 | } 78 | 79 | "Passtime.Crowd.React.Pos" 80 | { 81 | "channel" "CHAN_STATIC" 82 | "volume" "1" 83 | "pitch" "PITCH_NORM" 84 | "soundlevel" "SNDLVL_NORM" 85 | "rndwave" 86 | { 87 | "wave" "passtime/crowd_react_pos.wav" 88 | } 89 | } 90 | 91 | "Passtime.BallSpawn" 92 | { 93 | "channel" "CHAN_STATIC" 94 | "volume" "1" 95 | "pitch" "PITCH_NORM" 96 | "soundlevel" "SNDLVL_NORM" 97 | "rndwave" 98 | { 99 | "wave" "*passtime/whistle.wav" 100 | } 101 | } 102 | 103 | "Passtime.BallCatch" 104 | { 105 | "channel" "CHAN_WEAPON" 106 | "volume" "1" 107 | "pitch" "PITCH_NORM" 108 | "soundlevel" "SNDLVL_GUNFIRE" 109 | "wave" "passtime/ball_catch.wav" 110 | } 111 | 112 | "Passtime.Throw" 113 | { 114 | "channel" "CHAN_WEAPON" 115 | "volume" "VOL_NORM" 116 | "pitch" "PITCH_NORM" 117 | "soundlevel" "SNDLVL_NORM" 118 | "rndwave" 119 | { 120 | "wave" "passtime/projectile_swoosh1.wav" 121 | "wave" "passtime/projectile_swoosh2.wav" 122 | "wave" "passtime/projectile_swoosh3.wav" 123 | "wave" "passtime/projectile_swoosh4.wav" 124 | "wave" "passtime/projectile_swoosh5.wav" 125 | "wave" "passtime/projectile_swoosh6.wav" 126 | } 127 | } 128 | 129 | "Passtime.BallSmack" 130 | { 131 | "channel" "CHAN_AUTO" 132 | "volume" "VOL_NORM" 133 | "pitch" "PITCH_NORM" 134 | "soundlevel" "SNDLVL_NORM" 135 | "wave" "passtime/ball_smack.wav" 136 | } 137 | 138 | "Passtime.BallGet" 139 | { 140 | "channel" "CHAN_AUTO" 141 | "volume" "VOL_NORM" 142 | "pitch" "PITCH_NORM" 143 | "soundlevel" "SNDLVL_NORM" 144 | "wave" "passtime/ball_get.wav" 145 | } 146 | 147 | "Passtime.BallIdle" 148 | { 149 | "channel" "CHAN_AUTO" 150 | "volume" "VOL_NORM" 151 | "pitch" "PITCH_NORM" 152 | "soundlevel" "SNDLVL_75dB" 153 | "wave" "passtime/ball_idle.wav" 154 | } 155 | 156 | "Passtime.BallHoming" 157 | { 158 | "channel" "CHAN_AUTO" 159 | "volume" "1" 160 | "pitch" "PITCH_NORM" 161 | "soundlevel" "SNDLVL_GUNFIRE" 162 | "attenuation" "0.5" 163 | "wave" "passtime/ball_homing.wav" 164 | } 165 | 166 | "Passtime.GunCharge" 167 | { 168 | "channel" "CHAN_WEAPON" 169 | "soundlevel" "SNDLVL_NORM" 170 | "volume" ".45" 171 | "wave" "weapons/loose_cannon_charge.wav" 172 | } 173 | 174 | "Passtime.TargetLock" 175 | { 176 | "channel" "CHAN_STATIC" 177 | "volume" "VOL_NORM" 178 | "pitch" "PITCH_NORM" 179 | "soundlevel" "SNDLVL_NORM" 180 | "wave" "#passtime/target_lock.wav" 181 | } 182 | 183 | "Passtime.Scroll.Open" 184 | { 185 | "soundlevel" "SNDLVL_75dB" 186 | "volume" "1" 187 | "pitch" "PITCH_NORM" 188 | "wave" "*passtime/scroll_open.wav" 189 | } 190 | 191 | "Passtime.Scroll.Close" 192 | { 193 | "soundlevel" "SNDLVL_75dB" 194 | "volume" "1" 195 | "pitch" "PITCH_NORM" 196 | "wave" "*passtime/scroll_close.wav" 197 | } 198 | 199 | "Passtime.Merasmus.Laugh" 200 | { 201 | "channel" "CHAN_VOICE2" 202 | "volume" "0.5" 203 | "pitch" "PITCH_NORM" 204 | "soundlevel" "SNDLVL_NONE" 205 | "rndwave" 206 | { 207 | "wave" "vo/halloween_merasmus/sf12_appears09.mp3" 208 | "wave" "vo/halloween_merasmus/sf12_appears10.mp3" 209 | "wave" "vo/halloween_merasmus/sf12_appears11.mp3" 210 | "wave" "vo/halloween_merasmus/sf12_combat_idle01.mp3" 211 | "wave" "vo/halloween_merasmus/sf12_combat_idle02.mp3" 212 | "wave" "vo/halloween_merasmus/sf12_hide_idles37.mp3" 213 | } 214 | } 215 | 216 | "Passtime.AskForBall" 217 | { 218 | "channel" "CHAN_AUTO" 219 | "volume" "VOL_NORM" 220 | "pitch" "PITCH_NORM" 221 | "soundlevel" "SNDLVL_NORM" 222 | "attenuation" "0" 223 | "wave" "passtime/pass_to_me.wav" 224 | } 225 | 226 | "Passtime.Tv1" 227 | { 228 | "channel" "CHAN_VOICE" 229 | "volume" "1" 230 | "soundlevel" "SNDLVL_TALKING" 231 | "wave" "passtime/tv1.wav" 232 | } 233 | 234 | "Passtime.Tv2" 235 | { 236 | "channel" "CHAN_VOICE" 237 | "volume" "1" 238 | "soundlevel" "SNDLVL_TALKING" 239 | "wave" "passtime/tv2.wav" 240 | } 241 | 242 | "Passtime.Tv3" 243 | { 244 | "channel" "CHAN_VOICE" 245 | "volume" "1" 246 | "soundlevel" "SNDLVL_TALKING" 247 | "wave" "passtime/tv3.wav" 248 | } 249 | -------------------------------------------------------------------------------- /game_sounds/game_sounds_vo_phonemes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerlord/tf2-data/211a2c20f83eb9da2de93e079bb7d3fdd75af0c0/game_sounds/game_sounds_vo_phonemes.txt -------------------------------------------------------------------------------- /game_sounds/game_sounds_vo_rd_robots.txt: -------------------------------------------------------------------------------- 1 | "Robot.Collide" 2 | { 3 | "channel" "CHAN_VOICE" 4 | "volume" "1" 5 | "pitch" "PITCH_NORM" 6 | 7 | "soundlevel" "SNDLVL_90dB" 8 | 9 | "rndwave" 10 | { 11 | "wave" "vo/bot_worker/tinybot_crosspaths_03.mp3" 12 | "wave" "vo/bot_worker/tinybot_crosspaths_05.mp3" 13 | "wave" "vo/bot_worker/tinybot_crosspaths_06.mp3" 14 | } 15 | } 16 | 17 | "Robot.Greeting" 18 | { 19 | "channel" "CHAN_VOICE" 20 | "volume" "1" 21 | "pitch" "PITCH_NORM" 22 | 23 | "soundlevel" "SNDLVL_90dB" 24 | 25 | "rndwave" 26 | { 27 | "wave" "vo/bot_worker/tinybot_incidental_01.mp3" 28 | "wave" "vo/bot_worker/tinybot_incidental_02.mp3" 29 | } 30 | } 31 | 32 | "Robot.Pain" 33 | { 34 | "channel" "CHAN_VOICE" 35 | "volume" "1" 36 | "pitch" "PITCH_NORM" 37 | 38 | "soundlevel" "SNDLVL_90dB" 39 | 40 | "rndwave" 41 | { 42 | "wave" "vo/bot_worker/tinybot_takedamage_01.mp3" 43 | "wave" "vo/bot_worker/tinybot_takedamage_09.mp3" 44 | } 45 | } 46 | 47 | "Robot.Death" 48 | { 49 | "channel" "CHAN_VOICE" 50 | "volume" "1" 51 | "pitch" "PITCH_NORM" 52 | 53 | "soundlevel" "SNDLVL_90dB" 54 | 55 | "rndwave" 56 | { 57 | "wave" "vo/bot_worker/tinybot_death_01.mp3" 58 | "wave" "vo/bot_worker/tinybot_death_02.mp3" 59 | } 60 | } 61 | 62 | "Announcer.EnemyTeamCloseToWinning" 63 | { 64 | "channel" "CHAN_VOICE2" 65 | "volume" "VOL_NORM" 66 | "pitch" "PITCH_NORM" 67 | "soundlevel" "SNDLVL_NORM" 68 | 69 | "rndwave" 70 | { 71 | "wave" "vo\announcer_map.enemyclosetowinning_01.mp3" 72 | "wave" "vo\announcer_map.enemyclosetowinning_02.mp3" 73 | "wave" "vo\announcer_map.enemyclosetowinning_03.mp3" 74 | "wave" "vo\announcer_map.enemyclosetowinning_05.mp3" 75 | } 76 | } 77 | 78 | "Announcer.OurTeamCloseToWinning" 79 | { 80 | "channel" "CHAN_VOICE2" 81 | "volume" "VOL_NORM" 82 | "pitch" "PITCH_NORM" 83 | "soundlevel" "SNDLVL_NORM" 84 | 85 | "rndwave" 86 | { 87 | "wave" "vo\announcer_map.teamclosetowinning_01.mp3" 88 | "wave" "vo\announcer_map.teamclosetowinning_02.mp3" 89 | "wave" "vo\announcer_map.teamclosetowinning_03.mp3" 90 | } 91 | } 92 | 93 | "Announcer.HowToPlayRD" 94 | { 95 | "channel" "CHAN_VOICE2" 96 | "volume" "VOL_NORM" 97 | "pitch" "PITCH_NORM" 98 | "soundlevel" "SNDLVL_NORM" 99 | "wave" "vo\announcer_map_intro_02.mp3" 100 | } 101 | 102 | "RD.TeamScoreCore" 103 | { 104 | "channel" "CHAN_STATIC" 105 | "volume" "0.4" 106 | "soundlevel" "SNDLVL_85dB" 107 | "pitch" "PITCH_NORM" 108 | "wave" "ui\chime_rd_2base_pos.wav" 109 | } 110 | 111 | "RD.EnemyScoreCore" 112 | { 113 | "channel" "CHAN_STATIC" 114 | "volume" "0.4" 115 | "soundlevel" "SNDLVL_85dB" 116 | "pitch" "PITCH_NORM" 117 | "wave" "ui\chime_rd_2base_neg.wav" 118 | } 119 | 120 | "RD.EnemyStealingPoints" 121 | { 122 | "channel" "CHAN_STATIC" 123 | "volume" "0.35" 124 | "soundlevel" "SNDLVL_85dB" 125 | "pitch" "PITCH_NORM" 126 | "wave" "ambient/alarms/klaxon1.wav" 127 | } 128 | 129 | "RD.EnemyCaptured" 130 | { 131 | "channel" "CHAN_VOICE2" 132 | "volume" "VOL_NORM" 133 | "pitch" "PITCH_NORM" 134 | "soundlevel" "SNDLVL_NONE" 135 | "wave" "vo/announcer_captureflag_enemycaptured_01.mp3" 136 | 137 | } 138 | 139 | "RD.EnemyDropped" 140 | { 141 | "channel" "CHAN_VOICE2" 142 | "volume" "VOL_NORM" 143 | "pitch" "PITCH_NORM" 144 | "soundlevel" "SNDLVL_NONE" 145 | "rndwave" 146 | { 147 | "wave" "vo/announcer_captureflag_enemydropped_01.mp3" 148 | "wave" "vo/announcer_captureflag_enemydropped_02.mp3" 149 | } 150 | } 151 | 152 | "RD.EnemyReturned" 153 | { 154 | "channel" "CHAN_VOICE2" 155 | "volume" "VOL_NORM" 156 | "pitch" "PITCH_NORM" 157 | "soundlevel" "SNDLVL_NONE" 158 | "rndwave" 159 | { 160 | "wave" "vo/announcer_captureflag_enemyreturned_01.mp3" 161 | "wave" "vo/announcer_captureflag_enemyreturned_02.mp3" 162 | "wave" "vo/announcer_captureflag_enemyreturned_03.mp3" 163 | "wave" "vo/announcer_captureflag_enemyreturned_04.mp3" 164 | } 165 | } 166 | 167 | "RD.EnemyStolen" 168 | { 169 | "channel" "CHAN_VOICE2" 170 | "volume" "VOL_NORM" 171 | "pitch" "PITCH_NORM" 172 | "soundlevel" "SNDLVL_NONE" 173 | "rndwave" 174 | { 175 | "wave" "vo/announcer_captureflag_enemystolen_01.mp3" 176 | "wave" "vo/announcer_captureflag_enemystolen_02.mp3" 177 | } 178 | } 179 | 180 | "RD.TeamCaptured" 181 | { 182 | "channel" "CHAN_VOICE2" 183 | "volume" "VOL_NORM" 184 | "pitch" "PITCH_NORM" 185 | "soundlevel" "SNDLVL_NONE" 186 | "rndwave" 187 | { 188 | "wave" "vo/announcer_captureflag_teamcaptured_01.mp3" 189 | "wave" "vo/announcer_captureflag_teamcaptured_02.mp3" 190 | } 191 | } 192 | 193 | "RD.TeamDropped" 194 | { 195 | "channel" "CHAN_VOICE2" 196 | "volume" "VOL_NORM" 197 | "pitch" "PITCH_NORM" 198 | "soundlevel" "SNDLVL_NONE" 199 | "rndwave" 200 | { 201 | "wave" "vo/announcer_captureflag_teamdropped_01.mp3" 202 | "wave" "vo/announcer_captureflag_teamdropped_04.mp3" 203 | "wave" "vo/announcer_captureflag_teamdropped_07.mp3" 204 | "wave" "vo/announcer_captureflag_teamdropped_08.mp3" 205 | } 206 | } 207 | 208 | "RD.TeamReturned" 209 | { 210 | "channel" "CHAN_VOICE2" 211 | "volume" "VOL_NORM" 212 | "pitch" "PITCH_NORM" 213 | "soundlevel" "SNDLVL_NONE" 214 | "rndwave" 215 | { 216 | "wave" "vo/announcer_captureflag_teamreturned_01.mp3" 217 | "wave" "vo/announcer_captureflag_teamreturned_02.mp3" 218 | } 219 | } 220 | 221 | "RD.TeamStolen" 222 | { 223 | "channel" "CHAN_VOICE2" 224 | "volume" "VOL_NORM" 225 | "pitch" "PITCH_NORM" 226 | "soundlevel" "SNDLVL_NONE" 227 | "rndwave" 228 | { 229 | "wave" "vo/announcer_captureflag_teamstolen_01.mp3" 230 | "wave" "vo/announcer_captureflag_teamstolen_02.mp3" 231 | "wave" "vo/announcer_captureflag_teamstolen_03.mp3" 232 | } 233 | } 234 | 235 | "RD.SpaceGravityTransition" 236 | { 237 | "channel" "CHAN_STATIC" 238 | "volume" "0.4" 239 | "soundlevel" "SNDLVL_85dB" 240 | "pitch" "PITCH_NORM" 241 | "wave" "misc\outer_space_transition_01.wav" 242 | } 243 | 244 | "RD.BotDeathExplosion" 245 | { 246 | "channel" "CHAN_WEAPON" 247 | "volume" "1" 248 | "soundlevel" "SNDLVL_94dB" 249 | "pitch" "PITCH_NORM" 250 | "wave" "misc\rd_robot_explosion01.wav" 251 | } 252 | 253 | "RD.FinaleBeep" 254 | { 255 | "channel" "CHAN_STATIC" 256 | "volume" "1.0" 257 | "soundlevel" "SNDLVL_74dB" 258 | "wave" "misc/rd_finale_beep01.wav" 259 | } 260 | 261 | "RD.FlagReturn" 262 | { 263 | "channel" "CHAN_STATIC" 264 | "volume" "1.0" 265 | "soundlevel" "SNDLVL_74dB" 266 | "wave" "misc/rd_points_return01.wav" 267 | } 268 | 269 | "RD.FinaleMusic" 270 | { 271 | "channel" "CHAN_STATIC" 272 | "volume" "0.4" 273 | "soundlevel" "SNDLVL_85dB" 274 | "pitch" "PITCH_NORM" 275 | "wave" "music\rd_finale.wav" 276 | } -------------------------------------------------------------------------------- /game_sounds/game_sounds_vo_tough_break.txt: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | //Tough Break Miss Pauling Contracts 3 | //----------------------------------------------------------------------------- 4 | // 5 | "toughbreak_get_contract" 6 | { 7 | "channel" "CHAN_VOICE" 8 | "volume" "VOL_NORM" 9 | "pitch" "PITCH_NORM" 10 | "soundlevel" "SNDLVL_95dB" 11 | 12 | "rndwave" 13 | { 14 | "wave" "vo/toughbreak/plng_toughbreak_contractgive01.mp3" 15 | "wave" "vo/toughbreak/plng_toughbreak_contractgive02.mp3" 16 | "wave" "vo/toughbreak/plng_toughbreak_contractgive03.mp3" 17 | "wave" "vo/toughbreak/plng_toughbreak_contractgive04.mp3" 18 | "wave" "vo/toughbreak/plng_toughbreak_contractgive05.mp3" 19 | } 20 | } 21 | "toughbreak_get_contract_rare" 22 | { 23 | "channel" "CHAN_VOICE" 24 | "volume" "VOL_NORM" 25 | "pitch" "PITCH_NORM" 26 | "soundlevel" "SNDLVL_95dB" 27 | 28 | "rndwave" 29 | { 30 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_ambush.mp3" 31 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_beergarden.mp3" 32 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_bookclub.mp3" 33 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_boxing.mp3" 34 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_bus.mp3" 35 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_campfire.mp3" 36 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_cavetour.mp3" 37 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_conference.mp3" 38 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_gargoyles.mp3" 39 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_gunshow.mp3" 40 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_hotdog.mp3" 41 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_keyparty.mp3" 42 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_ladiesnight.mp3" 43 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_ontherocks.mp3" 44 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_piano.mp3" 45 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_poopyjoe.mp3" 46 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_pottery.mp3" 47 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_raccoons.mp3" 48 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_shakespearicles.mp3" 49 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_tiger.mp3" 50 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_tugboat.mp3" 51 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_turducken.mp3" 52 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_visionquest.mp3" 53 | "wave" "vo/toughbreak/plng_toughbreak_contractgiverare_winetasting.mp3" 54 | } 55 | } 56 | "toughbreak_win_contract_pauling" 57 | { 58 | "channel" "CHAN_VOICE" 59 | "volume" "VOL_NORM" 60 | "pitch" "PITCH_NORM" 61 | "soundlevel" "SNDLVL_95dB" 62 | 63 | "rndwave" 64 | { 65 | "wave" "vo/toughbreak/plng_toughbreak_contractwin01.mp3" 66 | "wave" "vo/toughbreak/plng_toughbreak_contractwin02.mp3" 67 | "wave" "vo/toughbreak/plng_toughbreak_contractwin03.mp3" 68 | "wave" "vo/toughbreak/plng_toughbreak_contractwin04.mp3" 69 | "wave" "vo/toughbreak/plng_toughbreak_contractwin05.mp3" 70 | "wave" "vo/toughbreak/plng_toughbreak_contractwin06.mp3" 71 | "wave" "vo/toughbreak/plng_toughbreak_contractwin07.mp3" 72 | } 73 | } 74 | //----------------------------------------------------------------------------- 75 | //Tough Break Merc Contracts 76 | //----------------------------------------------------------------------------- 77 | // 78 | "toughbreak_win_contract_demo" 79 | { 80 | "channel" "CHAN_VOICE" 81 | "volume" "VOL_NORM" 82 | "pitch" "PITCH_NORM" 83 | "soundlevel" "SNDLVL_95dB" 84 | 85 | "rndwave" 86 | { 87 | "wave" "/vo/toughbreak/demo_quest_complete_easy_01.mp3" 88 | "wave" "/vo/toughbreak/demo_quest_complete_easy_02.mp3" 89 | "wave" "/vo/toughbreak/demo_quest_complete_easy_03.mp3" 90 | "wave" "/vo/toughbreak/demo_quest_complete_easy_04.mp3" 91 | "wave" "/vo/toughbreak/demo_quest_complete_easy_05.mp3" 92 | "wave" "/vo/toughbreak/demo_quest_complete_easy_06.mp3" 93 | "wave" "/vo/toughbreak/demo_quest_complete_easy_07.mp3" 94 | } 95 | } 96 | "toughbreak_win_bigcontract_demo" 97 | { 98 | "channel" "CHAN_VOICE" 99 | "volume" "VOL_NORM" 100 | "pitch" "PITCH_NORM" 101 | "soundlevel" "SNDLVL_95dB" 102 | 103 | "rndwave" 104 | { 105 | "wave" "/vo/toughbreak/demo_quest_complete_hard_01.mp3" 106 | "wave" "/vo/toughbreak/demo_quest_complete_hard_03.mp3" 107 | "wave" "/vo/toughbreak/demo_quest_complete_hard_05.mp3" 108 | } 109 | } 110 | "toughbreak_win_contract_engie" 111 | { 112 | "channel" "CHAN_VOICE" 113 | "volume" "VOL_NORM" 114 | "pitch" "PITCH_NORM" 115 | "soundlevel" "SNDLVL_95dB" 116 | 117 | "rndwave" 118 | { 119 | "wave" "/vo/toughbreak/eng_quest_complete_easy_01.mp3" 120 | "wave" "/vo/toughbreak/eng_quest_complete_easy_02.mp3" 121 | "wave" "/vo/toughbreak/eng_quest_complete_easy_04.mp3" 122 | "wave" "/vo/toughbreak/eng_quest_complete_easy_07.mp3" 123 | "wave" "/vo/toughbreak/eng_quest_complete_easy_08.mp3" 124 | "wave" "/vo/toughbreak/eng_quest_complete_easy_09.mp3" 125 | "wave" "/vo/toughbreak/eng_quest_complete_easy_11.mp3" 126 | "wave" "/vo/toughbreak/eng_quest_complete_easy_13.mp3" 127 | "wave" "/vo/toughbreak/eng_quest_complete_easy_14.mp3" 128 | "wave" "/vo/toughbreak/eng_quest_complete_easy_15.mp3" 129 | "wave" "/vo/toughbreak/eng_quest_complete_easy_16.mp3" 130 | } 131 | } 132 | "toughbreak_win_bigcontract_engie" 133 | { 134 | "channel" "CHAN_VOICE" 135 | "volume" "VOL_NORM" 136 | "pitch" "PITCH_NORM" 137 | "soundlevel" "SNDLVL_95dB" 138 | 139 | "rndwave" 140 | { 141 | "wave" "/vo/toughbreak/eng_quest_complete_hard_02.mp3" 142 | "wave" "/vo/toughbreak/eng_quest_complete_hard_03.mp3" 143 | "wave" "/vo/toughbreak/eng_quest_complete_hard_04.mp3" 144 | "wave" "/vo/toughbreak/eng_quest_complete_hard_05.mp3" 145 | "wave" "/vo/toughbreak/eng_quest_complete_hard_06.mp3" 146 | "wave" "/vo/toughbreak/eng_quest_complete_hard_07.mp3" 147 | "wave" "/vo/toughbreak/eng_quest_complete_hard_10.mp3" 148 | } 149 | } 150 | "toughbreak_win_contract_heavy" 151 | { 152 | "channel" "CHAN_VOICE" 153 | "volume" "VOL_NORM" 154 | "pitch" "PITCH_NORM" 155 | "soundlevel" "SNDLVL_95dB" 156 | 157 | "rndwave" 158 | { 159 | "wave" "/vo/toughbreak/heavy_quest_complete_easy_01.mp3" 160 | "wave" "/vo/toughbreak/heavy_quest_complete_easy_02.mp3" 161 | "wave" "/vo/toughbreak/heavy_quest_complete_easy_06.mp3" 162 | } 163 | } 164 | "toughbreak_win_bigcontract_heavy" 165 | { 166 | "channel" "CHAN_VOICE" 167 | "volume" "VOL_NORM" 168 | "pitch" "PITCH_NORM" 169 | "soundlevel" "SNDLVL_95dB" 170 | 171 | "rndwave" 172 | { 173 | "wave" "/vo/toughbreak/heavy_quest_complete_hard_01.mp3" 174 | "wave" "/vo/toughbreak/heavy_quest_complete_hard_02.mp3" 175 | "wave" "/vo/toughbreak/heavy_quest_complete_hard_07.mp3" 176 | } 177 | } 178 | "toughbreak_win_contract_scout" 179 | { 180 | "channel" "CHAN_VOICE" 181 | "volume" "VOL_NORM" 182 | "pitch" "PITCH_NORM" 183 | "soundlevel" "SNDLVL_95dB" 184 | 185 | "rndwave" 186 | { 187 | "wave" "/vo/toughbreak/scout_quest_complete_easy_01.mp3" 188 | "wave" "/vo/toughbreak/scout_quest_complete_easy_02.mp3" 189 | "wave" "/vo/toughbreak/scout_quest_complete_easy_03.mp3" 190 | "wave" "/vo/toughbreak/scout_quest_complete_easy_04.mp3" 191 | "wave" "/vo/toughbreak/scout_quest_complete_easy_05.mp3" 192 | } 193 | } 194 | "toughbreak_win_bigcontract_scout" 195 | { 196 | "channel" "CHAN_VOICE" 197 | "volume" "VOL_NORM" 198 | "pitch" "PITCH_NORM" 199 | "soundlevel" "SNDLVL_95dB" 200 | 201 | "rndwave" 202 | { 203 | "wave" "/vo/toughbreak/scout_quest_complete_hard_02.mp3" 204 | "wave" "/vo/toughbreak/scout_quest_complete_hard_03.mp3" 205 | "wave" "/vo/toughbreak/scout_quest_complete_hard_05.mp3" 206 | "wave" "/vo/toughbreak/scout_quest_complete_hard_06.mp3" 207 | "wave" "/vo/toughbreak/scout_quest_complete_hard_09.mp3" 208 | } 209 | } 210 | "toughbreak_win_contract_sniper" 211 | { 212 | "channel" "CHAN_VOICE" 213 | "volume" "VOL_NORM" 214 | "pitch" "PITCH_NORM" 215 | "soundlevel" "SNDLVL_95dB" 216 | 217 | "rndwave" 218 | { 219 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_01.mp3" 220 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_02.mp3" 221 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_03.mp3" 222 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_06.mp3" 223 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_08.mp3" 224 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_10.mp3" 225 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_11.mp3" 226 | "wave" "/vo/toughbreak/sniper_quest_complete_easy_12.mp3" 227 | } 228 | } 229 | "toughbreak_win_bigcontract_sniper" 230 | { 231 | "channel" "CHAN_VOICE" 232 | "volume" "VOL_NORM" 233 | "pitch" "PITCH_NORM" 234 | "soundlevel" "SNDLVL_95dB" 235 | 236 | "rndwave" 237 | { 238 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_01.mp3" 239 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_02.mp3" 240 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_03.mp3" 241 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_04.mp3" 242 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_06.mp3" 243 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_07.mp3" 244 | "wave" "/vo/toughbreak/sniper_quest_complete_hard_08.mp3" 245 | } 246 | } 247 | "toughbreak_win_contract_soldier" 248 | { 249 | "channel" "CHAN_VOICE" 250 | "volume" "VOL_NORM" 251 | "pitch" "PITCH_NORM" 252 | "soundlevel" "SNDLVL_95dB" 253 | 254 | "rndwave" 255 | { 256 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_01.mp3" 257 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_02.mp3" 258 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_03.mp3" 259 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_04.mp3" 260 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_05.mp3" 261 | "wave" "/vo/toughbreak/soldier_quest_complete_easy_07.mp3" 262 | } 263 | } 264 | "toughbreak_win_bigcontract_soldier" 265 | { 266 | "channel" "CHAN_VOICE" 267 | "volume" "VOL_NORM" 268 | "pitch" "PITCH_NORM" 269 | "soundlevel" "SNDLVL_95dB" 270 | 271 | "rndwave" 272 | { 273 | "wave" "/vo/toughbreak/soldier_quest_complete_hard_02.mp3" 274 | "wave" "/vo/toughbreak/soldier_quest_complete_hard_04.mp3" 275 | "wave" "/vo/toughbreak/soldier_quest_complete_hard_05.mp3" 276 | "wave" "/vo/toughbreak/soldier_quest_complete_hard_06.mp3" 277 | "wave" "/vo/toughbreak/soldier_quest_complete_hard_07.mp3" 278 | } 279 | } 280 | "toughbreak_win_contract_spy" 281 | { 282 | "channel" "CHAN_VOICE" 283 | "volume" "VOL_NORM" 284 | "pitch" "PITCH_NORM" 285 | "soundlevel" "SNDLVL_95dB" 286 | 287 | "rndwave" 288 | { 289 | "wave" "/vo/toughbreak/spy_quest_complete_easy_01.mp3" 290 | "wave" "/vo/toughbreak/spy_quest_complete_easy_02.mp3" 291 | "wave" "/vo/toughbreak/spy_quest_complete_easy_03.mp3" 292 | "wave" "/vo/toughbreak/spy_quest_complete_easy_04.mp3" 293 | "wave" "/vo/toughbreak/spy_quest_complete_easy_05.mp3" 294 | "wave" "/vo/toughbreak/spy_quest_complete_easy_07.mp3" 295 | } 296 | } 297 | "toughbreak_win_bigcontract_spy" 298 | { 299 | "channel" "CHAN_VOICE" 300 | "volume" "VOL_NORM" 301 | "pitch" "PITCH_NORM" 302 | "soundlevel" "SNDLVL_95dB" 303 | 304 | "rndwave" 305 | { 306 | "wave" "/vo/toughbreak/spy_quest_complete_hard_01.mp3" 307 | "wave" "/vo/toughbreak/spy_quest_complete_hard_02.mp3" 308 | } 309 | } 310 | "toughbreak_win_contract_medic" 311 | { 312 | "channel" "CHAN_VOICE" 313 | "volume" "VOL_NORM" 314 | "pitch" "PITCH_NORM" 315 | "soundlevel" "SNDLVL_95dB" 316 | 317 | "rndwave" 318 | { 319 | "wave" "vo/toughbreak/medic_quest_complete_easy_01.mp3" 320 | "wave" "vo/toughbreak/medic_quest_complete_easy_02.mp3" 321 | "wave" "vo/toughbreak/medic_quest_complete_easy_03.mp3" 322 | "wave" "vo/toughbreak/medic_quest_complete_easy_04.mp3" 323 | "wave" "vo/toughbreak/medic_quest_complete_easy_05.mp3" 324 | } 325 | } 326 | "toughbreak_win_bigcontract_medic" 327 | { 328 | "channel" "CHAN_VOICE" 329 | "volume" "VOL_NORM" 330 | "pitch" "PITCH_NORM" 331 | "soundlevel" "SNDLVL_95dB" 332 | 333 | "rndwave" 334 | { 335 | "wave" "vo/toughbreak/medic_quest_complete_hard_01.mp3" 336 | "wave" "vo/toughbreak/medic_quest_complete_hard_02.mp3" 337 | "wave" "vo/toughbreak/medic_quest_complete_hard_05.mp3" 338 | "wave" "vo/toughbreak/medic_quest_complete_hard_06.mp3" 339 | } 340 | } -------------------------------------------------------------------------------- /population/mvm_bigrock.pop: -------------------------------------------------------------------------------- 1 | #base robot_giant.pop 2 | #base robot_standard.pop 3 | 4 | WaveSchedule 5 | { 6 | 7 | StartingCurrency 1200 8 | RespawnWaveTime 2 9 | CanBotsAttackWhileInSpawnRoom no 10 | 11 | Mission // sentry buster 12 | { 13 | Objective DestroySentries 14 | 15 | InitialCooldown 20 16 | Where spawnbot 17 | BeginAtWave 1 18 | RunForThisManyWaves 9 19 | 20 | CooldownTime 40 21 | 22 | TFBot 23 | { 24 | Template T_TFBot_SentryBuster 25 | } 26 | } 27 | Mission // Spy - wave 3 28 | { 29 | Objective Spy 30 | 31 | InitialCooldown 30 32 | Where spawnbot_mission_spy 33 | BeginAtWave 3 34 | RunForThisManyWaves 1 35 | CooldownTime 30 36 | DesiredCount 4 37 | 38 | TFBot 39 | { 40 | Class Spy 41 | Skill Expert 42 | Name Spy 43 | } 44 | } 45 | Mission // Spy - wave 5 46 | { 47 | Objective Spy 48 | 49 | InitialCooldown 30 50 | Where spawnbot_mission_spy 51 | BeginAtWave 5 52 | RunForThisManyWaves 1 53 | CooldownTime 30 54 | DesiredCount 4 55 | 56 | TFBot 57 | { 58 | Class Spy 59 | Skill Expert 60 | Name Spy 61 | } 62 | } 63 | Mission // Sniper - wave 3 64 | { 65 | Objective Sniper 66 | 67 | InitialCooldown 40 68 | Where spawnbot_mission_sniper 69 | BeginAtWave 3 70 | RunForThisManyWaves 1 71 | CooldownTime 20 72 | DesiredCount 4 73 | 74 | TFBot 75 | { 76 | Class Sniper 77 | Skill Hard 78 | Name Sniper 79 | MaxVisionRange 3000 80 | } 81 | } 82 | Mission // Sniper - wave 4 83 | { 84 | Objective Sniper 85 | 86 | InitialCooldown 30 87 | Where spawnbot_mission_sniper 88 | BeginAtWave 4 89 | RunForThisManyWaves 1 90 | CooldownTime 20 91 | DesiredCount 2 92 | 93 | TFBot 94 | { 95 | Class Sniper 96 | Skill Hard 97 | Name Sniper 98 | MaxVisionRange 3000 99 | } 100 | } 101 | Mission // Engineer - wave 2 102 | { 103 | Objective Engineer 104 | 105 | InitialCooldown 60 106 | Where spawnbot 107 | BeginAtWave 2 108 | RunForThisManyWaves 1 109 | CooldownTime 30 110 | DesiredCount 1 111 | 112 | TFBot 113 | { 114 | Template T_TFBot_Engineer_Sentry_Teleporter 115 | } 116 | } 117 | Mission // Engineer - wave 4 118 | { 119 | Objective Engineer 120 | 121 | InitialCooldown 60 122 | Where spawnbot 123 | BeginAtWave 4 124 | RunForThisManyWaves 1 125 | CooldownTime 20 126 | DesiredCount 1 127 | 128 | TFBot 129 | { 130 | Template T_TFBot_Engineer_Sentry_Teleporter 131 | } 132 | } 133 | Mission // Engineer - wave 5 134 | { 135 | Objective Engineer 136 | 137 | InitialCooldown 50 138 | Where spawnbot 139 | BeginAtWave 5 140 | RunForThisManyWaves 1 141 | CooldownTime 30 142 | DesiredCount 1 143 | 144 | TFBot 145 | { 146 | Template T_TFBot_Engineer_Sentry_Teleporter 147 | } 148 | } 149 | 150 | //WAVE 1 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 151 | Wave 152 | { 153 | StartWaveOutput 154 | { 155 | Target wave_start_relay 156 | Action Trigger 157 | } 158 | DoneOutput 159 | { 160 | Target wave_finished_relay 161 | Action trigger 162 | } 163 | WaitWhenDone 65 164 | Checkpoint Yes 165 | 166 | WaveSpawn //WAVE 01a: 27 total, 9 active, Scout (melee only) 167 | { 168 | Name "wave01a" 169 | Where spawnbot 170 | TotalCount 27 171 | MaxActive 9 172 | SpawnCount 9 173 | WaitBeforeStarting 4 174 | WaitBetweenSpawns 7 175 | TotalCurrency 200 176 | 177 | TFBot 178 | { 179 | Class Scout 180 | Skill Easy 181 | WeaponRestrictions MeleeOnly 182 | } 183 | } 184 | WaveSpawn //WAVE 01b: 20 total, 5 active, Pyro 185 | { 186 | Name "wave01b" 187 | Where spawnbot 188 | TotalCount 20 189 | MaxActive 6 190 | SpawnCount 2 191 | WaitBeforeStarting 15 192 | WaitBetweenSpawns 10 193 | TotalCurrency 200 194 | 195 | TFBot 196 | { 197 | Class Pyro 198 | Skill Easy 199 | } 200 | } 201 | WaveSpawn //WAVE 01c: 50 total, 10 active, Scout (WAITFORALLSPAWNED "WAVE01A") 202 | { 203 | Name "wave01c" 204 | Where spawnbot 205 | TotalCount 50 206 | MaxActive 10 207 | SpawnCount 5 208 | WaitForAllSpawned "wave01a" 209 | WaitBeforeStarting 0 210 | WaitBetweenSpawns 5 211 | TotalCurrency 200 212 | 213 | TFBot 214 | { 215 | Class Scout 216 | Skill Easy 217 | } 218 | } 219 | WaveSpawn //WAVE 01d: 30 total, 15 active, Heavyweapons (WAITFORALLSPAWNED "WAVE01B") 220 | { 221 | Name "wave01d" 222 | Where spawnbot 223 | TotalCount 30 224 | MaxActive 15 225 | SpawnCount 5 226 | WaitForAllSpawned "wave01b" 227 | WaitBeforeStarting 0 228 | WaitBetweenSpawns 2 229 | TotalCurrency 100 230 | 231 | TFBot 232 | { 233 | Class Heavyweapons 234 | Skill Easy 235 | } 236 | } 237 | } 238 | //WAVE 2 //Currency 800 /////////////////////////////////////////////////////////////////////////////////////////////////////// 239 | Wave 240 | { 241 | StartWaveOutput 242 | { 243 | Target wave_start_relay 244 | Action Trigger 245 | } 246 | DoneOutput 247 | { 248 | Target wave_finished_relay 249 | Action trigger 250 | } 251 | WaitWhenDone 65 252 | Checkpoint Yes 253 | 254 | // Engineer mission - 1 active 255 | 256 | WaveSpawn //WAVE 02a: 27 total, 3 active, Demoman (Eyelander, Charge'n Targe) 257 | { 258 | Name "wave02a" 259 | Where spawnbot 260 | TotalCount 27 261 | MaxActive 3 262 | SpawnCount 3 263 | WaitBeforeStarting 0 264 | WaitBetweenSpawns 10 265 | TotalCurrency 200 266 | 267 | Support 1 268 | 269 | TFBot 270 | { 271 | Template T_TFBot_Demoman_Knight 272 | } 273 | } 274 | WaveSpawn //WAVE 02b: 28 total, 4 active, Soldier 275 | { 276 | Name "wave02b" 277 | Where spawnbot 278 | TotalCount 28 279 | MaxActive 4 280 | SpawnCount 4 281 | WaitBeforeStarting 0 282 | WaitBetweenSpawns 10 283 | TotalCurrency 200 284 | 285 | TFBot 286 | { 287 | Class Soldier 288 | Skill Easy 289 | } 290 | } 291 | WaveSpawn //WAVE 02c: [GIANT] 4 total, 4 active, Soldier (Slow crit) 292 | { 293 | Name "wave02c" 294 | Where spawnbot 295 | TotalCount 4 296 | MaxActive 4 297 | SpawnCount 1 298 | WaitBeforeStarting 45 299 | WaitBetweenSpawns 25 300 | TotalCurrency 150 301 | 302 | TFBot 303 | { 304 | Template T_TFBot_Giant_Soldier_Crit 305 | } 306 | } 307 | WaveSpawn //WAVE 02d: 50 total, 10 active, Scout (1/3 melee only, WAITFORALLSPAWNED "WAVE02C") 308 | { 309 | Name "wave02d" 310 | Where spawnbot 311 | TotalCount 50 312 | MaxActive 10 313 | SpawnCount 10 314 | WaitForAllSpawned "wave02c" 315 | WaitBeforeStarting 20 316 | WaitBetweenSpawns 8 317 | TotalCurrency 250 318 | 319 | RandomChoice 320 | { 321 | TFBot 322 | { 323 | Class Scout 324 | Skill Easy 325 | } 326 | TFBot 327 | { 328 | Class Scout 329 | Skill Easy 330 | } 331 | TFBot 332 | { 333 | Class Scout 334 | Skill Easy 335 | WeaponRestrictions MeleeOnly 336 | } 337 | } 338 | } 339 | } 340 | //WAVE 3 //Currency 800 /////////////////////////////////////////////////////////////////////////////////////////////////////// 341 | Wave 342 | { 343 | StartWaveOutput 344 | { 345 | Target wave_start_relay 346 | Action Trigger 347 | } 348 | DoneOutput 349 | { 350 | Target wave_finished_relay 351 | Action trigger 352 | } 353 | WaitWhenDone 65 354 | Checkpoint Yes 355 | 356 | // Spy mission - 4 active 357 | // Sniper mission - 4 active 358 | 359 | WaveSpawn //WAVE 03a: [GIANT] 20 total, 5 active, Giant Pyro squad (uber medic and heavyweapons) 360 | { 361 | Name "wave03a" 362 | Where spawnbot 363 | TotalCount 20 364 | MaxActive 20 365 | SpawnCount 5 366 | WaitBeforeStarting 0 367 | WaitBetweenSpawns 20 368 | TotalCurrency 200 369 | 370 | Squad 371 | { 372 | TFBot 373 | { 374 | Template T_TFBot_Giant_Pyro 375 | } 376 | TFBot 377 | { 378 | Template T_TFBot_Medic_QuickUber 379 | } 380 | TFBot 381 | { 382 | Class Heavyweapons 383 | Skill Easy 384 | } 385 | TFBot 386 | { 387 | Class Heavyweapons 388 | Skill Easy 389 | } 390 | TFBot 391 | { 392 | Class Heavyweapons 393 | Skill Easy 394 | } 395 | } 396 | } 397 | WaveSpawn //WAVE 03b: 24 total, 12 active, Soldier (WAITFORALLSPAWNED "WAVE03A") 398 | { 399 | Name "wave03b" 400 | Where spawnbot 401 | TotalCount 24 402 | MaxActive 12 403 | SpawnCount 6 404 | WaitForAllSpawned "wave03a" 405 | WaitBeforeStarting 15 406 | WaitBetweenSpawns 3 407 | TotalCurrency 200 408 | 409 | TFBot 410 | { 411 | Class Soldier 412 | Skill Easy 413 | } 414 | } 415 | WaveSpawn //WAVE 03c: 30 total, 10 active, Heavyweapons (WAITFORALLDEAD "WAVE03A") 416 | { 417 | Name "wave03c" 418 | Where spawnbot 419 | TotalCount 30 420 | MaxActive 10 421 | SpawnCount 5 422 | WaitForAllDead "wave03a" 423 | WaitBeforeStarting 0 424 | WaitBetweenSpawns 7 425 | TotalCurrency 200 426 | 427 | TFBot 428 | { 429 | Class Heavyweapons 430 | Skill Easy 431 | } 432 | } 433 | WaveSpawn //WAVE 03d: 10(20) total, 4(8) active, Scout + quickfix medic (WAITFORALLDEAD "WAVE03B") 434 | { 435 | Name "wave03d" 436 | Where spawnbot 437 | TotalCount 20 438 | MaxActive 8 439 | SpawnCount 2 440 | WaitForAllDead "wave03b" 441 | WaitBeforeStarting 0 442 | WaitBetweenSpawns 3 443 | TotalCurrency 200 444 | 445 | Squad 446 | { 447 | TFBot 448 | { 449 | Class Scout 450 | Skill Easy 451 | } 452 | TFBot 453 | { 454 | Template T_TFBot_Medic_QuickFix 455 | } 456 | } 457 | } 458 | } 459 | //WAVE 4 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 460 | Wave 461 | { 462 | StartWaveOutput 463 | { 464 | Target wave_start_relay 465 | Action Trigger 466 | } 467 | DoneOutput 468 | { 469 | Target wave_finished_relay 470 | Action trigger 471 | } 472 | WaitWhenDone 65 473 | Checkpoint Yes 474 | 475 | // Sniper mission - 2 active 476 | // Engineer mission - 1 active 477 | 478 | WaveSpawn //WAVE 04a: [TANK] 479 | { 480 | Name "wave04a" 481 | TotalCount 2 482 | WaitBeforeStarting 0 483 | WaitBetweenSpawns 50 484 | TotalCurrency 300 485 | 486 | FirstSpawnOutput 487 | { 488 | Target boss_spawn_relay 489 | Action Trigger 490 | } 491 | 492 | Tank 493 | { 494 | Health 20000 495 | Speed 75 496 | Name "tankboss" 497 | StartingPathTrackNode "boss_path_a1" 498 | 499 | OnKilledOutput 500 | { 501 | Target boss_dead_relay 502 | Action Trigger 503 | } 504 | 505 | OnBombDroppedOutput 506 | { 507 | Target boss_deploy_relay 508 | Action Trigger 509 | } 510 | } 511 | } 512 | WaveSpawn //WAVE 04b: [GIANT] 5(25) total, 3(15) active, Demoman + soldiers 513 | { 514 | Name "wave04b" 515 | Where spawnbot 516 | TotalCount 25 517 | MaxActive 15 518 | SpawnCount 5 519 | WaitBeforeStarting 15 520 | WaitBetweenSpawns 35 521 | TotalCurrency 200 522 | 523 | Squad 524 | { 525 | TFBot 526 | { 527 | Template T_TFBot_Giant_Demoman 528 | } 529 | TFBot 530 | { 531 | Class Soldier 532 | Skill Easy 533 | } 534 | TFBot 535 | { 536 | Class Soldier 537 | Skill Easy 538 | } 539 | TFBot 540 | { 541 | Class Soldier 542 | Skill Easy 543 | } 544 | TFBot 545 | { 546 | Class Soldier 547 | Skill Easy 548 | } 549 | } 550 | } 551 | WaveSpawn //WAVE 04c: 35 total, 5 active, Scout (bonk) 552 | { 553 | Name "wave04c" 554 | Where spawnbot 555 | TotalCount 35 556 | MaxActive 5 557 | SpawnCount 5 558 | WaitBeforeStarting 60 559 | WaitBetweenSpawns 10 560 | TotalCurrency 200 561 | 562 | TFBot 563 | { 564 | Class Scout 565 | Skill Easy 566 | } 567 | } 568 | } 569 | //WAVE 5 //Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 570 | Wave 571 | { 572 | StartWaveOutput 573 | { 574 | Target wave_start_relay 575 | Action Trigger 576 | } 577 | DoneOutput 578 | { 579 | Target wave_finished_relay 580 | Action trigger 581 | } 582 | WaitWhenDone 65 583 | Checkpoint Yes 584 | 585 | // Spy mission - 4 active 586 | // Engineer mission - 1 active 587 | 588 | WaveSpawn //WAVE 05a: 45 total, 18 active, Heavyweapons (melee only, fast movement) 589 | { 590 | Name "wave05a" 591 | Where spawnbot 592 | TotalCount 45 593 | MaxActive 18 594 | SpawnCount 2 595 | WaitBeforeStarting 0 596 | WaitBetweenSpawns 3 597 | TotalCurrency 200 598 | 599 | Support 1 600 | 601 | RandomChoice 602 | { 603 | TFBot 604 | { 605 | Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 606 | } 607 | TFBot 608 | { 609 | Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 610 | } 611 | TFBot 612 | { 613 | Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 614 | } 615 | TFBot 616 | { 617 | Class Heavyweapons 618 | Skill Easy 619 | } 620 | } 621 | } 622 | WaveSpawn //WAVE 05b: 15 total, 5 active, Heavyweapons (Steel gauntlet) 623 | { 624 | Name "wave05b" 625 | Where spawnbot 626 | TotalCount 15 627 | MaxActive 5 628 | SpawnCount 1 629 | WaitBeforeStarting 0 630 | WaitBetweenSpawns 8 631 | TotalCurrency 200 632 | 633 | TFBot 634 | { 635 | Template T_TFBot_Heavyweapons_Fist 636 | } 637 | } 638 | WaveSpawn //WAVE 05c: [GIANT] 2 total, 2 active, Heavyweapons 639 | { 640 | Name "wave05c" 641 | Where spawnbot 642 | TotalCount 2 643 | MaxActive 2 644 | SpawnCount 1 645 | WaitForAllSpawned "wave05b" 646 | WaitBeforeStarting 0 647 | WaitBetweenSpawns 40 648 | TotalCurrency 100 649 | 650 | TFBot 651 | { 652 | Template T_TFBot_Giant_Heavyweapons 653 | } 654 | } 655 | } 656 | //WAVE 6 //Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 657 | Wave 658 | { 659 | StartWaveOutput 660 | { 661 | Target wave_start_relay 662 | Action Trigger 663 | } 664 | DoneOutput 665 | { 666 | Target wave_finished_relay 667 | Action trigger 668 | } 669 | WaitWhenDone 65 670 | Checkpoint Yes 671 | 672 | WaveSpawn //WAVE 06a: 55 total, 5 active, Soldier 673 | { 674 | Name "wave06ab" 675 | Where spawnbot 676 | TotalCount 55 677 | MaxActive 10 678 | SpawnCount 5 679 | WaitBeforeStarting 0 680 | WaitBetweenSpawns 10 681 | TotalCurrency 400 682 | 683 | TFBot 684 | { 685 | Class Soldier 686 | Skill Easy 687 | } 688 | } 689 | WaveSpawn //WAVE 06b: [GIANT] 8 total, 4 active, Soldier (slow crit) 690 | { 691 | Name "wave06ab" 692 | Where spawnbot 693 | TotalCount 8 694 | MaxActive 4 695 | SpawnCount 1 696 | WaitBeforeStarting 0 697 | WaitBetweenSpawns 20 698 | TotalCurrency 400 699 | 700 | TFBot 701 | { 702 | Template T_TFBot_Giant_Soldier_Crit 703 | } 704 | } 705 | WaveSpawn //WAVE 06c: 50 total, 10 active, Sniper (Huntsman WAITFORALLDEAD "WAVE06AB") 706 | { 707 | Name "wave06c" 708 | Where spawnbot 709 | TotalCount 50 710 | MaxActive 10 711 | SpawnCount 5 712 | WaitForAllDead "wave06ab" 713 | WaitBeforeStarting 0 714 | WaitBetweenSpawns 5 715 | TotalCurrency 400 716 | 717 | Support 1 718 | 719 | TFBot 720 | { 721 | Template T_TFBot_Sniper_Huntsman 722 | } 723 | } 724 | WaveSpawn //WAVE 06d: [GIANT] 2(8) total, 2(8) active, Heavyweapons (WAITFORALLDEAD "WAVE06AB") 725 | { 726 | Name "wave06d" 727 | Where spawnbot 728 | TotalCount 8 729 | MaxActive 8 730 | SpawnCount 4 731 | WaitForAllDead "wave06ab" 732 | WaitBeforeStarting 10 733 | WaitBetweenSpawns 30 734 | TotalCurrency 400 735 | 736 | Squad 737 | { 738 | TFBot 739 | { 740 | Template T_TFBot_Giant_Heavyweapons 741 | } 742 | TFBot 743 | { 744 | Template T_TFBot_Medic_QuickFix 745 | } 746 | TFBot 747 | { 748 | Template T_TFBot_Medic_QuickFix 749 | } 750 | TFBot 751 | { 752 | Template T_TFBot_Medic_QuickFix 753 | } 754 | } 755 | } 756 | WaveSpawn //WAVE 06e: [FINAL TANK] (WAITFORALLDEAD "WAVE06AB") 757 | { 758 | Name "wave06e" 759 | TotalCount 1 760 | WaitForAllDead "wave06ab" 761 | WaitBeforeStarting 30 762 | WaitBetweenSpawns 0 763 | TotalCurrency 0 764 | 765 | FirstSpawnOutput 766 | { 767 | Target boss_spawn_relay 768 | Action Trigger 769 | } 770 | 771 | Tank 772 | { 773 | Health 30000 774 | Speed 75 775 | Name "tankboss" 776 | Skin 1 777 | StartingPathTrackNode "boss_path_1" 778 | 779 | OnKilledOutput 780 | { 781 | Target boss_dead_relay 782 | Action Trigger 783 | } 784 | 785 | OnBombDroppedOutput 786 | { 787 | Target boss_deploy_relay 788 | Action Trigger 789 | } 790 | } 791 | } 792 | } 793 | } -------------------------------------------------------------------------------- /population/mvm_coaltown.pop: -------------------------------------------------------------------------------- 1 | #base robot_giant.pop 2 | #base robot_standard.pop 3 | 4 | WaveSchedule 5 | { 6 | 7 | StartingCurrency 400 8 | RespawnWaveTime 5 9 | CanBotsAttackWhileInSpawnRoom no 10 | 11 | Mission // sentry buster 12 | { 13 | Objective DestroySentries 14 | 15 | InitialCooldown 5 16 | Where spawnbot 17 | BeginAtWave 1 18 | RunForThisManyWaves 6 19 | 20 | CooldownTime 35 21 | 22 | TFBot 23 | { 24 | Template T_TFBot_SentryBuster 25 | } 26 | } 27 | Mission // Sniper - wave 4 28 | { 29 | Objective Sniper 30 | 31 | InitialCooldown 15 32 | Where spawnbot_mission_sniper 33 | BeginAtWave 4 34 | RunForThisManyWaves 1 35 | CooldownTime 35 36 | DesiredCount 2 37 | 38 | TFBot 39 | { 40 | Class Sniper 41 | Skill Expert 42 | Name Sniper 43 | } 44 | } 45 | Mission // Spy - wave 3 46 | { 47 | Objective Spy 48 | 49 | InitialCooldown 20 50 | Where spawnbot_mission_spy 51 | BeginAtWave 3 52 | RunForThisManyWaves 1 53 | CooldownTime 15 54 | DesiredCount 1 55 | 56 | TFBot 57 | { 58 | Class Spy 59 | Skill Expert 60 | Name Spy 61 | } 62 | } 63 | //WAVE 1 //Melee Heavies and Scout Melees //Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 64 | Wave 65 | { 66 | StartWaveOutput 67 | { 68 | Target wave_start_relay 69 | Action Trigger 70 | } 71 | DoneOutput 72 | { 73 | Target wave_finished_relay 74 | Action trigger 75 | } 76 | WaitWhenDone 65 77 | Description "Melee Heavies and Scouts" 78 | Checkpoint Yes 79 | 80 | WaveSpawn 81 | { 82 | Name "primarywave" 83 | 84 | Where spawnbot 85 | TotalCount 24 86 | MaxActive 10 87 | SpawnCount 2 88 | WaitBeforeStarting 0 89 | WaitBetweenSpawns 4 90 | TotalCurrency 100 91 | 92 | RandomChoice 93 | { 94 | TFBot 95 | { 96 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 97 | 98 | } 99 | TFBot 100 | { 101 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 102 | } 103 | TFBot 104 | { 105 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 106 | } 107 | TFBot 108 | { 109 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 110 | } 111 | TFBot 112 | { 113 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 114 | } 115 | TFBot 116 | { 117 | Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 118 | } 119 | } 120 | } 121 | 122 | WaveSpawn 123 | { 124 | WaitForAllSpawned "primarywave" 125 | 126 | Where spawnbot 127 | TotalCount 20 128 | MaxActive 12 129 | SpawnCount 4 130 | WaitBeforeStarting 0 131 | WaitBetweenSpawns 4 132 | TotalCurrency 100 133 | 134 | Squad 135 | { 136 | TFBot 137 | { 138 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 139 | } 140 | 141 | TFBot 142 | { 143 | Class Scout 144 | Skill Easy 145 | WeaponRestrictions MeleeOnly 146 | } 147 | 148 | TFBot 149 | { 150 | Class Scout 151 | Skill Easy 152 | WeaponRestrictions MeleeOnly 153 | } 154 | 155 | TFBot 156 | { 157 | Class Scout 158 | Skill Easy 159 | WeaponRestrictions MeleeOnly 160 | } 161 | } 162 | } 163 | WaveSpawn 164 | { 165 | WaitForAllSpawned "primarywave" 166 | 167 | Where spawnbot 168 | TotalCount 6 169 | MaxActive 3 170 | SpawnCount 1 171 | WaitBeforeStarting 0 172 | WaitBetweenSpawns 1 173 | TotalCurrency 100 174 | 175 | TFBot 176 | { 177 | Class Scout 178 | Skill Easy 179 | WeaponRestrictions MeleeOnly 180 | } 181 | } 182 | WaveSpawn 183 | { 184 | WaitForAllSpawned "primarywave" 185 | 186 | Where spawnbot 187 | TotalCount 3 188 | MaxActive 3 189 | SpawnCount 1 190 | WaitBeforeStarting 0 191 | WaitBetweenSpawns 7 192 | TotalCurrency 200 193 | 194 | RandomChoice 195 | { 196 | TFBot 197 | { 198 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 199 | } 200 | TFBot 201 | { 202 | Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 203 | } 204 | TFBot 205 | { 206 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 207 | } 208 | TFBot 209 | { 210 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 211 | } 212 | TFBot 213 | { 214 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 215 | } 216 | TFBot 217 | { 218 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 219 | } 220 | } 221 | } 222 | } 223 | //WAVE 2 //Heavies and Pyros squads, Giant Pyro and pyro and heavy squad//Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 224 | Wave 225 | { 226 | StartWaveOutput 227 | { 228 | Target wave_start_relay 229 | Action Trigger 230 | } 231 | DoneOutput 232 | { 233 | Target wave_finished_relay 234 | Action trigger 235 | } 236 | WaitWhenDone 65 237 | Checkpoint Yes 238 | 239 | 240 | WaveSpawn 241 | { 242 | 243 | Name wave2primarywave 244 | 245 | Where spawnbot 246 | TotalCount 24 247 | MaxActive 15 248 | SpawnCount 3 249 | WaitBetweenSpawns 3 250 | WaitBeforeStarting 0 251 | TotalCurrency 200 252 | 253 | Squad 254 | { 255 | TFBot 256 | { 257 | Class HeavyWeapons 258 | Skill Easy 259 | } 260 | TFBot 261 | { 262 | Class Pyro 263 | Skill Easy 264 | } 265 | TFBot 266 | { 267 | Class Pyro 268 | Skill Easy 269 | } 270 | } 271 | 272 | } 273 | WaveSpawn 274 | { 275 | WaitForAllSpawned "wave2primarywave" 276 | 277 | Where spawnbot 278 | TotalCount 10 279 | MaxActive 10 280 | SpawnCount 5 281 | WaitBeforeStarting 0 282 | WaitBetweenSpawns 10 283 | TotalCurrency 300 284 | 285 | Squad 286 | { 287 | TFBot 288 | { 289 | Template T_TFBot_Giant_Pyro 290 | } 291 | TFBot 292 | { 293 | Class Pyro 294 | Skill Easy 295 | } 296 | TFBot 297 | { 298 | Class Pyro 299 | Skill Easy 300 | } 301 | TFBot 302 | { 303 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 304 | } 305 | TFBot 306 | { 307 | Class HeavyWeapons 308 | Skill Easy 309 | } 310 | } 311 | } 312 | } 313 | //WAVE 3 //Tank Boss 28k, Scout melee support, Spy Mission//Currency 900 /////////////////////////////////////////////////////////////////////////////////////////////////////// 314 | Wave 315 | { 316 | StartWaveOutput 317 | { 318 | Target wave_start_relay 319 | Action Trigger 320 | } 321 | DoneOutput 322 | { 323 | Target wave_finished_relay 324 | Action trigger 325 | } 326 | WaitWhenDone 65 327 | Checkpoint Yes 328 | 329 | // Spy mission - 1 active 330 | 331 | 332 | WaveSpawn //WAVE 333 | { 334 | TotalCount 1 335 | WaitBeforeStarting 0 336 | TotalCurrency 900 337 | 338 | FirstSpawnOutput 339 | 340 | { 341 | Target boss_spawn_relay 342 | Action Trigger 343 | } 344 | 345 | Tank 346 | { 347 | Health 28000 348 | Speed 75 349 | Name "tankboss" 350 | StartingPathTrackNode "boss_path_a1" 351 | 352 | OnKilledOutput 353 | { 354 | Target boss_dead_relay 355 | Action Trigger 356 | } 357 | 358 | OnBombDroppedOutput 359 | { 360 | Target boss_deploy_relay 361 | Action Trigger 362 | } 363 | 364 | } 365 | } 366 | WaveSpawn 367 | { 368 | Where spawnbot 369 | TotalCount 8 370 | MaxActive 8 371 | SpawnCount 8 372 | WaitBeforeStarting 15 373 | WaitBetweenSpawns 0 374 | 375 | Support 1 376 | 377 | TotalCurrency 0 378 | 379 | TFBot 380 | { 381 | Class Scout 382 | Skill Easy 383 | WeaponRestrictions MeleeOnly 384 | } 385 | } 386 | WaveSpawn 387 | { 388 | Where spawnbot 389 | TotalCount 18 390 | MaxActive 18 391 | SpawnCount 18 392 | WaitBeforeStarting 25 393 | WaitBetweenSpawns 0 394 | 395 | Support 1 396 | 397 | TotalCurrency 0 398 | 399 | TFBot 400 | { 401 | Class Scout 402 | Skill Easy 403 | WeaponRestrictions MeleeOnly 404 | } 405 | } 406 | } 407 | //WAVE 4 //Demos, Scout melees, Soldiers, Giant Demos, Sniper Mission MB //Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 408 | Wave 409 | { 410 | StartWaveOutput 411 | { 412 | Target wave_start_relay 413 | Action Trigger 414 | } 415 | DoneOutput 416 | { 417 | Target wave_finished_relay 418 | Action trigger 419 | } 420 | WaitWhenDone 65 421 | Checkpoint Yes 422 | 423 | // Sniper mission - 2 active 424 | 425 | 426 | WaveSpawn 427 | { 428 | 429 | Name "wave4primarywave" 430 | 431 | Where spawnbot 432 | TotalCount 24 433 | MaxActive 8 434 | SpawnCount 2 435 | WaitBetweenSpawns 3 436 | WaitBeforeStarting 0 437 | TotalCurrency 100 438 | 439 | TFBot 440 | { 441 | Class Demoman 442 | Skill Easy 443 | } 444 | } 445 | WaveSpawn 446 | { 447 | 448 | Where spawnbot 449 | TotalCount 12 450 | MaxActive 6 451 | SpawnCount 2 452 | WaitBetweenSpawns 6 453 | WaitBeforeStarting 0 454 | TotalCurrency 100 455 | 456 | TFBot 457 | { 458 | Class Scout 459 | Skill Easy 460 | WeaponRestrictions MeleeOnly 461 | } 462 | } 463 | WaveSpawn 464 | { 465 | 466 | Where spawnbot 467 | TotalCount 12 468 | MaxActive 4 469 | SpawnCount 3 470 | WaitBetweenSpawns 2 471 | WaitBeforeStarting 0 472 | TotalCurrency 100 473 | 474 | TFBot 475 | { 476 | Class Soldier 477 | Skill Easy 478 | } 479 | } 480 | 481 | WaveSpawn 482 | { 483 | 484 | WaitForAllSpawned "wave4primarywave" 485 | 486 | Where spawnbot 487 | TotalCount 2 488 | MaxActive 2 489 | SpawnCount 2 490 | WaitBetweenSpawns 15 491 | WaitBeforeStarting 0 492 | TotalCurrency 160 493 | 494 | TFBot 495 | { 496 | Template T_TFBot_Giant_Demoman 497 | } 498 | } 499 | WaveSpawn 500 | { 501 | 502 | WaitForAllSpawned "wave4primarywave" 503 | 504 | Where spawnbot 505 | TotalCount 1 506 | MaxActive 1 507 | SpawnCount 1 508 | WaitBetweenSpawns 15 509 | WaitBeforeStarting 20 510 | TotalCurrency 40 511 | 512 | TFBot 513 | { 514 | Template T_TFBot_Giant_Demoman 515 | } 516 | } 517 | } 518 | //WAVE 5 //Tank Boss 30k, Giant Demo with pyro escort//Currency 1200 /////////////////////////////////////////////////////////////////////////////////////////////////////// 519 | Wave 520 | { 521 | StartWaveOutput 522 | { 523 | Target wave_start_relay 524 | Action Trigger 525 | } 526 | DoneOutput 527 | { 528 | Target wave_finished_relay 529 | Action trigger 530 | } 531 | WaitWhenDone 65 532 | Checkpoint Yes 533 | 534 | WaveSpawn 535 | { 536 | TotalCount 1 537 | WaitBeforeStarting 20 538 | TotalCurrency 700 539 | 540 | FirstSpawnOutput 541 | 542 | { 543 | Target boss_spawn_relay 544 | Action Trigger 545 | } 546 | 547 | Tank 548 | { 549 | Health 30000 550 | Speed 75 551 | Name "tankboss" 552 | StartingPathTrackNode "boss_path_a1" 553 | 554 | OnKilledOutput 555 | { 556 | Target boss_dead_relay 557 | Action Trigger 558 | } 559 | 560 | OnBombDroppedOutput 561 | { 562 | Target boss_deploy_relay 563 | Action Trigger 564 | } 565 | 566 | } 567 | } 568 | 569 | WaveSpawn //WAVE 570 | { 571 | Where spawnbot 572 | TotalCount 15 573 | MaxActive 10 574 | SpawnCount 5 575 | WaitBeforeStarting 0 576 | WaitBetweenSpawns 2 577 | TotalCurrency 500 578 | 579 | Squad // Tavish + pyros 580 | { 581 | TFBot 582 | { 583 | Template T_TFBot_Giant_Demoman 584 | } 585 | TFBot 586 | { 587 | Class Pyro 588 | Skill Easy 589 | } 590 | TFBot 591 | { 592 | Class Pyro 593 | Skill Easy 594 | //WeaponRestrictions MeleeOnly 595 | } 596 | TFBot 597 | { 598 | Class Pyro 599 | Skill Normal 600 | } 601 | TFBot 602 | { 603 | Template T_TFBot_Pyro_Flaregun 604 | } 605 | } 606 | } 607 | } 608 | //WAVE 6 //Giant Demos, Giant geavy with Quick fix medics, Giant Pyros, Tank Boss 33K, Giant Baseball, scout support.//Currency 1200 /////////////////////////////////////////////////////////////////////////////////////////////////////// 609 | Wave 610 | { 611 | StartWaveOutput 612 | { 613 | Target wave_start_relay 614 | Action Trigger 615 | } 616 | DoneOutput 617 | { 618 | Target humans_win 619 | Action RoundWin 620 | } 621 | WaitWhenDone 65 622 | Checkpoint Yes 623 | 624 | 625 | WaveSpawn //WAVE 626 | { 627 | Where spawnbot 628 | TotalCount 4 629 | MaxActive 2 630 | SpawnCount 2 631 | WaitBeforeStarting 0 632 | WaitBetweenSpawns 2 633 | TotalCurrency 400 634 | 635 | Squad 636 | { 637 | TFBot 638 | { 639 | Template T_TFBot_Giant_Demoman 640 | } 641 | TFBot 642 | { 643 | Template T_TFBot_Giant_Demoman 644 | } 645 | } 646 | } 647 | WaveSpawn //WAVE 648 | { 649 | Name "heavywave" 650 | 651 | Where spawnbot 652 | TotalCount 12 653 | MaxActive 6 654 | SpawnCount 6 655 | WaitBeforeStarting 10 656 | WaitBetweenSpawns 1 657 | TotalCurrency 100 658 | 659 | Squad 660 | { 661 | TFBot 662 | { 663 | Template T_TFBot_Giant_Heavyweapons 664 | } 665 | TFBot 666 | { 667 | Template T_TFBot_Medic_QuickFix 668 | } 669 | TFBot 670 | { 671 | Template T_TFBot_Medic_QuickFix 672 | } 673 | TFBot 674 | { 675 | Template T_TFBot_Medic_QuickFix 676 | } 677 | TFBot 678 | { 679 | Template T_TFBot_Medic_QuickFix 680 | } 681 | TFBot 682 | { 683 | Template T_TFBot_Medic_QuickFix 684 | } 685 | } 686 | } 687 | 688 | WaveSpawn 689 | { 690 | WaitForAllSpawned "heavywave" 691 | 692 | TotalCount 1 693 | WaitBeforeStarting 25 694 | TotalCurrency 400 695 | 696 | FirstSpawnOutput 697 | 698 | { 699 | Target boss_spawn_relay 700 | Action Trigger 701 | } 702 | 703 | Tank 704 | { 705 | Health 33000 706 | Speed 75 707 | Name "tankboss" 708 | Skin 1 709 | StartingPathTrackNode "boss_path_a1" 710 | 711 | OnKilledOutput 712 | { 713 | Target boss_dead_relay 714 | Action Trigger 715 | } 716 | 717 | OnBombDroppedOutput 718 | { 719 | Target boss_deploy_relay 720 | Action Trigger 721 | } 722 | 723 | } 724 | } 725 | 726 | WaveSpawn 727 | { 728 | WaitForAllSpawned "heavywave" 729 | 730 | Where spawnbot 731 | TotalCount 2 732 | MaxActive 2 733 | SpawnCount 2 734 | WaitBeforeStarting 35 735 | WaitBetweenSpawns 2 736 | TotalCurrency 100 737 | 738 | Squad 739 | { 740 | TFBot 741 | { 742 | Template T_TFBot_Giant_Pyro 743 | } 744 | TFBot 745 | { 746 | Template T_TFBot_Giant_Pyro 747 | } 748 | } 749 | } 750 | // WaveSpawn 751 | // { 752 | // WaitForAllSpawned "heavywave" 753 | 754 | // Where spawnbot 755 | // TotalCount 2 756 | // MaxActive 2 757 | // SpawnCount 2 758 | // WaitBeforeStarting 27 759 | // WaitBetweenSpawns 2 760 | // TotalCurrency 100 761 | 762 | // Squad 763 | // { 764 | // TFBot 765 | // { 766 | // Template T_TFBot_Giant_Scout_Baseball 767 | // } 768 | // TFBot 769 | // { 770 | // Template T_TFBot_Giant_Scout_Baseball 771 | // } 772 | // } 773 | // } 774 | 775 | WaveSpawn 776 | { 777 | Where spawnbot 778 | TotalCount 18 779 | MaxActive 12 780 | SpawnCount 2 781 | WaitBeforeStarting 10 782 | WaitBetweenSpawns 10 783 | TotalCurrency 100 784 | 785 | TFBot 786 | { 787 | Class Scout 788 | Skill Easy 789 | WeaponRestrictions MeleeOnly 790 | 791 | } 792 | } 793 | } 794 | } -------------------------------------------------------------------------------- /population/mvm_decoy.pop: -------------------------------------------------------------------------------- 1 | // tank health starts at 35000 due to longer tank path 2 | 3 | #base robot_giant.pop 4 | #base robot_standard.pop 5 | 6 | WaveSchedule 7 | { 8 | 9 | StartingCurrency 400 10 | RespawnWaveTime 5 11 | CanBotsAttackWhileInSpawnRoom no 12 | 13 | Mission // sentry buster 14 | { 15 | Objective DestroySentries 16 | 17 | InitialCooldown 30 18 | Where spawnbot 19 | BeginAtWave 1 20 | RunForThisManyWaves 13 21 | 22 | CooldownTime 40 23 | 24 | TFBot 25 | { 26 | Template T_TFBot_SentryBuster 27 | } 28 | } 29 | Mission // Sniper - wave 3 30 | { 31 | Objective Sniper 32 | 33 | InitialCooldown 20 34 | Where spawnbot_mission_sniper 35 | BeginAtWave 3 36 | RunForThisManyWaves 1 37 | CooldownTime 20 38 | DesiredCount 2 39 | 40 | TFBot 41 | { 42 | Class Sniper 43 | Skill Hard 44 | Name Sniper 45 | MaxVisionRange 3000 46 | } 47 | } 48 | Mission // Sniper - wave 7 49 | { 50 | Objective Sniper 51 | 52 | InitialCooldown 20 53 | Where spawnbot_mission_sniper 54 | BeginAtWave 7 55 | RunForThisManyWaves 1 56 | CooldownTime 45 57 | DesiredCount 2 58 | 59 | TFBot 60 | { 61 | Class Sniper 62 | Skill Hard 63 | Name Sniper 64 | MaxVisionRange 3000 65 | } 66 | } 67 | Mission // Spy - wave 3 68 | { 69 | Objective Spy 70 | 71 | InitialCooldown 30 72 | Where spawnbot_mission_spy 73 | BeginAtWave 3 74 | RunForThisManyWaves 1 75 | CooldownTime 60 76 | DesiredCount 2 77 | 78 | TFBot 79 | { 80 | Class Spy 81 | Skill Expert 82 | Name Spy 83 | } 84 | } 85 | Mission // Spy - wave 4 86 | { 87 | Objective Spy 88 | 89 | InitialCooldown 30 90 | Where spawnbot_mission_spy 91 | BeginAtWave 4 92 | RunForThisManyWaves 1 93 | CooldownTime 60 94 | DesiredCount 2 95 | 96 | TFBot 97 | { 98 | Class Spy 99 | Skill Expert 100 | Name Spy 101 | } 102 | } 103 | Mission // Spy - wave 6 104 | { 105 | Objective Spy 106 | 107 | InitialCooldown 30 108 | Where spawnbot_mission_spy 109 | BeginAtWave 6 110 | RunForThisManyWaves 1 111 | CooldownTime 60 112 | DesiredCount 3 113 | 114 | TFBot 115 | { 116 | Class Spy 117 | Skill Expert 118 | Name Spy 119 | } 120 | } 121 | //WAVE 1 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 122 | Wave 123 | { 124 | StartWaveOutput 125 | { 126 | Target wave_start_relay 127 | Action Trigger 128 | } 129 | DoneOutput 130 | { 131 | Target wave_finished_relay 132 | Action trigger 133 | } 134 | WaitWhenDone 65 135 | Checkpoint Yes 136 | 137 | WaveSpawn //WAVE 01a: 48 total, 6 active, scout 138 | { 139 | Where spawnbot 140 | TotalCount 48 141 | MaxActive 6 142 | SpawnCount 6 143 | WaitBetweenSpawns 7 144 | WaitBeforeStarting 0 145 | TotalCurrency 400 146 | 147 | TFBot 148 | { 149 | Class Scout 150 | Skill Easy 151 | } 152 | } 153 | WaveSpawn //WAVE 01b: 16 total, 6 active, pyro 154 | { 155 | Where spawnbot 156 | TotalCount 16 157 | MaxActive 6 158 | SpawnCount 3 159 | WaitBetweenSpawns 6 160 | WaitBeforeStarting 10 161 | TotalCurrency 200 162 | 163 | TFBot 164 | { 165 | Class Pyro 166 | Skill Easy 167 | } 168 | } 169 | } 170 | //WAVE 2 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 171 | Wave 172 | { 173 | StartWaveOutput 174 | { 175 | Target wave_start_relay 176 | Action Trigger 177 | } 178 | DoneOutput 179 | { 180 | Target wave_finished_relay 181 | Action trigger 182 | } 183 | WaitWhenDone 65 184 | Checkpoint Yes 185 | 186 | WaveSpawn //WAVE 02a: 64 total, 8 active, scout (melee only) 187 | { 188 | Where spawnbot 189 | TotalCount 64 190 | MaxActive 8 191 | SpawnCount 4 192 | WaitBeforeStarting 0 193 | WaitBetweenSpawns 4 194 | TotalCurrency 250 195 | 196 | Support 1 197 | 198 | TFBot 199 | { 200 | Class Scout 201 | Skill Easy 202 | WeaponRestrictions MeleeOnly 203 | } 204 | } 205 | WaveSpawn //WAVE 02b: 24 total, 4 active, soldier 206 | { 207 | Where spawnbot 208 | TotalCount 24 209 | MaxActive 3 210 | SpawnCount 3 211 | WaitBeforeStarting 10 212 | WaitBetweenSpawns 10 213 | TotalCurrency 200 214 | 215 | TFBot 216 | { 217 | Class Soldier 218 | Skill Easy 219 | } 220 | } 221 | WaveSpawn //WAVE 02c: 12 total, 4 active, demoman 222 | { 223 | Where spawnbot 224 | TotalCount 12 225 | MaxActive 3 226 | SpawnCount 3 227 | WaitBeforeStarting 25 228 | WaitBetweenSpawns 10 229 | TotalCurrency 150 230 | 231 | TFBot 232 | { 233 | Class Demoman 234 | Skill Easy 235 | } 236 | } 237 | } 238 | //WAVE 3 //Currency 400 /////////////////////////////////////////////////////////////////////////////////////////////////////// 239 | Wave 240 | { 241 | DoneOutput 242 | { 243 | Target wave_finished_relay 244 | Action trigger 245 | } 246 | WaitWhenDone 65 247 | Checkpoint Yes 248 | 249 | // Sniper mission - 2 active 250 | // Spy mission - 2 active 251 | WaveSpawn //WAVE 3a: [TANK1] 252 | { 253 | TotalCount 1 254 | WaitBeforeStarting 0 255 | TotalCurrency 400 256 | 257 | FirstSpawnOutput 258 | { 259 | Target boss_spawn_relay 260 | Action Trigger 261 | } 262 | 263 | Tank 264 | { 265 | Health 20000 266 | Speed 75 267 | Name "boss" 268 | StartingPathTrackNode "boss_path_b1" 269 | 270 | OnKilledOutput 271 | { 272 | Target boss_dead_relay 273 | Action Trigger 274 | } 275 | OnBombDroppedOutput 276 | { 277 | Target boss_deploy_relay 278 | Action Trigger 279 | } 280 | } 281 | } 282 | } 283 | //WAVE 4 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 284 | Wave 285 | { 286 | StartWaveOutput 287 | { 288 | Target wave_start_relay 289 | Action Trigger 290 | } 291 | DoneOutput 292 | { 293 | Target wave_finished_relay 294 | Action trigger 295 | } 296 | WaitWhenDone 65 297 | Checkpoint Yes 298 | 299 | // Spy mission - 2 active 300 | 301 | WaveSpawn //WAVE 04a: 80 total, 8 active, scout (melee only) 302 | { 303 | Where spawnbot 304 | TotalCount 80 305 | MaxActive 10 306 | SpawnCount 5 307 | WaitBeforeStarting 0 308 | WaitBetweenSpawns 0 309 | TotalCurrency 350 310 | 311 | Support 1 312 | 313 | TFBot 314 | { 315 | Class Scout 316 | Skill Easy 317 | WeaponRestrictions MeleeOnly 318 | } 319 | } 320 | WaveSpawn //WAVE 04b: 30 total, 6 active, heavyweapons 321 | { 322 | Where spawnbot 323 | TotalCount 30 324 | MaxActive 6 325 | SpawnCount 3 326 | WaitBeforeStarting 5 327 | WaitBetweenSpawns 5 328 | TotalCurrency 350 329 | 330 | TFBot 331 | { 332 | Class Heavyweapons 333 | Skill Easy 334 | } 335 | } 336 | } 337 | //WAVE 5 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 338 | Wave 339 | { 340 | StartWaveOutput 341 | { 342 | Target wave_start_relay 343 | Action Trigger 344 | } 345 | DoneOutput 346 | { 347 | Target wave_finished_relay 348 | Action trigger 349 | } 350 | WaitWhenDone 65 351 | Checkpoint Yes 352 | 353 | WaveSpawn //WAVE 05a: 50 total, 12 active, scout (melee only) 354 | { 355 | Where spawnbot 356 | TotalCount 50 357 | MaxActive 12 358 | SpawnCount 6 359 | WaitBeforeStarting 0 360 | WaitBetweenSpawns 4 361 | TotalCurrency 300 362 | 363 | Support 1 364 | 365 | TFBot 366 | { 367 | Class Scout 368 | Skill Easy 369 | WeaponRestrictions MeleeOnly 370 | } 371 | } 372 | WaveSpawn //WAVE 5b: [GIANT] 1 total, 1 active, Heavy 373 | { 374 | Where spawnbot 375 | TotalCount 1 376 | MaxActive 1 377 | SpawnCount 1 378 | WaitBeforeStarting 0 379 | WaitBetweenSpawns 0 380 | TotalCurrency 400 381 | 382 | TFBot 383 | { 384 | Template T_TFBot_Giant_Heavyweapons 385 | } 386 | } 387 | } 388 | //WAVE 6 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 389 | Wave 390 | { 391 | StartWaveOutput 392 | { 393 | Target wave_start_relay 394 | Action Trigger 395 | } 396 | DoneOutput 397 | { 398 | Target wave_finished_relay 399 | Action trigger 400 | } 401 | WaitWhenDone 65 402 | Checkpoint Yes 403 | 404 | // Spy mission - 3 active 405 | 406 | WaveSpawn //WAVE 06a: 100 total, 12 active, scout (2/3 flankers, 1/3 melee only) 407 | { 408 | Where spawnbot 409 | TotalCount 100 410 | MaxActive 12 411 | SpawnCount 4 412 | WaitBeforeStarting 7 413 | WaitBetweenSpawns 4 414 | TotalCurrency 450 415 | 416 | Support 1 417 | 418 | RandomChoice 419 | { 420 | TFBot 421 | { 422 | Class Scout 423 | Skill Easy 424 | WeaponRestrictions MeleeOnly 425 | } 426 | TFBot 427 | { 428 | Class Scout 429 | Skill Easy 430 | Tag nav_prefer_flank_right 431 | BehaviorModifiers push 432 | } 433 | TFBot 434 | { 435 | Class Scout 436 | Skill Easy 437 | Tag nav_prefer_flank_left 438 | BehaviorModifiers push 439 | } 440 | } 441 | } 442 | WaveSpawn //WAVE 6b: [GIANT] 4 total, 2 active, Slow-crit Soldiers 443 | { 444 | Where spawnbot 445 | TotalCount 3 446 | MaxActive 3 447 | SpawnCount 1 448 | WaitBeforeStarting 10 449 | WaitBetweenSpawns 30 450 | TotalCurrency 250 451 | 452 | TFBot 453 | { 454 | Template T_TFBot_Giant_Soldier_Crit 455 | } 456 | } 457 | } 458 | //WAVE 7 //Currency 900 /////////////////////////////////////////////////////////////////////////////////////////////////////// 459 | Wave 460 | { 461 | StartWaveOutput 462 | { 463 | Target wave_start_relay 464 | Action Trigger 465 | } 466 | DoneOutput 467 | { 468 | Target wave_finished_relay 469 | Action trigger 470 | } 471 | WaitWhenDone 65 472 | Checkpoint Yes 473 | 474 | // Sniper mission - 2 active 475 | WaveSpawn //WAVE 7a: 150 total, 16 active, scout 476 | { 477 | Where spawnbot_invasion 478 | TotalCount 150 479 | MaxActive 16 480 | SpawnCount 8 481 | WaitBeforeStarting 0 482 | TotalCurrency 900 483 | 484 | RandomChoice 485 | { 486 | TFBot 487 | { 488 | Class Scout 489 | Skill Easy 490 | } 491 | TFBot 492 | { 493 | Class Scout 494 | Skill Easy 495 | } 496 | TFBot 497 | { 498 | Class Scout 499 | Skill Easy 500 | } 501 | } 502 | } 503 | } 504 | //WAVE 8 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 505 | Wave 506 | { 507 | StartWaveOutput 508 | { 509 | Target wave_start_relay 510 | Action Trigger 511 | } 512 | 513 | Checkpoint Yes 514 | 515 | WaveSpawn //WAVE 8a: 40 total, 12 active, scout (2/3 flankers) 516 | { 517 | Where spawnbot 518 | TotalCount 40 519 | MaxActive 12 520 | SpawnCount 4 521 | WaitBeforeStarting 10 522 | WaitBetweenSpawns 0 523 | TotalCurrency 100 524 | 525 | RandomChoice 526 | { 527 | TFBot 528 | { 529 | Class Scout 530 | Skill Easy 531 | } 532 | TFBot 533 | { 534 | Class Scout 535 | Skill Easy 536 | Tag nav_prefer_flank_right 537 | BehaviorModifiers push 538 | } 539 | TFBot 540 | { 541 | Class Scout 542 | Skill Easy 543 | Tag nav_prefer_flank_left 544 | BehaviorModifiers push 545 | } 546 | } 547 | } 548 | WaveSpawn //WAVE 8b: [GIANT] 2(4) total, 2(4) active, Heavy 549 | { 550 | Where spawnbot 551 | TotalCount 2 552 | MaxActive 2 553 | SpawnCount 2 554 | WaitBeforeStarting 5 555 | WaitBetweenSpawns 30 556 | TotalCurrency 300 557 | 558 | Squad // Heavy + Medic with charge 559 | { 560 | TFBot 561 | { 562 | Template T_TFBot_Giant_Heavyweapons 563 | } 564 | TFBot 565 | { 566 | Class Medic 567 | ClassIcon medic_uber 568 | Skill Normal 569 | ItemAttributes 570 | { 571 | ItemName "TF_WEAPON_MEDIGUN" 572 | "ubercharge rate bonus" 5 573 | } 574 | CharacterAttributes 575 | { 576 | "heal rate bonus" 0.1 577 | } 578 | } 579 | } 580 | } 581 | WaveSpawn //WAVE 8c: [GIANT] 2(4) total, 2(4) active, Soldier (slow-crit) 582 | { 583 | Name "wave08c" 584 | Where spawnbot 585 | TotalCount 2 586 | MaxActive 2 587 | SpawnCount 2 588 | WaitBeforeStarting 15 589 | WaitBetweenSpawns 30 590 | TotalCurrency 300 591 | 592 | Squad // Crit soldier + Medic with charge 593 | { 594 | TFBot 595 | { 596 | Template T_TFBot_Giant_Soldier_Crit 597 | } 598 | TFBot 599 | { 600 | Class Medic 601 | ClassIcon medic_uber 602 | Skill Normal 603 | ItemAttributes 604 | { 605 | ItemName "TF_WEAPON_MEDIGUN" 606 | "ubercharge rate bonus" 5 607 | } 608 | CharacterAttributes 609 | { 610 | "heal rate bonus" 0.1 611 | } 612 | } 613 | } 614 | } 615 | WaveSpawn //WAVE 08d: [FINAL TANK] 616 | { 617 | TotalCount 1 618 | WaitBeforeStarting 30 619 | WaitForAllSpawned "wave08c" 620 | TotalCurrency 0 621 | 622 | FirstSpawnOutput 623 | 624 | { 625 | Target boss_spawn_relay 626 | Action Trigger 627 | } 628 | 629 | Tank 630 | { 631 | Health 20000 632 | Speed 75 633 | Name "boss" 634 | Skin 1 635 | StartingPathTrackNode "boss_path_a1" 636 | 637 | OnKilledOutput 638 | { 639 | Target boss_dead_relay 640 | Action Trigger 641 | } 642 | 643 | OnBombDroppedOutput 644 | { 645 | Target boss_deploy_relay 646 | Action Trigger 647 | } 648 | 649 | } 650 | } 651 | } 652 | } -------------------------------------------------------------------------------- /population/mvm_ghost_town.pop: -------------------------------------------------------------------------------- 1 | #base robot_giant.pop 2 | #base robot_standard.pop 3 | 4 | WaveSchedule 5 | { 6 | 7 | StartingCurrency 5000 8 | RespawnWaveTime 3 9 | CanBotsAttackWhileInSpawnRoom no 10 | FixedRespawnWaveTime Yes 11 | EventPopfile Halloween 12 | 13 | Mission // sentry buster 14 | { 15 | Objective DestroySentries 16 | 17 | InitialCooldown 120 18 | Where spawnbot 19 | BeginAtWave 1 20 | RunForThisManyWaves 1 21 | 22 | CooldownTime 120 23 | 24 | TFBot 25 | { 26 | Template T_TFBot_SentryBuster 27 | } 28 | } 29 | Mission // Spy - wave 1 30 | { 31 | Objective Spy 32 | 33 | InitialCooldown 180 34 | Where spawnbot_mission_spy 35 | BeginAtWave 1 36 | RunForThisManyWaves 1 37 | CooldownTime 180 38 | DesiredCount 2 39 | 40 | TFBot 41 | { 42 | Class Spy 43 | Skill Expert 44 | Name Spy 45 | } 46 | } 47 | Mission // Sniper - wave 1 48 | { 49 | Objective Sniper 50 | 51 | InitialCooldown 120 52 | Where spawnbot_mission_sniper 53 | BeginAtWave 1 54 | RunForThisManyWaves 1 55 | CooldownTime 210 56 | DesiredCount 2 57 | 58 | TFBot 59 | { 60 | Class Sniper 61 | Skill Hard 62 | Name Sniper 63 | MaxVisionRange 3000 64 | } 65 | } 66 | 67 | Wave 68 | { 69 | StartWaveOutput 70 | { 71 | Target wave_start_relay_666 72 | Action Trigger 73 | } 74 | 75 | Checkpoint Yes 76 | 77 | //STAGE 01 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 78 | 79 | WaveSpawn //WAVE 01a: 60 total, 10 active, Scout (bonk) 80 | { 81 | Name "wave01" 82 | Where spawnbot 83 | TotalCount 30 84 | MaxActive 10 85 | SpawnCount 10 86 | WaitBeforeStarting 0 87 | WaitBetweenSpawns 0 88 | TotalCurrency 300 89 | 90 | TFBot 91 | { 92 | Template T_TFBot_Scout_Bonk 93 | Attributes AlwaysCrit 94 | Item "Point and Shoot" 95 | } 96 | } 97 | WaveSpawn //WAVE 01b: 32 total, 8 active, Pyro (always fire) 98 | { 99 | Name "wave01" 100 | Where spawnbot 101 | TotalCount 32 102 | MaxActive 8 103 | SpawnCount 8 104 | WaitBeforeStarting 3 105 | WaitBetweenSpawns 7 106 | TotalCurrency 200 107 | 108 | TFBot 109 | { 110 | Class Pyro 111 | Skill Easy 112 | Attributes AlwaysFireWeapon 113 | Item "Old Guadalajara" 114 | } 115 | } 116 | WaveSpawn //WAVE 01c: [GIANT] 12 total, 4 active, Demoman (demoknight) 117 | { 118 | Name "wave01" 119 | Where spawnbot 120 | TotalCount 12 121 | MaxActive 4 122 | SpawnCount 4 123 | WaitBeforeStarting 5 124 | WaitBetweenSpawns 5 125 | TotalCurrency 200 126 | 127 | TFBot 128 | { 129 | Template T_TFBot_Giant_DemoMan_PrinceTavish 130 | Attributes AlwaysCrit 131 | Item "Spine-Chilling Skull" 132 | } 133 | } 134 | //STAGE 02 //Currency 400 /////////////////////////////////////////////////////////////////////////////////////////////////////// 135 | 136 | WaveSpawn //WAVE 02a: [GIANT] 10(20) total, 10(20) active, Soldier (slow crit + uber medic) 137 | { 138 | Name "wave02" 139 | Where spawnbot 140 | TotalCount 20 141 | MaxActive 20 142 | SpawnCount 4 143 | WaitForAllDead "wave01" 144 | WaitBeforeStarting 5 145 | WaitBetweenSpawns 2 146 | TotalCurrency 400 147 | 148 | Squad 149 | { 150 | TFBot 151 | { 152 | Template T_TFBot_Giant_Soldier_Crit 153 | Item "Idiot box" 154 | Item "Shoestring Budget" 155 | } 156 | TFBot 157 | { 158 | Template T_TFBot_Medic_QuickUber 159 | Item "The Warsworn Helmet" 160 | } 161 | } 162 | } 163 | //STAGE 03 //Currency 1000 /////////////////////////////////////////////////////////////////////////////////////////////////////// 164 | 165 | WaveSpawn //WAVE 03a: 40 total, 10 active, Soldier 166 | { 167 | Name "wave03" 168 | Where spawnbot 169 | TotalCount 40 170 | MaxActive 10 171 | SpawnCount 5 172 | WaitForAllDead "wave02" 173 | WaitBeforeStarting 8 174 | WaitBetweenSpawns 2 175 | TotalCurrency 300 176 | 177 | TFBot 178 | { 179 | Class Soldier 180 | Skill Easy 181 | Item "Defiant Spartan" 182 | } 183 | } 184 | WaveSpawn //WAVE 03b: 40 total, 10 active, Heavyweapons 185 | { 186 | Name "wave03" 187 | Where spawnbot 188 | TotalCount 40 189 | MaxActive 10 190 | SpawnCount 5 191 | WaitForAllDead "wave02" 192 | WaitBeforeStarting 8 193 | WaitBetweenSpawns 2 194 | TotalCurrency 300 195 | 196 | TFBot 197 | { 198 | Class Heavyweapons 199 | Skill Easy 200 | Item "Witch Hat" 201 | } 202 | } 203 | WaveSpawn //WAVE 03c: [GIANT] 5 total, 2 active, Soldier 204 | { 205 | Name "wave03" 206 | Where spawnbot 207 | TotalCount 5 208 | MaxActive 2 209 | SpawnCount 1 210 | WaitForAllDead "wave02" 211 | WaitBeforeStarting 8 212 | WaitBetweenSpawns 30 213 | TotalCurrency 200 214 | 215 | TFBot 216 | { 217 | Template T_TFBot_Giant_Soldier_Spammer 218 | Item "Idiot box" 219 | Item "Shoestring Budget" 220 | } 221 | } 222 | WaveSpawn //WAVE 03d: [GIANT] 5 total, 2 active, Heavyweapons 223 | { 224 | Name "wave03" 225 | Where spawnbot 226 | TotalCount 5 227 | MaxActive 2 228 | SpawnCount 1 229 | WaitForAllDead "wave02" 230 | WaitBeforeStarting 8 231 | WaitBetweenSpawns 30 232 | TotalCurrency 200 233 | 234 | TFBot 235 | { 236 | Template T_TFBot_Giant_Heavyweapons 237 | Item "Witch Hat" 238 | } 239 | } 240 | //STAGE 04 //Currency 1200 /////////////////////////////////////////////////////////////////////////////////////////////////////// 241 | 242 | WaveSpawn //WAVE 04a: 80 total, 10 active, Scout 243 | { 244 | Name "wave04" 245 | Where spawnbot_scattered 246 | RandomSpawn 1 247 | TotalCount 80 248 | MaxActive 10 249 | SpawnCount 5 250 | WaitForAllDead "wave03" 251 | WaitBeforeStarting 10 252 | WaitBetweenSpawns 8 253 | TotalCurrency 600 254 | 255 | TFBot 256 | { 257 | Class Scout 258 | Skill Easy 259 | Attributes AlwaysCrit 260 | Item "Point and Shoot" 261 | } 262 | } 263 | WaveSpawn //WAVE 04b: [3 TANKS] 264 | { 265 | Name "wave04" 266 | TotalCount 3 267 | WaitForAllDead "wave03" 268 | WaitBeforeStarting 0 269 | WaitBetweenSpawns 50 270 | TotalCurrency 600 271 | 272 | FirstSpawnOutput 273 | { 274 | Target boss_spawn_relay 275 | Action Trigger 276 | } 277 | 278 | Tank 279 | { 280 | Health 35000 281 | Speed 75 282 | Name "tankboss" 283 | StartingPathTrackNode "boss_path_1" 284 | 285 | OnKilledOutput 286 | { 287 | Target boss_dead_relay 288 | Action Trigger 289 | } 290 | 291 | OnBombDroppedOutput 292 | { 293 | Target boss_deploy_relay 294 | Action Trigger 295 | } 296 | } 297 | } 298 | //STAGE 05 //Currency 1000 /////////////////////////////////////////////////////////////////////////////////////////////////////// 299 | 300 | WaveSpawn //WAVE 05a: [GIANT] 40 total, 15 active, Demoman 301 | { 302 | Name "wave05" 303 | Where spawnbot 304 | TotalCount 40 305 | MaxActive 10 306 | SpawnCount 5 307 | WaitForAllDead "wave04" 308 | WaitBeforeStarting 10 309 | WaitBetweenSpawns 10 310 | TotalCurrency 500 311 | 312 | TFBot 313 | { 314 | Template T_TFBot_Giant_Demo_RapidFire 315 | Item "Spine-Chilling Skull" 316 | } 317 | } 318 | WaveSpawn //WAVE 05b: 40 total, 5 active, Demoman (Eyelander + Charge N Targe) 319 | { 320 | Name "wave05" 321 | Where spawnbot 322 | TotalCount 40 323 | MaxActive 5 324 | SpawnCount 5 325 | WaitForAllDead "wave04" 326 | WaitBeforeStarting 30 327 | WaitBetweenSpawns 8 328 | TotalCurrency 500 329 | 330 | TFBot 331 | { 332 | Template T_TFBot_Demoman_Knight 333 | Attributes AlwaysCrit 334 | Item "Spine-Chilling Skull" 335 | } 336 | } 337 | WaveSpawn //WAVE 05c: [TANK] 338 | { 339 | Name "wave05" 340 | TotalCount 1 341 | WaitForAllDead "wave04" 342 | WaitBeforeStarting 55 343 | WaitBetweenSpawns 0 344 | TotalCurrency 600 345 | 346 | FirstSpawnOutput 347 | { 348 | Target boss_spawn_relay 349 | Action Trigger 350 | } 351 | 352 | Tank 353 | { 354 | Health 40000 355 | Speed 75 356 | Name "tankboss" 357 | StartingPathTrackNode "boss_path_1" 358 | 359 | OnKilledOutput 360 | { 361 | Target boss_dead_relay 362 | Action Trigger 363 | } 364 | 365 | OnBombDroppedOutput 366 | { 367 | Target boss_deploy_relay 368 | Action Trigger 369 | } 370 | } 371 | } 372 | //STAGE 06 //Currency 700 /////////////////////////////////////////////////////////////////////////////////////////////////////// 373 | 374 | WaveSpawn //WAVE 06a: 40 total, 20 active, Soldier (Direct hit, buff banner) 375 | { 376 | Name "wave06a" 377 | Where spawnbot_scattered 378 | RandomSpawn 1 379 | TotalCount 40 380 | MaxActive 20 381 | SpawnCount 10 382 | WaitForAllDead "wave05" 383 | WaitBeforeStarting 15 384 | WaitBetweenSpawns 2 385 | TotalCurrency 300 386 | 387 | TFBot 388 | { 389 | Class Soldier 390 | Skill Expert 391 | WeaponRestrictions PrimaryOnly 392 | Item "The Direct Hit" 393 | Item "The Buff Banner" 394 | Item "Defiant Spartan" 395 | Attributes SpawnWithFullCharge 396 | ItemAttributes 397 | { 398 | ItemName "The Direct Hit" 399 | "damage bonus" 2.0 400 | } 401 | CharacterAttributes 402 | { 403 | "increase buff duration" 9.0 404 | } 405 | } 406 | } 407 | WaveSpawn //WAVE 06b: [GIANT] 4(8) total, 4(8) active, Heavyweapons (Always Crit + Giant medic) 408 | { 409 | Name "wave06b" 410 | Where spawnbot 411 | TotalCount 8 412 | MaxActive 8 413 | SpawnCount 2 414 | WaitForAllSpawned "wave06a" 415 | WaitBeforeStarting 0 416 | WaitBetweenSpawns 30 417 | TotalCurrency 400 418 | 419 | Squad 420 | { 421 | TFBot 422 | { 423 | Template T_TFBot_Giant_Heavyweapons_Deflector 424 | Attributes AlwaysCrit 425 | Item "Witch Hat" 426 | } 427 | TFBot 428 | { 429 | Template T_TFBot_Giant_Medic 430 | Item "The Warsworn Helmet" 431 | } 432 | } 433 | } 434 | //STAGE 07 //Currency 1300 /////////////////////////////////////////////////////////////////////////////////////////////////////// 435 | 436 | WaveSpawn //WAVE 07a: [4 TANKS] 437 | { 438 | Name "wave07" 439 | TotalCount 4 440 | WaitForAllDead "wave06b" 441 | WaitBeforeStarting 10 442 | WaitBetweenSpawns 30 443 | TotalCurrency 1100 444 | 445 | FirstSpawnOutput 446 | { 447 | Target boss_spawn_relay 448 | Action Trigger 449 | } 450 | 451 | Tank 452 | { 453 | Health 42000 454 | Speed 75 455 | Name "tankboss" 456 | StartingPathTrackNode "boss_path_1" 457 | 458 | OnKilledOutput 459 | { 460 | Target boss_dead_relay 461 | Action Trigger 462 | } 463 | 464 | OnBombDroppedOutput 465 | { 466 | Target boss_deploy_relay 467 | Action Trigger 468 | } 469 | } 470 | } 471 | WaveSpawn //WAVE 07b: 96 total, 16 active, Spy 472 | { 473 | Name "wave07" 474 | Where spawnbot 475 | TotalCount 96 476 | MaxActive 16 477 | SpawnCount 8 478 | WaitForAllDead "wave06b" 479 | WaitBeforeStarting 40 480 | WaitBetweenSpawns 5 481 | TotalCurrency 200 482 | 483 | TFBot 484 | { 485 | Class Spy 486 | Skill Expert 487 | } 488 | } 489 | //STAGE 08 //Currency 1400 /////////////////////////////////////////////////////////////////////////////////////////////////////// 490 | 491 | WaveSpawn //WAVE 08a: 75 total, 20 active, Sniper (Huntsman) 492 | { 493 | Name "wave08a" 494 | Where spawnbot_scattered 495 | RandomSpawn 1 496 | TotalCount 75 497 | MaxActive 20 498 | SpawnCount 5 499 | WaitForAllDead "wave07" 500 | WaitBeforeStarting 10 501 | WaitBetweenSpawns 1 502 | TotalCurrency 300 503 | 504 | TFBot 505 | { 506 | Template T_TFBot_Sniper_Huntsman 507 | Skill Expert 508 | Item "Larrikin Robin" 509 | Attributes AlwaysCrit 510 | ItemAttributes 511 | { 512 | ItemName "The Huntsman" 513 | "damage bonus" 1.5 514 | "faster reload rate" 0.2 515 | } 516 | } 517 | } 518 | WaveSpawn //WAVE 08b: 75 total, 20 active, Soldier (Always Crit) 519 | { 520 | Name "wave08b" 521 | Where spawnbot_scattered 522 | RandomSpawn 1 523 | TotalCount 75 524 | MaxActive 20 525 | SpawnCount 5 526 | WaitForAllSpawned "wave08a" 527 | WaitBeforeStarting 10 528 | WaitBetweenSpawns 1 529 | TotalCurrency 300 530 | 531 | TFBot 532 | { 533 | Class Soldier 534 | Skill Expert 535 | Attributes AlwaysCrit 536 | Item "Defiant Spartan" 537 | ItemAttributes 538 | { 539 | ItemName "TF_WEAPON_ROCKETLAUNCHER" 540 | "damage bonus" 2.0 541 | "faster reload rate" -0.8 542 | "fire rate bonus" 0.6 543 | } 544 | } 545 | } 546 | WaveSpawn //WAVE 08c: 75 total, 20 active, Demoman (Always Crit) 547 | { 548 | Name "wave08c" 549 | Where spawnbot_scattered 550 | RandomSpawn 1 551 | TotalCount 75 552 | MaxActive 20 553 | SpawnCount 5 554 | WaitForAllSpawned "wave08b" 555 | WaitBeforeStarting 5 556 | WaitBetweenSpawns 1 557 | TotalCurrency 200 558 | 559 | TFBot 560 | { 561 | Class Demoman 562 | Skill Expert 563 | Attributes AlwaysCrit 564 | Item "Spine-Chilling Skull" 565 | ItemAttributes 566 | { 567 | ItemName "TF_WEAPON_GRENADELAUNCHER" 568 | "damage bonus" 2.0 569 | "faster reload rate" -0.8 570 | "Projectile speed increased" 2.0 571 | } 572 | } 573 | } 574 | WaveSpawn //WAVE 08d: 75 total, 20 active, Pyro (Always Crit) 575 | { 576 | Name "wave08d" 577 | Where spawnbot_scattered 578 | RandomSpawn 1 579 | TotalCount 75 580 | MaxActive 20 581 | SpawnCount 5 582 | WaitForAllSpawned "wave08c" 583 | WaitBeforeStarting 10 584 | WaitBetweenSpawns 1 585 | TotalCurrency 200 586 | 587 | TFBot 588 | { 589 | Class Pyro 590 | Skill Expert 591 | Attributes AlwaysCrit 592 | Item "Old Guadalajara" 593 | ItemAttributes 594 | { 595 | ItemName "TF_WEAPON_FLAMETHROWER" 596 | "damage bonus" 2.0 597 | } 598 | CharacterAttributes 599 | { 600 | 601 | "move speed bonus" 1.5 602 | } 603 | } 604 | } 605 | WaveSpawn //WAVE 08e: 75 total, 20 active, Scout (Always Crit) 606 | { 607 | Name "wave08e" 608 | Where spawnbot_scattered 609 | RandomSpawn 1 610 | TotalCount 75 611 | MaxActive 20 612 | SpawnCount 5 613 | WaitForAllSpawned "wave08d" 614 | WaitBeforeStarting 5 615 | WaitBetweenSpawns 1 616 | TotalCurrency 200 617 | 618 | TFBot 619 | { 620 | Class Scout 621 | Skill Expert 622 | Attributes AlwaysCrit 623 | Item "Point and Shoot" 624 | } 625 | } 626 | WaveSpawn //WAVE 08f: 48 total, 22 active, Heavyweapons (Always Crit + Uber medic) 627 | { 628 | Name "wave08f" 629 | Where spawnbot_scattered 630 | RandomSpawn 1 631 | TotalCount 48 632 | MaxActive 22 633 | SpawnCount 4 634 | WaitForAllSpawned "wave08e" 635 | WaitBeforeStarting 5 636 | WaitBetweenSpawns 1 637 | TotalCurrency 200 638 | 639 | Squad 640 | { 641 | TFBot 642 | { 643 | Class Heavyweapons 644 | Skill Expert 645 | Attributes AlwaysCrit 646 | Item "Witch Hat" 647 | ItemAttributes 648 | { 649 | ItemName "TF_WEAPON_MINIGUN" 650 | "damage bonus" 1.5 651 | } 652 | } 653 | TFBot 654 | { 655 | Template T_TFBot_Medic_QuickUber 656 | Item "The Warsworn Helmet" 657 | } 658 | } 659 | } 660 | WaveSpawn //WAVE 08g: [FINAL TANK] 661 | { 662 | Name "wave08g" 663 | TotalCount 1 664 | WaitForAllDead "wave08d" 665 | WaitBeforeStarting 20 666 | WaitBetweenSpawns 0 667 | TotalCurrency 0 668 | 669 | FirstSpawnOutput 670 | { 671 | Target boss_spawn_relay 672 | Action Trigger 673 | } 674 | 675 | Tank 676 | { 677 | Health 60000 678 | Speed 75 679 | Name "tankboss" 680 | Skin 1 681 | StartingPathTrackNode "boss_path_1" 682 | 683 | OnKilledOutput 684 | { 685 | Target boss_dead_relay 686 | Action Trigger 687 | } 688 | 689 | OnBombDroppedOutput 690 | { 691 | Target boss_deploy_relay 692 | Action Trigger 693 | } 694 | } 695 | } 696 | } 697 | } -------------------------------------------------------------------------------- /population/mvm_ghost_town_666.pop: -------------------------------------------------------------------------------- 1 | #base robot_giant.pop 2 | #base robot_standard.pop 3 | 4 | WaveSchedule 5 | { 6 | 7 | StartingCurrency 5000 8 | RespawnWaveTime 1 9 | CanBotsAttackWhileInSpawnRoom no 10 | 11 | Mission // sentry buster 12 | { 13 | Objective DestroySentries 14 | 15 | InitialCooldown 120 16 | Where spawnbot 17 | BeginAtWave 1 18 | RunForThisManyWaves 1 19 | 20 | CooldownTime 120 21 | 22 | TFBot 23 | { 24 | Template T_TFBot_SentryBuster 25 | } 26 | } 27 | Mission // Spy - wave 1 28 | { 29 | Objective Spy 30 | 31 | InitialCooldown 180 32 | Where spawnbot_mission_spy 33 | BeginAtWave 1 34 | RunForThisManyWaves 1 35 | CooldownTime 120 36 | DesiredCount 4 37 | 38 | TFBot 39 | { 40 | Class Spy 41 | Skill Expert 42 | Name Spy 43 | } 44 | } 45 | Mission // Sniper - wave 1 46 | { 47 | Objective Sniper 48 | 49 | InitialCooldown 120 50 | Where spawnbot_mission_sniper 51 | BeginAtWave 1 52 | RunForThisManyWaves 1 53 | CooldownTime 120 54 | DesiredCount 4 55 | 56 | TFBot 57 | { 58 | Class Sniper 59 | Skill Hard 60 | Name Sniper 61 | MaxVisionRange 3000 62 | } 63 | } 64 | 65 | Wave 66 | { 67 | StartWaveOutput 68 | { 69 | Target wave_start_relay_666 70 | Action Trigger 71 | } 72 | 73 | Checkpoint Yes 74 | 75 | //STAGE 01 //Currency 500 /////////////////////////////////////////////////////////////////////////////////////////////////////// 76 | 77 | WaveSpawn //WAVE 01a: 60 total, 10 active, Scout (bonk) 78 | { 79 | Name "wave01" 80 | Where spawnbot 81 | TotalCount 30 82 | MaxActive 10 83 | SpawnCount 10 84 | WaitBeforeStarting 0 85 | WaitBetweenSpawns 0 86 | TotalCurrency 200 87 | 88 | TFBot 89 | { 90 | Template T_TFBot_Scout_Bonk 91 | Attributes AlwaysCrit 92 | Item "Point and Shoot" 93 | } 94 | } 95 | WaveSpawn //WAVE 01b: 32 total, 8 active, Pyro (always fire) 96 | { 97 | Name "wave01" 98 | Where spawnbot 99 | TotalCount 32 100 | MaxActive 8 101 | SpawnCount 8 102 | WaitBeforeStarting 3 103 | WaitBetweenSpawns 7 104 | TotalCurrency 200 105 | 106 | TFBot 107 | { 108 | Class Pyro 109 | Skill Easy 110 | Attributes AlwaysFireWeapon 111 | Item "Old Guadalajara" 112 | } 113 | } 114 | WaveSpawn //WAVE 01c: [GIANT] 16 total, 4 active, Demoman (demoknight) 115 | { 116 | Name "wave01" 117 | Where spawnbot 118 | TotalCount 16 119 | MaxActive 4 120 | SpawnCount 4 121 | WaitBeforeStarting 5 122 | WaitBetweenSpawns 5 123 | TotalCurrency 100 124 | 125 | TFBot 126 | { 127 | Template T_TFBot_Giant_DemoMan_PrinceTavish 128 | Attributes AlwaysCrit 129 | Item "Spine-Chilling Skull" 130 | } 131 | } 132 | //STAGE 02 //Currency 400 /////////////////////////////////////////////////////////////////////////////////////////////////////// 133 | 134 | WaveSpawn //WAVE 02a: [GIANT] 10(20) total, 10(20) active, Soldier (slow crit + uber medic) 135 | { 136 | Name "wave02" 137 | Where spawnbot 138 | TotalCount 20 139 | MaxActive 20 140 | SpawnCount 4 141 | WaitForAllDead "wave01" 142 | WaitBeforeStarting 15 143 | WaitBetweenSpawns 2 144 | TotalCurrency 400 145 | 146 | Squad 147 | { 148 | TFBot 149 | { 150 | Template T_TFBot_Giant_Soldier_Crit 151 | Item "Defiant Spartan" 152 | } 153 | TFBot 154 | { 155 | Template T_TFBot_Medic_QuickUber 156 | Item "The Warsworn Helmet" 157 | } 158 | } 159 | } 160 | //STAGE 03 //Currency 1000 /////////////////////////////////////////////////////////////////////////////////////////////////////// 161 | 162 | WaveSpawn //WAVE 03a: 40 total, 10 active, Soldier 163 | { 164 | Name "wave03" 165 | Where spawnbot 166 | TotalCount 40 167 | MaxActive 10 168 | SpawnCount 5 169 | WaitForAllDead "wave02" 170 | WaitBeforeStarting 15 171 | WaitBetweenSpawns 2 172 | TotalCurrency 300 173 | 174 | TFBot 175 | { 176 | Class Soldier 177 | Skill Easy 178 | Item "Defiant Spartan" 179 | } 180 | } 181 | WaveSpawn //WAVE 03b: 40 total, 10 active, Heavyweapons 182 | { 183 | Name "wave03" 184 | Where spawnbot 185 | TotalCount 40 186 | MaxActive 10 187 | SpawnCount 5 188 | WaitForAllDead "wave02" 189 | WaitBeforeStarting 15 190 | WaitBetweenSpawns 2 191 | TotalCurrency 300 192 | 193 | TFBot 194 | { 195 | Class Heavyweapons 196 | Skill Easy 197 | Item "Witch Hat" 198 | } 199 | } 200 | WaveSpawn //WAVE 03c: [GIANT] 5 total, 2 active, Soldier 201 | { 202 | Name "wave03" 203 | Where spawnbot 204 | TotalCount 5 205 | MaxActive 2 206 | SpawnCount 1 207 | WaitForAllDead "wave02" 208 | WaitBeforeStarting 15 209 | WaitBetweenSpawns 30 210 | TotalCurrency 200 211 | 212 | TFBot 213 | { 214 | Template T_TFBot_Giant_Soldier_Spammer 215 | Item "Defiant Spartan" 216 | } 217 | } 218 | WaveSpawn //WAVE 03d: [GIANT] 5 total, 2 active, Heavyweapons 219 | { 220 | Name "wave03" 221 | Where spawnbot 222 | TotalCount 5 223 | MaxActive 2 224 | SpawnCount 1 225 | WaitForAllDead "wave02" 226 | WaitBeforeStarting 15 227 | WaitBetweenSpawns 30 228 | TotalCurrency 200 229 | 230 | TFBot 231 | { 232 | Template T_TFBot_Giant_Heavyweapons 233 | Item "Witch Hat" 234 | } 235 | } 236 | //STAGE 04 //Currency 900 /////////////////////////////////////////////////////////////////////////////////////////////////////// 237 | 238 | WaveSpawn //WAVE 04a: 80 total, 10 active, Scout 239 | { 240 | Name "wave04" 241 | Where spawnbot 242 | TotalCount 80 243 | MaxActive 10 244 | SpawnCount 5 245 | WaitForAllDead "wave03" 246 | WaitBeforeStarting 15 247 | WaitBetweenSpawns 8 248 | TotalCurrency 300 249 | 250 | TFBot 251 | { 252 | Class Scout 253 | Skill Easy 254 | Attributes AlwaysCrit 255 | Item "Point and Shoot" 256 | } 257 | } 258 | WaveSpawn //WAVE 04b: [TANK] 259 | { 260 | Name "wave04" 261 | TotalCount 3 262 | WaitForAllDead "wave03" 263 | WaitBeforeStarting 5 264 | WaitBetweenSpawns 50 265 | TotalCurrency 600 266 | 267 | FirstSpawnOutput 268 | { 269 | Target boss_spawn_relay 270 | Action Trigger 271 | } 272 | 273 | Tank 274 | { 275 | Health 30000 276 | Speed 75 277 | Name "tankboss" 278 | StartingPathTrackNode "boss_path_a1" 279 | 280 | OnKilledOutput 281 | { 282 | Target boss_dead_relay 283 | Action Trigger 284 | } 285 | 286 | OnBombDroppedOutput 287 | { 288 | Target boss_deploy_relay 289 | Action Trigger 290 | } 291 | } 292 | } 293 | //STAGE 05 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 294 | 295 | WaveSpawn //WAVE 05a: [GIANT] 40 total, 15 active, Demoman 296 | { 297 | Name "wave05" 298 | Where spawnbot 299 | TotalCount 40 300 | MaxActive 15 301 | SpawnCount 5 302 | WaitForAllDead "wave04" 303 | WaitBeforeStarting 30 304 | WaitBetweenSpawns 10 305 | TotalCurrency 300 306 | 307 | TFBot 308 | { 309 | Template T_TFBot_Giant_Demo_RapidFire 310 | Item "Spine-Chilling Skull" 311 | } 312 | } 313 | WaveSpawn //WAVE 05b: 40 total, 5 active, Demoman (Eyelander + Charge N Targe) 314 | { 315 | Name "wave05" 316 | Where spawnbot 317 | TotalCount 40 318 | MaxActive 5 319 | SpawnCount 5 320 | WaitForAllDead "wave04" 321 | WaitBeforeStarting 35 322 | WaitBetweenSpawns 8 323 | TotalCurrency 300 324 | 325 | TFBot 326 | { 327 | Template T_TFBot_Demoman_Knight 328 | Attributes AlwaysCrit 329 | Item "Spine-Chilling Skull" 330 | } 331 | } 332 | WaveSpawn //WAVE 05c: [TANK] 333 | { 334 | Name "wave05" 335 | TotalCount 1 336 | WaitForAllDead "wave04" 337 | WaitBeforeStarting 60 338 | WaitBetweenSpawns 0 339 | TotalCurrency 600 340 | 341 | FirstSpawnOutput 342 | { 343 | Target boss_spawn_relay 344 | Action Trigger 345 | } 346 | 347 | Tank 348 | { 349 | Health 40000 350 | Speed 75 351 | Name "tankboss" 352 | StartingPathTrackNode "boss_path_a1" 353 | 354 | OnKilledOutput 355 | { 356 | Target boss_dead_relay 357 | Action Trigger 358 | } 359 | 360 | OnBombDroppedOutput 361 | { 362 | Target boss_deploy_relay 363 | Action Trigger 364 | } 365 | } 366 | } 367 | //STAGE 06 //Currency 600 /////////////////////////////////////////////////////////////////////////////////////////////////////// 368 | 369 | WaveSpawn //WAVE 06a: 20 total, 20 active, Soldier (Direct hit, buff banner) 370 | { 371 | Name "wave06" 372 | Where spawnbot 373 | TotalCount 20 374 | MaxActive 20 375 | SpawnCount 10 376 | WaitForAllDead "wave05" 377 | WaitBeforeStarting 15 378 | WaitBetweenSpawns 2 379 | TotalCurrency 200 380 | 381 | TFBot 382 | { 383 | Class Soldier 384 | Skill Expert 385 | WeaponRestrictions PrimaryOnly 386 | Item "The Direct Hit" 387 | Item "The Buff Banner" 388 | Item "Defiant Spartan" 389 | Attributes SpawnWithFullCharge 390 | CharacterAttributes 391 | { 392 | "increase buff duration" 9.0 393 | } 394 | } 395 | } 396 | WaveSpawn //WAVE 06b: [GIANT] 2(4) total, 2(4) active, Heavyweapons (Always Crit + Giant medic) 397 | { 398 | Name "wave06" 399 | Where spawnbot 400 | TotalCount 4 401 | MaxActive 4 402 | SpawnCount 2 403 | WaitForAllDead "wave04" 404 | WaitBeforeStarting 30 405 | WaitBetweenSpawns 30 406 | TotalCurrency 400 407 | 408 | Squad 409 | { 410 | TFBot 411 | { 412 | Template T_TFBot_Giant_Heavyweapons_Deflector 413 | Attributes AlwaysCrit 414 | Item "Witch Hat" 415 | } 416 | TFBot 417 | { 418 | Template T_TFBot_Giant_Medic 419 | Item "The Warsworn Helmet" 420 | } 421 | } 422 | } 423 | //STAGE 07 //Currency 1200 /////////////////////////////////////////////////////////////////////////////////////////////////////// 424 | 425 | WaveSpawn //WAVE 07a: [TANK] 426 | { 427 | Name "wave07" 428 | TotalCount 4 429 | WaitForAllDead "wave06" 430 | WaitBeforeStarting 10 431 | WaitBetweenSpawns 30 432 | TotalCurrency 1000 433 | 434 | FirstSpawnOutput 435 | { 436 | Target boss_spawn_relay 437 | Action Trigger 438 | } 439 | 440 | Tank 441 | { 442 | Health 40000 443 | Speed 75 444 | Name "tankboss" 445 | StartingPathTrackNode "boss_path_a1" 446 | 447 | OnKilledOutput 448 | { 449 | Target boss_dead_relay 450 | Action Trigger 451 | } 452 | 453 | OnBombDroppedOutput 454 | { 455 | Target boss_deploy_relay 456 | Action Trigger 457 | } 458 | } 459 | } 460 | WaveSpawn //WAVE 06a: 64 total, 16 active, Spy 461 | { 462 | Name "wave06" 463 | Where spawnbot 464 | TotalCount 64 465 | MaxActive 16 466 | SpawnCount 8 467 | WaitForAllDead "wave05" 468 | WaitBeforeStarting 40 469 | WaitBetweenSpawns 5 470 | TotalCurrency 200 471 | 472 | TFBot 473 | { 474 | Class Spy 475 | Skill Expert 476 | } 477 | } 478 | //STAGE 08 //Currency `00 /////////////////////////////////////////////////////////////////////////////////////////////////////// 479 | 480 | WaveSpawn //WAVE 08a: 24 total, 16 active, Sniper (Huntsman) 481 | { 482 | Name "wave08a" 483 | Where spawnbot 484 | TotalCount 24 485 | MaxActive 16 486 | SpawnCount 8 487 | WaitForAllDead "wave07" 488 | WaitBeforeStarting 25 489 | WaitBetweenSpawns 5 490 | TotalCurrency 100 491 | 492 | TFBot 493 | { 494 | Template T_TFBot_Sniper_Huntsman 495 | Item "Larrikin Robin" 496 | Attributes AlwaysCrit 497 | } 498 | } 499 | WaveSpawn //WAVE 08b: 24 total, 16 active, Soldier (Always Crit) 500 | { 501 | Name "wave08b" 502 | Where spawnbot 503 | TotalCount 24 504 | MaxActive 16 505 | SpawnCount 8 506 | WaitForAllSpawned "wave08a" 507 | WaitBeforeStarting 25 508 | WaitBetweenSpawns 5 509 | TotalCurrency 100 510 | 511 | TFBot 512 | { 513 | Class Soldier 514 | Skill Expert 515 | Attributes AlwaysCrit 516 | Item "Defiant Spartan" 517 | } 518 | } 519 | WaveSpawn //WAVE 08c: 24 total, 16 active, Demoman (Always Crit) 520 | { 521 | Name "wave08c" 522 | Where spawnbot 523 | TotalCount 24 524 | MaxActive 16 525 | SpawnCount 8 526 | WaitForAllSpawned "wave08b" 527 | WaitBeforeStarting 5 528 | WaitBetweenSpawns 5 529 | TotalCurrency 100 530 | 531 | TFBot 532 | { 533 | Class Demoman 534 | Skill Expert 535 | Attributes AlwaysCrit 536 | Item "Spine-Chilling Skull" 537 | } 538 | } 539 | WaveSpawn //WAVE 08d: 24 total, 16 active, Pyro (Always Crit) 540 | { 541 | Name "wave08d" 542 | Where spawnbot 543 | TotalCount 24 544 | MaxActive 16 545 | SpawnCount 8 546 | WaitForAllSpawned "wave08c" 547 | WaitBeforeStarting 5 548 | WaitBetweenSpawns 5 549 | TotalCurrency 100 550 | 551 | TFBot 552 | { 553 | Class Pyro 554 | Skill Expert 555 | Attributes AlwaysCrit 556 | Item "Old Guadalajara" 557 | } 558 | } 559 | WaveSpawn //WAVE 08e: 24 total, 16 active, Scout (Always Crit) 560 | { 561 | Name "wave08e" 562 | Where spawnbot 563 | TotalCount 24 564 | MaxActive 16 565 | SpawnCount 8 566 | WaitForAllSpawned "wave08d" 567 | WaitBeforeStarting 5 568 | WaitBetweenSpawns 5 569 | TotalCurrency 100 570 | 571 | TFBot 572 | { 573 | Class Scout 574 | Skill Expert 575 | Attributes AlwaysCrit 576 | Item "Point and Shoot" 577 | } 578 | } 579 | WaveSpawn //WAVE 08f: 48 total, 22 active, Heavyweapons (Always Crit + Uber medic) 580 | { 581 | Name "wave08f" 582 | Where spawnbot 583 | TotalCount 48 584 | MaxActive 22 585 | SpawnCount 4 586 | WaitForAllSpawned "wave08e" 587 | WaitBeforeStarting 5 588 | WaitBetweenSpawns 1 589 | TotalCurrency 200 590 | 591 | Squad 592 | { 593 | TFBot 594 | { 595 | Class Heavyweapons 596 | Skill Expert 597 | Attributes AlwaysCrit 598 | Item "Witch Hat" 599 | } 600 | TFBot 601 | { 602 | Template T_TFBot_Medic_QuickUber 603 | Item "The Warsworn Helmet" 604 | } 605 | } 606 | } 607 | WaveSpawn //WAVE 08g: [FINAL TANK] 608 | { 609 | Name "wave08g" 610 | TotalCount 1 611 | WaitForAllDead "wave08d" 612 | WaitBeforeStarting 20 613 | WaitBetweenSpawns 0 614 | TotalCurrency 0 615 | 616 | FirstSpawnOutput 617 | { 618 | Target boss_spawn_relay 619 | Action Trigger 620 | } 621 | 622 | Tank 623 | { 624 | Health 50000 625 | Speed 75 626 | Name "tankboss" 627 | Skin 1 628 | StartingPathTrackNode "boss_path_a1" 629 | 630 | OnKilledOutput 631 | { 632 | Target boss_dead_relay 633 | Action Trigger 634 | } 635 | 636 | OnBombDroppedOutput 637 | { 638 | Target boss_deploy_relay 639 | Action Trigger 640 | } 641 | } 642 | } 643 | } 644 | } -------------------------------------------------------------------------------- /population/mvm_mannworks.pop: -------------------------------------------------------------------------------- 1 | // mvm_mannworks 2 | // normal skill 3 | 4 | #base robot_giant.pop 5 | #base robot_standard.pop 6 | 7 | WaveSchedule 8 | { 9 | StartingCurrency 400 10 | RespawnWaveTime 5 11 | CanBotsAttackWhileInSpawnRoom No 12 | 13 | // MISSION: Sentry Buster 14 | Mission 15 | { 16 | Objective DestroySentries 17 | Where spawnbot 18 | CooldownTime 30 19 | 20 | TFBot 21 | { 22 | Template T_TFBot_SentryBuster 23 | } 24 | } 25 | 26 | // MISSION: Sniper 02 27 | Mission 28 | { 29 | Objective Sniper 30 | 31 | Where spawnbot_mission_sniper 32 | 33 | BeginAtWave 2 34 | RunForThisManyWaves 1 35 | CooldownTime 60 36 | InitialCooldown 15 37 | DesiredCount 3 38 | 39 | TFBot 40 | { 41 | Template T_TFBot_Sniper 42 | } 43 | } 44 | 45 | // MISSION: Sniper 03-04 46 | Mission 47 | { 48 | Objective Sniper 49 | 50 | Where spawnbot_mission_sniper 51 | 52 | BeginAtWave 2 53 | RunForThisManyWaves 2 54 | CooldownTime 60 55 | InitialCooldown 15 56 | DesiredCount 2 57 | 58 | TFBot 59 | { 60 | Template T_TFBot_Sniper 61 | } 62 | } 63 | 64 | // MISSION: Sniper 06-07 65 | Mission 66 | { 67 | Objective Sniper 68 | 69 | Where spawnbot_mission_sniper 70 | 71 | BeginAtWave 6 72 | RunForThisManyWaves 2 73 | CooldownTime 60 74 | InitialCooldown 15 75 | DesiredCount 2 76 | 77 | TFBot 78 | { 79 | Template T_TFBot_Sniper 80 | } 81 | } 82 | 83 | // MISSION: Spy 05-07 84 | Mission 85 | { 86 | Objective Spy 87 | 88 | Where spawnbot_mission_spy 89 | 90 | BeginAtWave 5 91 | RunForThisManyWaves 3 92 | CooldownTime 60 93 | InitialCooldown 30 94 | DesiredCount 2 95 | 96 | TFBot 97 | { 98 | Template T_TFBot_Spy 99 | } 100 | } 101 | 102 | // WAVE 01 400 103 | // Introduction 104 | Wave 105 | { 106 | WaitWhenDone 60 107 | Sound "Announcer.IncomingMob" 108 | //Checkpoint Yes 109 | 110 | StartWaveOutput 111 | { 112 | Target bombpath_arrows_clear_relay 113 | Action Trigger 114 | } 115 | 116 | DoneOutput 117 | { 118 | Target bombpath_wavefinished 119 | Action Trigger 120 | } 121 | 122 | WaveSpawn // Soldier Right 123 | { 124 | TotalCurrency 100 125 | 126 | Name "waveSoldierRight" 127 | 128 | Where spawnbot_right 129 | TotalCount 12 130 | SpawnCount 6 131 | MaxActive 10 132 | WaitBetweenSpawns 45 133 | WaitBeforeStarting 0 134 | 135 | TFBot 136 | { 137 | Class Soldier 138 | Skill Easy 139 | WeaponRestrictions PrimaryOnly 140 | } 141 | } 142 | 143 | WaveSpawn // Soldier Left 144 | { 145 | TotalCurrency 100 146 | 147 | Name "waveSoldierLeft" 148 | 149 | Where spawnbot_left 150 | TotalCount 12 151 | SpawnCount 6 152 | MaxActive 10 153 | WaitBetweenSpawns 45 154 | WaitBeforeStarting 30 155 | 156 | TFBot 157 | { 158 | Class Soldier 159 | Skill Easy 160 | WeaponRestrictions PrimaryOnly 161 | } 162 | } 163 | 164 | WaveSpawn // Scout 165 | { 166 | TotalCurrency 100 167 | 168 | Name "waveScout1" 169 | WaitForAllSpawned "waveSoldierLeft" 170 | 171 | Where spawnbot 172 | TotalCount 24 173 | SpawnCount 8 174 | MaxActive 12 175 | WaitBetweenSpawns 15 176 | WaitBeforeStarting 15 177 | 178 | TFBot 179 | { 180 | Class Scout 181 | Skill Easy 182 | WeaponRestrictions MeleeOnly 183 | } 184 | } 185 | 186 | WaveSpawn // Soldier 187 | { 188 | TotalCurrency 100 189 | 190 | WaitForAllSpawned "waveScout1" 191 | 192 | Where spawnbot 193 | TotalCount 24 194 | SpawnCount 6 195 | MaxActive 16 196 | WaitBetweenSpawns 30 197 | WaitBeforeStarting 0 198 | 199 | TFBot 200 | { 201 | Class Soldier 202 | Skill Easy 203 | WeaponRestrictions PrimaryOnly 204 | } 205 | } 206 | 207 | WaveSpawn // Scout 208 | { 209 | TotalCurrency 100 210 | 211 | WaitForAllSpawned "waveScout1" 212 | 213 | Where spawnbot 214 | TotalCount 16 215 | SpawnCount 4 216 | MaxActive 8 217 | WaitBetweenSpawns 15 218 | WaitBeforeStarting 30 219 | 220 | TFBot 221 | { 222 | Class Scout 223 | Skill Easy 224 | WeaponRestrictions MeleeOnly 225 | } 226 | } 227 | } 228 | 229 | // WAVE 02 400 230 | // Tank 231 | Wave 232 | { 233 | WaitWhenDone 60 234 | Sound "Announcer.IncomingMob" 235 | Checkpoint Yes 236 | 237 | StartWaveOutput 238 | { 239 | Target bombpath_arrows_clear_relay 240 | Action Trigger 241 | } 242 | 243 | DoneOutput 244 | { 245 | Target bombpath_wavefinished 246 | Action Trigger 247 | } 248 | 249 | WaveSpawn 250 | { 251 | TotalCurrency 300 252 | TotalCount 1 253 | 254 | Name "Tank1" 255 | 256 | Tank 257 | { 258 | Health 20000 259 | Speed 75 260 | Name "tankboss_left" 261 | StartingPathTrackNode "boss_path_1" 262 | 263 | OnBombDroppedOutput 264 | { 265 | Target boss_deploy_relay 266 | Action Trigger 267 | } 268 | } 269 | } 270 | 271 | WaveSpawn 272 | { 273 | TotalCurrency 100 274 | 275 | Where spawnbot_lower 276 | TotalCount 16 277 | SpawnCount 4 278 | MaxActive 16 279 | WaitBetweenSpawns 15 280 | WaitBeforeStarting 30 281 | 282 | TFBot 283 | { 284 | Class Pyro 285 | Skill Easy 286 | WeaponRestrictions PrimaryOnly 287 | } 288 | } 289 | } 290 | 291 | // WAVE 03 500 292 | // Demoman 293 | Wave 294 | { 295 | WaitWhenDone 60 296 | Sound "Announcer.IncomingMob" 297 | Checkpoint Yes 298 | 299 | StartWaveOutput 300 | { 301 | Target bombpath_arrows_clear_relay 302 | Action Trigger 303 | } 304 | 305 | DoneOutput 306 | { 307 | Target bombpath_wavefinished 308 | Action Trigger 309 | } 310 | 311 | WaveSpawn // Demoman 312 | { 313 | TotalCurrency 100 314 | 315 | Name "wave3_rush" 316 | 317 | Where spawnbot_left 318 | TotalCount 22 319 | SpawnCount 11 320 | MaxActive 22 321 | WaitBetweenSpawns 30 322 | WaitBeforeStarting 0 323 | 324 | TFBot 325 | { 326 | Class Demoman 327 | Skill Easy 328 | WeaponRestrictions PrimaryOnly 329 | } 330 | } 331 | 332 | WaveSpawn // Demoman 333 | { 334 | TotalCurrency 100 335 | 336 | WaitForAllSpawned "wave3_rush" 337 | 338 | Where spawnbot_right 339 | TotalCount 16 340 | SpawnCount 2 341 | MaxActive 8 342 | WaitBetweenSpawns 15 343 | WaitBeforeStarting 30 344 | 345 | TFBot 346 | { 347 | Class Demoman 348 | Skill Easy 349 | WeaponRestrictions PrimaryOnly 350 | } 351 | } 352 | 353 | WaveSpawn // Demoman 354 | { 355 | TotalCurrency 100 356 | 357 | WaitForAllSpawned "wave3_rush" 358 | 359 | Where spawnbot_left 360 | TotalCount 24 361 | SpawnCount 2 362 | MaxActive 8 363 | WaitBetweenSpawns 15 364 | WaitBeforeStarting 30 365 | 366 | TFBot 367 | { 368 | Class Demoman 369 | Skill Easy 370 | WeaponRestrictions PrimaryOnly 371 | } 372 | } 373 | 374 | WaveSpawn // Heavyweapons Bullet Sponge 375 | { 376 | TotalCurrency 200 377 | 378 | WaitForAllSpawned "wave3_rush" 379 | 380 | Where spawnbot 381 | TotalCount 12 382 | SpawnCount 2 383 | MaxActive 6 384 | WaitBetweenSpawns 20 385 | WaitBeforeStarting 60 386 | 387 | TFBot 388 | { 389 | Template T_TFBot_Heavyweapons_Fist 390 | } 391 | } 392 | } 393 | 394 | // WAVE 04 500 395 | // Giant Soldier 396 | Wave 397 | { 398 | WaitWhenDone 60 399 | Sound "Announcer.IncomingMob" 400 | Checkpoint Yes 401 | 402 | StartWaveOutput 403 | { 404 | Target bombpath_arrows_clear_relay 405 | Action Trigger 406 | } 407 | 408 | DoneOutput 409 | { 410 | Target bombpath_wavefinished 411 | Action Trigger 412 | } 413 | 414 | WaveSpawn // Giant Soldier 415 | { 416 | TotalCurrency 100 417 | 418 | Where spawnbot_left 419 | TotalCount 3 420 | SpawnCount 1 421 | MaxActive 3 422 | WaitBetweenSpawns 60 423 | WaitBeforeStarting 0 424 | 425 | TFBot 426 | { 427 | Template T_TFBot_Giant_Soldier 428 | } 429 | } 430 | 431 | WaveSpawn // Giant Soldier 432 | { 433 | TotalCurrency 300 434 | 435 | Where spawnbot_right 436 | TotalCount 3 437 | SpawnCount 1 438 | MaxActive 3 439 | WaitBetweenSpawns 60 440 | WaitBeforeStarting 0 441 | 442 | TFBot 443 | { 444 | Template T_TFBot_Giant_Soldier 445 | } 446 | } 447 | 448 | WaveSpawn // Pyro 449 | { 450 | TotalCurrency 100 451 | 452 | Where spawnbot_lower 453 | TotalCount 27 454 | SpawnCount 3 455 | MaxActive 12 456 | WaitBetweenSpawns 20 457 | WaitBeforeStarting 5 458 | 459 | TFBot 460 | { 461 | Class Pyro 462 | Skill Normal 463 | WeaponRestrictions PrimaryOnly 464 | } 465 | } 466 | } 467 | 468 | // WAVE 05 500 469 | // Baseball Scout 470 | Wave 471 | { 472 | WaitWhenDone 60 473 | Sound "Announcer.IncomingMob" 474 | Checkpoint Yes 475 | 476 | StartWaveOutput 477 | { 478 | Target bombpath_arrows_clear_relay 479 | Action Trigger 480 | } 481 | 482 | DoneOutput 483 | { 484 | Target bombpath_wavefinished 485 | Action Trigger 486 | } 487 | 488 | WaveSpawn 489 | { 490 | TotalCurrency 200 491 | 492 | Where spawnbot 493 | TotalCount 3 494 | SpawnCount 1 495 | MaxActive 3 496 | WaitBetweenSpawns 30 497 | WaitBeforeStarting 15 498 | 499 | TFBot 500 | { 501 | Template T_TFBot_Giant_Scout_Baseball 502 | } 503 | } 504 | 505 | WaveSpawn 506 | { 507 | TotalCurrency 200 508 | 509 | Where spawnbot 510 | TotalCount 18 511 | SpawnCount 8 512 | MaxActive 16 513 | WaitBetweenSpawns 20 514 | WaitBeforeStarting 0 515 | 516 | TFBot 517 | { 518 | Template T_TFBot_Heavyweapons_Fist 519 | } 520 | } 521 | 522 | WaveSpawn 523 | { 524 | TotalCurrency 100 525 | 526 | Where spawnbot 527 | TotalCount 32 528 | SpawnCount 6 529 | MaxActive 12 530 | WaitBetweenSpawns 30 531 | WaitBeforeStarting 60 532 | 533 | TFBot 534 | { 535 | Class Soldier 536 | Skill Easy 537 | WeaponRestrictions PrimaryOnly 538 | } 539 | } 540 | } 541 | 542 | // WAVE 06 600 543 | // Giant CritSoldier 544 | Wave 545 | { 546 | WaitWhenDone 60 547 | Sound "Announcer.IncomingMob" 548 | Checkpoint Yes 549 | 550 | StartWaveOutput 551 | { 552 | Target bombpath_arrows_clear_relay 553 | Action Trigger 554 | } 555 | 556 | DoneOutput 557 | { 558 | Target bombpath_wavefinished 559 | Action Trigger 560 | } 561 | 562 | WaveSpawn // MiniBoss CritSoldier 563 | { 564 | TotalCurrency 400 565 | 566 | Where spawnbot 567 | TotalCount 6 568 | SpawnCount 2 569 | MaxActive 4 570 | WaitBetweenSpawns 45 571 | 572 | Squad // Soldier + Medic 573 | { 574 | TFBot 575 | { 576 | Template T_TFBot_Giant_Soldier_Crit 577 | } 578 | 579 | TFBot 580 | { 581 | Template T_TFBot_Medic 582 | } 583 | } 584 | } 585 | 586 | WaveSpawn 587 | { 588 | TotalCurrency 200 589 | 590 | Where spawnbot_lower 591 | TotalCount 24 592 | SpawnCount 2 593 | MaxActive 6 594 | WaitBetweenSpawns 6 595 | WaitBeforeStarting 10 596 | 597 | TFBot 598 | { 599 | Class Pyro 600 | Skill Easy 601 | } 602 | } 603 | } 604 | 605 | // WAVE 07 600 606 | // Finale 607 | Wave 608 | { 609 | //WaitWhenDone 60 610 | Sound "Announcer.IncomingMob" 611 | Checkpoint Yes 612 | 613 | StartWaveOutput 614 | { 615 | Target bombpath_arrows_clear_relay 616 | Action Trigger 617 | } 618 | 619 | DoneOutput 620 | { 621 | Target bombpath_wavefinished 622 | Action Trigger 623 | } 624 | 625 | WaveSpawn 626 | { 627 | TotalCurrency 300 628 | TotalCount 1 629 | 630 | Tank 631 | { 632 | Health 22500 633 | Speed 75 634 | Name "tankboss_left" 635 | StartingPathTrackNode "boss_path_1" 636 | 637 | OnBombDroppedOutput 638 | { 639 | Target boss_deploy_relay 640 | Action Trigger 641 | } 642 | } 643 | } 644 | 645 | WaveSpawn 646 | { 647 | TotalCurrency 300 648 | TotalCount 1 649 | WaitBeforeStarting 30 650 | 651 | Tank 652 | { 653 | Health 22500 654 | Speed 75 655 | Name "tankboss_right" 656 | StartingPathTrackNode "boss_path2_1" 657 | 658 | OnBombDroppedOutput 659 | { 660 | Target boss_deploy_relay 661 | Action Trigger 662 | } 663 | } 664 | } 665 | 666 | WaveSpawn 667 | { 668 | TotalCurrency 0 669 | 670 | Where spawnbot_lower 671 | TotalCount 27 672 | SpawnCount 3 673 | MaxActive 12 674 | WaitBetweenSpawns 20 675 | WaitBeforeStarting 10 676 | 677 | Support 1 678 | 679 | TFBot 680 | { 681 | Class Pyro 682 | Skill Hard 683 | WeaponRestrictions PrimaryOnly 684 | } 685 | } 686 | } 687 | } -------------------------------------------------------------------------------- /population/mvm_mannworks_intermediate.pop: -------------------------------------------------------------------------------- 1 | // mvm_mannworks 2 | // advanced skill 3 | 4 | #base robot_giant.pop 5 | #base robot_standard.pop 6 | 7 | WaveSchedule 8 | { 9 | StartingCurrency 400 10 | CanBotsAttackWhileInSpawnRoom No 11 | RespawnWaveTime 7 12 | Advanced 1 13 | 14 | Templates 15 | { 16 | // blank 17 | } 18 | 19 | // MISSION: Sentry Buster 20 | Mission 21 | { 22 | Objective DestroySentries 23 | Where spawnbot 24 | CooldownTime 30 25 | 26 | TFBot 27 | { 28 | Template T_TFBot_SentryBuster 29 | } 30 | } 31 | 32 | // MISSION: Sniper 02 33 | Mission 34 | { 35 | Objective Sniper 36 | 37 | Where spawnbot_mission_sniper 38 | 39 | BeginAtWave 2 40 | RunForThisManyWaves 1 41 | CooldownTime 60 42 | InitialCooldown 120 43 | DesiredCount 1 44 | 45 | TFBot 46 | { 47 | Class Sniper 48 | Skill Hard 49 | MaxVisionRange 2500 50 | } 51 | } 52 | 53 | // MISSION: Sniper 04 54 | Mission 55 | { 56 | Objective Sniper 57 | 58 | Where spawnbot_mission_sniper 59 | 60 | BeginAtWave 4 61 | RunForThisManyWaves 1 62 | CooldownTime 60 63 | InitialCooldown 60 64 | DesiredCount 1 65 | 66 | TFBot 67 | { 68 | Class Sniper 69 | Skill Hard 70 | MaxVisionRange 2500 71 | } 72 | } 73 | 74 | // MISSION: Spy 06 75 | Mission 76 | { 77 | Objective Spy 78 | 79 | Where spawnbot_mission_spy // location for spawning when no space available 80 | 81 | BeginAtWave 6 82 | RunForThisManyWaves 1 83 | CooldownTime 40 84 | InitialCooldown 30 85 | DesiredCount 1 86 | 87 | TFBot 88 | { 89 | Class Spy 90 | Skill Expert 91 | } 92 | } 93 | 94 | // WAVE 01 700 95 | Wave 96 | { 97 | WaitWhenDone 60 98 | Sound "Announcer.IncomingMob" 99 | Checkpoint Yes 100 | 101 | StartWaveOutput 102 | { 103 | Target bombpath_arrows_clear_relay 104 | Action Trigger 105 | } 106 | 107 | DoneOutput 108 | { 109 | Target bombpath_wavefinished 110 | Action Trigger 111 | } 112 | WaveSpawn // Giant fist heavy 113 | { 114 | TotalCurrency 200 115 | 116 | Name "metalfistWave1" 117 | 118 | Where spawnbot 119 | TotalCount 8 120 | MaxActive 8 121 | SpawnCount 1 122 | WaitBetweenSpawns 12 123 | WaitBeforeStarting 0 124 | 125 | TFBot 126 | { 127 | Template T_TFBot_Heavyweapons_Fist 128 | } 129 | } 130 | WaveSpawn // Pyro 131 | { 132 | TotalCurrency 400 133 | 134 | Where spawnbot_lower 135 | TotalCount 48 136 | MaxActive 12 137 | SpawnCount 3 138 | WaitBetweenSpawns 3 139 | WaitBeforeStarting 15 140 | 141 | TFBot 142 | { 143 | Class Pyro 144 | Skill Easy 145 | WeaponRestrictions PrimaryOnly 146 | } 147 | } 148 | } 149 | // WAVE 02 700 150 | Wave 151 | { 152 | WaitWhenDone 60 153 | Sound "Announcer.IncomingMob" 154 | Checkpoint Yes 155 | 156 | StartWaveOutput 157 | { 158 | Target bombpath_arrows_clear_relay 159 | Action Trigger 160 | } 161 | 162 | DoneOutput 163 | { 164 | Target bombpath_wavefinished 165 | Action Trigger 166 | } 167 | WaveSpawn // 12 demomen 168 | { 169 | TotalCurrency 300 170 | 171 | Name "Wave2" 172 | 173 | Where spawnbot 174 | TotalCount 16 175 | MaxActive 16 176 | SpawnCount 4 177 | WaitBetweenSpawns 8 178 | WaitBeforeStarting 0 179 | 180 | TFBot 181 | { 182 | Class Demoman 183 | Skill Easy 184 | } 185 | } 186 | WaveSpawn // Giant pyro push 187 | { 188 | TotalCurrency 200 189 | 190 | Name "pyroWave2" 191 | 192 | Where spawnbot 193 | TotalCount 15 194 | MaxActive 10 195 | SpawnCount 5 196 | WaitBetweenSpawns 12 197 | WaitBeforeStarting 20 198 | 199 | 200 | Squad 201 | { 202 | FormationSize 250 203 | TFBot 204 | { 205 | Template T_TFBot_Giant_Pyro 206 | Attributes AlwaysFireWeapon 207 | } 208 | TFBot 209 | { 210 | Class Pyro 211 | Skill Easy 212 | WeaponRestrictions "SecondaryOnly" 213 | Item "The Detonator" 214 | ItemAttributes 215 | { 216 | ItemName "The Detonator" 217 | "fire rate bonus" 0.4 218 | "Reload time decreased" 0.2 219 | } 220 | } 221 | TFBot 222 | { 223 | Class Pyro 224 | Skill Easy 225 | WeaponRestrictions "SecondaryOnly" 226 | Item "The Detonator" 227 | ItemAttributes 228 | { 229 | ItemName "The Detonator" 230 | "fire rate bonus" 0.4 231 | "Reload time decreased" 0.2 232 | } 233 | } 234 | TFBot 235 | { 236 | Class Pyro 237 | Skill Easy 238 | WeaponRestrictions "SecondaryOnly" 239 | Item "The Detonator" 240 | ItemAttributes 241 | { 242 | ItemName "The Detonator" 243 | "fire rate bonus" 0.4 244 | "Reload time decreased" 0.2 245 | } 246 | } 247 | TFBot 248 | { 249 | Class Pyro 250 | Skill Easy 251 | WeaponRestrictions "SecondaryOnly" 252 | Item "The Detonator" 253 | ItemAttributes 254 | { 255 | ItemName "The Detonator" 256 | "fire rate bonus" 0.4 257 | "Reload time decreased" 0.2 258 | } 259 | } 260 | } 261 | } 262 | WaveSpawn // 40 scouts 263 | { 264 | TotalCurrency 100 265 | 266 | Name "Wave2" 267 | WaitForAllSpawned "pyroWave2" 268 | Where spawnbot 269 | TotalCount 40 270 | MaxActive 10 271 | SpawnCount 5 272 | WaitBetweenSpawns 1 273 | WaitBeforeStarting 28 274 | 275 | TFBot 276 | { 277 | Class Scout 278 | ItemAttributes 279 | { 280 | ItemName "TF_WEAPON_SCATTERGUN" 281 | "fire rate penalty" 3 282 | } 283 | } 284 | } 285 | WaveSpawn // 12 demomen 286 | { 287 | TotalCurrency 200 288 | 289 | Name "Wave2" 290 | WaitForAllSpawned "pyroWave2" 291 | Where spawnbot 292 | TotalCount 12 293 | MaxActive 6 294 | SpawnCount 1 295 | WaitBetweenSpawns 6 296 | WaitBeforeStarting 28 297 | 298 | TFBot 299 | { 300 | Class Demoman 301 | Skill Easy 302 | } 303 | } 304 | } 305 | // WAVE 03 750 306 | Wave 307 | { 308 | WaitWhenDone 60 309 | Sound "Announcer.IncomingMob" 310 | Checkpoint Yes 311 | 312 | StartWaveOutput 313 | { 314 | Target bombpath_arrows_clear_relay 315 | Action Trigger 316 | } 317 | 318 | DoneOutput 319 | { 320 | Target bombpath_wavefinished 321 | Action Trigger 322 | } 323 | WaveSpawn // tank 324 | { 325 | TotalCurrency 100 326 | TotalCount 1 327 | 328 | Tank 329 | { 330 | Health 26000 331 | Speed 75 332 | Name "tankboss_left" 333 | StartingPathTrackNode "boss_path_1" 334 | 335 | OnBombDroppedOutput 336 | { 337 | Target boss_deploy_relay 338 | Action Trigger 339 | } 340 | } 341 | } 342 | WaveSpawn // 30 Heavyweapons 343 | { 344 | TotalCurrency 200 345 | 346 | Name "heavyweaponsWave3" 347 | 348 | Where spawnbot 349 | TotalCount 24 350 | MaxActive 12 351 | SpawnCount 6 352 | WaitBetweenSpawns 13 353 | WaitBeforeStarting 20 354 | 355 | TFBot 356 | { 357 | Class Heavyweapons 358 | Skill Easy 359 | } 360 | } 361 | WaveSpawn // 24 Demoknight 362 | { 363 | TotalCurrency 250 364 | 365 | Name "Wave3" 366 | WaitForAllSpawned "heavyweaponsWave3" 367 | Where spawnbot 368 | TotalCount 24 369 | MaxActive 6 370 | SpawnCount 1 371 | WaitBetweenSpawns 1 372 | WaitBeforeStarting 30 373 | 374 | TFBot 375 | { 376 | Template T_TFBot_Demoman_Knight 377 | } 378 | } 379 | WaveSpawn // 30 Huntsman 380 | { 381 | TotalCurrency 200 382 | 383 | Name "Wave3" 384 | WaitForAllSpawned "heavyweaponsWave3" 385 | Where spawnbot 386 | TotalCount 30 387 | MaxActive 8 388 | SpawnCount 2 389 | WaitBetweenSpawns 1 390 | WaitBeforeStarting 36 391 | 392 | TFBot 393 | { 394 | Template T_TFBot_Sniper_Huntsman 395 | } 396 | } 397 | 398 | } 399 | // WAVE 04 700 400 | Wave 401 | { 402 | WaitWhenDone 60 403 | Sound "Announcer.IncomingMob" 404 | Checkpoint Yes 405 | 406 | StartWaveOutput 407 | { 408 | Target bombpath_arrows_clear_relay 409 | Action Trigger 410 | } 411 | 412 | DoneOutput 413 | { 414 | Target bombpath_wavefinished 415 | Action Trigger 416 | } 417 | WaveSpawn // 3 Baseball Scouts 418 | { 419 | TotalCurrency 200 420 | 421 | Name "baseballWave4" 422 | 423 | Where spawnbot 424 | TotalCount 3 425 | MaxActive 3 426 | SpawnCount 1 427 | WaitBetweenSpawns 24 428 | WaitBeforeStarting 0 429 | 430 | TFBot 431 | { 432 | Template T_TFBot_Giant_Scout_Baseball 433 | } 434 | } 435 | WaveSpawn // 26 heavy punchers 436 | { 437 | TotalCurrency 200 438 | 439 | Name "champsWave4" 440 | 441 | Where spawnbot 442 | TotalCount 26 443 | MaxActive 10 444 | SpawnCount 2 445 | WaitBetweenSpawns 2 446 | WaitBeforeStarting 12 447 | 448 | TFBot 449 | { 450 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 451 | } 452 | } 453 | WaveSpawn // 1 Giant soldiers 454 | { 455 | TotalCurrency 100 456 | 457 | Name "Wave4" 458 | WaitForAllSpawned "baseballWave4" 459 | Where spawnbot 460 | TotalCount 1 461 | MaxActive 1 462 | SpawnCount 1 463 | WaitBetweenSpawns 0 464 | WaitBeforeStarting 30 465 | 466 | TFBot 467 | { 468 | Template T_TFBot_Giant_Soldier_Spammer 469 | } 470 | 471 | } 472 | WaveSpawn // 16 heavy punchers 473 | { 474 | TotalCurrency 200 475 | 476 | Name "Wave4" 477 | WaitForAllSpawned "champsWave4" 478 | Where spawnbot 479 | TotalCount 26 480 | MaxActive 10 481 | SpawnCount 2 482 | WaitBetweenSpawns 2 483 | WaitBeforeStarting 12 484 | 485 | TFBot 486 | { 487 | Template T_TFBot_Heavyweapons_Heavyweight_Champ 488 | } 489 | } 490 | } 491 | // WAVE 05 850 492 | Wave 493 | { 494 | WaitWhenDone 60 495 | Sound "Announcer.IncomingMob" 496 | Checkpoint Yes 497 | 498 | StartWaveOutput 499 | { 500 | Target bombpath_arrows_clear_relay 501 | Action Trigger 502 | } 503 | 504 | DoneOutput 505 | { 506 | Target bombpath_wavefinished 507 | Action Trigger 508 | } 509 | WaveSpawn // Tank 1 510 | { 511 | TotalCurrency 150 512 | TotalCount 1 513 | WaitBeforeStarting 0 514 | 515 | Name "stage1" 516 | 517 | Tank 518 | { 519 | Health 14000 520 | Speed 75 521 | Name "tankboss_right" 522 | StartingPathTrackNode "boss_path2_1" 523 | 524 | OnBombDroppedOutput 525 | { 526 | Target boss_deploy_relay 527 | Action Trigger 528 | } 529 | } 530 | } 531 | WaveSpawn // Tank 2 532 | { 533 | TotalCurrency 150 534 | TotalCount 1 535 | WaitBeforeStarting 0 536 | 537 | Name "stage1" 538 | 539 | Tank 540 | { 541 | Health 14000 542 | Speed 75 543 | Name "tankboss_left" 544 | StartingPathTrackNode "boss_path_1" 545 | 546 | OnBombDroppedOutput 547 | { 548 | Target boss_deploy_relay 549 | Action Trigger 550 | } 551 | } 552 | } 553 | WaveSpawn // 2 giant demo spammers + uber 554 | { 555 | TotalCurrency 100 556 | 557 | Name "Wave5" 558 | 559 | Where spawnbot 560 | TotalCount 4 561 | MaxActive 4 562 | SpawnCount 2 563 | WaitBetweenSpawns 8 564 | WaitBeforeStarting 85 565 | 566 | Squad 567 | { 568 | TFBot 569 | { 570 | Template T_TFBot_Giant_Demoman 571 | } 572 | TFBot 573 | { 574 | Template T_TFBot_Medic_BigHeal 575 | } 576 | } 577 | } 578 | WaveSpawn // 28 scouts in 14 man rush groups 579 | { 580 | TotalCurrency 100 581 | 582 | Name "scoutsWave5" 583 | 584 | Where spawnbot 585 | TotalCount 56 586 | MaxActive 14 587 | SpawnCount 14 588 | WaitBetweenSpawns 0 589 | WaitBeforeStarting 38 590 | 591 | RandomChoice 592 | { 593 | TFBot 594 | { 595 | Template T_TFBot_Scout_Melee 596 | } 597 | TFBot 598 | { 599 | Template T_TFBot_Scout_Melee 600 | } 601 | TFBot 602 | { 603 | Template T_TFBot_Scout_Melee 604 | } 605 | TFBot 606 | { 607 | Class Scout 608 | Skill Easy 609 | } 610 | } 611 | } 612 | WaveSpawn // 16 pyros 613 | { 614 | TotalCurrency 200 615 | 616 | Name "Wave5" 617 | 618 | Where spawnbot 619 | TotalCount 16 620 | MaxActive 4 621 | SpawnCount 4 622 | WaitBetweenSpawns 0 623 | WaitBeforeStarting 48 624 | 625 | RandomChoice 626 | { 627 | TFBot 628 | { 629 | Class Pyro 630 | Skill Easy 631 | } 632 | TFBot 633 | { 634 | Class Pyro 635 | Skill Easy 636 | } 637 | } 638 | } 639 | WaveSpawn // 1 giant demo spammer 640 | { 641 | TotalCurrency 250 642 | 643 | Name "Wave5" 644 | WaitForAllSpawned "scoutsWave5" 645 | Where spawnbot 646 | TotalCount 1 647 | MaxActive 1 648 | SpawnCount 1 649 | WaitBetweenSpawns 0 650 | WaitBeforeStarting 0 651 | 652 | TFBot 653 | { 654 | Template T_TFBot_Giant_Demoman 655 | } 656 | } 657 | } 658 | // WAVE 06 700 659 | Wave 660 | { 661 | WaitWhenDone 60 662 | Sound "Announcer.IncomingMob" 663 | Checkpoint Yes 664 | 665 | StartWaveOutput 666 | { 667 | Target bombpath_arrows_clear_relay 668 | Action Trigger 669 | } 670 | 671 | DoneOutput 672 | { 673 | Target bombpath_wavefinished 674 | Action Trigger 675 | } 676 | WaveSpawn // 48 Pyro 677 | { 678 | TotalCurrency 100 679 | 680 | Name "pyroWave6" 681 | 682 | Where spawnbot 683 | TotalCount 48 684 | MaxActive 12 685 | SpawnCount 1 686 | WaitBetweenSpawns 0.4 687 | WaitBeforeStarting 0 688 | 689 | TFBot 690 | { 691 | Class Pyro 692 | Skill Easy 693 | } 694 | } 695 | WaveSpawn // Heavy + 4 soldier squad 696 | { 697 | TotalCurrency 200 698 | 699 | Name "giantsquadWave6" 700 | 701 | Where spawnbot 702 | TotalCount 5 703 | MaxActive 5 704 | SpawnCount 5 705 | WaitBetweenSpawns 2 706 | WaitBeforeStarting 2 707 | 708 | Squad 709 | { 710 | FormationSize 200 711 | TFBot 712 | { 713 | Template T_TFBot_Giant_Heavyweapons 714 | } 715 | TFBot 716 | { 717 | Template T_TFBot_Giant_Soldier 718 | } 719 | TFBot 720 | { 721 | Template T_TFBot_Giant_Soldier 722 | } 723 | TFBot 724 | { 725 | Template T_TFBot_Giant_Soldier 726 | } 727 | TFBot 728 | { 729 | Template T_TFBot_Giant_Soldier 730 | } 731 | } 732 | } 733 | WaveSpawn // 32 Heavy 734 | { 735 | TotalCurrency 200 736 | 737 | Name "heavyWave6" 738 | WaitForAllSpawned "pyroWave6" 739 | Where spawnbot 740 | TotalCount 32 741 | MaxActive 12 742 | SpawnCount 4 743 | WaitBetweenSpawns 3 744 | WaitBeforeStarting 60 745 | 746 | TFBot 747 | { 748 | Class Heavyweapons 749 | Skill Easy 750 | } 751 | } 752 | WaveSpawn // 3 soldier squad giants 753 | { 754 | TotalCurrency 100 755 | 756 | Name "giantsquadWave6b" 757 | Where spawnbot 758 | TotalCount 3 759 | MaxActive 3 760 | SpawnCount 1 761 | WaitBetweenSpawns 6 762 | WaitBeforeStarting 2 763 | WaitForAllSpawned "heavyWave6" 764 | 765 | TFBot 766 | { 767 | Template T_TFBot_Giant_Soldier 768 | } 769 | } 770 | WaveSpawn // 2 spammer soldiers 771 | { 772 | TotalCurrency 100 773 | 774 | Name "giantsquadRapidWave6b" 775 | Where spawnbot 776 | TotalCount 2 777 | MaxActive 2 778 | SpawnCount 1 779 | WaitBetweenSpawns 10 780 | WaitBeforeStarting 10 781 | WaitForAllSpawned "giantsquadWave6b" 782 | 783 | TFBot 784 | { 785 | Template T_TFBot_Giant_Soldier_Spammer 786 | } 787 | } 788 | WaveSpawn // support scouts 789 | { 790 | TotalCurrency 0 791 | 792 | Name "Wave6" 793 | Where spawnbot 794 | TotalCount 100 795 | MaxActive 4 796 | SpawnCount 2 797 | WaitBetweenSpawns 2 798 | WaitBeforeStarting 0 799 | 800 | Support 1 801 | 802 | TFBot 803 | { 804 | Template T_TFBot_Scout_Melee 805 | } 806 | } 807 | } 808 | } 809 | -------------------------------------------------------------------------------- /population/mvm_mannworks_ironman.pop: -------------------------------------------------------------------------------- 1 | // mvm_mannworks 2 | // advanced skill 3 | // ironman - increased spawn time 4 | // - longer waves 5 | // - bomb can reset mid wave via timeout (controled via trigger_relay in map) 6 | 7 | #base robot_giant.pop 8 | #base robot_standard.pop 9 | 10 | WaveSchedule 11 | { 12 | StartingCurrency 1000 13 | CanBotsAttackWhileInSpawnRoom No 14 | RespawnWaveTime 8 15 | FixedRespawnWaveTime Yes // normal respawn time scaling is supressed for ironman 16 | Advanced 1 17 | 18 | // MISSION: Sentry Buster 19 | Mission 20 | { 21 | Objective DestroySentries 22 | Where spawnbot 23 | CooldownTime 30 24 | 25 | TFBot 26 | { 27 | Template T_TFBot_SentryBuster 28 | } 29 | } 30 | 31 | // MISSION: Sniper 02 32 | Mission 33 | { 34 | Objective Sniper 35 | 36 | Where spawnbot_mission_sniper 37 | 38 | BeginAtWave 2 39 | RunForThisManyWaves 1 40 | CooldownTime 60 41 | InitialCooldown 30 42 | DesiredCount 2 43 | 44 | TFBot 45 | { 46 | Template T_TFBot_Sniper 47 | } 48 | } 49 | 50 | // MISSION: Sniper 03 51 | Mission 52 | { 53 | Objective Sniper 54 | 55 | Where spawnbot_mission_sniper 56 | 57 | BeginAtWave 3 58 | RunForThisManyWaves 1 59 | CooldownTime 60 60 | InitialCooldown 15 61 | DesiredCount 3 62 | 63 | TFBot 64 | { 65 | Template T_TFBot_Sniper_Razorback 66 | } 67 | } 68 | 69 | // MISSION: Spy 01 70 | Mission 71 | { 72 | Objective Spy 73 | 74 | Where spawnbot_mission_spy 75 | 76 | BeginAtWave 2 77 | RunForThisManyWaves 1 78 | CooldownTime 60 79 | InitialCooldown 60 80 | DesiredCount 3 81 | 82 | TFBot 83 | { 84 | Template T_TFBot_Spy 85 | } 86 | } 87 | 88 | // MISSION: Spy 03 89 | Mission 90 | { 91 | Objective Spy 92 | 93 | Where spawnbot_mission_spy 94 | 95 | BeginAtWave 3 96 | RunForThisManyWaves 1 97 | CooldownTime 60 98 | InitialCooldown 60 99 | DesiredCount 3 100 | 101 | TFBot 102 | { 103 | Template T_TFBot_Spy 104 | } 105 | } 106 | 107 | // WAVE 01 1200 108 | Wave 109 | { 110 | WaitWhenDone 60 111 | Sound "Announcer.IncomingMob" 112 | Checkpoint Yes 113 | 114 | StartWaveOutput 115 | { 116 | Target bombpath_arrows_clear_relay_ironman 117 | Action Trigger 118 | } 119 | 120 | DoneOutput 121 | { 122 | Target bombpath_wavefinished 123 | Action Trigger 124 | } 125 | 126 | // BEGIN STAGE 1 127 | 128 | WaveSpawn // Soldier 129 | { 130 | TotalCurrency 200 131 | 132 | Name "stage1" 133 | 134 | Where spawnbot 135 | TotalCount 18 136 | SpawnCount 3 137 | MaxActive 9 138 | WaitBetweenSpawns 30 139 | WaitBeforeStarting 0 140 | 141 | TFBot 142 | { 143 | Class Soldier 144 | Skill Hard 145 | WeaponRestrictions PrimaryOnly 146 | //Item "The Direct Hit" 147 | } 148 | } 149 | 150 | WaveSpawn // Pyro 151 | { 152 | TotalCurrency 100 153 | 154 | Name "stage1" 155 | 156 | Where spawnbot 157 | TotalCount 12 158 | SpawnCount 2 159 | MaxActive 4 160 | WaitBetweenSpawns 20 161 | WaitBeforeStarting 30 162 | 163 | RandomSpawn 1 //randomize distribution 164 | 165 | TFBot 166 | { 167 | Class Pyro 168 | Skill Expert 169 | WeaponRestrictions PrimaryOnly 170 | } 171 | } 172 | 173 | WaveSpawn // Heavyweapons Fists 174 | { 175 | TotalCurrency 100 176 | 177 | Name "stage1" 178 | 179 | Where spawnbot 180 | TotalCount 12 181 | SpawnCount 3 182 | MaxActive 8 183 | WaitBetweenSpawns 30 184 | WaitBeforeStarting 0 185 | 186 | TFBot 187 | { 188 | Template T_TFBot_Heavyweapons_Fist 189 | } 190 | } 191 | 192 | WaveSpawn // Giant Heavyweapons 193 | { 194 | TotalCurrency 100 195 | 196 | Name "stage1b" 197 | WaitForAllSpawned "stage1" 198 | 199 | Where spawnbot 200 | TotalCount 2 201 | SpawnCount 1 202 | MaxActive 2 203 | WaitBetweenSpawns 30 204 | WaitBeforeStarting 30 205 | 206 | TFBot 207 | { 208 | Template T_TFBot_Giant_Heavyweapons 209 | } 210 | } 211 | 212 | WaveSpawn // Pyro 213 | { 214 | TotalCurrency 100 215 | 216 | Name "stage1b" 217 | WaitForAllSpawned "stage1" 218 | 219 | Where spawnbot 220 | TotalCount 12 221 | SpawnCount 4 222 | //MaxActive 8 223 | WaitBetweenSpawns 15 224 | WaitBeforeStarting 30 225 | 226 | RandomSpawn 1 //randomize distribution 227 | 228 | TFBot 229 | { 230 | Class Pyro 231 | Skill Expert 232 | WeaponRestrictions PrimaryOnly 233 | } 234 | } 235 | 236 | // BEGIN STAGE 2 237 | 238 | WaveSpawn 239 | { 240 | TotalCurrency 100 241 | 242 | Name "stage2" 243 | WaitForAllSpawned "stage1b" 244 | 245 | Where spawnbot 246 | TotalCount 24 247 | SpawnCount 8 248 | MaxActive 22 249 | WaitBetweenSpawns 30 250 | WaitBeforeStarting 60 251 | 252 | TFBot 253 | { 254 | Template T_TFBot_Demoman_Knight 255 | } 256 | } 257 | 258 | WaveSpawn 259 | { 260 | TotalCurrency 200 261 | 262 | TotalCount 1 263 | WaitBeforeStarting 90 264 | 265 | Name "stage2" 266 | WaitForAllSpawned "stage1b" 267 | 268 | Tank 269 | { 270 | Health 18000 271 | Speed 75 272 | Name "tankboss_left" 273 | StartingPathTrackNode "boss_path_1" 274 | 275 | OnBombDroppedOutput 276 | { 277 | Target boss_deploy_relay 278 | Action Trigger 279 | } 280 | } 281 | } 282 | 283 | WaveSpawn 284 | { 285 | TotalCurrency 200 286 | 287 | TotalCount 1 288 | WaitBeforeStarting 90 289 | 290 | Name "stage2" 291 | WaitForAllSpawned "stage1b" 292 | 293 | Tank 294 | { 295 | Health 18000 296 | Speed 75 297 | Name "tankboss_right" 298 | StartingPathTrackNode "boss_path2_1" 299 | 300 | OnBombDroppedOutput 301 | { 302 | Target boss_deploy_relay 303 | Action Trigger 304 | } 305 | } 306 | } 307 | } 308 | 309 | // WAVE 02 1600 310 | Wave 311 | { 312 | WaitWhenDone 60 313 | Sound "Announcer.IncomingMob" 314 | Checkpoint Yes 315 | 316 | StartWaveOutput 317 | { 318 | Target bombpath_arrows_clear_relay_ironman 319 | Action Trigger 320 | } 321 | 322 | DoneOutput 323 | { 324 | Target bombpath_wavefinished 325 | Action Trigger 326 | } 327 | 328 | WaveSpawn // Rapid Fire Demoman (Left) 329 | { 330 | TotalCurrency 300 331 | 332 | Name "stage1" 333 | 334 | Where spawnbot_left 335 | TotalCount 5 336 | SpawnCount 1 337 | MaxActive 2 338 | WaitBetweenSpawns 30 339 | WaitBeforeStarting 0 340 | 341 | TFBot 342 | { 343 | Template T_TFBot_Giant_Demo_RapidFire 344 | } 345 | } 346 | 347 | WaveSpawn // Rapid Fire Demoman (Right) 348 | { 349 | TotalCurrency 300 350 | 351 | Name "stage1" 352 | 353 | Where spawnbot_right 354 | TotalCount 5 355 | SpawnCount 1 356 | MaxActive 2 357 | WaitBetweenSpawns 30 358 | WaitBeforeStarting 0 359 | 360 | TFBot 361 | { 362 | Template T_TFBot_Giant_Demo_RapidFire 363 | } 364 | } 365 | 366 | WaveSpawn // Pyro 367 | { 368 | TotalCurrency 100 369 | 370 | Name "stage1" 371 | 372 | Where spawnbot 373 | TotalCount 40 374 | SpawnCount 4 375 | MaxActive 8 376 | WaitBetweenSpawns 15 377 | WaitBeforeStarting 5 378 | 379 | RandomSpawn 1 //randomize distribution 380 | 381 | TFBot 382 | { 383 | Class Pyro 384 | Skill Easy 385 | WeaponRestrictions PrimaryOnly 386 | } 387 | } 388 | 389 | WaveSpawn // Baseball Scout 390 | { 391 | TotalCurrency 200 392 | 393 | Name "stage1" 394 | 395 | Where spawnbot 396 | TotalCount 12 397 | SpawnCount 3 398 | MaxActive 6 399 | WaitBetweenSpawns 20 400 | WaitBeforeStarting 60 401 | 402 | TFBot 403 | { 404 | Template T_TFBot_Scout_Sandman 405 | } 406 | } 407 | 408 | // BEGIN STAGE 2 409 | 410 | WaveSpawn // Sniper Huntsman 411 | { 412 | TotalCurrency 100 413 | 414 | Name "stage2" 415 | WaitForAllSpawned "stage1" 416 | 417 | Where spawnbot 418 | TotalCount 40 419 | SpawnCount 8 420 | MaxActive 18 421 | WaitBetweenSpawns 20 422 | WaitBeforeStarting 90 423 | 424 | TFBot 425 | { 426 | Template T_TFBot_Sniper_Huntsman 427 | } 428 | } 429 | 430 | // WaveSpawn 431 | // { 432 | // TotalCurrency 100 433 | 434 | // Name "stage2" 435 | // WaitForAllSpawned "stage1" 436 | 437 | // Where spawnbot 438 | // TotalCount 12 439 | // SpawnCount 4 440 | // MaxActive 12 441 | // WaitBetweenSpawns 10 442 | // WaitBeforeStarting 60 443 | 444 | // TFBot 445 | // { 446 | // Template T_TFBot_Heavyweapons_Fist 447 | // } 448 | // } 449 | 450 | WaveSpawn // Pyro 451 | { 452 | TotalCurrency 100 453 | 454 | Name "stage2" 455 | WaitForAllSpawned "stage1" 456 | 457 | Where spawnbot 458 | TotalCount 6 459 | SpawnCount 2 460 | MaxActive 4 461 | WaitBetweenSpawns 20 462 | WaitBeforeStarting 90 463 | 464 | RandomSpawn 1 //randomize distribution 465 | 466 | TFBot 467 | { 468 | Class Pyro 469 | Skill Expert 470 | WeaponRestrictions PrimaryOnly 471 | } 472 | } 473 | 474 | WaveSpawn // Giant Pyro 475 | { 476 | TotalCurrency 200 477 | 478 | Name "stage2" 479 | WaitForAllSpawned "stage1" 480 | 481 | Where spawnbot 482 | TotalCount 3 483 | SpawnCount 1 484 | //MaxActive 15 485 | WaitBetweenSpawns 15 486 | WaitBeforeStarting 120 487 | 488 | TFBot 489 | { 490 | Template T_TFBot_Giant_Pyro 491 | } 492 | } 493 | 494 | // BEGIN STAGE 3 495 | 496 | WaveSpawn // Sniper Huntsman 497 | { 498 | TotalCurrency 100 499 | 500 | Name "stage3" 501 | WaitForAllSpawned "stage2" 502 | 503 | Where spawnbot 504 | TotalCount 15 505 | SpawnCount 15 506 | //MaxActive 15 507 | WaitBetweenSpawns 0 508 | WaitBeforeStarting 60 509 | 510 | TFBot 511 | { 512 | Template T_TFBot_Sniper_Huntsman 513 | } 514 | } 515 | 516 | WaveSpawn // Giant Pyro 517 | { 518 | TotalCurrency 200 519 | 520 | Name "stage3" 521 | WaitForAllSpawned "stage2" 522 | 523 | Where spawnbot 524 | TotalCount 12 525 | SpawnCount 4 526 | //MaxActive 15 527 | WaitBetweenSpawns 15 528 | WaitBeforeStarting 60 529 | 530 | Squad 531 | { 532 | TFBot 533 | { 534 | Template T_TFBot_Giant_Pyro 535 | } 536 | 537 | TFBot 538 | { 539 | Template T_TFBot_Medic 540 | } 541 | 542 | TFBot 543 | { 544 | Template T_TFBot_Medic 545 | } 546 | 547 | TFBot 548 | { 549 | Template T_TFBot_Medic 550 | } 551 | } 552 | } 553 | } 554 | 555 | // WAVE 03 1600 556 | Wave 557 | { 558 | WaitWhenDone 60 559 | Sound "Announcer.IncomingMob" 560 | Checkpoint Yes 561 | 562 | StartWaveOutput 563 | { 564 | Target bombpath_arrows_clear_relay_ironman 565 | Action Trigger 566 | } 567 | 568 | // DoneOutput 569 | // { 570 | // Target bombpath_wavefinished 571 | // Action Trigger 572 | // } 573 | 574 | // BEGIN STAGE 1 575 | 576 | WaveSpawn // Pyro or Pyro Axtinguisher 577 | { 578 | TotalCurrency 100 579 | 580 | Name "stage1" 581 | 582 | Where spawnbot 583 | TotalCount 36 584 | SpawnCount 12 585 | MaxActive 16 586 | WaitBetweenSpawns 30 587 | WaitBeforeStarting 0 588 | 589 | TFBot 590 | { 591 | Class Pyro 592 | Skill Easy 593 | WeaponRestrictions PrimaryOnly 594 | } 595 | } 596 | 597 | WaveSpawn // Giant Soldier 598 | { 599 | TotalCurrency 300 600 | 601 | Name "stage1" 602 | 603 | Where spawnbot 604 | TotalCount 9 605 | SpawnCount 3 606 | //MaxActive 3 607 | WaitBetweenSpawns 30 608 | WaitBeforeStarting 0 609 | 610 | RandomSpawn 1 //randomize distribution 611 | 612 | Squad 613 | { 614 | TFBot 615 | { 616 | Template T_TFBot_Giant_Soldier_Spammer 617 | } 618 | 619 | TFBot 620 | { 621 | Template T_TFBot_Medic 622 | } 623 | 624 | TFBot 625 | { 626 | Template T_TFBot_Medic 627 | } 628 | } 629 | } 630 | 631 | // BEGIN STAGE 2 632 | 633 | WaveSpawn // Heavyweapons 634 | { 635 | TotalCurrency 200 636 | 637 | Name "stage2" 638 | WaitForAllSpawned "stage1" 639 | 640 | Where spawnbot 641 | TotalCount 20 642 | SpawnCount 5 643 | MaxActive 10 644 | WaitBetweenSpawns 30 645 | WaitBeforeStarting 30 646 | 647 | TFBot 648 | { 649 | Class Heavyweapons 650 | Skill Hard 651 | WeaponRestrictions PrimaryOnly 652 | } 653 | } 654 | 655 | WaveSpawn // Pyro 656 | { 657 | TotalCurrency 100 658 | 659 | Name "stage2" 660 | WaitForAllSpawned "stage1" 661 | 662 | Where spawnbot 663 | TotalCount 8 664 | SpawnCount 3 665 | MaxActive 6 666 | WaitBetweenSpawns 30 667 | WaitBeforeStarting 60 668 | 669 | RandomSpawn 1 //randomize distribution 670 | 671 | TFBot 672 | { 673 | Class Pyro 674 | Skill Expert 675 | WeaponRestrictions PrimaryOnly 676 | } 677 | } 678 | 679 | // STAGE 3 BEGIN 680 | 681 | WaveSpawn // Scout 682 | { 683 | TotalCurrency 100 684 | 685 | Name "stage3" 686 | WaitForAllSpawned "stage2" 687 | 688 | Where spawnbot_lower 689 | TotalCount 30 690 | SpawnCount 15 691 | MaxActive 22 692 | WaitBetweenSpawns 30 693 | WaitBeforeStarting 40 694 | 695 | TFBot 696 | { 697 | Template T_TFBot_Scout_Melee 698 | } 699 | } 700 | 701 | // STAGE 4 BEGIN 702 | 703 | WaveSpawn 704 | { 705 | TotalCurrency 100 706 | 707 | Name "stage4" 708 | WaitForAllSpawned "stage3" 709 | 710 | TotalCount 1 711 | WaitBeforeStarting 30 712 | 713 | Tank 714 | { 715 | Health 20000 716 | Speed 75 717 | Name "tankboss_left" 718 | StartingPathTrackNode "boss_path1" 719 | 720 | OnBombDroppedOutput 721 | { 722 | Target boss_deploy_relay 723 | Action Trigger 724 | } 725 | } 726 | } 727 | 728 | WaveSpawn 729 | { 730 | TotalCurrency 100 731 | 732 | Name "stage4" 733 | WaitForAllSpawned "stage3" 734 | 735 | TotalCount 1 736 | WaitBeforeStarting 30 737 | 738 | Tank 739 | { 740 | Health 20000 741 | Speed 75 742 | Name "tankboss_right" 743 | StartingPathTrackNode "boss_path2_1" 744 | 745 | OnBombDroppedOutput 746 | { 747 | Target boss_deploy_relay 748 | Action Trigger 749 | } 750 | } 751 | } 752 | 753 | // STAGE 5 BEGIN 754 | 755 | WaveSpawn // Scout 756 | { 757 | TotalCurrency 200 758 | 759 | Name "stage5" 760 | WaitForAllSpawned "stage4" 761 | 762 | Where spawnbot 763 | TotalCount 30 764 | SpawnCount 6 765 | MaxActive 12 766 | WaitBetweenSpawns 30 767 | WaitBeforeStarting 120 768 | 769 | Support 1 // Push bomb while Heavyweapons are active 770 | 771 | TFBot 772 | { 773 | Template T_TFBot_Scout_Sandman 774 | } 775 | } 776 | 777 | WaveSpawn // Giant Heavyweapons 778 | { 779 | TotalCurrency 0 780 | 781 | Name "stage5" 782 | WaitForAllSpawned "stage4" 783 | 784 | Where spawnbot_left 785 | TotalCount 8 786 | SpawnCount 4 787 | //MaxActive 2 788 | WaitBetweenSpawns 35 789 | WaitBeforeStarting 90 790 | 791 | Squad 792 | { 793 | TFBot 794 | { 795 | Template T_TFBot_Giant_Heavyweapons 796 | } 797 | 798 | TFBot 799 | { 800 | Template T_TFBot_Medic 801 | } 802 | 803 | TFBot 804 | { 805 | Template T_TFBot_Medic 806 | } 807 | 808 | TFBot 809 | { 810 | Template T_TFBot_Medic 811 | } 812 | } 813 | } 814 | 815 | WaveSpawn // Giant Heavyweapons 816 | { 817 | TotalCurrency 0 818 | 819 | Name "stage5" 820 | WaitForAllSpawned "stage4" 821 | 822 | Where spawnbot_right 823 | TotalCount 8 824 | SpawnCount 4 825 | //MaxActive 2 826 | WaitBetweenSpawns 35 827 | WaitBeforeStarting 90 828 | 829 | Squad 830 | { 831 | TFBot 832 | { 833 | Template T_TFBot_Giant_Heavyweapons 834 | } 835 | 836 | TFBot 837 | { 838 | Template T_TFBot_Medic 839 | } 840 | 841 | TFBot 842 | { 843 | Template T_TFBot_Medic 844 | } 845 | 846 | TFBot 847 | { 848 | Template T_TFBot_Medic 849 | } 850 | } 851 | } 852 | } 853 | } -------------------------------------------------------------------------------- /talker/demoman_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Demoman Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | Response item_unicorn_uberDemoman 8 | { 9 | scene "scenes/Player/Demoman/low/7780.vcd" 10 | scene "scenes/Player/Demoman/low/7781.vcd" 11 | scene "scenes/Player/Demoman/low/7784.vcd" 12 | } 13 | Rule item_unicorn_uberDemoman 14 | { 15 | criteria ConceptMedicChargeDeployed IsDemoman IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsUnicornHead 16 | Response item_unicorn_uberDemoman 17 | } 18 | 19 | 20 | //-------------------------------------------------------------------------------------------------------------- 21 | // Auto Speech 22 | //-------------------------------------------------------------------------------------------------------------- 23 | Response item_unicorn_round_startDemoman 24 | { 25 | scene "scenes/Player/Demoman/low/7773.vcd" predelay "1.0, 5.0" 26 | scene "scenes/Player/Demoman/low/7776.vcd" predelay "1.0, 5.0" 27 | scene "scenes/Player/Demoman/low/7777.vcd" predelay "1.0, 5.0" 28 | } 29 | Rule item_unicorn_round_startDemoman 30 | { 31 | criteria ConceptPlayerRoundStart IsDemoman 100PercentChance IsUnicornHead 32 | Response item_unicorn_round_startDemoman 33 | } 34 | 35 | 36 | //-------------------------------------------------------------------------------------------------------------- 37 | // Auto Speech Combat 38 | //-------------------------------------------------------------------------------------------------------------- 39 | Response item_unicorn_dominationDemoman 40 | { 41 | scene "scenes/Player/Demoman/low/7785.vcd" predelay "2.5" 42 | scene "scenes/Player/Demoman/low/7786.vcd" predelay "2.5" 43 | scene "scenes/Player/Demoman/low/7787.vcd" predelay "2.5" 44 | scene "scenes/Player/Demoman/low/7788.vcd" predelay "2.5" 45 | scene "scenes/Player/Demoman/low/7790.vcd" predelay "2.5" 46 | } 47 | Rule item_unicorn_dominationDemoman 48 | { 49 | criteria ConceptKilledPlayer IsDemoman IsDominated 30PercentChance IsUnicornHead 50 | ApplyContext "DemomanKillSpeech:1:10" 51 | Response item_unicorn_dominationDemoman 52 | } 53 | 54 | 55 | //-------------------------------------------------------------------------------------------------------------- 56 | // Auto Speech Pain 57 | //-------------------------------------------------------------------------------------------------------------- 58 | Response item_unicorn_on_fireDemoman 59 | { 60 | scene "scenes/Player/Demoman/low/7778.vcd" 61 | scene "scenes/Player/Demoman/low/7779.vcd" 62 | } 63 | Rule item_unicorn_on_fireDemoman 64 | { 65 | criteria ConceptFire IsDemoman DemomanIsNotStillonFire 20PercentChance IsUnicornHead 66 | ApplyContext "DemomanOnFire:1:7" 67 | Response item_unicorn_on_fireDemoman 68 | } 69 | 70 | -------------------------------------------------------------------------------- /talker/engineer_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Engineer Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | Response item_unicorn_uberEngineer 8 | { 9 | scene "scenes/Player/Engineer/low/7963.vcd" 10 | } 11 | Rule item_unicorn_uberEngineer 12 | { 13 | criteria ConceptMedicChargeDeployed IsEngineer IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsUnicornHead 14 | Response item_unicorn_uberEngineer 15 | } 16 | 17 | 18 | //-------------------------------------------------------------------------------------------------------------- 19 | // Auto Speech 20 | //-------------------------------------------------------------------------------------------------------------- 21 | Response item_unicorn_healedEngineer 22 | { 23 | scene "scenes/Player/Engineer/low/7964.vcd" 24 | } 25 | Rule item_unicorn_healedEngineer 26 | { 27 | criteria ConceptMedicChargeStopped IsEngineer SuperHighHealthContext EngineerNotSaidHealThanks IsUnicornHead 20PercentChance 28 | ApplyContext "EngineerSaidHealThanks:1:20" 29 | Response item_unicorn_healedEngineer 30 | } 31 | 32 | Response item_unicorn_round_startEngineer 33 | { 34 | scene "scenes/Player/Engineer/low/7951.vcd" predelay "1.0, 5.0" 35 | scene "scenes/Player/Engineer/low/7957.vcd" predelay "1.0, 5.0" 36 | } 37 | Rule item_unicorn_round_startEngineer 38 | { 39 | criteria ConceptPlayerRoundStart IsEngineer 100PercentChance IsUnicornHead 40 | Response item_unicorn_round_startEngineer 41 | } 42 | 43 | 44 | //-------------------------------------------------------------------------------------------------------------- 45 | // Auto Speech Combat 46 | //-------------------------------------------------------------------------------------------------------------- 47 | Response item_unicorn_dominationEngineer 48 | { 49 | scene "scenes/Player/Engineer/low/7960.vcd" predelay "2.5" 50 | scene "scenes/Player/Engineer/low/8473.vcd" predelay "2.5" 51 | scene "scenes/Player/Engineer/low/7961.vcd" predelay "2.5" 52 | } 53 | Rule item_unicorn_dominationEngineer 54 | { 55 | criteria ConceptKilledPlayer IsEngineer IsDominated 30PercentChance IsUnicornHead 56 | ApplyContext "EngineerKillSpeech:1:10" 57 | Response item_unicorn_dominationEngineer 58 | } 59 | 60 | Response item_unicorn_revengeEngineer 61 | { 62 | scene "scenes/Player/Engineer/low/7967.vcd" predelay "2.5" 63 | scene "scenes/Player/Engineer/low/7968.vcd" predelay "2.5" 64 | } 65 | Rule item_unicorn_revengeEngineer 66 | { 67 | criteria ConceptKilledPlayer IsEngineer IsRevenge IsUnicornHead 40PercentChance 68 | ApplyContext "EngineerKillSpeech:1:10" 69 | Response item_unicorn_revengeEngineer 70 | } 71 | 72 | 73 | //-------------------------------------------------------------------------------------------------------------- 74 | // Auto Speech Engineer 75 | //-------------------------------------------------------------------------------------------------------------- 76 | Response item_unicorn_dispenserEngineer 77 | { 78 | scene "scenes/Player/Engineer/low/7958.vcd" 79 | } 80 | Rule item_unicorn_dispenserEngineer 81 | { 82 | criteria ConceptPlayerBuildingObject IsDispenser IsEngineer IsUnicornHead 10PercentChance 83 | Response item_unicorn_dispenserEngineer 84 | } 85 | 86 | -------------------------------------------------------------------------------- /talker/heavy_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Heavy Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | Response item_birdhead_round_startHeavy 8 | { 9 | scene "scenes/Player/Heavy/low/6700.vcd" predelay "1.0, 5.0" 10 | scene "scenes/Player/Heavy/low/6699.vcd" predelay "1.0, 5.0" 11 | scene "scenes/Player/Heavy/low/6703.vcd" predelay "1.0, 5.0" 12 | scene "scenes/Player/Heavy/low/6702.vcd" predelay "1.0, 5.0" 13 | scene "scenes/Player/Heavy/low/6705.vcd" predelay "1.0, 5.0" 14 | } 15 | Rule item_birdhead_round_startHeavy 16 | { 17 | criteria ConceptPlayerRoundStart IsHeavy 100PercentChance IsHeavyBirdHead 18 | Response item_birdhead_round_startHeavy 19 | } 20 | 21 | Response item_birdhead_uberHeavy 22 | { 23 | scene "scenes/Player/Heavy/low/6707.vcd" 24 | scene "scenes/Player/Heavy/low/6708.vcd" 25 | scene "scenes/Player/Heavy/low/6709.vcd" 26 | } 27 | Rule item_birdhead_uberHeavy 28 | { 29 | criteria ConceptMedicChargeDeployed IsHeavy IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsHeavyBirdHead 30 | Response item_birdhead_uberHeavy 31 | } 32 | 33 | Response item_unicorn_uberHeavy 34 | { 35 | scene "scenes/Player/Heavy/low/6695.vcd" 36 | scene "scenes/Player/Heavy/low/6696.vcd" 37 | scene "scenes/Player/Heavy/low/6698.vcd" 38 | } 39 | Rule item_unicorn_uberHeavy 40 | { 41 | criteria ConceptMedicChargeDeployed IsHeavy IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsUnicornHead 42 | Response item_unicorn_uberHeavy 43 | } 44 | 45 | 46 | //-------------------------------------------------------------------------------------------------------------- 47 | // Auto Speech 48 | //-------------------------------------------------------------------------------------------------------------- 49 | Response item_unicorn_round_startHeavy 50 | { 51 | scene "scenes/Player/Heavy/low/6690.vcd" predelay "1.0, 5.0" 52 | scene "scenes/Player/Heavy/low/6691.vcd" predelay "1.0, 5.0" 53 | scene "scenes/Player/Heavy/low/6688.vcd" predelay "1.0, 5.0" 54 | scene "scenes/Player/Heavy/low/8497.vcd" predelay "1.0, 5.0" 55 | scene "scenes/Player/Heavy/low/6689.vcd" predelay "1.0, 5.0" 56 | } 57 | Rule item_unicorn_round_startHeavy 58 | { 59 | criteria ConceptPlayerRoundStart IsHeavy 100PercentChance IsUnicornHead 60 | Response item_unicorn_round_startHeavy 61 | } 62 | 63 | 64 | //-------------------------------------------------------------------------------------------------------------- 65 | // Auto Speech Combat 66 | //-------------------------------------------------------------------------------------------------------------- 67 | Response item_unicorn_dominationHeavy 68 | { 69 | scene "scenes/Player/Heavy/low/6693.vcd" predelay "2.5" 70 | scene "scenes/Player/Heavy/low/6694.vcd" predelay "2.5" 71 | } 72 | Rule item_unicorn_dominationHeavy 73 | { 74 | criteria ConceptKilledPlayer IsHeavy IsDominated 30PercentChance IsUnicornHead 75 | ApplyContext "HeavyKillSpeech:1:10" 76 | Response item_unicorn_dominationHeavy 77 | } 78 | 79 | -------------------------------------------------------------------------------- /talker/medic_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Medic Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | Criterion "MedicNotIdleSpeech" "MedicIdleSpeech" "!=1" "required" weight 0 6 | 7 | Response item_birdhead_round_startMedic 8 | { 9 | scene "scenes/Player/Medic/low/6907.vcd" predelay "1.0, 5.0" 10 | scene "scenes/Player/Medic/low/6908.vcd" predelay "1.0, 5.0" 11 | scene "scenes/Player/Medic/low/6909.vcd" predelay "1.0, 5.0" 12 | scene "scenes/Player/Medic/low/6910.vcd" predelay "1.0, 5.0" 13 | scene "scenes/Player/Medic/low/6912.vcd" predelay "1.0, 5.0" 14 | scene "scenes/Player/Medic/low/6913.vcd" predelay "1.0, 5.0" 15 | scene "scenes/Player/Medic/low/6914.vcd" predelay "1.0, 5.0" 16 | scene "scenes/Player/Medic/low/6916.vcd" predelay "1.0, 5.0" 17 | } 18 | Rule item_birdhead_round_startMedic 19 | { 20 | criteria ConceptPlayerRoundStart IsMedic 100PercentChance IsMedicBirdHead 21 | Response item_birdhead_round_startMedic 22 | } 23 | 24 | Response item_birdhead_uberMedic 25 | { 26 | scene "scenes/Player/Medic/low/6918.vcd" 27 | } 28 | Rule item_birdhead_uberMedic 29 | { 30 | criteria ConceptMedicChargeDeployed IsMedic IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsMedicBirdHead 31 | Response item_birdhead_uberMedic 32 | } 33 | 34 | Response item_secop_idleMedic 35 | { 36 | scene "scenes/Player/Medic/low/6850.vcd" 37 | scene "scenes/Player/Medic/low/6849.vcd" 38 | scene "scenes/Player/Medic/low/6851.vcd" 39 | } 40 | Rule item_secop_idleMedic 41 | { 42 | criteria ConceptPlayerExpression IsMedic 30PercentChance IsMedicDoubleFace MedicNotIdleSpeech 43 | ApplyContext "MedicIdleSpeech:1:10" 44 | Response item_secop_idleMedic 45 | } 46 | 47 | Response item_secop_kill_assistMedic 48 | { 49 | scene "scenes/Player/Medic/low/6852.vcd" 50 | } 51 | Rule item_secop_kill_assistMedic 52 | { 53 | criteria ConceptKilledPlayer IsMedic IsBeingHealed IsARecentKill KilledPlayerDelay MedicNotAssistSpeech 20PercentChance IsMedicDoubleFace 54 | Response item_secop_kill_assistMedic 55 | } 56 | 57 | Response item_secop_uberMedic 58 | { 59 | scene "scenes/Player/Medic/low/6853.vcd" 60 | } 61 | Rule item_secop_uberMedic 62 | { 63 | criteria ConceptMedicChargeDeployed IsMedic IsInvulnerable MedicNotInvulnerableSpeech 30PercentChance IsMedicDoubleFace 64 | Response item_secop_uberMedic 65 | } 66 | 67 | Response item_zombiebird_mvm_go_upgradeMedic 68 | { 69 | scene "scenes/Player/Medic/low/6830.vcd" 70 | } 71 | Rule item_zombiebird_mvm_go_upgradeMedic 72 | { 73 | criteria ConceptMvMEncourageUpgrade 20PercentChance IsMvMDefender IsMedic IsMedicZombieBird 74 | Response item_zombiebird_mvm_go_upgradeMedic 75 | } 76 | 77 | Response item_zombiebird_mvm_winMedic 78 | { 79 | scene "scenes/Player/Medic/low/6832.vcd" 80 | } 81 | Rule item_zombiebird_mvm_winMedic 82 | { 83 | criteria ConceptMvMWaveWin 30PercentChance IsMvMDefender IsMedic IsMedicZombieBird 84 | Response item_zombiebird_mvm_winMedic 85 | } 86 | 87 | 88 | //-------------------------------------------------------------------------------------------------------------- 89 | // Auto Speech 90 | //-------------------------------------------------------------------------------------------------------------- 91 | Response item_secop_round_startMedic 92 | { 93 | scene "scenes/Player/Medic/low/6841.vcd" predelay "1.0, 5.0" 94 | scene "scenes/Player/Medic/low/6843.vcd" predelay "1.0, 5.0" 95 | scene "scenes/Player/Medic/low/6842.vcd" predelay "1.0, 5.0" 96 | scene "scenes/Player/Medic/low/6844.vcd" predelay "1.0, 5.0" 97 | scene "scenes/Player/Medic/low/6845.vcd" predelay "1.0, 5.0" 98 | scene "scenes/Player/Medic/low/6846.vcd" predelay "1.0, 5.0" 99 | scene "scenes/Player/Medic/low/6847.vcd" predelay "1.0, 5.0" 100 | scene "scenes/Player/Medic/low/6848.vcd" predelay "1.0, 5.0" 101 | } 102 | Rule item_secop_round_startMedic 103 | { 104 | criteria ConceptPlayerRoundStart IsMedic 100PercentChance IsMedicDoubleFace 105 | Response item_secop_round_startMedic 106 | } 107 | 108 | Response item_zombiebird_got_briefcaseMedic 109 | { 110 | scene "scenes/Player/Medic/low/6828.vcd" 111 | } 112 | Rule item_zombiebird_got_briefcaseMedic 113 | { 114 | criteria ConceptPlayerGrabbedIntelligence IsScout NotScoutGrabbedIntelligence 10PercentChance IsMedicZombieBird 115 | ApplyContext "ScoutGrabbedIntelligence:1:30" 116 | Response item_zombiebird_got_briefcaseMedic 117 | } 118 | 119 | Response item_zombiebird_round_startMedic 120 | { 121 | scene "scenes/Player/Medic/low/6820.vcd" predelay "1.0, 5.0" 122 | scene "scenes/Player/Medic/low/8506.vcd" predelay "1.0, 5.0" 123 | scene "scenes/Player/Medic/low/6822.vcd" predelay "1.0, 5.0" 124 | scene "scenes/Player/Medic/low/6823.vcd" predelay "1.0, 5.0" 125 | scene "scenes/Player/Medic/low/6824.vcd" predelay "1.0, 5.0" 126 | scene "scenes/Player/Medic/low/8507.vcd" predelay "1.0, 5.0" 127 | } 128 | Rule item_zombiebird_round_startMedic 129 | { 130 | criteria ConceptPlayerRoundStart IsMedic 100PercentChance IsMedicZombieBird 131 | Response item_zombiebird_round_startMedic 132 | } 133 | 134 | 135 | //-------------------------------------------------------------------------------------------------------------- 136 | // Auto Speech Cart 137 | //-------------------------------------------------------------------------------------------------------------- 138 | Response item_secop_cart_pushMedic 139 | { 140 | scene "scenes/Player/Medic/low/6854.vcd" 141 | scene "scenes/Player/Medic/low/6855.vcd" 142 | scene "scenes/Player/Medic/low/6856.vcd" 143 | scene "scenes/Player/Medic/low/6857.vcd" 144 | } 145 | Rule item_secop_cart_pushMedic 146 | { 147 | criteria ConceptCartMovingForward IsOnOffense IsMedic MedicNotSaidCartMovingForwardO 30PercentChance IsMedicDoubleFace 148 | ApplyContext "SaidCartMovingForwardD:1:20" 149 | Response item_secop_cart_pushMedic 150 | } 151 | 152 | Response item_secop_cart_stoppedMedic 153 | { 154 | scene "scenes/Player/Medic/low/6858.vcd" 155 | } 156 | Rule item_secop_cart_stoppedMedic 157 | { 158 | criteria ConceptCartMovingStopped IsOnOffense IsMedic MedicNotSaidCartMovingStoppedO 30PercentChance IsMedicDoubleFace 159 | ApplyContext "SaidCartMovingForwardD:1:20" 160 | Response item_secop_cart_stoppedMedic 161 | } 162 | 163 | Response item_zombiebird_sf13_cart_forwardMedic 164 | { 165 | scene "scenes/Player/Medic/low/6825.vcd" 166 | scene "scenes/Player/Medic/low/6827.vcd" 167 | } 168 | Rule item_zombiebird_sf13_cart_forwardMedic 169 | { 170 | criteria ConceptCartMovingForward IsOnOffense IsMedic MedicNotSaidCartMovingForwardO 30PercentChance IsMedicZombieBird 171 | ApplyContext "SaidCartMovingForwardD:1:20" 172 | Response item_zombiebird_sf13_cart_forwardMedic 173 | } 174 | 175 | 176 | //-------------------------------------------------------------------------------------------------------------- 177 | // Auto Speech Combat 178 | //-------------------------------------------------------------------------------------------------------------- 179 | Response item_secop_dominationMedic 180 | { 181 | scene "scenes/Player/Medic/low/6859.vcd" predelay "2.5" 182 | } 183 | Rule item_secop_dominationMedic 184 | { 185 | criteria ConceptKilledPlayer IsMedic IsDominated 30PercentChance IsMedicDoubleFace 186 | ApplyContext "MedicKillSpeech:1:10" 187 | Response item_secop_dominationMedic 188 | } 189 | 190 | Response item_zombiebird_dominatedMedic 191 | { 192 | scene "scenes/Player/Medic/low/6833.vcd" predelay "2.5" 193 | } 194 | Rule item_zombiebird_dominatedMedic 195 | { 196 | criteria ConceptKilledPlayer IsMedic IsDominated 30PercentChance IsMedicZombieBird 197 | ApplyContext "MedicKillSpeech:1:10" 198 | Response item_zombiebird_dominatedMedic 199 | } 200 | 201 | Response item_zombiebird_jarateMedic 202 | { 203 | scene "scenes/Player/Medic/low/6835.vcd" 204 | } 205 | Rule item_zombiebird_jarateMedic 206 | { 207 | criteria ConceptJarateHit IsMedic 50PercentChance IsMedicZombieBird 208 | Response item_zombiebird_jarateMedic 209 | } 210 | 211 | 212 | //-------------------------------------------------------------------------------------------------------------- 213 | // Auto Speech Pain 214 | //-------------------------------------------------------------------------------------------------------------- 215 | Response item_zombiebird_on_fireMedic 216 | { 217 | scene "scenes/Player/Medic/low/6834.vcd" 218 | } 219 | Rule item_zombiebird_on_fireMedic 220 | { 221 | criteria ConceptFire IsMedic MedicIsNotStillonFire 20PercentChance IsMedicZombieBird 222 | ApplyContext "MedicOnFire:1:7" 223 | Response item_zombiebird_on_fireMedic 224 | } 225 | 226 | 227 | //-------------------------------------------------------------------------------------------------------------- 228 | // Speech Menu 1 229 | //-------------------------------------------------------------------------------------------------------------- 230 | Response item_zombiebird_stand_pointMedic 231 | { 232 | scene "scenes/Player/Medic/low/6829.vcd" 233 | } 234 | Rule item_zombiebird_stand_pointMedic 235 | { 236 | criteria ConceptPlayerHelp IsMedic IsOnCappableControlPoint IsHelpCapMedic IsMedicZombieBird 237 | Response item_zombiebird_stand_pointMedic 238 | } 239 | 240 | -------------------------------------------------------------------------------- /talker/pyro_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Pyro Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /talker/scout_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Scout Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | Response item_unicorn_uberScout 8 | { 9 | scene "scenes/Player/Scout/low/7030.vcd" 10 | scene "scenes/Player/Scout/low/8517.vcd" 11 | } 12 | Rule item_unicorn_uberScout 13 | { 14 | criteria ConceptMedicChargeDeployed IsScout IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsUnicornHead 15 | Response item_unicorn_uberScout 16 | } 17 | 18 | 19 | //-------------------------------------------------------------------------------------------------------------- 20 | // Auto Speech 21 | //-------------------------------------------------------------------------------------------------------------- 22 | Response item_haunthat_cappedScout 23 | { 24 | scene "scenes/Player/Scout/low/7066.vcd" predelay "2.0, 4.0" 25 | scene "scenes/Player/Scout/low/7067.vcd" predelay "2.0, 4.0" 26 | scene "scenes/Player/Scout/low/7068.vcd" predelay "2.0, 4.0" 27 | } 28 | Rule item_haunthat_cappedScout 29 | { 30 | criteria ConceptPlayerCapturedPoint IsScout IsHauntedHat 31 | Response item_haunthat_cappedScout 32 | } 33 | 34 | Response item_haunthat_case_capScout 35 | { 36 | scene "scenes/Player/Scout/low/7061.vcd" predelay "2.0, 4.0" 37 | scene "scenes/Player/Scout/low/7063.vcd" predelay "2.0, 4.0" 38 | scene "scenes/Player/Scout/low/7064.vcd" predelay "2.0, 4.0" 39 | scene "scenes/Player/Scout/low/7065.vcd" predelay "2.0, 4.0" 40 | } 41 | Rule item_haunthat_case_capScout 42 | { 43 | criteria ConceptPlayerCapturedIntelligence IsScout IsHauntedHat 44 | Response item_haunthat_case_capScout 45 | } 46 | 47 | Response item_haunthat_got_caseScout 48 | { 49 | scene "scenes/Player/Scout/low/7054.vcd" 50 | scene "scenes/Player/Scout/low/7055.vcd" 51 | scene "scenes/Player/Scout/low/7057.vcd" 52 | } 53 | Rule item_haunthat_got_caseScout 54 | { 55 | criteria ConceptPlayerGrabbedIntelligence IsScout NotScoutGrabbedIntelligence 10PercentChance IsHauntedHat 56 | ApplyContext "ScoutGrabbedIntelligence:1:30" 57 | Response item_haunthat_got_caseScout 58 | } 59 | 60 | Response item_haunthat_round_startScout 61 | { 62 | scene "scenes/Player/Scout/low/7039.vcd" predelay "1.0, 5.0" 63 | scene "scenes/Player/Scout/low/7041.vcd" predelay "1.0, 5.0" 64 | scene "scenes/Player/Scout/low/7042.vcd" predelay "1.0, 5.0" 65 | scene "scenes/Player/Scout/low/7043.vcd" predelay "1.0, 5.0" 66 | scene "scenes/Player/Scout/low/7044.vcd" predelay "1.0, 5.0" 67 | scene "scenes/Player/Scout/low/7045.vcd" predelay "1.0, 5.0" 68 | scene "scenes/Player/Scout/low/7046.vcd" predelay "1.0, 5.0" 69 | scene "scenes/Player/Scout/low/7047.vcd" predelay "1.0, 5.0" 70 | scene "scenes/Player/Scout/low/7048.vcd" predelay "1.0, 5.0" 71 | } 72 | Rule item_haunthat_round_startScout 73 | { 74 | criteria ConceptPlayerRoundStart IsScout 100PercentChance IsHauntedHat 75 | Response item_haunthat_round_startScout 76 | } 77 | 78 | Response item_unicorn_round_startScout 79 | { 80 | scene "scenes/Player/Scout/low/7018.vcd" predelay "1.0, 5.0" 81 | scene "scenes/Player/Scout/low/7019.vcd" predelay "1.0, 5.0" 82 | scene "scenes/Player/Scout/low/7020.vcd" predelay "1.0, 5.0" 83 | scene "scenes/Player/Scout/low/7021.vcd" predelay "1.0, 5.0" 84 | scene "scenes/Player/Scout/low/7025.vcd" predelay "1.0, 5.0" 85 | scene "scenes/Player/Scout/low/7022.vcd" predelay "1.0, 5.0" 86 | } 87 | Rule item_unicorn_round_startScout 88 | { 89 | criteria ConceptPlayerRoundStart IsScout 100PercentChance IsUnicornHead 90 | Response item_unicorn_round_startScout 91 | } 92 | 93 | 94 | //-------------------------------------------------------------------------------------------------------------- 95 | // Auto Speech Cart 96 | //-------------------------------------------------------------------------------------------------------------- 97 | Response item_haunthat_cart_pushScout 98 | { 99 | scene "scenes/Player/Scout/low/7069.vcd" 100 | scene "scenes/Player/Scout/low/7070.vcd" 101 | } 102 | Rule item_haunthat_cart_pushScout 103 | { 104 | criteria ConceptCartMovingForward IsOnOffense IsScout ScoutNotSaidCartMovingForwardO 30PercentChance IsHauntedHat 105 | ApplyContext "SaidCartMovingForwardD:1:20" 106 | Response item_haunthat_cart_pushScout 107 | } 108 | 109 | Response item_unicorn_cart_forwardScout 110 | { 111 | scene "scenes/Player/Scout/low/7026.vcd" 112 | } 113 | Rule item_unicorn_cart_forwardScout 114 | { 115 | criteria ConceptCartMovingForward IsOnOffense IsScout ScoutNotSaidCartMovingForwardO 30PercentChance IsUnicornHead 116 | ApplyContext "SaidCartMovingForwardD:1:20" 117 | Response item_unicorn_cart_forwardScout 118 | } 119 | 120 | 121 | //-------------------------------------------------------------------------------------------------------------- 122 | // Auto Speech Combat 123 | //-------------------------------------------------------------------------------------------------------------- 124 | Response item_haunthat_dominationScout 125 | { 126 | scene "scenes/Player/Scout/low/7059.vcd" predelay "2.5" 127 | scene "scenes/Player/Scout/low/7060.vcd" predelay "2.5" 128 | } 129 | Rule item_haunthat_dominationScout 130 | { 131 | criteria ConceptKilledPlayer IsScout IsDominated 30PercentChance IsHauntedHat 132 | ApplyContext "ScoutKillSpeech:1:10" 133 | Response item_haunthat_dominationScout 134 | } 135 | 136 | Response item_unicorn_dominationScout 137 | { 138 | scene "scenes/Player/Scout/low/7031.vcd" predelay "2.5" 139 | scene "scenes/Player/Scout/low/7032.vcd" predelay "2.5" 140 | scene "scenes/Player/Scout/low/7033.vcd" predelay "2.5" 141 | scene "scenes/Player/Scout/low/7034.vcd" predelay "2.5" 142 | scene "scenes/Player/Scout/low/7035.vcd" predelay "2.5" 143 | scene "scenes/Player/Scout/low/7037.vcd" predelay "2.5" 144 | scene "scenes/Player/Scout/low/7036.vcd" predelay "2.5" 145 | scene "scenes/Player/Scout/low/7038.vcd" predelay "2.5" 146 | } 147 | Rule item_unicorn_dominationScout 148 | { 149 | criteria ConceptKilledPlayer IsScout IsDominated 30PercentChance IsUnicornHead 150 | ApplyContext "ScoutKillSpeech:1:10" 151 | Response item_unicorn_dominationScout 152 | } 153 | 154 | 155 | //-------------------------------------------------------------------------------------------------------------- 156 | // Auto Speech Pain 157 | //-------------------------------------------------------------------------------------------------------------- 158 | Response item_haunthat_on_fireScout 159 | { 160 | scene "scenes/Player/Scout/low/7076.vcd" 161 | scene "scenes/Player/Scout/low/7077.vcd" 162 | scene "scenes/Player/Scout/low/7078.vcd" 163 | } 164 | Rule item_haunthat_on_fireScout 165 | { 166 | criteria ConceptFire IsScout ScoutIsNotStillonFire 20PercentChance IsHauntedHat 167 | ApplyContext "ScoutOnFire:1:7" 168 | Response item_haunthat_on_fireScout 169 | } 170 | 171 | Response item_unicorn_on_fireScout 172 | { 173 | scene "scenes/Player/Scout/low/7028.vcd" 174 | scene "scenes/Player/Scout/low/7029.vcd" 175 | } 176 | Rule item_unicorn_on_fireScout 177 | { 178 | criteria ConceptFire IsScout ScoutIsNotStillonFire 20PercentChance IsUnicornHead 179 | ApplyContext "ScoutOnFire:1:7" 180 | Response item_unicorn_on_fireScout 181 | } 182 | 183 | -------------------------------------------------------------------------------- /talker/sniper_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Sniper Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | Response item_birdhead_kill_scopedSniper 8 | { 9 | scene "scenes/Player/Sniper/low/7307.vcd" 10 | scene "scenes/Player/Sniper/low/7308.vcd" 11 | scene "scenes/Player/Sniper/low/7310.vcd" 12 | } 13 | Rule item_birdhead_kill_scopedSniper 14 | { 15 | criteria ConceptKilledPlayer IsSniper DeployedContext 50PercentChance IsSniperBirdHead 16 | Response item_birdhead_kill_scopedSniper 17 | } 18 | 19 | Response item_birdhead_round_startSniper 20 | { 21 | scene "scenes/Player/Sniper/low/7297.vcd" predelay "1.0, 5.0" 22 | scene "scenes/Player/Sniper/low/7298.vcd" predelay "1.0, 5.0" 23 | scene "scenes/Player/Sniper/low/7302.vcd" predelay "1.0, 5.0" 24 | scene "scenes/Player/Sniper/low/7301.vcd" predelay "1.0, 5.0" 25 | scene "scenes/Player/Sniper/low/7304.vcd" predelay "1.0, 5.0" 26 | scene "scenes/Player/Sniper/low/7300.vcd" predelay "1.0, 5.0" 27 | scene "scenes/Player/Sniper/low/7299.vcd" predelay "1.0, 5.0" 28 | } 29 | Rule item_birdhead_round_startSniper 30 | { 31 | criteria ConceptPlayerRoundStart IsSniper 100PercentChance IsSniperBirdHead 32 | Response item_birdhead_round_startSniper 33 | } 34 | 35 | Response item_birdhead_uberSniper 36 | { 37 | scene "scenes/Player/Sniper/low/7306.vcd" 38 | } 39 | Rule item_birdhead_uberSniper 40 | { 41 | criteria ConceptMedicChargeDeployed IsSniper IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsSniperBirdHead 42 | Response item_birdhead_uberSniper 43 | } 44 | 45 | Response item_unicorn_scopekillSniper 46 | { 47 | scene "scenes/Player/Sniper/low/7288.vcd" 48 | scene "scenes/Player/Sniper/low/7289.vcd" 49 | scene "scenes/Player/Sniper/low/7291.vcd" 50 | scene "scenes/Player/Sniper/low/7292.vcd" 51 | scene "scenes/Player/Sniper/low/7293.vcd" 52 | scene "scenes/Player/Sniper/low/7295.vcd" 53 | } 54 | Rule item_unicorn_scopekillSniper 55 | { 56 | criteria ConceptKilledPlayer IsSniper DeployedContext 50PercentChance IsUnicornHead 57 | Response item_unicorn_scopekillSniper 58 | } 59 | 60 | Response item_unicorn_uberSniper 61 | { 62 | scene "scenes/Player/Sniper/low/7287.vcd" 63 | } 64 | Rule item_unicorn_uberSniper 65 | { 66 | criteria ConceptMedicChargeDeployed IsSniper IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsUnicornHead 67 | Response item_unicorn_uberSniper 68 | } 69 | 70 | 71 | //-------------------------------------------------------------------------------------------------------------- 72 | // Auto Speech 73 | //-------------------------------------------------------------------------------------------------------------- 74 | Response item_unicorn_round_startSniper 75 | { 76 | scene "scenes/Player/Sniper/low/7282.vcd" predelay "1.0, 5.0" 77 | scene "scenes/Player/Sniper/low/7283.vcd" predelay "1.0, 5.0" 78 | } 79 | Rule item_unicorn_round_startSniper 80 | { 81 | criteria ConceptPlayerRoundStart IsSniper 100PercentChance IsUnicornHead 82 | Response item_unicorn_round_startSniper 83 | } 84 | 85 | 86 | //-------------------------------------------------------------------------------------------------------------- 87 | // Auto Speech Cart 88 | //-------------------------------------------------------------------------------------------------------------- 89 | Response item_birdhead_cart_pushSniper 90 | { 91 | scene "scenes/Player/Sniper/low/7305.vcd" 92 | scene "scenes/Player/Sniper/low/8485.vcd" 93 | } 94 | Rule item_birdhead_cart_pushSniper 95 | { 96 | criteria ConceptCartMovingForward IsOnOffense IsSniper SniperNotSaidCartMovingForwardO 10PercentChance IsSniperBirdHead 97 | ApplyContext "SaidCartMovingForwardD:1:20" 98 | Response item_birdhead_cart_pushSniper 99 | } 100 | 101 | Response item_unicorn_cart_forwardSniper 102 | { 103 | scene "scenes/Player/Sniper/low/7286.vcd" 104 | scene "scenes/Player/Sniper/low/8484.vcd" 105 | } 106 | Rule item_unicorn_cart_forwardSniper 107 | { 108 | criteria ConceptCartMovingForward IsOnOffense IsSniper SniperNotSaidCartMovingForwardO 30PercentChance IsUnicornHead 109 | ApplyContext "SaidCartMovingForwardD:1:20" 110 | Response item_unicorn_cart_forwardSniper 111 | } 112 | 113 | 114 | //-------------------------------------------------------------------------------------------------------------- 115 | // Auto Speech Combat 116 | //-------------------------------------------------------------------------------------------------------------- 117 | Response item_birdhead_jarateSniper 118 | { 119 | scene "scenes/Player/Sniper/low/7315.vcd" 120 | } 121 | Rule item_birdhead_jarateSniper 122 | { 123 | criteria ConceptJarateLaunch IsSniper 10PercentChance IsSniperBirdHead 124 | Response item_birdhead_jarateSniper 125 | } 126 | 127 | -------------------------------------------------------------------------------- /talker/soldier_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Soldier Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | Criterion "SoldierNotIdleSpeech" "SoldierIdleSpeech" "!=1" "required" weight 0 6 | 7 | 8 | Response item_birdhead_round_startSoldier 9 | { 10 | scene "scenes/Player/Soldier/low/7464.vcd" predelay "1.0, 5.0" 11 | scene "scenes/Player/Soldier/low/7464.vcd" predelay "1.0, 5.0" 12 | scene "scenes/Player/Soldier/low/7465.vcd" predelay "1.0, 5.0" 13 | scene "scenes/Player/Soldier/low/7466.vcd" predelay "1.0, 5.0" 14 | scene "scenes/Player/Soldier/low/7469.vcd" predelay "1.0, 5.0" 15 | scene "scenes/Player/Soldier/low/7470.vcd" predelay "1.0, 5.0" 16 | } 17 | Rule item_birdhead_round_startSoldier 18 | { 19 | criteria ConceptPlayerRoundStart IsSoldier 100PercentChance IsSoldierBirdHead 20 | Response item_birdhead_round_startSoldier 21 | } 22 | 23 | Response item_birdhead_uberSoldier 24 | { 25 | scene "scenes/Player/Soldier/low/7473.vcd" 26 | scene "scenes/Player/Soldier/low/7474.vcd" 27 | } 28 | Rule item_birdhead_uberSoldier 29 | { 30 | criteria ConceptMedicChargeDeployed IsSoldier IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsSoldierBirdHead 31 | Response item_birdhead_uberSoldier 32 | } 33 | 34 | Response item_maggot_idleSoldier 35 | { 36 | scene "scenes/Player/Soldier/low/7494.vcd" 37 | scene "scenes/Player/Soldier/low/7492.vcd" 38 | scene "scenes/Player/Soldier/low/7493.vcd" 39 | scene "scenes/Player/Soldier/low/7498.vcd" 40 | scene "scenes/Player/Soldier/low/7496.vcd" 41 | scene "scenes/Player/Soldier/low/7495.vcd" 42 | scene "scenes/Player/Soldier/low/7497.vcd" 43 | scene "scenes/Player/Soldier/low/7500.vcd" 44 | scene "scenes/Player/Soldier/low/7502.vcd" 45 | scene "scenes/Player/Soldier/low/7501.vcd" 46 | } 47 | Rule item_maggot_idleSoldier 48 | { 49 | criteria ConceptPlayerExpression IsSoldier 30PercentChance IsSoldierMaggotHat SoldierNotIdleSpeech 50 | ApplyContext "SoldierIdleSpeech:1:10" 51 | Response item_maggot_idleSoldier 52 | } 53 | 54 | 55 | Response item_maggot_round_battlecrySoldier 56 | { 57 | scene "scenes/Player/Soldier/low/7482.vcd" predelay "1.0, 5.0" 58 | scene "scenes/Player/Soldier/low/7484.vcd" predelay "1.0, 5.0" 59 | scene "scenes/Player/Soldier/low/7485.vcd" predelay "1.0, 5.0" 60 | scene "scenes/Player/Soldier/low/7487.vcd" predelay "1.0, 5.0" 61 | scene "scenes/Player/Soldier/low/7489.vcd" predelay "1.0, 5.0" 62 | } 63 | 64 | 65 | Rule item_maggot_round_battlecrySoldier 66 | { 67 | criteria ConceptPlayerBattleCry IsHeavy IsSoldierMaggotHat 68 | Response item_maggot_round_battlecrySoldier 69 | } 70 | 71 | 72 | 73 | Response item_maggot_round_startSoldier 74 | { 75 | scene "scenes/Player/Soldier/low/7482.vcd" predelay "1.0, 5.0" 76 | scene "scenes/Player/Soldier/low/7484.vcd" predelay "1.0, 5.0" 77 | scene "scenes/Player/Soldier/low/7485.vcd" predelay "1.0, 5.0" 78 | scene "scenes/Player/Soldier/low/7487.vcd" predelay "1.0, 5.0" 79 | scene "scenes/Player/Soldier/low/7489.vcd" predelay "1.0, 5.0" 80 | } 81 | Rule item_maggot_round_startSoldier 82 | { 83 | criteria ConceptPlayerRoundStart IsSoldier 100PercentChance IsSoldierMaggotHat 84 | Response item_maggot_round_startSoldier 85 | } 86 | 87 | Response item_maggot_uberSoldier 88 | { 89 | scene "scenes/Player/Soldier/low/7490.vcd" 90 | scene "scenes/Player/Soldier/low/7491.vcd" 91 | } 92 | Rule item_maggot_uberSoldier 93 | { 94 | criteria ConceptMedicChargeDeployed IsSoldier IsInvulnerable MedicNotInvulnerableSpeech 20PercentChance IsSoldierMaggotHat 95 | Response item_maggot_uberSoldier 96 | } 97 | 98 | Response item_wizard_dominationSoldier 99 | { 100 | scene "scenes/Player/Soldier/low/7512.vcd" predelay "2.5" 101 | scene "scenes/Player/Soldier/low/8570.vcd" predelay "2.5" 102 | } 103 | Rule item_wizard_dominationSoldier 104 | { 105 | criteria ConceptKilledPlayer IsSoldier IsDominated 30PercentChance IsSoldierWizardHat 106 | ApplyContext "SoldierKillSpeech:1:10" 107 | Response item_wizard_dominationSoldier 108 | } 109 | 110 | 111 | //-------------------------------------------------------------------------------------------------------------- 112 | // Auto Speech 113 | //-------------------------------------------------------------------------------------------------------------- 114 | Response item_maggot_healedSoldier 115 | { 116 | scene "scenes/Player/Soldier/low/7505.vcd" 117 | scene "scenes/Player/Soldier/low/7504.vcd" 118 | } 119 | Rule item_maggot_healedSoldier 120 | { 121 | criteria ConceptMedicChargeStopped IsSoldier SuperHighHealthContext SoldierNotSaidHealThanks IsSoldierMaggotHat 10PercentChance 122 | ApplyContext "SoldierSaidHealThanks:1:20" 123 | Response item_maggot_healedSoldier 124 | } 125 | 126 | Response item_unicorn_round_startSoldier 127 | { 128 | scene "scenes/Player/Soldier/low/7457.vcd" predelay "1.0, 5.0" 129 | scene "scenes/Player/Soldier/low/7456.vcd" predelay "1.0, 5.0" 130 | scene "scenes/Player/Soldier/low/7454.vcd" predelay "1.0, 5.0" 131 | scene "scenes/Player/Soldier/low/7455.vcd" predelay "1.0, 5.0" 132 | scene "scenes/Player/Soldier/low/7453.vcd" predelay "1.0, 5.0" 133 | scene "scenes/Player/Soldier/low/7452.vcd" predelay "1.0, 5.0" 134 | scene "scenes/Player/Soldier/low/7458.vcd" predelay "1.0, 5.0" 135 | scene "scenes/Player/Soldier/low/8562.vcd" predelay "1.0, 5.0" 136 | scene "scenes/Player/Soldier/low/8563.vcd" predelay "1.0, 5.0" 137 | scene "scenes/Player/Soldier/low/8564.vcd" predelay "1.0, 5.0" 138 | } 139 | Rule item_unicorn_round_startSoldier 140 | { 141 | criteria ConceptPlayerRoundStart IsSoldier 100PercentChance IsUnicornHead 142 | Response item_unicorn_round_startSoldier 143 | } 144 | 145 | 146 | //-------------------------------------------------------------------------------------------------------------- 147 | // Auto Speech Combat 148 | //-------------------------------------------------------------------------------------------------------------- 149 | Response item_maggot_dominationSoldier 150 | { 151 | scene "scenes/Player/Soldier/low/7510.vcd" predelay "2.5" 152 | scene "scenes/Player/Soldier/low/8565.vcd" predelay "2.5" 153 | } 154 | Rule item_maggot_dominationSoldier 155 | { 156 | criteria ConceptKilledPlayer IsSoldier IsDominated 30PercentChance IsSoldierMaggotHat 157 | ApplyContext "SoldierKillSpeech:1:10" 158 | Response item_maggot_dominationSoldier 159 | } 160 | 161 | Response item_unicorn_dominationSoldier 162 | { 163 | scene "scenes/Player/Soldier/low/7460.vcd" predelay "2.5" 164 | scene "scenes/Player/Soldier/low/7459.vcd" predelay "2.5" 165 | scene "scenes/Player/Soldier/low/7463.vcd" predelay "2.5" 166 | } 167 | Rule item_unicorn_dominationSoldier 168 | { 169 | criteria ConceptKilledPlayer IsSoldier IsDominated 30PercentChance IsUnicornHead 170 | ApplyContext "SoldierKillSpeech:1:10" 171 | Response item_unicorn_dominationSoldier 172 | } 173 | 174 | 175 | //-------------------------------------------------------------------------------------------------------------- 176 | // Auto Speech Pain 177 | //-------------------------------------------------------------------------------------------------------------- 178 | Response item_birdhead_on_fireSoldier 179 | { 180 | scene "scenes/Player/Soldier/low/7479.vcd" 181 | scene "scenes/Player/Soldier/low/7481.vcd" 182 | } 183 | Rule item_birdhead_on_fireSoldier 184 | { 185 | criteria ConceptFire IsSoldier SoldierIsNotStillonFire 40PercentChance IsSoldierBirdHead 186 | ApplyContext "SoldierOnFire:1:7" 187 | Response item_birdhead_on_fireSoldier 188 | } 189 | 190 | Response item_maggot_on_fireSoldier 191 | { 192 | scene "scenes/Player/Soldier/low/7508.vcd" 193 | scene "scenes/Player/Soldier/low/7507.vcd" 194 | } 195 | Rule item_maggot_on_fireSoldier 196 | { 197 | criteria ConceptFire IsSoldier SoldierIsNotStillonFire 20PercentChance IsSoldierMaggotHat 198 | ApplyContext "SoldierOnFire:1:7" 199 | Response item_maggot_on_fireSoldier 200 | } 201 | 202 | -------------------------------------------------------------------------------- /talker/spy_auto.txt: -------------------------------------------------------------------------------- 1 | //-------------------------------------------------------------------------------------------------------------- 2 | // Spy Response Rule File - AUTO GENERATED DO NOT EDIT BY HAND 3 | //-------------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | 7 | 8 | //-------------------------------------------------------------------------------------------------------------- 9 | // Auto Speech 10 | //-------------------------------------------------------------------------------------------------------------- 11 | Response item_unicorn_cappedSpy 12 | { 13 | scene "scenes/Player/Spy/low/7688.vcd" predelay "2.0, 4.0" 14 | scene "scenes/Player/Spy/low/8477.vcd" predelay "2.0, 4.0" 15 | scene "scenes/Player/Spy/low/7690.vcd" predelay "2.0, 4.0" 16 | } 17 | Rule item_unicorn_cappedSpy 18 | { 19 | criteria ConceptPlayerCapturedPoint IsSpy IsUnicornHead 20 | Response item_unicorn_cappedSpy 21 | } 22 | 23 | Response item_unicorn_case_capSpy 24 | { 25 | scene "scenes/Player/Spy/low/7545.vcd" predelay "2.0, 4.0" 26 | } 27 | Rule item_unicorn_case_capSpy 28 | { 29 | criteria ConceptPlayerCapturedIntelligence IsSpy IsUnicornHead 30 | Response item_unicorn_case_capSpy 31 | } 32 | 33 | Response item_unicorn_round_startSpy 34 | { 35 | scene "scenes/Player/Spy/low/7541.vcd" predelay "1.0, 5.0" 36 | scene "scenes/Player/Spy/low/7542.vcd" predelay "1.0, 5.0" 37 | scene "scenes/Player/Spy/low/7543.vcd" predelay "1.0, 5.0" 38 | scene "scenes/Player/Spy/low/7544.vcd" predelay "1.0, 5.0" 39 | scene "scenes/Player/Spy/low/8551.vcd" predelay "1.0, 5.0" 40 | scene "scenes/Player/Spy/low/8552.vcd" predelay "1.0, 5.0" 41 | } 42 | Rule item_unicorn_round_startSpy 43 | { 44 | criteria ConceptPlayerRoundStart IsSpy 100PercentChance IsUnicornHead 45 | Response item_unicorn_round_startSpy 46 | } 47 | 48 | 49 | //-------------------------------------------------------------------------------------------------------------- 50 | // Auto Speech Combat 51 | //-------------------------------------------------------------------------------------------------------------- 52 | Response item_unicorn_backstabSpy 53 | { 54 | scene "scenes/Player/Spy/low/7540.vcd" 55 | scene "scenes/Player/Spy/low/7548.vcd" 56 | } 57 | Rule item_unicorn_backstabSpy 58 | { 59 | criteria ConceptKilledPlayer KilledPlayerDelay IsWeaponMelee SpyNotKillSpeechMelee IsSpy 20PercentChance IsUnicornHead 60 | ApplyContext "SpyKillSpeechMelee:1:10" 61 | applycontexttoworld 62 | Response item_unicorn_backstabSpy 63 | } 64 | 65 | Response item_unicorn_dominationSpy 66 | { 67 | scene "scenes/Player/Spy/low/7546.vcd" predelay "2.5" 68 | } 69 | Rule item_unicorn_dominationSpy 70 | { 71 | criteria ConceptKilledPlayer IsSpy IsDominated 30PercentChance IsUnicornHead 72 | ApplyContext "SpyKillSpeech:1:10" 73 | Response item_unicorn_dominationSpy 74 | } 75 | 76 | -------------------------------------------------------------------------------- /teprops.txt: -------------------------------------------------------------------------------- 1 | "TempEnts" 2 | { 3 | "CTEPlayerAnimEvent" 4 | { 5 | "name" "PlayerAnimEvent" 6 | "index" "0" 7 | "SendTable" 8 | { 9 | "m_iPlayerIndex" "int" 10 | "m_iEvent" "int" 11 | "m_nData" "int" 12 | } 13 | } 14 | "CTETFParticleEffect" 15 | { 16 | "name" "TFParticleEffect" 17 | "index" "1" 18 | "SendTable" 19 | { 20 | "m_vecOrigin[0]" "float" 21 | "m_vecOrigin[1]" "float" 22 | "m_vecOrigin[2]" "float" 23 | "m_vecStart[0]" "float" 24 | "m_vecStart[1]" "float" 25 | "m_vecStart[2]" "float" 26 | "m_vecAngles" "vector" 27 | "m_iParticleSystemIndex" "int" 28 | "entindex" "int" 29 | "m_iAttachType" "int" 30 | "m_iAttachmentPointIndex" "int" 31 | "m_bResetParticles" "int" 32 | "m_bCustomColors" "int" 33 | "m_CustomColors.m_vecColor1" "vector" 34 | "m_CustomColors.m_vecColor2" "vector" 35 | "m_bControlPoint1" "int" 36 | "m_ControlPoint1.m_eParticleAttachment" "int" 37 | "m_ControlPoint1.m_vecOffset[0]" "float" 38 | "m_ControlPoint1.m_vecOffset[1]" "float" 39 | "m_ControlPoint1.m_vecOffset[2]" "float" 40 | } 41 | } 42 | "CTETFExplosion" 43 | { 44 | "name" "TFExplosion" 45 | "index" "2" 46 | "SendTable" 47 | { 48 | "m_vecOrigin[0]" "float" 49 | "m_vecOrigin[1]" "float" 50 | "m_vecOrigin[2]" "float" 51 | "m_vecNormal" "vector" 52 | "m_iWeaponID" "int" 53 | "entindex" "int" 54 | "m_nDefID" "int" 55 | "m_nSound" "int" 56 | "m_iCustomParticleIndex" "int" 57 | } 58 | } 59 | "CTEFireBullets" 60 | { 61 | "name" "Fire Bullets" 62 | "index" "3" 63 | "SendTable" 64 | { 65 | "m_vecOrigin" "vector" 66 | "m_vecAngles[0]" "float" 67 | "m_vecAngles[1]" "float" 68 | "m_iWeaponID" "int" 69 | "m_iMode" "int" 70 | "m_iSeed" "int" 71 | "m_iPlayer" "int" 72 | "m_flSpread" "float" 73 | "m_bCritical" "int" 74 | } 75 | } 76 | "CTETFBlood" 77 | { 78 | "name" "TFBlood" 79 | "index" "4" 80 | "SendTable" 81 | { 82 | "m_vecOrigin[0]" "float" 83 | "m_vecOrigin[1]" "float" 84 | "m_vecOrigin[2]" "float" 85 | "m_vecNormal" "vector" 86 | "entindex" "int" 87 | } 88 | } 89 | "CTEWorldDecal" 90 | { 91 | "name" "World Decal" 92 | "index" "5" 93 | "SendTable" 94 | { 95 | "m_vecOrigin" "vector" 96 | "m_nIndex" "int" 97 | } 98 | } 99 | "CTESpriteSpray" 100 | { 101 | "name" "Sprite Spray" 102 | "index" "6" 103 | "SendTable" 104 | { 105 | "m_vecOrigin" "vector" 106 | "m_vecDirection" "vector" 107 | "m_nModelIndex" "int" 108 | "m_fNoise" "float" 109 | "m_nSpeed" "int" 110 | "m_nCount" "int" 111 | } 112 | } 113 | "CTESprite" 114 | { 115 | "name" "Sprite" 116 | "index" "7" 117 | "SendTable" 118 | { 119 | "m_vecOrigin" "vector" 120 | "m_nModelIndex" "int" 121 | "m_fScale" "float" 122 | "m_nBrightness" "int" 123 | } 124 | } 125 | "CTESparks" 126 | { 127 | "name" "Sparks" 128 | "index" "8" 129 | "SendTable" 130 | { 131 | "m_vecOrigin[0]" "float" 132 | "m_vecOrigin[1]" "float" 133 | "m_vecOrigin[2]" "float" 134 | "m_nMagnitude" "int" 135 | "m_nTrailLength" "int" 136 | "m_vecDir" "vector" 137 | } 138 | } 139 | "CTESmoke" 140 | { 141 | "name" "Smoke" 142 | "index" "9" 143 | "SendTable" 144 | { 145 | "m_vecOrigin" "vector" 146 | "m_nModelIndex" "int" 147 | "m_fScale" "float" 148 | "m_nFrameRate" "int" 149 | } 150 | } 151 | "CTEShowLine" 152 | { 153 | "name" "Show Line" 154 | "index" "10" 155 | "SendTable" 156 | { 157 | "m_vecOrigin[0]" "float" 158 | "m_vecOrigin[1]" "float" 159 | "m_vecOrigin[2]" "float" 160 | "m_vecEnd" "vector" 161 | } 162 | } 163 | "CTEProjectedDecal" 164 | { 165 | "name" "Projected Decal" 166 | "index" "11" 167 | "SendTable" 168 | { 169 | "m_vecOrigin" "vector" 170 | "m_angRotation" "vector" 171 | "m_flDistance" "float" 172 | "m_nIndex" "int" 173 | } 174 | } 175 | "CTEPlayerDecal" 176 | { 177 | "name" "Player Decal" 178 | "index" "12" 179 | "SendTable" 180 | { 181 | "m_vecOrigin" "vector" 182 | "m_nEntity" "int" 183 | "m_nPlayer" "int" 184 | } 185 | } 186 | "CTEPhysicsProp" 187 | { 188 | "name" "physicsprop" 189 | "index" "13" 190 | "SendTable" 191 | { 192 | "m_vecOrigin" "vector" 193 | "m_angRotation[0]" "float" 194 | "m_angRotation[1]" "float" 195 | "m_angRotation[2]" "float" 196 | "m_vecVelocity" "vector" 197 | "m_nModelIndex" "int" 198 | "m_nSkin" "int" 199 | "m_nFlags" "int" 200 | "m_nEffects" "int" 201 | } 202 | } 203 | "CTEMuzzleFlash" 204 | { 205 | "name" "MuzzleFlash" 206 | "index" "14" 207 | "SendTable" 208 | { 209 | "m_vecOrigin" "vector" 210 | "m_vecAngles" "vector" 211 | "m_flScale" "float" 212 | "m_nType" "int" 213 | } 214 | } 215 | "CTELargeFunnel" 216 | { 217 | "name" "Large Funnel" 218 | "index" "15" 219 | "SendTable" 220 | { 221 | "m_vecOrigin[0]" "float" 222 | "m_vecOrigin[1]" "float" 223 | "m_vecOrigin[2]" "float" 224 | "m_nModelIndex" "int" 225 | "m_nReversed" "int" 226 | } 227 | } 228 | "CTEKillPlayerAttachments" 229 | { 230 | "name" "KillPlayerAttachments" 231 | "index" "16" 232 | "SendTable" 233 | { 234 | "m_nPlayer" "int" 235 | } 236 | } 237 | "CTEImpact" 238 | { 239 | "name" "Impact" 240 | "index" "17" 241 | "SendTable" 242 | { 243 | "m_vecOrigin" "vector" 244 | "m_vecNormal" "vector" 245 | "m_iType" "int" 246 | } 247 | } 248 | "CTEGlowSprite" 249 | { 250 | "name" "GlowSprite" 251 | "index" "18" 252 | "SendTable" 253 | { 254 | "m_vecOrigin" "vector" 255 | "m_nModelIndex" "int" 256 | "m_fScale" "float" 257 | "m_fLife" "float" 258 | "m_nBrightness" "int" 259 | } 260 | } 261 | "CTEShatterSurface" 262 | { 263 | "name" "Surface Shatter" 264 | "index" "19" 265 | "SendTable" 266 | { 267 | "m_vecOrigin" "vector" 268 | "m_vecAngles" "vector" 269 | "m_vecForce" "vector" 270 | "m_vecForcePos" "vector" 271 | "m_flWidth" "float" 272 | "m_flHeight" "float" 273 | "m_flShardSize" "float" 274 | "m_nSurfaceType" "int" 275 | "m_uchFrontColor[0]" "int" 276 | "m_uchFrontColor[1]" "int" 277 | "m_uchFrontColor[2]" "int" 278 | "m_uchBackColor[0]" "int" 279 | "m_uchBackColor[1]" "int" 280 | "m_uchBackColor[2]" "int" 281 | } 282 | } 283 | "CTEGaussExplosion" 284 | { 285 | "name" "GaussExplosion" 286 | "index" "20" 287 | "SendTable" 288 | { 289 | "m_vecOrigin[0]" "float" 290 | "m_vecOrigin[1]" "float" 291 | "m_vecOrigin[2]" "float" 292 | "m_nType" "int" 293 | "m_vecDirection" "vector" 294 | } 295 | } 296 | "CTEFootprintDecal" 297 | { 298 | "name" "Footprint Decal" 299 | "index" "21" 300 | "SendTable" 301 | { 302 | "m_vecOrigin" "vector" 303 | "m_vecDirection" "vector" 304 | "m_nEntity" "int" 305 | "m_nIndex" "int" 306 | "m_chMaterialType" "int" 307 | } 308 | } 309 | "CTEFizz" 310 | { 311 | "name" "Fizz" 312 | "index" "22" 313 | "SendTable" 314 | { 315 | "m_nEntity" "int" 316 | "m_nModelIndex" "int" 317 | "m_nDensity" "int" 318 | "m_nCurrent" "int" 319 | } 320 | } 321 | "CTEExplosion" 322 | { 323 | "name" "Explosion" 324 | "index" "23" 325 | "SendTable" 326 | { 327 | "m_vecOrigin[0]" "float" 328 | "m_vecOrigin[1]" "float" 329 | "m_vecOrigin[2]" "float" 330 | "m_nModelIndex" "int" 331 | "m_fScale" "float" 332 | "m_nFrameRate" "int" 333 | "m_nFlags" "int" 334 | "m_vecNormal" "vector" 335 | "m_chMaterialType" "int" 336 | "m_nRadius" "int" 337 | "m_nMagnitude" "int" 338 | } 339 | } 340 | "CTEEnergySplash" 341 | { 342 | "name" "Energy Splash" 343 | "index" "24" 344 | "SendTable" 345 | { 346 | "m_vecPos" "vector" 347 | "m_vecDir" "vector" 348 | "m_bExplosive" "int" 349 | } 350 | } 351 | "CTEEffectDispatch" 352 | { 353 | "name" "EffectDispatch" 354 | "index" "25" 355 | "SendTable" 356 | { 357 | "m_vOrigin[0]" "float" 358 | "m_vOrigin[1]" "float" 359 | "m_vOrigin[2]" "float" 360 | "m_vStart[0]" "float" 361 | "m_vStart[1]" "float" 362 | "m_vStart[2]" "float" 363 | "m_vAngles" "vector" 364 | "m_vNormal" "vector" 365 | "m_fFlags" "int" 366 | "m_flMagnitude" "float" 367 | "m_flScale" "float" 368 | "m_nAttachmentIndex" "int" 369 | "m_nSurfaceProp" "int" 370 | "m_iEffectName" "int" 371 | "m_nMaterial" "int" 372 | "m_nDamageType" "int" 373 | "m_nHitBox" "int" 374 | "entindex" "int" 375 | "m_nColor" "int" 376 | "m_flRadius" "float" 377 | "m_bCustomColors" "int" 378 | "m_CustomColors.m_vecColor1" "vector" 379 | "m_CustomColors.m_vecColor2" "vector" 380 | "m_bControlPoint1" "int" 381 | "m_ControlPoint1.m_eParticleAttachment" "int" 382 | "m_ControlPoint1.m_vecOffset[0]" "float" 383 | "m_ControlPoint1.m_vecOffset[1]" "float" 384 | "m_ControlPoint1.m_vecOffset[2]" "float" 385 | } 386 | } 387 | "CTEDynamicLight" 388 | { 389 | "name" "Dynamic Light" 390 | "index" "26" 391 | "SendTable" 392 | { 393 | "m_vecOrigin" "vector" 394 | "r" "int" 395 | "g" "int" 396 | "b" "int" 397 | "exponent" "int" 398 | "m_fRadius" "float" 399 | "m_fTime" "float" 400 | "m_fDecay" "float" 401 | } 402 | } 403 | "CTEDecal" 404 | { 405 | "name" "Entity Decal" 406 | "index" "27" 407 | "SendTable" 408 | { 409 | "m_vecOrigin" "vector" 410 | "m_vecStart" "vector" 411 | "m_nEntity" "int" 412 | "m_nHitbox" "int" 413 | "m_nIndex" "int" 414 | } 415 | } 416 | "CTEClientProjectile" 417 | { 418 | "name" "Client Projectile" 419 | "index" "28" 420 | "SendTable" 421 | { 422 | "m_vecOrigin" "vector" 423 | "m_vecVelocity" "vector" 424 | "m_nModelIndex" "int" 425 | "m_nLifeTime" "int" 426 | "m_hOwner" "int" 427 | } 428 | } 429 | "CTEBubbleTrail" 430 | { 431 | "name" "Bubble Trail" 432 | "index" "29" 433 | "SendTable" 434 | { 435 | "m_vecMins" "vector" 436 | "m_vecMaxs" "vector" 437 | "m_nModelIndex" "int" 438 | "m_flWaterZ" "float" 439 | "m_nCount" "int" 440 | "m_fSpeed" "float" 441 | } 442 | } 443 | "CTEBubbles" 444 | { 445 | "name" "Bubbles" 446 | "index" "30" 447 | "SendTable" 448 | { 449 | "m_vecMins" "vector" 450 | "m_vecMaxs" "vector" 451 | "m_nModelIndex" "int" 452 | "m_fHeight" "float" 453 | "m_nCount" "int" 454 | "m_fSpeed" "float" 455 | } 456 | } 457 | "CTEBSPDecal" 458 | { 459 | "name" "BSP Decal" 460 | "index" "31" 461 | "SendTable" 462 | { 463 | "m_vecOrigin" "vector" 464 | "m_nEntity" "int" 465 | "m_nIndex" "int" 466 | } 467 | } 468 | "CTEBreakModel" 469 | { 470 | "name" "breakmodel" 471 | "index" "32" 472 | "SendTable" 473 | { 474 | "m_vecOrigin" "vector" 475 | "m_angRotation[0]" "float" 476 | "m_angRotation[1]" "float" 477 | "m_angRotation[2]" "float" 478 | "m_vecSize" "vector" 479 | "m_vecVelocity" "vector" 480 | "m_nModelIndex" "int" 481 | "m_nRandomization" "int" 482 | "m_nCount" "int" 483 | "m_fTime" "float" 484 | "m_nFlags" "int" 485 | } 486 | } 487 | "CTEBloodStream" 488 | { 489 | "name" "Blood Stream" 490 | "index" "33" 491 | "SendTable" 492 | { 493 | "m_vecOrigin[0]" "float" 494 | "m_vecOrigin[1]" "float" 495 | "m_vecOrigin[2]" "float" 496 | "m_vecDirection" "vector" 497 | "r" "int" 498 | "g" "int" 499 | "b" "int" 500 | "a" "int" 501 | "m_nAmount" "int" 502 | } 503 | } 504 | "CTEBloodSprite" 505 | { 506 | "name" "Blood Sprite" 507 | "index" "34" 508 | "SendTable" 509 | { 510 | "m_vecOrigin" "vector" 511 | "m_vecDirection" "vector" 512 | "r" "int" 513 | "g" "int" 514 | "b" "int" 515 | "a" "int" 516 | "m_nSprayModel" "int" 517 | "m_nDropModel" "int" 518 | "m_nSize" "int" 519 | } 520 | } 521 | "CTEBeamSpline" 522 | { 523 | "name" "BeamSpline" 524 | "index" "35" 525 | "SendTable" 526 | { 527 | "m_nPoints" "int" 528 | "m_vecPoints" "vector" 529 | "m_vecPoints" "array" 530 | } 531 | } 532 | "CTEBeamRingPoint" 533 | { 534 | "name" "BeamRingPoint" 535 | "index" "36" 536 | "SendTable" 537 | { 538 | "m_nModelIndex" "int" 539 | "m_nHaloIndex" "int" 540 | "m_nStartFrame" "int" 541 | "m_nFrameRate" "int" 542 | "m_fLife" "float" 543 | "m_fWidth" "float" 544 | "m_fEndWidth" "float" 545 | "m_nFadeLength" "int" 546 | "m_fAmplitude" "float" 547 | "m_nSpeed" "int" 548 | "r" "int" 549 | "g" "int" 550 | "b" "int" 551 | "a" "int" 552 | "m_nFlags" "int" 553 | "m_vecCenter" "vector" 554 | "m_flStartRadius" "float" 555 | "m_flEndRadius" "float" 556 | } 557 | } 558 | "CTEBeamRing" 559 | { 560 | "name" "BeamRing" 561 | "index" "37" 562 | "SendTable" 563 | { 564 | "m_nModelIndex" "int" 565 | "m_nHaloIndex" "int" 566 | "m_nStartFrame" "int" 567 | "m_nFrameRate" "int" 568 | "m_fLife" "float" 569 | "m_fWidth" "float" 570 | "m_fEndWidth" "float" 571 | "m_nFadeLength" "int" 572 | "m_fAmplitude" "float" 573 | "m_nSpeed" "int" 574 | "r" "int" 575 | "g" "int" 576 | "b" "int" 577 | "a" "int" 578 | "m_nFlags" "int" 579 | "m_nStartEntity" "int" 580 | "m_nEndEntity" "int" 581 | } 582 | } 583 | "CTEBeamPoints" 584 | { 585 | "name" "BeamPoints" 586 | "index" "38" 587 | "SendTable" 588 | { 589 | "m_nModelIndex" "int" 590 | "m_nHaloIndex" "int" 591 | "m_nStartFrame" "int" 592 | "m_nFrameRate" "int" 593 | "m_fLife" "float" 594 | "m_fWidth" "float" 595 | "m_fEndWidth" "float" 596 | "m_nFadeLength" "int" 597 | "m_fAmplitude" "float" 598 | "m_nSpeed" "int" 599 | "r" "int" 600 | "g" "int" 601 | "b" "int" 602 | "a" "int" 603 | "m_nFlags" "int" 604 | "m_vecStartPoint" "vector" 605 | "m_vecEndPoint" "vector" 606 | } 607 | } 608 | "CTEBeamLaser" 609 | { 610 | "name" "BeamLaser" 611 | "index" "39" 612 | "SendTable" 613 | { 614 | "m_nModelIndex" "int" 615 | "m_nHaloIndex" "int" 616 | "m_nStartFrame" "int" 617 | "m_nFrameRate" "int" 618 | "m_fLife" "float" 619 | "m_fWidth" "float" 620 | "m_fEndWidth" "float" 621 | "m_nFadeLength" "int" 622 | "m_fAmplitude" "float" 623 | "m_nSpeed" "int" 624 | "r" "int" 625 | "g" "int" 626 | "b" "int" 627 | "a" "int" 628 | "m_nFlags" "int" 629 | "m_nStartEntity" "int" 630 | "m_nEndEntity" "int" 631 | } 632 | } 633 | "CTEBeamFollow" 634 | { 635 | "name" "BeamFollow" 636 | "index" "40" 637 | "SendTable" 638 | { 639 | "m_nModelIndex" "int" 640 | "m_nHaloIndex" "int" 641 | "m_nStartFrame" "int" 642 | "m_nFrameRate" "int" 643 | "m_fLife" "float" 644 | "m_fWidth" "float" 645 | "m_fEndWidth" "float" 646 | "m_nFadeLength" "int" 647 | "m_fAmplitude" "float" 648 | "m_nSpeed" "int" 649 | "r" "int" 650 | "g" "int" 651 | "b" "int" 652 | "a" "int" 653 | "m_nFlags" "int" 654 | "m_iEntIndex" "int" 655 | } 656 | } 657 | "CTEBeamEnts" 658 | { 659 | "name" "BeamEnts" 660 | "index" "41" 661 | "SendTable" 662 | { 663 | "m_nModelIndex" "int" 664 | "m_nHaloIndex" "int" 665 | "m_nStartFrame" "int" 666 | "m_nFrameRate" "int" 667 | "m_fLife" "float" 668 | "m_fWidth" "float" 669 | "m_fEndWidth" "float" 670 | "m_nFadeLength" "int" 671 | "m_fAmplitude" "float" 672 | "m_nSpeed" "int" 673 | "r" "int" 674 | "g" "int" 675 | "b" "int" 676 | "a" "int" 677 | "m_nFlags" "int" 678 | "m_nStartEntity" "int" 679 | "m_nEndEntity" "int" 680 | } 681 | } 682 | "CTEBeamEntPoint" 683 | { 684 | "name" "BeamEntPoint" 685 | "index" "42" 686 | "SendTable" 687 | { 688 | "m_nModelIndex" "int" 689 | "m_nHaloIndex" "int" 690 | "m_nStartFrame" "int" 691 | "m_nFrameRate" "int" 692 | "m_fLife" "float" 693 | "m_fWidth" "float" 694 | "m_fEndWidth" "float" 695 | "m_nFadeLength" "int" 696 | "m_fAmplitude" "float" 697 | "m_nSpeed" "int" 698 | "r" "int" 699 | "g" "int" 700 | "b" "int" 701 | "a" "int" 702 | "m_nFlags" "int" 703 | "m_nStartEntity" "int" 704 | "m_nEndEntity" "int" 705 | "m_vecStartPoint" "vector" 706 | "m_vecEndPoint" "vector" 707 | } 708 | } 709 | "CTEArmorRicochet" 710 | { 711 | "name" "Armor Ricochet" 712 | "index" "43" 713 | "SendTable" 714 | { 715 | "m_vecPos" "vector" 716 | "m_vecDir" "vector" 717 | } 718 | } 719 | "CTEMetalSparks" 720 | { 721 | "name" "Metal Sparks" 722 | "index" "44" 723 | "SendTable" 724 | { 725 | "m_vecPos" "vector" 726 | "m_vecDir" "vector" 727 | } 728 | } 729 | "CTEDust" 730 | { 731 | "name" "Dust" 732 | "index" "45" 733 | "SendTable" 734 | { 735 | "m_vecOrigin[0]" "float" 736 | "m_vecOrigin[1]" "float" 737 | "m_vecOrigin[2]" "float" 738 | "m_flSize" "float" 739 | "m_flSpeed" "float" 740 | "m_vecDirection" "vector" 741 | } 742 | } 743 | } 744 | --------------------------------------------------------------------------------