Fix: don't overfill magazine inside fillMagazineWithCartridge()
(!33)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com> Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/33
This commit is contained in:
parent
d7b7cf2a03
commit
7615394e62
@ -869,18 +869,25 @@ class ItemHelper
|
|||||||
|
|
||||||
// Get max number of cartridges in magazine, choose random value between min/max
|
// Get max number of cartridges in magazine, choose random value between min/max
|
||||||
const magazineCartridgeMaxCount = magTemplate._props.Cartridges[0]._max_count;
|
const magazineCartridgeMaxCount = magTemplate._props.Cartridges[0]._max_count;
|
||||||
const stackCount = this.randomUtil.getInt(Math.round(minSizePercent * magazineCartridgeMaxCount), magazineCartridgeMaxCount);
|
const desiredStackCount = this.randomUtil.getInt(Math.round(minSizePercent * magazineCartridgeMaxCount), magazineCartridgeMaxCount);
|
||||||
|
|
||||||
// Loop over cartridge count and add stacks to magazine
|
// Loop over cartridge count and add stacks to magazine
|
||||||
let currentStoredCartridgeCount = 0;
|
let currentStoredCartridgeCount = 0;
|
||||||
let location = 0;
|
let location = 0;
|
||||||
while (currentStoredCartridgeCount < stackCount)
|
while (currentStoredCartridgeCount < desiredStackCount)
|
||||||
{
|
{
|
||||||
// Get stack size of cartridges
|
// Get stack size of cartridges
|
||||||
const cartridgeCountToAdd = (stackCount <= cartridgeMaxStackSize)
|
let cartridgeCountToAdd = (desiredStackCount <= cartridgeMaxStackSize)
|
||||||
? stackCount
|
? desiredStackCount
|
||||||
: cartridgeMaxStackSize;
|
: cartridgeMaxStackSize;
|
||||||
|
|
||||||
|
// Ensure we don't go over the max stackcount size
|
||||||
|
const remainingSpace = desiredStackCount - currentStoredCartridgeCount;
|
||||||
|
if (cartridgeCountToAdd > remainingSpace)
|
||||||
|
{
|
||||||
|
cartridgeCountToAdd = remainingSpace;
|
||||||
|
}
|
||||||
|
|
||||||
// Add cartridge item object into items array
|
// Add cartridge item object into items array
|
||||||
magazine.push(this.createCartridges(magazine[0]._id, cartridgeTpl, cartridgeCountToAdd, location));
|
magazine.push(this.createCartridges(magazine[0]._id, cartridgeTpl, cartridgeCountToAdd, location));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user