1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-07-09 05:18:17 -05:00

Add quest complete time

MOTD: freeze timers on fade to white screen at end of quest
This commit is contained in:
Jbleezy
2023-10-01 10:14:33 -07:00
parent 63fde591cf
commit 678a1ac9e5
6 changed files with 72 additions and 25 deletions

View File

@ -818,7 +818,7 @@ timer_hud()
hud thread destroy_on_intermission();
level thread set_time_frozen_on_end_game(hud);
hud thread set_time_frozen_on_end_game();
flag_wait( "hud_visible" );
@ -831,12 +831,12 @@ timer_hud()
if ( !flag( "initial_blackscreen_passed" ) )
{
set_time_frozen(hud, 0, "initial_blackscreen_passed");
hud set_time_frozen(0, "initial_blackscreen_passed");
}
if ( getDvar( "g_gametype" ) == "zgrief" )
{
set_time_frozen(hud, 0);
hud set_time_frozen(0);
}
hud setTimerUp(0);
@ -869,7 +869,7 @@ round_timer_hud()
hud thread destroy_on_intermission();
level thread set_time_frozen_on_end_game(hud);
hud thread set_time_frozen_on_end_game();
flag_wait( "hud_visible" );
@ -882,12 +882,12 @@ round_timer_hud()
if ( !flag( "initial_blackscreen_passed" ) )
{
set_time_frozen(hud, 0, "initial_blackscreen_passed");
hud set_time_frozen(0, "initial_blackscreen_passed");
}
if ( getDvar( "g_gametype" ) == "zgrief" )
{
set_time_frozen(hud, 0);
hud set_time_frozen(0);
}
while (1)
@ -908,7 +908,7 @@ round_timer_hud()
time = int((getTime() - hud.start_time) / 1000);
set_time_frozen(hud, time);
hud set_time_frozen(time);
}
}
@ -933,6 +933,8 @@ round_total_timer_hud()
hud.foreground = 1;
hud.label = &"Round Total: ";
hud endon("death");
hud thread destroy_on_intermission();
fade_time = 0.5;
@ -942,7 +944,7 @@ round_total_timer_hud()
time = int((getTime() - level.timer_hud_start_time) / 1000);
set_time_frozen(hud, time);
hud set_time_frozen(time);
hud fadeOverTime(fade_time);
hud.alpha = 0;
@ -952,18 +954,7 @@ round_total_timer_hud()
hud destroy();
}
set_time_frozen_on_end_game(hud)
{
level endon("intermission");
level waittill("end_game");
time = int((getTime() - hud.start_time) / 1000);
set_time_frozen(hud, time);
}
set_time_frozen(hud, time, endon_notify)
set_time_frozen(time, endon_notify)
{
if ( isDefined( endon_notify ) )
{
@ -978,6 +969,8 @@ set_time_frozen(hud, time, endon_notify)
level endon( "start_of_round" );
}
self endon( "death" );
if(time != 0)
{
time -= 0.5; // need to set it below the number or it shows the next number
@ -987,17 +980,28 @@ set_time_frozen(hud, time, endon_notify)
{
if(time == 0)
{
hud setTimerUp(time);
self setTimerUp(time);
}
else
{
hud setTimer(time);
self setTimer(time);
}
wait 0.5;
}
}
set_time_frozen_on_end_game()
{
level endon("intermission");
level waittill_any("end_game", "freeze_timers");
time = int((getTime() - self.start_time) / 1000);
self set_time_frozen(time, "forever");
}
zone_hud()
{
self endon("disconnect");

View File

@ -67,3 +67,41 @@ sq_give_player_all_perks()
wait 0.25;
}
}
sq_complete_time_hud()
{
hud = newHudElem();
hud.alignx = "center";
hud.aligny = "top";
hud.horzalign = "user_center";
hud.vertalign = "user_top";
hud.y += 100;
hud.fontscale = 1.4;
hud.alpha = 0;
hud.color = ( 1, 1, 1 );
hud.hidewheninmenu = 1;
hud.foreground = 1;
hud.label = &"Quest Complete! Time: ";
hud endon("death");
hud thread scripts\zm\_zm_reimagined::destroy_on_intermission();
fade_time = 0.5;
hud fadeOverTime(fade_time);
hud.alpha = 1;
time = int((getTime() - level.timer_hud_start_time) / 1000);
hud thread scripts\zm\_zm_reimagined::set_time_frozen(time, "forever");
wait 10;
hud fadeOverTime(fade_time);
hud.alpha = 0;
wait fade_time;
hud destroy();
}

View File

@ -120,6 +120,8 @@ richtofen_zombie_deathfunction_override()
sq_give_player_rewards()
{
level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud();
players = get_players();
foreach ( player in players )

View File

@ -175,8 +175,9 @@ sq_give_all_perks()
n_fireball_exploder = 901;
}
players = getplayers();
level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud();
players = getplayers();
foreach ( player in players )
{
player thread sq_give_player_perks( perks, v_fireball_start_loc, n_fireball_exploder );

View File

@ -77,7 +77,6 @@ stage_two()
t_plane_fly_afterlife trigger_on();
players = get_players();
foreach ( player in players )
{
if ( is_player_valid( player ) )
@ -304,6 +303,8 @@ stage_final()
level thread clean_up_final_brutuses();
wait 2;
level notify("freeze_timers");
if ( level.winner == "weasel" )
{
a_players = getplayers();

View File

@ -280,8 +280,9 @@ set_screecher_zone_origin_and_notify( script_noteworthy, notify_str )
droppowerup( story )
{
players = get_players();
level thread scripts\zm\replaced\_zm_sq::sq_complete_time_hud();
players = get_players();
foreach ( player in players )
{
if ( is_player_valid( player ) )