diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index e66d4931..63b2a720 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -1255,11 +1255,12 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap self.grief_savedweapon_weaponsammo_clip_alt = []; self.grief_savedweapon_weaponsammo_stock_alt = []; self.grief_savedweapon_currentweapon = self getcurrentweapon(); + 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(); + self.grief_savedweapon_mine = self get_player_placeable_mine(); + self.grief_savedweapon_equipment = self get_player_equipment(); self.grief_hasriotshield = undefined; - self.grief_savedweapon_claymore = undefined; - self.grief_savedweapon_equipment = undefined; // can't switch to alt weapon if(is_alt_weapon(self.grief_savedweapon_currentweapon)) @@ -1267,6 +1268,15 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap 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 ] ); + 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.grief_savedweapon_grenades ) ) { self.grief_savedweapon_grenades_clip = self getweaponammoclip( self.grief_savedweapon_grenades ); @@ -1277,30 +1287,15 @@ grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweap self.grief_savedweapon_tactical_clip = self getweaponammoclip( self.grief_savedweapon_tactical ); } - for ( i = 0; i < self.grief_savedweapon_weapons.size; i++ ) + if ( isDefined( self.grief_savedweapon_mine ) ) { - 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])); + self.grief_savedweapon_mine_clip = self getweaponammoclip( self.grief_savedweapon_mine ); } if ( isDefined( self.hasriotshield ) && self.hasriotshield ) { self.grief_hasriotshield = 1; } - - if ( self hasweapon( "claymore_zm" ) ) - { - self.grief_savedweapon_claymore = 1; - self.grief_savedweapon_claymore_clip = self getweaponammoclip( "claymore_zm" ); - } - - if ( isDefined( self.current_equipment ) ) - { - self.grief_savedweapon_equipment = self.current_equipment; - } } grief_laststand_weapons_return() @@ -1315,6 +1310,8 @@ grief_laststand_weapons_return() return 0; } + self takeAllWeapons(); // fixes player always having knife_zm + primary_weapons_returned = 0; i = 0; while ( i < self.grief_savedweapon_weapons.size ) @@ -1372,9 +1369,15 @@ grief_laststand_weapons_return() i++; } + if ( isDefined( self.grief_savedweapon_melee ) ) + { + self set_player_melee_weapon( self.grief_savedweapon_melee ); + } + if ( isDefined( self.grief_savedweapon_grenades ) ) { self giveweapon( self.grief_savedweapon_grenades ); + self set_player_lethal_grenade( self.grief_savedweapon_grenades ); if ( isDefined( self.grief_savedweapon_grenades_clip ) ) { @@ -1385,6 +1388,7 @@ grief_laststand_weapons_return() if ( isDefined( self.grief_savedweapon_tactical ) ) { self giveweapon( self.grief_savedweapon_tactical ); + self set_player_tactical_grenade( self.grief_savedweapon_tactical ); if ( isDefined( self.grief_savedweapon_tactical_clip ) ) { @@ -1392,6 +1396,14 @@ grief_laststand_weapons_return() } } + if ( isDefined( self.grief_savedweapon_mine ) ) + { + self giveweapon( self.grief_savedweapon_mine ); + self set_player_placeable_mine( self.grief_savedweapon_mine ); + self setactionslot( 4, "weapon", self.grief_savedweapon_mine ); + self setweaponammoclip( self.grief_savedweapon_mine, self.grief_savedweapon_mine_clip ); + } + if ( isDefined( self.current_equipment ) ) { self maps/mp/zombies/_zm_equipment::equipment_take( self.current_equipment ); @@ -1412,14 +1424,6 @@ grief_laststand_weapons_return() } } - if ( isDefined( self.grief_savedweapon_claymore ) && self.grief_savedweapon_claymore ) - { - self giveweapon( "claymore_zm" ); - self set_player_placeable_mine( "claymore_zm" ); - self setactionslot( 4, "weapon", "claymore_zm" ); - self setweaponammoclip( "claymore_zm", self.grief_savedweapon_claymore_clip ); - } - primaries = self getweaponslistprimaries(); foreach ( weapon in primaries ) {