From 2038d4623cfadeb2cd7b5a13c6e0c48dc2eeaa76 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Sun, 30 Apr 2023 01:27:13 -0700 Subject: [PATCH] MOTD: laundry machine always spawns zombies --- README.md | 3 +- scripts/zm/replaced/zm_alcatraz_sq.gsc | 29 +++++++++++++++++++ scripts/zm/zm_prison/zm_prison_reimagined.gsc | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d47e465..ebd40de8 100644 --- a/README.md +++ b/README.md @@ -632,6 +632,8 @@ * Decreased starting room doors cost from 1000 to 750 * Opening one of the starting room doors no longer opens the other * Brutus no longer spawns if no doors have been opened +* Activating the laundry machine always spawns zombies instead of Brutus +* Players no longer respawn in the Acid Trap * Acid Trap: kills on any round (normally stops killing after round 158 on PC) * Acid Trap: kills zombies instantly * Acid Trap: decreased player damage from 75% of max health to 50% of max health @@ -639,7 +641,6 @@ * Tower Trap: kills on any round in 1 shot * Tower Trap (upgraded): kills on any round in 1-2 shots * Tower Trap (upgraded): stays upgraded until the end of the round -* Players no longer respawn in the Acid Trap * Zombies spawn in the Docks zone when in the Docks Gates zone * Zombies spawn in the Docks Gates zone when in the Docks zone * Quest: number pad only needs each number to be shocked once in order to complete diff --git a/scripts/zm/replaced/zm_alcatraz_sq.gsc b/scripts/zm/replaced/zm_alcatraz_sq.gsc index ed776b42..a5a07ee8 100644 --- a/scripts/zm/replaced/zm_alcatraz_sq.gsc +++ b/scripts/zm/replaced/zm_alcatraz_sq.gsc @@ -22,6 +22,35 @@ #include maps\mp\zombies\_zm_clone; #include maps\mp\zm_alcatraz_sq; +dryer_zombies_thread() +{ + n_zombie_count_min = 20; + e_shower_zone = getent( "cellblock_shower", "targetname" ); + flag_wait( "dryer_cycle_active" ); + + if ( level.zombie_total < n_zombie_count_min ) + level.zombie_total = n_zombie_count_min; + + while ( flag( "dryer_cycle_active" ) ) + { + a_zombies_in_shower = []; + a_zombies_in_shower = get_zombies_touching_volume( "axis", "cellblock_shower", undefined ); + + if ( a_zombies_in_shower.size < n_zombie_count_min ) + { + e_zombie = get_farthest_available_zombie( e_shower_zone ); + + if ( isdefined( e_zombie ) && !isinarray( a_zombies_in_shower, e_zombie ) ) + { + e_zombie notify( "zapped" ); + e_zombie thread dryer_teleports_zombie(); + } + } + + wait 1; + } +} + track_quest_status_thread() { while ( true ) diff --git a/scripts/zm/zm_prison/zm_prison_reimagined.gsc b/scripts/zm/zm_prison/zm_prison_reimagined.gsc index 9795a36d..ee85b350 100644 --- a/scripts/zm/zm_prison/zm_prison_reimagined.gsc +++ b/scripts/zm/zm_prison/zm_prison_reimagined.gsc @@ -32,6 +32,7 @@ main() replaceFunc(maps\mp\zm_alcatraz_gamemodes::init, scripts\zm\replaced\zm_alcatraz_gamemodes::init); replaceFunc(maps\mp\zm_alcatraz_utility::blundergat_upgrade_station, scripts\zm\replaced\zm_alcatraz_utility::blundergat_upgrade_station); replaceFunc(maps\mp\zm_alcatraz_utility::check_solo_status, scripts\zm\replaced\zm_alcatraz_utility::check_solo_status); + replaceFunc(maps\mp\zm_alcatraz_sq::dryer_zombies_thread, scripts\zm\replaced\zm_alcatraz_sq::dryer_zombies_thread); replaceFunc(maps\mp\zm_alcatraz_sq::track_quest_status_thread, scripts\zm\replaced\zm_alcatraz_sq::track_quest_status_thread); replaceFunc(maps\mp\zm_alcatraz_sq::plane_boarding_thread, scripts\zm\replaced\zm_alcatraz_sq::plane_boarding_thread); replaceFunc(maps\mp\zm_alcatraz_sq::plane_flight_thread, scripts\zm\replaced\zm_alcatraz_sq::plane_flight_thread);