diff --git a/src/NetscriptFunctions/Corporation.ts b/src/NetscriptFunctions/Corporation.ts index c961b1482..dec891f3e 100644 --- a/src/NetscriptFunctions/Corporation.ts +++ b/src/NetscriptFunctions/Corporation.ts @@ -332,10 +332,13 @@ export function NetscriptCorporation( const cityName = helper.string("getMaterial", "cityName", acityName); const materialName = helper.string("getMaterial", "materialName", amaterialName); const material = getMaterial(divisionName, cityName, materialName); + const corporation = getCorporation(); return { name: material.name, qty: material.qty, qlt: material.qlt, + dmd: corporation.unlockUpgrades[2] ? material.dmd : undefined, + cmp: corporation.unlockUpgrades[3] ? material.cmp : undefined, prod: material.prd, sell: material.sll, }; @@ -345,10 +348,13 @@ export function NetscriptCorporation( const divisionName = helper.string("getProduct", "divisionName", adivisionName); const productName = helper.string("getProduct", "productName", aproductName); const product = getProduct(divisionName, productName); + const corporation = getCorporation(); return { name: product.name, - dmd: product.dmd, - cmp: product.cmp, + dmd: corporation.unlockUpgrades[2] ? product.dmd : undefined, + cmp: corporation.unlockUpgrades[3] ? product.cmp : undefined, + rat: product.rat, + properties: {qlt:product.qlt, per:product.per, dur:product.dur, rel:product.rel, aes:product.aes, fea:product.fea}, pCost: product.pCost, sCost: product.sCost, cityData: product.data, diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index 6e613ba80..96abeb766 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -6585,10 +6585,14 @@ interface Employee { interface Product { /** Name of the product */ name: string; - /** Demand for the product */ - dmd: number; - /** Competition for the product */ - cmp: number; + /** Demand for the product, only present if "Market Research - Demand" unlocked */ + dmd: number | undefined; + /** Competition for the product, only present if "Market Research - Competition" unlocked */ + cmp: number | undefined; + /** Product Rating */ + rat: number; + /** Product Properties. The data is {qlt, per, dur, rel, aes, fea} */ + properties: { [key: string]: number }; /** Production cost */ pCost: number; /** Sell cost, can be "MP+5" */ @@ -6612,6 +6616,10 @@ interface Material { qty: number; /** Quality of the material */ qlt: number; + /** Demand for the material, only present if "Market Research - Demand" unlocked */ + dmd: number | undefined; + /** Competition for the material, only present if "Market Research - Competition" unlocked */ + cmp: number | undefined; /** Amount of material produced */ prod: number; /** Amount of material sold */