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

Weapon locker: add stored weapon HUD text

This commit is contained in:
Jbleezy
2023-03-08 19:19:59 -08:00
parent e5d44c4f48
commit 98b991b535
5 changed files with 123 additions and 3 deletions

View File

@ -371,6 +371,7 @@
## Weapon Locker
* Stored weapon resets each game
* Stored weapon gains max ammo at the end of each round
* Stored weapon is shown
## Maps

View File

@ -0,0 +1,110 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zombies\_zm_unitrigger;
#include maps\mp\zombies\_zm_audio;
#include maps\mp\zombies\_zm_weapon_locker;
triggerweaponslockerisvalidweaponpromptupdate( player, weaponname )
{
retrievingweapon = player wl_has_stored_weapondata();
if ( !retrievingweapon )
{
weaponname = player get_nonalternate_weapon( weaponname );
if ( !triggerweaponslockerisvalidweapon( weaponname ) )
self sethintstring( &"ZOMBIE_WEAPON_LOCKER_DENY" );
else
self sethintstring( &"ZOMBIE_WEAPON_LOCKER_STORE" );
}
else
{
weapondata = player wl_get_stored_weapondata();
if ( isdefined( level.remap_weapon_locker_weapons ) )
weapondata = remap_weapon( weapondata, level.remap_weapon_locker_weapons );
weapontogive = weapondata["name"];
primaries = player getweaponslistprimaries();
maxweapons = get_player_weapon_limit( player );
weaponname = player get_nonalternate_weapon( weaponname );
if ( isdefined( primaries ) && primaries.size >= maxweapons || weapontogive == weaponname )
{
if ( !triggerweaponslockerisvalidweapon( weaponname ) )
{
self sethintstring( &"ZOMBIE_WEAPON_LOCKER_DENY" );
return;
}
}
self sethintstring( &"ZOMBIE_WEAPON_LOCKER_GRAB" );
}
self thread show_current_weapon(player);
}
show_current_weapon(player)
{
stub = self.stub;
if (!isDefined(stub.weaponlockerhud))
{
stub.weaponlockerhud = [];
}
num = player getentitynumber();
displayname = "None";
if (player wl_has_stored_weapondata())
{
weapondata = player wl_get_stored_weapondata();
if ( isdefined( level.remap_weapon_locker_weapons ) )
weapondata = remap_weapon( weapondata, level.remap_weapon_locker_weapons );
displayname = getweapondisplayname( weapondata["name"] );
}
if (isDefined(stub.weaponlockerhud[num]))
{
stub.weaponlockerhud[num] settext( "Placed Weapon: " + displayname );
return;
}
hud = newclienthudelem( player );
hud.alignx = "center";
hud.aligny = "middle";
hud.horzalign = "center";
hud.vertalign = "bottom";
hud.y = -100;
hud.foreground = 1;
hud.hidewheninmenu = 1;
hud.font = "default";
hud.fontscale = 1;
hud.alpha = 1;
hud.color = ( 1, 1, 1 );
hud settext( "Placed Weapon: " + displayname );
stub.weaponlockerhud[num] = hud;
while ( isDefined( self ) )
{
if (!player isTouching(self))
{
hud.alpha = 0;
wait 0.05;
continue;
}
hud.alpha = 1;
wait 0.05;
}
stub.weaponlockerhud[num] destroy();
stub.weaponlockerhud[num] = undefined;
}

View File

@ -5,7 +5,10 @@
#include scripts\zm\replaced\zm_buried_gamemodes;
#include scripts\zm\replaced\_zm_buildables_pooled;
#include scripts\zm\replaced\_zm_equip_subwoofer;
#include scripts\zm\replaced\_zm_equip_springpad;
#include scripts\zm\replaced\_zm_equip_headchopper;
#include scripts\zm\replaced\_zm_banking;
#include scripts\zm\replaced\_zm_weapon_locker;
#include scripts\zm\replaced\_zm_weap_slowgun;
#include scripts\zm\replaced\zgrief;
#include scripts\zm\replaced\zmeat;
@ -19,6 +22,8 @@ main()
replaceFunc(maps\mp\zombies\_zm_buildables_pooled::randomize_pooled_buildables, scripts\zm\replaced\_zm_buildables_pooled::randomize_pooled_buildables);
replaceFunc(maps\mp\zombies\_zm_equip_subwoofer::startsubwooferdecay, scripts\zm\replaced\_zm_equip_subwoofer::startsubwooferdecay);
replaceFunc(maps\mp\zombies\_zm_equip_subwoofer::subwoofer_network_choke, scripts\zm\replaced\_zm_equip_subwoofer::subwoofer_network_choke);
replaceFunc(maps\mp\zombies\_zm_equip_springpad::springpadthink, scripts\zm\replaced\_zm_equip_springpad::springpadthink);
replaceFunc(maps\mp\zombies\_zm_equip_headchopper::headchopperthink, scripts\zm\replaced\_zm_equip_headchopper::headchopperthink);
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::init, scripts\zm\replaced\_zm_weap_slowgun::init);
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::zombie_paralyzed, scripts\zm\replaced\_zm_weap_slowgun::zombie_paralyzed);
replaceFunc(maps\mp\zombies\_zm_weap_slowgun::watch_reset_anim_rate, scripts\zm\replaced\_zm_weap_slowgun::watch_reset_anim_rate);
@ -26,8 +31,7 @@ main()
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_box, scripts\zm\replaced\_zm_banking::bank_deposit_box);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_unitrigger, scripts\zm\replaced\_zm_banking::bank_deposit_unitrigger);
replaceFunc(maps\mp\zombies\_zm_banking::bank_withdraw_unitrigger, scripts\zm\replaced\_zm_banking::bank_withdraw_unitrigger);
replaceFunc(maps\mp\zombies\_zm_equip_springpad::springpadthink, scripts\zm\replaced\_zm_equip_springpad::springpadthink);
replaceFunc(maps\mp\zombies\_zm_equip_headchopper::headchopperthink, scripts\zm\replaced\_zm_equip_headchopper::headchopperthink);
replaceFunc(maps\mp\zombies\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate, scripts\zm\replaced\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate);
replaceFunc(maps\mp\gametypes_zm\zgrief::meat_stink_on_ground, scripts\zm\replaced\zgrief::meat_stink_on_ground);
replaceFunc(maps\mp\gametypes_zm\zgrief::meat_stink_player, scripts\zm\replaced\zgrief::meat_stink_player);
replaceFunc(maps\mp\gametypes_zm\zmeat::item_meat_watch_trigger, scripts\zm\replaced\zmeat::item_meat_watch_trigger);

View File

@ -4,18 +4,21 @@
#include scripts\zm\replaced\zm_highrise_classic;
#include scripts\zm\replaced\_zm_chugabud;
#include scripts\zm\replaced\_zm_equip_springpad;
#include scripts\zm\replaced\_zm_banking;
#include scripts\zm\replaced\_zm_weapon_locker;
main()
{
replaceFunc(maps\mp\zm_highrise_gamemodes::init, scripts\zm\replaced\zm_highrise_gamemodes::init);
replaceFunc(maps\mp\zm_highrise_classic::insta_kill_player, scripts\zm\replaced\zm_highrise_classic::insta_kill_player);
replaceFunc(maps\mp\zombies\_zm_chugabud::chugabud_bleed_timeout, scripts\zm\replaced\_zm_chugabud::chugabud_bleed_timeout);
replaceFunc(maps\mp\zombies\_zm_equip_springpad::springpadthink, scripts\zm\replaced\_zm_equip_springpad::springpadthink);
replaceFunc(maps\mp\zombies\_zm_banking::init, scripts\zm\replaced\_zm_banking::init);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_box, scripts\zm\replaced\_zm_banking::bank_deposit_box);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_unitrigger, scripts\zm\replaced\_zm_banking::bank_deposit_unitrigger);
replaceFunc(maps\mp\zombies\_zm_banking::bank_withdraw_unitrigger, scripts\zm\replaced\_zm_banking::bank_withdraw_unitrigger);
replaceFunc(maps\mp\zombies\_zm_equip_springpad::springpadthink, scripts\zm\replaced\_zm_equip_springpad::springpadthink);
replaceFunc(maps\mp\zombies\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate, scripts\zm\replaced\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate);
}
init()

View File

@ -13,6 +13,7 @@
#include scripts\zm\replaced\_zm_equip_electrictrap;
#include scripts\zm\replaced\_zm_equip_turret;
#include scripts\zm\replaced\_zm_banking;
#include scripts\zm\replaced\_zm_weapon_locker;
#include scripts\zm\replaced\zgrief;
#include scripts\zm\replaced\zmeat;
@ -40,6 +41,7 @@ main()
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_box, scripts\zm\replaced\_zm_banking::bank_deposit_box);
replaceFunc(maps\mp\zombies\_zm_banking::bank_deposit_unitrigger, scripts\zm\replaced\_zm_banking::bank_deposit_unitrigger);
replaceFunc(maps\mp\zombies\_zm_banking::bank_withdraw_unitrigger, scripts\zm\replaced\_zm_banking::bank_withdraw_unitrigger);
replaceFunc(maps\mp\zombies\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate, scripts\zm\replaced\_zm_weapon_locker::triggerweaponslockerisvalidweaponpromptupdate);
replaceFunc(maps\mp\gametypes_zm\zgrief::meat_stink_on_ground, scripts\zm\replaced\zgrief::meat_stink_on_ground);
replaceFunc(maps\mp\gametypes_zm\zgrief::meat_stink_player, scripts\zm\replaced\zgrief::meat_stink_player);
replaceFunc(maps\mp\gametypes_zm\zmeat::item_meat_watch_trigger, scripts\zm\replaced\zmeat::item_meat_watch_trigger);