fix: infinite loop when attempting to generate loid commisions
All checks were successful
Build / build (pull_request) Successful in 50s

This commit is contained in:
Sainan 2025-07-04 05:12:44 +02:00
parent 46d37d3688
commit 10fc17c9df

View File

@ -299,9 +299,12 @@ const generateVendorManifest = (
? numUncountedOffers + numCountedOffers
: manifest.numItems
? numUncountedOffers +
(useRng
? rng.randomInt(manifest.numItems.minValue, manifest.numItems.maxValue)
: manifest.numItems.minValue)
Math.min(
Object.values(remainingItemCapacity).reduce((a, b) => a + b, 0),
useRng
? rng.randomInt(manifest.numItems.minValue, manifest.numItems.maxValue)
: manifest.numItems.minValue
)
: manifest.items.length;
let i = 0;
const rollableOffers = manifest.items.filter(x => x.probability !== undefined) as (Omit<
@ -495,4 +498,13 @@ if (args.dev) {
) {
logger.warn(`self test failed for /Lotus/Types/Game/VendorManifests/Ostron/MaskSalesmanManifest`);
}
// strange case where numItems is 5 even tho only 3 offers can possibly be generated
const loid = getVendorManifestByTypeName(
"/Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabsCommisionsManifest",
false
)!.VendorInfo.ItemManifest;
if (loid.length != 3) {
logger.warn(`self test failed for /Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabsCommisionsManifest`);
}
}