diff --git a/README.md b/README.md index c57578d1..3696e754 100644 --- a/README.md +++ b/README.md @@ -588,8 +588,9 @@ * Perk bottle dig spots: visible and diggable without Zombie Blood * Perk bottle dig spots: increased number of rounds for next dig spot to spawn from 1 to 4 * Quest (ascend from darkness step): staffs can be placed at any staff holder +* Quest (ascend from darkness step): three robots always active during step * Quest (ascend from darkness step): fixed an issue where staffs were able to be picked up at their build location when placed in the staff holders -* Quest (rain fire step): button no longer deactivates +* Quest (rain fire step): button no longer deactivates after activating * Quest (raise hell step): all staffs must be fully charged for souls to be collected * Quest (raise hell step): zombies in The Crazy Place get knocked down during the screen flash after collecting all souls * Quest (freedom step): teleport trigger can be triggered without looking at it diff --git a/scripts/zm/replaced/zm_tomb_ee_main_step_3.gsc b/scripts/zm/replaced/zm_tomb_ee_main_step_3.gsc index 45bedc47..5b34e1a6 100644 --- a/scripts/zm/replaced/zm_tomb_ee_main_step_3.gsc +++ b/scripts/zm/replaced/zm_tomb_ee_main_step_3.gsc @@ -6,6 +6,40 @@ #include maps\mp\zombies\_zm_unitrigger; #include maps\mp\zm_tomb_ee_main_step_3; +ready_to_activate( unitrigger_stub ) +{ + self endon( "death" ); + self playsoundwithnotify( "vox_maxi_robot_sync_0", "sync_done" ); + + self waittill( "sync_done" ); + + wait 0.5; + self playsoundwithnotify( "vox_maxi_robot_await_0", "ready_to_use" ); + + self waittill( "ready_to_use" ); + + maps\mp\zombies\_zm_unitrigger::register_static_unitrigger( unitrigger_stub, ::activate_fire_link ); +} + +activate_fire_link() +{ + self endon( "kill_trigger" ); + + while ( true ) + { + self waittill( "trigger", player ); + + self playsound( "zmb_squest_robot_button" ); + + level thread fire_link_cooldown( self ); + self playsound( "zmb_squest_robot_button_activate" ); + self playloopsound( "zmb_squest_robot_button_timer", 0.5 ); + flag_waitopen( "fire_link_enabled" ); + self stoploopsound( 0.5 ); + self playsound( "zmb_squest_robot_button_deactivate" ); + } +} + fire_link_cooldown( t_button ) { level notify( "fire_link_cooldown" ); diff --git a/scripts/zm/replaced/zm_tomb_giant_robot.gsc b/scripts/zm/replaced/zm_tomb_giant_robot.gsc index 1556a08d..921222c9 100644 --- a/scripts/zm/replaced/zm_tomb_giant_robot.gsc +++ b/scripts/zm/replaced/zm_tomb_giant_robot.gsc @@ -35,7 +35,7 @@ robot_cycling() if ( !( level.round_number % 4 ) && three_robot_round != level.round_number ) flag_set( "three_robot_round" ); - if ( flag( "ee_all_staffs_placed" ) && !flag( "ee_mech_zombie_hole_opened" ) ) + if ( flag( "ee_all_staffs_upgraded" ) && !flag( "ee_mech_zombie_hole_opened" ) ) flag_set( "three_robot_round" ); if ( flag( "three_robot_round" ) ) diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index 8182474d..5d7a5631 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -43,7 +43,7 @@ main() replaceFunc(maps\mp\zm_tomb_ee_main::all_staffs_inserted_in_puzzle_room, scripts\zm\replaced\zm_tomb_ee_main::all_staffs_inserted_in_puzzle_room); replaceFunc(maps\mp\zm_tomb_ee_main_step_2::create_robot_head_trigger, scripts\zm\replaced\zm_tomb_ee_main_step_2::create_robot_head_trigger); replaceFunc(maps\mp\zm_tomb_ee_main_step_2::remove_plinth, scripts\zm\replaced\zm_tomb_ee_main_step_2::remove_plinth); - replaceFunc(maps\mp\zm_tomb_ee_main_step_3::fire_link_cooldown, scripts\zm\replaced\zm_tomb_ee_main_step_3::fire_link_cooldown); + replaceFunc(maps\mp\zm_tomb_ee_main_step_3::ready_to_activate, scripts\zm\replaced\zm_tomb_ee_main_step_3::ready_to_activate); replaceFunc(maps\mp\zm_tomb_ee_main_step_8::init, scripts\zm\replaced\zm_tomb_ee_main_step_8::init); replaceFunc(maps\mp\zm_tomb_capture_zones::setup_capture_zones, scripts\zm\replaced\zm_tomb_capture_zones::setup_capture_zones); replaceFunc(maps\mp\zm_tomb_challenges::challenges_init, scripts\zm\replaced\zm_tomb_challenges::challenges_init);