mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-05-08 08:37:48 +02:00
API: Move and rename purchased server functions to cloud API (#2367)
* Convert purchased server functions to cloud API - Create `ns.cloud` - Change `bitnode multipliers` and `server constants` wording for consistency - change `server`, `ram` and `getting started` docs for consistency - Added changes to 3.0.0 API Break and `setRemovedFunctions` in NetscriptFunctions.js Tested by - running tutorial `purchase-server-8gb.js`, and a more typical player one - buying manually using vendor (Alpha Ent in Sector 12) - deleting them all using script, and checked all deleted functions gave correct error - Imported completed save to ensure auto-transfer of function work * Revision in line with comments - changed more `purchased` to `cloud` references - Added BN mults auto-conversion * Update getting_started.md - Corrected function names for new `cloud API` * Don't show `cloud API` warning v3.0.0 API break auto-replaces `cloud` functions, not warning suggested. * API Break correction - `cloud` affected API break replacement changed to be more descriptive and functional * Fix typo and add empty lines * Update many things (check commit's description) - Comments - Terminal message - UI Text - TSDoc - md docs - Improve error messages in src\NetscriptFunctions\Cloud.ts
This commit is contained in:
@@ -36,7 +36,7 @@ export function PurchaseServerModal(props: IProps): React.ReactElement {
|
||||
return (
|
||||
<Modal open={props.open} onClose={props.onClose}>
|
||||
<Typography>
|
||||
Would you like to purchase a new server with {formatRam(props.ram)} of RAM for{" "}
|
||||
Would you like to purchase a new cloud server with {formatRam(props.ram)} of RAM for{" "}
|
||||
<Money money={props.cost} forPurchase={true} />?
|
||||
</Typography>
|
||||
<br />
|
||||
|
||||
@@ -12,7 +12,7 @@ import { RamButton } from "./RamButton";
|
||||
import { TorButton } from "./TorButton";
|
||||
import { CoresButton } from "./CoresButton";
|
||||
|
||||
import { getPurchaseServerCost, getPurchaseServerLimit, getPurchaseServerMaxRam } from "../../Server/ServerPurchases";
|
||||
import { getCloudServerCost, getCloudServerLimit, getCloudServerMaxRam } from "../../Server/ServerPurchases";
|
||||
|
||||
import { Money } from "../../ui/React/Money";
|
||||
import { Player } from "@player";
|
||||
@@ -23,12 +23,12 @@ import { useCycleRerender } from "../../ui/React/hooks";
|
||||
|
||||
function ServerButton(props: { ram: number }): React.ReactElement {
|
||||
const [open, setOpen] = useState(false);
|
||||
const cost = getPurchaseServerCost(props.ram);
|
||||
const reachLimitOfPrivateServer = Player.purchasedServers.length >= getPurchaseServerLimit();
|
||||
const cost = getCloudServerCost(props.ram);
|
||||
const reachLimitOfPrivateServer = Player.purchasedServers.length >= getCloudServerLimit();
|
||||
return (
|
||||
<>
|
||||
<Button onClick={() => setOpen(true)} disabled={!Player.canAfford(cost) || reachLimitOfPrivateServer}>
|
||||
Purchase {formatRam(props.ram)} Server -
|
||||
Purchase {formatRam(props.ram)} Cloud Server -
|
||||
{reachLimitOfPrivateServer ? "Max" : <Money money={cost} forPurchase={true} />}
|
||||
</Button>
|
||||
<PurchaseServerModal open={open} onClose={() => setOpen(false)} ram={props.ram} cost={cost} />
|
||||
@@ -41,7 +41,7 @@ export function TechVendorLocation(props: { loc: Location }): React.ReactElement
|
||||
|
||||
const purchaseServerButtons: React.ReactNode[] = [];
|
||||
for (let ram = props.loc.techVendorMinRam; ram <= props.loc.techVendorMaxRam; ram *= 2) {
|
||||
if (ram > getPurchaseServerMaxRam()) {
|
||||
if (ram > getCloudServerMaxRam()) {
|
||||
break;
|
||||
}
|
||||
purchaseServerButtons.push(<ServerButton key={ram} ram={ram} />);
|
||||
@@ -53,7 +53,7 @@ export function TechVendorLocation(props: { loc: Location }): React.ReactElement
|
||||
<Box sx={{ display: "grid", width: "fit-content" }}>{purchaseServerButtons}</Box>
|
||||
<br />
|
||||
<Typography>
|
||||
<i>"You can order bigger servers via scripts. We don't take custom orders in person."</i>
|
||||
<i>"You can order bigger cloud servers via scripts. We don't take custom orders in person."</i>
|
||||
</Typography>
|
||||
<br />
|
||||
<TorButton rerender={rerender} />
|
||||
|
||||
Reference in New Issue
Block a user