From 49387b1d3074c5ffa7b81975526d875ccc37a1fe Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Mon, 13 Dec 2021 21:48:43 -0800 Subject: [PATCH] Grief: round reset weapon restore fixes --- README.md | 1 + scripts/zm/main/_zm_reimagined_zgrief.gsc | 29 ++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b47ed9d1..23d0090c 100644 --- a/README.md +++ b/README.md @@ -263,4 +263,5 @@ * Enemies remaining audio and text displays when enemy players down instead of when enemy players bleed out * Enemies remaining text is removed when new text is displayed * Added new audio when enemy players bleed out +* Round reset properly restores dual wield weapon left clip ammo, alternative weapon ammo, and equipment * 20000 health Brutus \ No newline at end of file diff --git a/scripts/zm/main/_zm_reimagined_zgrief.gsc b/scripts/zm/main/_zm_reimagined_zgrief.gsc index aa77794f..f266366a 100644 --- a/scripts/zm/main/_zm_reimagined_zgrief.gsc +++ b/scripts/zm/main/_zm_reimagined_zgrief.gsc @@ -1132,8 +1132,11 @@ remove_player_damage_info() grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) { self.grief_savedweapon_weapons = self getweaponslist(); - self.grief_savedweapon_weaponsammo_stock = []; self.grief_savedweapon_weaponsammo_clip = []; + self.grief_savedweapon_weaponsammo_clip_dualwield = []; + 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_grenades = self get_player_lethal_grenade(); self.grief_savedweapon_tactical = self get_player_tactical_grenade(); @@ -1141,6 +1144,12 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap self.grief_savedweapon_claymore = undefined; self.grief_savedweapon_equipment = 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); + } + if ( isDefined( self.grief_savedweapon_grenades ) ) { self.grief_savedweapon_grenades_clip = self getweaponammoclip( self.grief_savedweapon_grenades ); @@ -1154,7 +1163,10 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap for ( i = 0; i < self.grief_savedweapon_weapons.size; i++ ) { self.grief_savedweapon_weaponsammo_clip[ i ] = self getweaponammoclip( self.grief_savedweapon_weapons[ i ] ); + self.grief_savedweapon_weaponsammo_clip_dualwield[ i ] = self getweaponammoclip(weaponDualWieldWeaponName( self.grief_savedweapon_weapons[ i ] ) ); self.grief_savedweapon_weaponsammo_stock[ i ] = self getweaponammostock( self.grief_savedweapon_weapons[ i ] ); + self.grief_savedweapon_weaponsammo_clip_alt[i] = self getweaponammoclip(weaponAltWeaponName(self.grief_savedweapon_weapons[i])); + self.grief_savedweapon_weaponsammo_stock_alt[i] = self getweaponammostock(weaponAltWeaponName(self.grief_savedweapon_weapons[i])); } if ( isDefined( self.hasriotshield ) && self.hasriotshield ) @@ -1220,11 +1232,26 @@ grief_laststand_weapons_return() self setweaponammoclip( self.grief_savedweapon_weapons[ i ], self.grief_savedweapon_weaponsammo_clip[ i ] ); } + if ( isdefined( self.grief_savedweapon_weaponsammo_clip_dualwield[ i ] ) ) + { + self setweaponammoclip( weaponDualWieldWeaponName( self.grief_savedweapon_weapons[ i ] ), self.grief_savedweapon_weaponsammo_clip_dualwield[ i ] ); + } + if ( isdefined( self.grief_savedweapon_weaponsammo_stock[ i ] ) ) { self setweaponammostock( self.grief_savedweapon_weapons[ i ], self.grief_savedweapon_weaponsammo_stock[ i ] ); } + if ( isdefined( self.grief_savedweapon_weaponsammo_clip_alt[ i ] ) ) + { + self setweaponammoclip( weaponAltWeaponName( self.grief_savedweapon_weapons[ i ] ), self.grief_savedweapon_weaponsammo_clip_alt[ i ] ); + } + + if ( isdefined( self.grief_savedweapon_weaponsammo_stock_alt[ i ] ) ) + { + self setweaponammostock( weaponAltWeaponName( self.grief_savedweapon_weapons[ i ] ), self.grief_savedweapon_weaponsammo_stock_alt[ i ] ); + } + i++; }