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

Containment: restore weapons correctly

This commit is contained in:
Jbleezy
2022-01-29 23:03:43 -08:00
parent ad347ec861
commit 1488cf77d9
2 changed files with 67 additions and 11 deletions

View File

@ -105,6 +105,72 @@ onspawnplayer( predictedspawn )
pixendevent();
}
onplayerspawned()
{
level endon( "end_game" );
self endon( "disconnect" );
for ( ;; )
{
self waittill_either( "spawned_player", "fake_spawned_player" );
if ( isDefined( level.match_is_ending ) && level.match_is_ending )
{
return;
}
if ( self maps/mp/zombies/_zm_laststand::player_is_in_laststand() )
{
self thread maps/mp/zombies/_zm_laststand::auto_revive( self );
}
if ( isDefined( level.custom_player_fake_death_cleanup ) )
{
self [[ level.custom_player_fake_death_cleanup ]]();
}
self setstance( "stand" );
self.zmbdialogqueue = [];
self.zmbdialogactive = 0;
self.zmbdialoggroups = [];
self.zmbdialoggroup = "";
if ( is_encounter() )
{
if ( self.team == "axis" )
{
self.characterindex = 0;
self._encounters_team = "A";
self._team_name = &"ZOMBIE_RACE_TEAM_1";
}
else
{
self.characterindex = 1;
self._encounters_team = "B";
self._team_name = &"ZOMBIE_RACE_TEAM_2";
}
}
self takeallweapons();
if ( isDefined( level.givecustomcharacters ) )
{
self [[ level.givecustomcharacters ]]();
}
self giveweapon( "knife_zm" );
if ( isDefined( level.onplayerspawned_restore_previous_weapons ) )
{
weapons_restored = self [[ level.onplayerspawned_restore_previous_weapons ]]();
}
if ( isDefined( weapons_restored ) && !weapons_restored || !isDefined( weapons_restored ) )
{
self give_start_weapon( 1 );
}
weapons_restored = 0;
if ( isDefined( level._team_loadout ) )
{
self giveweapon( level._team_loadout );
self switchtoweapon( level._team_loadout );
}
if ( isDefined( level.gamemode_post_spawn_logic ) )
{
self [[ level.gamemode_post_spawn_logic ]]();
}
}
}
hide_gump_loading_for_hotjoiners()
{
if(isDefined(level.scr_zm_ui_gametype_obj) && level.scr_zm_ui_gametype_obj != "zgrief")

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::onplayerspawned, scripts/zm/replaced/_zm_gametype::onplayerspawned);
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);
@ -713,10 +714,6 @@ on_player_spawned()
self freezeControls(1);
self enableInvulnerability();
}
else
{
self thread wait_and_restore_weapons();
}
}
}
@ -844,13 +841,6 @@ add_grief_bleedout_score()
}
}
wait_and_restore_weapons()
{
wait 0.05;
self [[level.onplayerspawned_restore_previous_weapons]]();
}
headstomp_watcher()
{
level endon("end_game");