From adfccf20b7d4e721c9e19b8fd20ded0c281142ab Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Fri, 21 Feb 2020 18:51:16 -0800 Subject: [PATCH] Buried: power on and removed Turbine --- README.md | 2 ++ _zm_reimagined.gsc | 59 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b8c75ff5..3d4a326b 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,8 @@ * Plane fuel automatically picked up ### Buried +* Power automatically on +* Removed Turbine * Removed Sloth barricades * Fountain portal automatically active diff --git a/_zm_reimagined.gsc b/_zm_reimagined.gsc index 174b3b88..7cd5eb04 100644 --- a/_zm_reimagined.gsc +++ b/_zm_reimagined.gsc @@ -67,6 +67,7 @@ post_all_players_spawned() disable_high_round_walkers(); disable_perk_pause(); + enable_free_perks_before_power(); disable_carpenter(); @@ -86,6 +87,8 @@ post_all_players_spawned() slipgun_always_kill(); slipgun_disable_reslip(); + buried_turn_power_on(); + //disable_pers_upgrades(); // TODO level thread buildbuildables(); @@ -357,6 +360,11 @@ perk_power_off( origin, radius ) level notify( self.target maps/mp/zombies/_zm_perks::getvendingmachinenotify() + "_off" ); } +enable_free_perks_before_power() +{ + level.disable_free_perks_before_power = undefined; +} + buildbuildables() { // need a wait or else some buildables dont build @@ -384,7 +392,10 @@ buildbuildables() } else if(level.scr_zm_map_start_location == "processing") { - buildbuildable( "turbine" ); + level waittill( "buildables_setup" ); // wait for buildables to randomize + wait 0.05; + + removebuildable( "turbine" ); buildbuildable( "springpad_zm" ); buildbuildable( "subwoofer_zm" ); buildbuildable( "headchopper_zm" ); @@ -392,6 +403,35 @@ buildbuildables() } } +removebuildable( buildable ) +{ + player = get_players()[ 0 ]; + _a197 = level.buildable_stubs; + _k197 = getFirstArrayKey( _a197 ); + while ( isDefined( _k197 ) ) + { + stub = _a197[ _k197 ]; + if ( !isDefined( buildable ) || stub.equipname == buildable ) + { + if ( isDefined( buildable ) || stub.persistent != 3 ) + { + stub maps/mp/zombies/_zm_buildables::buildablestub_remove(); + _a206 = stub.buildablezone.pieces; + _k206 = getFirstArrayKey( _a206 ); + while ( isDefined( _k206 ) ) + { + piece = _a206[ _k206 ]; + piece maps/mp/zombies/_zm_buildables::piece_unspawn(); + _k206 = getNextArrayKey( _a206, _k206 ); + } + maps/mp/zombies/_zm_unitrigger::unregister_unitrigger( stub ); + return; + } +} + _k197 = getNextArrayKey( _a197, _k197 ); + } +} + buildbuildable( buildable ) { player = get_players()[ 0 ]; @@ -1229,7 +1269,24 @@ prison_auto_refuel_plane() buried_turn_power_on() { + if(!(is_classic() && level.scr_zm_map_start_location == "processing")) + { + return; + } + trigger = getent( "use_elec_switch", "targetname" ); + if ( isDefined( trigger ) ) + { + trigger delete(); +} + master_switch = getent( "elec_switch", "targetname" ); + if ( isDefined( master_switch ) ) + { + master_switch notsolid(); + master_switch rotateroll( -90, 0.3 ); + clientnotify( "power_on" ); + flag_set( "power_on" ); + } } buried_deleteslothbarricades()