XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

fix: infinite loop when attempting to generate loid commisions (#2399)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2399 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

e09e5ebe
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +15 -3
Modified src/services/serversideVendorsService.ts +15 -3
@@ -299,9 +299,12 @@ const generateVendorManifest = (
299 299 ? numUncountedOffers + numCountedOffers
300 300 : manifest.numItems
301 301 ? numUncountedOffers +
302 (useRng
303 ? rng.randomInt(manifest.numItems.minValue, manifest.numItems.maxValue)
304 : manifest.numItems.minValue)
302 Math.min(
303 Object.values(remainingItemCapacity).reduce((a, b) => a + b, 0),
304 useRng
305 ? rng.randomInt(manifest.numItems.minValue, manifest.numItems.maxValue)
306 : manifest.numItems.minValue
307 )
305 308 : manifest.items.length;
306 309 let i = 0;
307 310 const rollableOffers = manifest.items.filter(x => x.probability !== undefined) as (Omit<
@@ -495,4 +498,13 @@ if (args.dev) {
495 498 ) {
496 499 logger.warn(`self test failed for /Lotus/Types/Game/VendorManifests/Ostron/MaskSalesmanManifest`);
497 500 }
501
502 // strange case where numItems is 5 even tho only 3 offers can possibly be generated
503 const loid = getVendorManifestByTypeName(
504 "/Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabsCommisionsManifest",
505 false
506 )!.VendorInfo.ItemManifest;
507 if (loid.length != 3) {
508 logger.warn(`self test failed for /Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabsCommisionsManifest`);
509 }
498 510 }