From ac273e5914fa10e33d93ec4c809330a347bd81c5 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Sun, 5 Dec 2021 18:13:20 -0800 Subject: [PATCH] Grief: unlimited barrier rebuild points --- README.md | 1 + scripts/zm/_zm_reimagined_grief.gsc | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/README.md b/README.md index ad18ec84..18f98ac6 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,7 @@ * 0.5 second zombie spawn rate * Only sprinting zombies * Every player starts each round with at least 10000 points +* Unlimited barrier rebuild points * Decreased stun time by enemy players from 0.75 seconds to 0.5 seconds * Players can be stunned by enemy players while already stunned * Points awarded for stunning enemy players that are damaged diff --git a/scripts/zm/_zm_reimagined_grief.gsc b/scripts/zm/_zm_reimagined_grief.gsc index 1b057df4..8c86c9f2 100644 --- a/scripts/zm/_zm_reimagined_grief.gsc +++ b/scripts/zm/_zm_reimagined_grief.gsc @@ -6,7 +6,13 @@ main() { + if ( getDvar( "g_gametype" ) != "zgrief" ) + { + return; + } + replaceFunc(maps/mp/zombies/_zm_game_module::wait_for_team_death_and_round_end, ::wait_for_team_death_and_round_end); + replaceFunc(maps/mp/zombies/_zm_blockers::handle_post_board_repair_rewards, ::handle_post_board_repair_rewards); } init() @@ -562,6 +568,26 @@ unlimited_zombies() } } +handle_post_board_repair_rewards( cost, zbarrier ) +{ + self maps/mp/zombies/_zm_stats::increment_client_stat( "boards" ); + self maps/mp/zombies/_zm_stats::increment_player_stat( "boards" ); + if ( isDefined( self.pers[ "boards" ] ) && ( self.pers[ "boards" ] % 10 ) == 0 ) + { + self thread do_player_general_vox( "general", "reboard", 90 ); + } + self maps/mp/zombies/_zm_pers_upgrades_functions::pers_boards_updated( zbarrier ); + self.rebuild_barrier_reward += cost; + + self maps/mp/zombies/_zm_score::player_add_points( "rebuild_board", cost ); + self play_sound_on_ent( "purchase" ); + + if ( isDefined( self.board_repair ) ) + { + self.board_repair += 1; + } +} + spawn_bots(num) { level waittill( "connected", player );