CORP: Robotics industry NaN fix + better exports validation (#578)

This commit is contained in:
Snarling
2023-06-06 23:50:23 -04:00
committed by GitHub
parent 4c4c4a0335
commit cbff2a420b
10 changed files with 107 additions and 58 deletions
+4 -11
View File
@@ -465,29 +465,22 @@ export function NetscriptCorporation(): InternalAPI<NSCorporation> {
checkAccess(ctx, CorpUnlockName.WarehouseAPI);
const sourceDivision = helpers.string(ctx, "sourceDivision", _sourceDivision);
assertMember(ctx, CityName, "City", "sourceCity", sourceCity);
const targetDivision = helpers.string(ctx, "targetDivision", _targetDivision);
const targetDivision = getDivision(helpers.string(ctx, "targetDivision", _targetDivision));
assertMember(ctx, CityName, "City", "targetCity", targetCity);
assertMember(ctx, corpConstants.materialNames, "Material Name", "materialName", materialName);
const amt = helpers.string(ctx, "amt", _amt);
ExportMaterial(
targetDivision,
targetCity,
getMaterial(sourceDivision, sourceCity, materialName),
amt + "",
getDivision(targetDivision),
);
ExportMaterial(targetDivision, targetCity, getMaterial(sourceDivision, sourceCity, materialName), amt);
},
cancelExportMaterial:
(ctx) =>
(_sourceDivision, sourceCity, _targetDivision, targetCity, materialName, _amt): void => {
(_sourceDivision, sourceCity, _targetDivision, targetCity, materialName): void => {
checkAccess(ctx, CorpUnlockName.WarehouseAPI);
const sourceDivision = helpers.string(ctx, "sourceDivision", _sourceDivision);
assertMember(ctx, CityName, "City Name", "sourceCity", sourceCity);
const targetDivision = helpers.string(ctx, "targetDivision", _targetDivision);
assertMember(ctx, CityName, "City Name", "targetCity", targetCity);
assertMember(ctx, corpConstants.materialNames, "Material Name", "materialName", materialName);
const amt = helpers.string(ctx, "amt", _amt);
CancelExportMaterial(targetDivision, targetCity, getMaterial(sourceDivision, sourceCity, materialName), amt);
CancelExportMaterial(targetDivision, targetCity, getMaterial(sourceDivision, sourceCity, materialName));
},
limitMaterialProduction: (ctx) => (_divisionName, cityName, materialName, _qty) => {
checkAccess(ctx, CorpUnlockName.WarehouseAPI);