mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-14 03:33:52 +01:00
BUGFIX: Fix corp issues relating to imports (#568)
Also clarify the Smart Supply options to be more clear on what they do.
This commit is contained in:
parent
403beef69e
commit
3c6b5a1a83
@ -246,6 +246,7 @@ GENERAL / MISC:
|
|||||||
* Changed tail window buttons into icon buttons, plus tail window bugfixes (@d0sboots)
|
* Changed tail window buttons into icon buttons, plus tail window bugfixes (@d0sboots)
|
||||||
* Terminal no longer scrolls to the bottom constantly while an action is being performed (@bezrodnov)
|
* Terminal no longer scrolls to the bottom constantly while an action is being performed (@bezrodnov)
|
||||||
* Added a close button to modals (@bezrodnov)
|
* Added a close button to modals (@bezrodnov)
|
||||||
|
* Fixes for Corp import/export issues, such as -IPROD and Smart Supply not working right (@d0sboots)
|
||||||
* Documentation fixes (various)
|
* Documentation fixes (various)
|
||||||
* Nerf noodle bar
|
* Nerf noodle bar
|
||||||
|
|
||||||
|
@ -93,10 +93,14 @@ export class Corporation {
|
|||||||
const gameCycles = marketCycles * corpConstants.gameCyclesPerCorpStateCycle;
|
const gameCycles = marketCycles * corpConstants.gameCyclesPerCorpStateCycle;
|
||||||
this.storedCycles -= gameCycles;
|
this.storedCycles -= gameCycles;
|
||||||
|
|
||||||
this.divisions.forEach((ind) => {
|
// Can't combine these loops, imports must be completely cleared before
|
||||||
|
// we start processing exports of any division.
|
||||||
|
for (const ind of this.divisions.values()) {
|
||||||
ind.resetImports(state);
|
ind.resetImports(state);
|
||||||
|
}
|
||||||
|
for (const ind of this.divisions.values()) {
|
||||||
ind.process(marketCycles, state, this);
|
ind.process(marketCycles, state, this);
|
||||||
});
|
}
|
||||||
|
|
||||||
// Process cooldowns
|
// Process cooldowns
|
||||||
if (this.shareSaleCooldown > 0) {
|
if (this.shareSaleCooldown > 0) {
|
||||||
|
@ -355,7 +355,10 @@ export class Division {
|
|||||||
if (warehouse.smartSupplyOptions[matName] === "leftovers") {
|
if (warehouse.smartSupplyOptions[matName] === "leftovers") {
|
||||||
buyArray[0] = Math.max(0, buyArray[0] - mat.stored);
|
buyArray[0] = Math.max(0, buyArray[0] - mat.stored);
|
||||||
} else {
|
} else {
|
||||||
buyArray[0] = Math.max(0, buyArray[0] - mat.importAmount);
|
buyArray[0] = Math.max(
|
||||||
|
0,
|
||||||
|
buyArray[0] - mat.importAmount * corpConstants.secondsPerMarketCycle * marketCycles,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +368,7 @@ export class Division {
|
|||||||
if (mat.stored + buyAmt != 0) mat.quality = (mat.quality * mat.stored + 1 * buyAmt) / (mat.stored + buyAmt);
|
if (mat.stored + buyAmt != 0) mat.quality = (mat.quality * mat.stored + 1 * buyAmt) / (mat.stored + buyAmt);
|
||||||
else mat.quality = 1;
|
else mat.quality = 1;
|
||||||
mat.stored += buyAmt;
|
mat.stored += buyAmt;
|
||||||
mat.buyAmount = buyAmt / 10;
|
mat.buyAmount = buyAmt / (corpConstants.secondsPerMarketCycle * marketCycles);
|
||||||
expenses += buyAmt * mat.marketPrice;
|
expenses += buyAmt * mat.marketPrice;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -639,8 +642,8 @@ export class Division {
|
|||||||
/MAX/g,
|
/MAX/g,
|
||||||
(mat.stored / (corpConstants.secondsPerMarketCycle * marketCycles) + "").toUpperCase(),
|
(mat.stored / (corpConstants.secondsPerMarketCycle * marketCycles) + "").toUpperCase(),
|
||||||
);
|
);
|
||||||
amtStr = amtStr.replace(/EPROD/g, mat.productionAmount.toString());
|
amtStr = amtStr.replace(/EPROD/g, "(" + mat.productionAmount + ")");
|
||||||
amtStr = amtStr.replace(/IPROD/g, tempMaterial.productionAmount.toString());
|
amtStr = amtStr.replace(/IPROD/g, "(" + tempMaterial.productionAmount + ")");
|
||||||
amtStr = amtStr.replace(/EINV/g, mat.stored.toString());
|
amtStr = amtStr.replace(/EINV/g, mat.stored.toString());
|
||||||
amtStr = amtStr.replace(/IINV/g, tempMaterial.stored.toString());
|
amtStr = amtStr.replace(/IINV/g, tempMaterial.stored.toString());
|
||||||
let amt = 0;
|
let amt = 0;
|
||||||
|
@ -97,12 +97,20 @@ export function SmartSupplyModal(props: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<Typography>
|
<Typography>
|
||||||
Options:
|
Options:
|
||||||
<br />
|
<ul>
|
||||||
- Use leftovers takes the amount of that material already in storage into account when purchasing new ones.
|
<li>
|
||||||
<br />
|
Use leftovers takes the amount of that material already in storage into account when purchasing new ones.
|
||||||
- Use imported takes the amount of that materials that was imported in previous cycle into account.
|
This also accounts for imports, since they are "leftovers" by the time purchasing happens.
|
||||||
<br />
|
<br />
|
||||||
if neither is toggled on, Smart Supply will ignore any materials in store and attempts to buy as much as is
|
<i>This is usually the option you want.</i>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Use imported takes <b>only</b> the amount of that materials that were imported in the previous cycle into
|
||||||
|
account. This is useful when dealing with specialty situations, like importing materials that also boost
|
||||||
|
production.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
If neither is toggled on, Smart Supply will ignore any materials stored and attempts to buy as much as is
|
||||||
needed for production.
|
needed for production.
|
||||||
</Typography>
|
</Typography>
|
||||||
{mats}
|
{mats}
|
||||||
|
Loading…
Reference in New Issue
Block a user