mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-12 16:18:00 -05:00
In-game menu no longer disabled instantly when the game ends
This commit is contained in:
@ -41,6 +41,9 @@
|
|||||||
* Health bar displayed on bottom left of screen
|
* Health bar displayed on bottom left of screen
|
||||||
* Current zone displayed on bottom left of screen
|
* Current zone displayed on bottom left of screen
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
* In-game menu no longer disabled instantly when the game ends
|
||||||
|
|
||||||
## Zombies
|
## Zombies
|
||||||
* Health capped at 1 million
|
* Health capped at 1 million
|
||||||
* Removed walkers in high rounds
|
* Removed walkers in high rounds
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
replaceFunc(maps/mp/zombies/_zm::check_quickrevive_for_hotjoin, scripts/zm/replaced/_zm::check_quickrevive_for_hotjoin);
|
replaceFunc(maps/mp/zombies/_zm::check_quickrevive_for_hotjoin, scripts/zm/replaced/_zm::check_quickrevive_for_hotjoin);
|
||||||
|
replaceFunc(maps/mp/zombies/_zm::end_game, scripts/zm/replaced/_zm::end_game);
|
||||||
replaceFunc(maps/mp/zombies/_zm_playerhealth::playerhealthregen, scripts/zm/replaced/_zm_playerhealth::playerhealthregen);
|
replaceFunc(maps/mp/zombies/_zm_playerhealth::playerhealthregen, scripts/zm/replaced/_zm_playerhealth::playerhealthregen);
|
||||||
replaceFunc(maps/mp/zombies/_zm_utility::track_players_intersection_tracker, scripts/zm/replaced/_zm_utility::track_players_intersection_tracker);
|
replaceFunc(maps/mp/zombies/_zm_utility::track_players_intersection_tracker, scripts/zm/replaced/_zm_utility::track_players_intersection_tracker);
|
||||||
replaceFunc(maps/mp/zombies/_zm_powerups::nuke_powerup, scripts/zm/replaced/_zm_powerups::nuke_powerup);
|
replaceFunc(maps/mp/zombies/_zm_powerups::nuke_powerup, scripts/zm/replaced/_zm_powerups::nuke_powerup);
|
||||||
|
@ -55,4 +55,169 @@ wait_for_all_players_to_connect( max_wait )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
end_game()
|
||||||
|
{
|
||||||
|
level waittill( "end_game" );
|
||||||
|
maps/mp/zombies/_zm::check_end_game_intermission_delay();
|
||||||
|
clientnotify( "zesn" );
|
||||||
|
if ( isDefined( level.sndgameovermusicoverride ) )
|
||||||
|
{
|
||||||
|
level thread maps/mp/zombies/_zm_audio::change_zombie_music( level.sndgameovermusicoverride );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
level thread maps/mp/zombies/_zm_audio::change_zombie_music( "game_over" );
|
||||||
|
}
|
||||||
|
players = get_players();
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
setclientsysstate( "lsm", "0", players[ i ] );
|
||||||
|
}
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
if ( players[ i ] maps/mp/zombies/_zm_laststand::player_is_in_laststand() )
|
||||||
|
{
|
||||||
|
players[ i ] recordplayerdeathzombies();
|
||||||
|
players[ i ] maps/mp/zombies/_zm_stats::increment_player_stat( "deaths" );
|
||||||
|
players[ i ] maps/mp/zombies/_zm_stats::increment_client_stat( "deaths" );
|
||||||
|
players[ i ] maps/mp/zombies/_zm_pers_upgrades_functions::pers_upgrade_jugg_player_death_stat();
|
||||||
|
}
|
||||||
|
if ( isdefined( players[ i ].revivetexthud) )
|
||||||
|
{
|
||||||
|
players[ i ].revivetexthud destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stopallrumbles();
|
||||||
|
level.intermission = 1;
|
||||||
|
level.zombie_vars[ "zombie_powerup_insta_kill_time" ] = 0;
|
||||||
|
level.zombie_vars[ "zombie_powerup_fire_sale_time" ] = 0;
|
||||||
|
level.zombie_vars[ "zombie_powerup_point_doubler_time" ] = 0;
|
||||||
|
wait 0.1;
|
||||||
|
game_over = [];
|
||||||
|
survived = [];
|
||||||
|
players = get_players();
|
||||||
|
if ( !isDefined( level._supress_survived_screen ) )
|
||||||
|
{
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
if ( isDefined( level.custom_game_over_hud_elem ) )
|
||||||
|
{
|
||||||
|
game_over[ i ] = [[ level.custom_game_over_hud_elem ]]( players[ i ] );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
game_over[ i ] = newclienthudelem( players[ i ] );
|
||||||
|
game_over[ i ].alignx = "center";
|
||||||
|
game_over[ i ].aligny = "middle";
|
||||||
|
game_over[ i ].horzalign = "center";
|
||||||
|
game_over[ i ].vertalign = "middle";
|
||||||
|
game_over[ i ].y -= 130;
|
||||||
|
game_over[ i ].foreground = 1;
|
||||||
|
game_over[ i ].fontscale = 3;
|
||||||
|
game_over[ i ].alpha = 0;
|
||||||
|
game_over[ i ].color = ( 1, 1, 1 );
|
||||||
|
game_over[ i ].hidewheninmenu = 1;
|
||||||
|
game_over[ i ] settext( &"ZOMBIE_GAME_OVER" );
|
||||||
|
game_over[ i ] fadeovertime( 1 );
|
||||||
|
game_over[ i ].alpha = 1;
|
||||||
|
}
|
||||||
|
survived[ i ] = newclienthudelem( players[ i ] );
|
||||||
|
survived[ i ].alignx = "center";
|
||||||
|
survived[ i ].aligny = "middle";
|
||||||
|
survived[ i ].horzalign = "center";
|
||||||
|
survived[ i ].vertalign = "middle";
|
||||||
|
survived[ i ].y -= 100;
|
||||||
|
survived[ i ].foreground = 1;
|
||||||
|
survived[ i ].fontscale = 2;
|
||||||
|
survived[ i ].alpha = 0;
|
||||||
|
survived[ i ].color = ( 1, 1, 1 );
|
||||||
|
survived[ i ].hidewheninmenu = 1;
|
||||||
|
|
||||||
|
if ( level.round_number < 2 )
|
||||||
|
{
|
||||||
|
if ( level.script == "zombie_moon" )
|
||||||
|
{
|
||||||
|
if ( !isDefined( level.left_nomans_land ) )
|
||||||
|
{
|
||||||
|
nomanslandtime = level.nml_best_time;
|
||||||
|
player_survival_time = int( nomanslandtime / 1000 );
|
||||||
|
player_survival_time_in_mins = maps/mp/zombies/_zm::to_mins( player_survival_time );
|
||||||
|
survived[ i ] settext( &"ZOMBIE_SURVIVED_NOMANS", player_survival_time_in_mins );
|
||||||
|
}
|
||||||
|
else if ( level.left_nomans_land == 2 )
|
||||||
|
{
|
||||||
|
survived[ i ] settext( &"ZOMBIE_SURVIVED_ROUND" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
survived[ i ] settext( &"ZOMBIE_SURVIVED_ROUND" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
survived[ i ] settext( &"ZOMBIE_SURVIVED_ROUNDS", level.round_number );
|
||||||
|
}
|
||||||
|
survived[ i ] fadeovertime( 1 );
|
||||||
|
survived[ i ].alpha = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( isDefined( level.custom_end_screen ) )
|
||||||
|
{
|
||||||
|
level [[ level.custom_end_screen ]]();
|
||||||
|
}
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
players[ i ] setclientammocounterhide( 1 );
|
||||||
|
players[ i ] setclientminiscoreboardhide( 1 );
|
||||||
|
}
|
||||||
|
uploadstats();
|
||||||
|
maps/mp/zombies/_zm_stats::update_players_stats_at_match_end( players );
|
||||||
|
maps/mp/zombies/_zm_stats::update_global_counters_on_match_end();
|
||||||
|
wait 1;
|
||||||
|
wait 3.95;
|
||||||
|
players = get_players();
|
||||||
|
foreach ( player in players )
|
||||||
|
{
|
||||||
|
if ( isdefined( player.sessionstate ) && player.sessionstate == "spectator" )
|
||||||
|
{
|
||||||
|
player.sessionstate = "playing";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wait 0.05;
|
||||||
|
players = get_players();
|
||||||
|
if ( !isDefined( level._supress_survived_screen ) )
|
||||||
|
{
|
||||||
|
for(i = 0; i < players.size; i++)
|
||||||
|
{
|
||||||
|
survived[ i ] destroy();
|
||||||
|
game_over[ i ] destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
if ( isDefined( players[ i ].survived_hud ) )
|
||||||
|
{
|
||||||
|
players[ i ].survived_hud destroy();
|
||||||
|
}
|
||||||
|
if ( isDefined( players[ i ].game_over_hud ) )
|
||||||
|
{
|
||||||
|
players[ i ].game_over_hud destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
maps/mp/zombies/_zm::intermission();
|
||||||
|
wait level.zombie_vars[ "zombie_intermission_time" ];
|
||||||
|
level notify( "stop_intermission" );
|
||||||
|
array_thread( get_players(), maps/mp/zombies/_zm::player_exit_level );
|
||||||
|
bbprint( "zombie_epilogs", "rounds %d", level.round_number );
|
||||||
|
wait 1.5;
|
||||||
|
players = get_players();
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
|
{
|
||||||
|
players[ i ] cameraactivate( 0 );
|
||||||
|
}
|
||||||
|
exitlevel( 0 );
|
||||||
|
wait 666;
|
||||||
}
|
}
|
Reference in New Issue
Block a user