1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

Containment: hotjoiners spawn immediately

This commit is contained in:
Jbleezy
2022-01-29 18:18:08 -08:00
parent 388a792df0
commit ad347ec861
3 changed files with 47 additions and 0 deletions

View File

@ -103,4 +103,33 @@ onspawnplayer( predictedspawn )
}
pixendevent();
}
hide_gump_loading_for_hotjoiners()
{
if(isDefined(level.scr_zm_ui_gametype_obj) && level.scr_zm_ui_gametype_obj != "zgrief")
{
return;
}
self endon( "disconnect" );
self.rebuild_barrier_reward = 1;
self.is_hotjoining = 1;
num = self getsnapshotackindex();
while ( num == self getsnapshotackindex() )
{
wait 0.25;
}
wait 0.5;
self maps/mp/zombies/_zm::spawnspectator();
self.is_hotjoining = 0;
self.is_hotjoin = 1;
if ( is_true( level.intermission ) || is_true( level.host_ended_game ) )
{
setclientsysstate( "levelNotify", "zi", self );
self setclientthirdperson( 0 );
self resetfov();
self.health = 100;
self thread [[ level.custom_intermission ]]();
}
}

View File

@ -2,6 +2,22 @@
#include common_scripts\utility;
#include maps\mp\zombies\_zm_utility;
game_mode_spawn_player_logic()
{
if(isDefined(level.scr_zm_ui_gametype_obj) && level.scr_zm_ui_gametype_obj != "zgrief")
{
return 0;
}
if ( flag( "start_zombie_round_logic" ) && !isDefined( self.is_hotjoin ) )
{
self.is_hotjoin = 1;
return 1;
}
return 0;
}
meat_stink_on_ground(position_to_play)
{
level.meat_on_ground = 1;

View File

@ -21,6 +21,7 @@ main()
replaceFunc(maps/mp/zombies/_zm::getfreespawnpoint, scripts/zm/replaced/_zm::getfreespawnpoint);
replaceFunc(maps/mp/gametypes_zm/_zm_gametype::onspawnplayer, scripts/zm/replaced/_zm_gametype::onspawnplayer);
replaceFunc(maps/mp/gametypes_zm/_zm_gametype::hide_gump_loading_for_hotjoiners, scripts/zm/replaced/_zm_gametype::hide_gump_loading_for_hotjoiners);
replaceFunc(maps/mp/zombies/_zm_audio_announcer::playleaderdialogonplayer, scripts/zm/replaced/_zm_audio_announcer::playleaderdialogonplayer);
replaceFunc(maps/mp/zombies/_zm_game_module::wait_for_team_death_and_round_end, scripts/zm/replaced/_zm_game_module::wait_for_team_death_and_round_end);
replaceFunc(maps/mp/zombies/_zm_blockers::handle_post_board_repair_rewards, scripts/zm/replaced/_zm_blockers::handle_post_board_repair_rewards);
@ -289,6 +290,7 @@ set_grief_vars()
level._game_module_player_damage_callback = ::game_module_player_damage_callback;
level._game_module_player_laststand_callback = ::grief_laststand_weapon_save;
level.onplayerspawned_restore_previous_weapons = ::grief_laststand_weapons_return;
level.game_mode_spawn_player_logic = scripts/zm/replaced/zgrief::game_mode_spawn_player_logic;
if(isDefined(level.zombie_weapons["knife_ballistic_zm"]))
{