From 4e4e54810a6ec795a9cd9edd823fbde1e0722b1d Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Mon, 24 Jan 2022 20:16:50 -0800 Subject: [PATCH] Destroy HUD elements on intermission --- scripts/zm/_zm_reimagined.gsc | 37 ++++++++++++++++++++++++- scripts/zm/zgrief/zgrief_reimagined.gsc | 24 ++++++++++++---- 2 files changed, 55 insertions(+), 6 deletions(-) diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index c34393c2..7df104c6 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -355,6 +355,11 @@ health_bar_hud() health_bar_text.hidewheninmenu = 1; health_bar_text.foreground = 1; + health_bar endon("death"); + + health_bar thread destroy_on_intermission(); + health_bar_text thread destroy_on_intermission(); + while (1) { if(isDefined(self.e_afterlife_corpse)) @@ -406,6 +411,10 @@ enemy_counter_hud() enemy_counter_hud.foreground = 1; enemy_counter_hud.label = &"Enemies Remaining: "; + enemy_counter_hud endon("death"); + + enemy_counter_hud thread destroy_on_intermission(); + flag_wait( "initial_blackscreen_passed" ); enemy_counter_hud.alpha = 1; @@ -428,7 +437,6 @@ enemy_counter_hud() timer_hud() { - level thread round_timer_hud(); timer_hud = newHudElem(); @@ -445,6 +453,10 @@ timer_hud() timer_hud.foreground = 1; timer_hud.label = &"Total: "; + timer_hud endon("death"); + + timer_hud thread destroy_on_intermission(); + level thread set_time_frozen_on_end_game(timer_hud); flag_wait( "initial_blackscreen_passed" ); @@ -476,6 +488,10 @@ round_timer_hud() round_timer_hud.foreground = 1; round_timer_hud.label = &"Round: "; + round_timer_hud endon("death"); + + round_timer_hud thread destroy_on_intermission(); + level thread set_time_frozen_on_end_game(round_timer_hud); flag_wait( "initial_blackscreen_passed" ); @@ -582,6 +598,10 @@ zone_hud() zone_hud.hidewheninmenu = 1; zone_hud.foreground = 1; + zone_hud endon("death"); + + zone_hud thread destroy_on_intermission(); + flag_wait( "initial_blackscreen_passed" ); prev_zone = self get_zone_name(); @@ -4539,6 +4559,21 @@ vulture_disable_stink_while_standing() } } +destroy_on_intermission() +{ + self endon("death"); + + level waittill("intermission"); + + if(self.elemtype == "bar") + { + self.bar destroy(); + self.barframe destroy(); + } + + self destroy(); +} + test() { while(1) diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index dd26a3ec..04119e22 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -60,7 +60,7 @@ init() level thread sudden_death(); level thread unlimited_zombies(); level thread remove_round_number(); - level thread remove_status_icons_on_end_game(); + level thread remove_status_icons_on_intermission(); level thread random_map_rotation(); level thread spawn_bots(7); } @@ -231,6 +231,8 @@ grief_score_hud() level.grief_hud.team["allies"].score["allies"].alpha = 0; level.grief_hud.team["allies"].score["allies"] setValue(0); + level thread destroy_grief_score_hud_on_intermission(); + flag_wait( "initial_blackscreen_passed" ); level.grief_hud.team["axis"].icon["axis"].alpha = 1; @@ -243,6 +245,20 @@ grief_score_hud() level.grief_hud.team["allies"].score["allies"].alpha = 1; } +destroy_grief_score_hud_on_intermission() +{ + level waittill("intermission"); + + level.grief_hud.team["axis"].icon["axis"] destroy(); + level.grief_hud.team["axis"].icon["allies"] destroy(); + level.grief_hud.team["axis"].score["axis"] destroy(); + level.grief_hud.team["axis"].score["allies"] destroy(); + level.grief_hud.team["allies"].icon["axis"] destroy(); + level.grief_hud.team["allies"].icon["allies"] destroy(); + level.grief_hud.team["allies"].score["axis"] destroy(); + level.grief_hud.team["allies"].score["allies"] destroy(); +} + set_grief_vars() { level.noroundnumber = 1; @@ -1797,11 +1813,9 @@ remove_round_number() } } -remove_status_icons_on_end_game() +remove_status_icons_on_intermission() { - level waittill("end_game"); - - wait 5; + level waittill("intermission"); players = get_players(); foreach(player in players)