diff --git a/README.md b/README.md index 1bc769f8..ba24aab0 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ * Zombies no longer spawn across from the debris in the Lower Orange Highrise area when the debris is closed * Zombies no longer fall off the map traversing down to the Green Highrise Level 1 area * Fixed weapon model angle on upside down Mystery Box +* Fixed zombies not bleeding out in the Green Highrise Level 1b zone when the debris is closed and there are no players in the zone * Quest: elevator symbols can be activated without players on every symbol * Quest: elevator symbols stay active after activating once * Quest: floor symbols can be activated in any order diff --git a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc index c1bab7af..3666bd33 100644 --- a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc +++ b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc @@ -62,6 +62,7 @@ init() level thread elevator_call(); level thread escape_pod_call(); + level thread zombie_bad_zone_watcher(); } zombie_init_done() @@ -449,4 +450,46 @@ escape_pod_call_think() flag_waitopen( "escape_pod_needs_reset" ); } +} + +zombie_bad_zone_watcher() +{ + level endon( "end_game" ); + level endon( "green_level3_door2" ); + + elevator_volume = getent( "elevator_1d", "targetname" ); + + while ( 1 ) + { + wait 0.05; + + if ( maps\mp\zombies\_zm_zonemgr::player_in_zone( "zone_green_level3c" ) ) + { + continue; + } + + zombies = getaiarray( level.zombie_team ); + + foreach ( zombie in zombies ) + { + if ( is_true( zombie.completed_emerging_into_playable_area ) && zombie maps\mp\zombies\_zm_zonemgr::entity_in_zone( "zone_green_level3c" ) && !zombie istouching( elevator_volume ) ) + { + if ( is_true( zombie.is_leaper ) ) + { + self maps\mp\zombies\_zm_ai_leaper::leaper_cleanup(); + } + else + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + { + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + } + + zombie dodamage( zombie.health + 100, zombie.origin ); + } + } + } } \ No newline at end of file