#include maps\mp\zombies\_zm_ai_dogs; #include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; #include maps\mp\zombies\_zm_spawner; #include maps\mp\zombies\_zm_audio; #include maps\mp\zombies\_zm_powerups; #include maps\mp\zombies\_zm; #include maps\mp\zombies\_zm_score; #include maps\mp\zombies\_zm_stats; #include maps\mp\zombies\_zm_net; enable_dog_rounds() { level.dog_rounds_enabled = 1; if ( !isdefined( level.dog_round_track_override ) ) level.dog_round_track_override = ::dog_round_tracker; level thread [[ level.dog_round_track_override ]](); } dog_round_tracker() { level.dog_round_count = 1; level.next_dog_round = level.round_number + randomintrange( 4, 6 ); old_spawn_func = level.round_spawn_func; old_wait_func = level.round_wait_func; if (level.next_dog_round == 5) { level.prev_dog_round_amount = 4; } else { level.prev_dog_round_amount = 5; } while ( true ) { level waittill( "between_round_over" ); if ( level.round_number == level.next_dog_round ) { level.music_round_override = 1; old_spawn_func = level.round_spawn_func; old_wait_func = level.round_wait_func; dog_round_start(); level.round_spawn_func = ::dog_round_spawning; if( !isdefined( level.prev_dog_round_amount ) ) { level.prev_dog_round_amount = randomintrange( 4, 6 ); level.next_dog_round = level.round_number + level.prev_dog_round_amount; } else { if (level.prev_dog_round_amount == 4) { level.next_dog_round = level.round_number + 5; } else { level.next_dog_round = level.round_number + 4; } level.prev_dog_round_amount = undefined; } } else if ( flag( "dog_round" ) ) { dog_round_stop(); level.round_spawn_func = old_spawn_func; level.round_wait_func = old_wait_func; level.music_round_override = 0; level.dog_round_count += 1; } } }