1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-22 13:10:28 -05:00

Remove round cap

This commit is contained in:
Jbleezy
2023-04-11 19:35:03 -07:00
parent 3f38c87bfd
commit 4a146dc93f
3 changed files with 176 additions and 3 deletions

View File

@ -32,7 +32,7 @@ main()
replaceFunc(common_scripts\utility::struct_class_init, scripts\zm\replaced\utility::struct_class_init);
replaceFunc(maps\mp\animscripts\zm_melee::meleecombat, scripts\zm\replaced\zm_melee::meleecombat);
replaceFunc(maps\mp\animscripts\zm_utility::wait_network_frame, scripts\zm\replaced\_zm_utility::wait_network_frame);
replaceFunc(maps\mp\zombies\_zm::check_quickrevive_for_hotjoin, scripts\zm\replaced\_zm::check_quickrevive_for_hotjoin);
replaceFunc(maps\mp\zombies\_zm::round_start, scripts\zm\replaced\_zm::round_start);
replaceFunc(maps\mp\zombies\_zm::ai_calculate_health, scripts\zm\replaced\_zm::ai_calculate_health);
replaceFunc(maps\mp\zombies\_zm::onallplayersready, scripts\zm\replaced\_zm::onallplayersready);
replaceFunc(maps\mp\zombies\_zm::last_stand_pistol_rank_init, scripts\zm\replaced\_zm::last_stand_pistol_rank_init);
@ -45,6 +45,7 @@ main()
replaceFunc(maps\mp\zombies\_zm::player_revive_monitor, scripts\zm\replaced\_zm::player_revive_monitor);
replaceFunc(maps\mp\zombies\_zm::player_out_of_playable_area_monitor, scripts\zm\replaced\_zm::player_out_of_playable_area_monitor);
replaceFunc(maps\mp\zombies\_zm::end_game, scripts\zm\replaced\_zm::end_game);
replaceFunc(maps\mp\zombies\_zm::check_quickrevive_for_hotjoin, scripts\zm\replaced\_zm::check_quickrevive_for_hotjoin);
replaceFunc(maps\mp\zombies\_zm_stats::set_global_stat, scripts\zm\replaced\_zm_stats::set_global_stat);
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);

View File

@ -4,9 +4,175 @@
#include maps\mp\gametypes_zm\_hud_util;
#include maps\mp\zombies\_zm;
check_quickrevive_for_hotjoin(disconnecting_player)
round_start()
{
// always use coop quick revive
if ( isdefined( level.round_prestart_func ) )
[[ level.round_prestart_func ]]();
else
{
n_delay = 2;
if ( isdefined( level.zombie_round_start_delay ) )
n_delay = level.zombie_round_start_delay;
wait( n_delay );
}
level.zombie_health = level.zombie_vars["zombie_health_start"];
if ( getdvarint( "scr_writeConfigStrings" ) == 1 )
{
wait 5;
exitlevel();
return;
}
if ( level.zombie_vars["game_start_delay"] > 0 )
round_pause( level.zombie_vars["game_start_delay"] );
flag_set( "begin_spawning" );
if ( !isdefined( level.round_spawn_func ) )
level.round_spawn_func = ::round_spawning;
if ( !isdefined( level.round_wait_func ) )
level.round_wait_func = ::round_wait;
if ( !isdefined( level.round_think_func ) )
level.round_think_func = ::round_think;
level thread [[ level.round_think_func ]]();
}
round_think( restart = 0 )
{
level endon( "end_round_think" );
if ( !( isdefined( restart ) && restart ) )
{
if ( isdefined( level.initial_round_wait_func ) )
[[ level.initial_round_wait_func ]]();
if ( !( isdefined( level.host_ended_game ) && level.host_ended_game ) )
{
players = get_players();
foreach ( player in players )
{
if ( !( isdefined( player.hostmigrationcontrolsfrozen ) && player.hostmigrationcontrolsfrozen ) )
{
player freezecontrols( 0 );
}
player maps\mp\zombies\_zm_stats::set_global_stat( "rounds", level.round_number );
}
}
}
setroundsplayed( level.round_number );
for (;;)
{
maxreward = 50 * level.round_number;
if ( maxreward > 500 )
maxreward = 500;
level.zombie_vars["rebuild_barrier_cap_per_round"] = maxreward;
level.pro_tips_start_time = gettime();
level.zombie_last_run_time = gettime();
if ( isdefined( level.zombie_round_change_custom ) )
[[ level.zombie_round_change_custom ]]();
else
{
level thread maps\mp\zombies\_zm_audio::change_zombie_music( "round_start" );
round_one_up();
}
maps\mp\zombies\_zm_powerups::powerup_round_start();
players = get_players();
array_thread( players, maps\mp\zombies\_zm_blockers::rebuild_barrier_reward_reset );
if ( !( isdefined( level.headshots_only ) && level.headshots_only ) && !restart )
level thread award_grenades_for_survivors();
bbprint( "zombie_rounds", "round %d player_count %d", level.round_number, players.size );
level.round_start_time = gettime();
while ( level.zombie_spawn_locations.size <= 0 )
wait 0.1;
level thread [[ level.round_spawn_func ]]();
level notify( "start_of_round" );
recordzombieroundstart();
players = getplayers();
for ( index = 0; index < players.size; index++ )
{
zonename = players[index] get_current_zone();
if ( isdefined( zonename ) )
players[index] recordzombiezone( "startingZone", zonename );
}
if ( isdefined( level.round_start_custom_func ) )
[[ level.round_start_custom_func ]]();
[[ level.round_wait_func ]]();
level.first_round = 0;
level notify( "end_of_round" );
level thread maps\mp\zombies\_zm_audio::change_zombie_music( "round_end" );
uploadstats();
if ( isdefined( level.round_end_custom_logic ) )
[[ level.round_end_custom_logic ]]();
players = get_players();
if ( isdefined( level.no_end_game_check ) && level.no_end_game_check )
{
level thread last_stand_revive();
level thread spectators_respawn();
}
else if ( 1 != players.size )
level thread spectators_respawn();
players = get_players();
array_thread( players, maps\mp\zombies\_zm_pers_upgrades_system::round_end );
timer = level.zombie_vars["zombie_spawn_delay"];
if ( timer > 0.08 )
level.zombie_vars["zombie_spawn_delay"] = timer * 0.95;
else if ( timer < 0.08 )
level.zombie_vars["zombie_spawn_delay"] = 0.08;
if ( level.gamedifficulty == 0 )
level.zombie_move_speed = level.round_number * level.zombie_vars["zombie_move_speed_multiplier_easy"];
else
level.zombie_move_speed = level.round_number * level.zombie_vars["zombie_move_speed_multiplier"];
level.round_number++;
setroundsplayed( level.round_number + int(level.round_number / 256) );
matchutctime = getutc();
players = get_players();
foreach ( player in players )
{
if ( level.curr_gametype_affects_rank && level.round_number > 3 + level.start_round )
player maps\mp\zombies\_zm_stats::add_client_stat( "weighted_rounds_played", level.round_number );
player maps\mp\zombies\_zm_stats::set_global_stat( "rounds", level.round_number );
player maps\mp\zombies\_zm_stats::update_playing_utc_time( matchutctime );
}
check_quickrevive_for_hotjoin();
level round_over();
level notify( "between_round_over" );
restart = 0;
}
}
ai_calculate_health( round_number )
@ -1625,4 +1791,9 @@ end_game()
}
wait 666;
}
check_quickrevive_for_hotjoin(disconnecting_player)
{
// always use coop quick revive
}