mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-23 21:50:46 -05:00
Mystery Box: add weapon cycle
This commit is contained in:
@ -61,6 +61,7 @@ main()
|
||||
replaceFunc(maps\mp\zombies\_zm_magicbox::treasure_chest_move, scripts\zm\replaced\_zm_magicbox::treasure_chest_move);
|
||||
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_magicbox::treasure_chest_chooseweightedrandomweapon, scripts\zm\replaced\_zm_magicbox::treasure_chest_chooseweightedrandomweapon);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::perk_pause, scripts\zm\replaced\_zm_perks::perk_pause);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::perk_unpause, scripts\zm\replaced\_zm_perks::perk_unpause);
|
||||
replaceFunc(maps\mp\zombies\_zm_perks::destroy_weapon_in_blackout, scripts\zm\replaced\_zm_perks::destroy_weapon_in_blackout);
|
||||
|
@ -117,4 +117,39 @@ timer_til_despawn( v_float )
|
||||
{
|
||||
self delete();
|
||||
}
|
||||
}
|
||||
|
||||
treasure_chest_chooseweightedrandomweapon( player )
|
||||
{
|
||||
keys = array_randomize( getarraykeys( level.zombie_weapons ) );
|
||||
|
||||
if ( isdefined( level.customrandomweaponweights ) )
|
||||
keys = player [[ level.customrandomweaponweights ]]( keys );
|
||||
|
||||
pap_triggers = getentarray( "specialty_weapupgrade", "script_noteworthy" );
|
||||
|
||||
if (!isDefined(player.random_weapons_acquired))
|
||||
{
|
||||
player.random_weapons_acquired = [];
|
||||
}
|
||||
|
||||
for ( i = 0; i < keys.size; i++ )
|
||||
{
|
||||
if ( treasure_chest_canplayerreceiveweapon( player, keys[i], pap_triggers ) )
|
||||
{
|
||||
if (!isInArray(player.random_weapons_acquired, keys[i]))
|
||||
{
|
||||
player.random_weapons_acquired[player.random_weapons_acquired.size] = keys[i];
|
||||
return keys[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (player.random_weapons_acquired.size > 0)
|
||||
{
|
||||
player.random_weapons_acquired = [];
|
||||
return treasure_chest_chooseweightedrandomweapon(player);
|
||||
}
|
||||
|
||||
return keys[0];
|
||||
}
|
Reference in New Issue
Block a user