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

Mystery Box: add weapon cycle

This commit is contained in:
Jbleezy
2023-03-26 13:58:29 -07:00
parent 4c2ae23d37
commit d8e2f99286
3 changed files with 38 additions and 1 deletions

View File

@ -171,7 +171,7 @@
* Sprinting no longer wakes up EMP'd zombies
### Hell's Retriever
* No longer ricochets to other zombies if not charged
* No longer ricochets to other zombies when not charged
* Every charge increases total zombies attacked by 3
* Unupgraded: changed damage to 2000 (normally does 1000-2000 damage based on number of charges)
* Upgraded: kills on any round when not charged
@ -241,6 +241,7 @@
* Lethal grenade hint string no longer displays "ammo" after purchasing
## Mystery Box
* Players will now get every weapon they can before getting duplicates
* Decreased weapon pickup time from 12 seconds to 9 seconds
* Moves to new location instantly
* Special sound no longer plays when obtaining the Ray Gun

View File

@ -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);

View File

@ -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];
}