forked from OpenWF/SpaceNinjaServer
		
	fix: infinite loop when attempting to generate loid commisions (#2399)
Reviewed-on: OpenWF/SpaceNinjaServer#2399 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									b2de8608c6
								
							
						
					
					
						commit
						e09e5ebec2
					
				@ -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`);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user