mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-23 21:50:46 -05:00
Encounter: fix respawn weapon switch
This commit is contained in:
@ -78,6 +78,7 @@ main()
|
||||
replaceFunc(maps\mp\zombies\_zm_magicbox::treasure_chest_timeout, scripts\zm\replaced\_zm_magicbox::treasure_chest_timeout);
|
||||
replaceFunc(maps\mp\zombies\_zm_magicbox::timer_til_despawn, scripts\zm\replaced\_zm_magicbox::timer_til_despawn);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::init, scripts\zm\replaced\_zm_perks::init);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::vending_trigger_post_think, scripts\zm\replaced\_zm_perks::vending_trigger_post_think);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::vending_weapon_upgrade, scripts\zm\replaced\_zm_perks::vending_weapon_upgrade);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::give_perk, scripts\zm\replaced\_zm_perks::give_perk);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::perk_think, scripts\zm\replaced\_zm_perks::perk_think);
|
||||
|
@ -107,6 +107,46 @@ init()
|
||||
level thread perk_hostmigration();
|
||||
}
|
||||
|
||||
vending_trigger_post_think( player, perk )
|
||||
{
|
||||
player endon( "disconnect" );
|
||||
player endon( "end_game" );
|
||||
player endon( "perk_abort_drinking" );
|
||||
player.pre_bottle_weapon = player perk_give_bottle_begin( perk );
|
||||
evt = player waittill_any_return( "fake_death", "death", "player_downed", "weapon_change_complete" );
|
||||
|
||||
if ( evt == "weapon_change_complete" )
|
||||
player thread wait_give_perk( perk, 1 );
|
||||
|
||||
player perk_give_bottle_end( player.pre_bottle_weapon, perk );
|
||||
|
||||
if ( player maps\mp\zombies\_zm_laststand::player_is_in_laststand() || isdefined( player.intermission ) && player.intermission )
|
||||
return;
|
||||
|
||||
player.pre_bottle_weapon = undefined;
|
||||
|
||||
player notify( "burp" );
|
||||
|
||||
if ( isdefined( level.pers_upgrade_cash_back ) && level.pers_upgrade_cash_back )
|
||||
player maps\mp\zombies\_zm_pers_upgrades_functions::cash_back_player_drinks_perk();
|
||||
|
||||
if ( isdefined( level.pers_upgrade_perk_lose ) && level.pers_upgrade_perk_lose )
|
||||
player thread maps\mp\zombies\_zm_pers_upgrades_functions::pers_upgrade_perk_lose_bought();
|
||||
|
||||
if ( isdefined( level.perk_bought_func ) )
|
||||
player [[ level.perk_bought_func ]]( perk );
|
||||
|
||||
player.perk_purchased = undefined;
|
||||
|
||||
if ( is_false( self.power_on ) )
|
||||
{
|
||||
wait 1;
|
||||
perk_pause( self.script_noteworthy );
|
||||
}
|
||||
|
||||
bbprint( "zombie_uses", "playername %s playerscore %d round %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, perk, self.origin, "perk" );
|
||||
}
|
||||
|
||||
vending_weapon_upgrade()
|
||||
{
|
||||
level endon( "Pack_A_Punch_off" );
|
||||
|
@ -2142,7 +2142,7 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap
|
||||
self.grief_savedweapon_weaponsammo_stock = [];
|
||||
self.grief_savedweapon_weaponsammo_clip_alt = [];
|
||||
self.grief_savedweapon_weaponsammo_stock_alt = [];
|
||||
self.grief_savedweapon_currentweapon = self getcurrentweapon();
|
||||
self.grief_savedweapon_currentweapon = maps\mp\zombies\_zm_weapons::get_nonalternate_weapon(self getcurrentweapon()); // can't switch to alt weapon
|
||||
self.grief_savedweapon_melee = self get_player_melee_weapon();
|
||||
self.grief_savedweapon_grenades = self get_player_lethal_grenade();
|
||||
self.grief_savedweapon_tactical = self get_player_tactical_grenade();
|
||||
@ -2150,12 +2150,6 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap
|
||||
self.grief_savedweapon_equipment = self get_player_equipment();
|
||||
self.grief_hasriotshield = undefined;
|
||||
|
||||
// can't switch to alt weapon
|
||||
if(is_alt_weapon(self.grief_savedweapon_currentweapon))
|
||||
{
|
||||
self.grief_savedweapon_currentweapon = maps\mp\zombies\_zm_weapons::get_nonalternate_weapon(self.grief_savedweapon_currentweapon);
|
||||
}
|
||||
|
||||
for ( i = 0; i < self.grief_savedweapon_weapons.size; i++ )
|
||||
{
|
||||
self.grief_savedweapon_weaponsammo_clip[i] = self getweaponammoclip(self.grief_savedweapon_weapons[i]);
|
||||
@ -2336,16 +2330,28 @@ grief_laststand_weapons_return()
|
||||
|
||||
self.grief_savedweapon_weapons = undefined;
|
||||
|
||||
primaries = self getweaponslistprimaries();
|
||||
foreach ( weapon in primaries )
|
||||
if ( isDefined( self.pre_bottle_weapon ) && self hasWeapon( self.pre_bottle_weapon ) )
|
||||
{
|
||||
if ( isDefined( self.grief_savedweapon_currentweapon ) && self.grief_savedweapon_currentweapon == weapon )
|
||||
{
|
||||
self switchtoweapon( weapon );
|
||||
self switchtoweapon( self.pre_bottle_weapon );
|
||||
self.pre_bottle_weapon = undefined;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( isDefined( self.pre_meat_weapon ) && self hasWeapon( self.pre_meat_weapon ) )
|
||||
{
|
||||
self switchtoweapon( self.pre_meat_weapon );
|
||||
self.pre_meat_weapon = undefined;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( isDefined( self.grief_savedweapon_currentweapon ) && self hasWeapon( self.grief_savedweapon_currentweapon ) )
|
||||
{
|
||||
self switchtoweapon( self.grief_savedweapon_currentweapon );
|
||||
self.grief_savedweapon_currentweapon = undefined;
|
||||
return 1;
|
||||
}
|
||||
|
||||
primaries = self getweaponslistprimaries();
|
||||
if ( primaries.size > 0 )
|
||||
{
|
||||
self switchtoweapon( primaries[ 0 ] );
|
||||
|
Reference in New Issue
Block a user