diff --git a/src/services/rngService.ts b/src/services/rngService.ts index c56837bc..bb9028b2 100644 --- a/src/services/rngService.ts +++ b/src/services/rngService.ts @@ -99,6 +99,9 @@ export class CRng { randomInt(min: number, max: number): number { const diff = max - min; if (diff != 0) { + if (diff < 0) { + throw new Error(`max must be greater than min`); + } if (diff > 0x3fffffff) { throw new Error(`insufficient entropy`); } diff --git a/src/services/serversideVendorsService.ts b/src/services/serversideVendorsService.ts index 7d219eec..62a4a0e0 100644 --- a/src/services/serversideVendorsService.ts +++ b/src/services/serversideVendorsService.ts @@ -246,7 +246,8 @@ const generateVendorManifest = (vendorInfo: IGeneratableVendorInfo): IVendorMani .toString(16) .padStart(8, "0") + vendorInfo._id.$oid.substring(8, 16) + - ((rng.randomInt(0, 0xffff) << 16) | rng.randomInt(0, 0xffff)).toString(16).padStart(8, "0") + rng.randomInt(0, 0xffff).toString(16).padStart(4, "0") + + rng.randomInt(0, 0xffff).toString(16).padStart(4, "0") } }; if (rawItem.numRandomItemPrices) {