Compare commits

...

75 Commits

Author SHA1 Message Date
Snarling 2a5e5780c9 RELEASE: 3.0.0 2026-04-30 23:06:17 -04:00
David Walker f4c4b17797 CHANGELOG: Final changelog update (#2710) 2026-04-30 16:26:37 -07:00
catloversg a99eeea80c CODEBASE: Add comments explaining redundant check in product calculation (#2705) 2026-04-30 16:18:22 -07:00
catloversg eeef4cf772 CORPORATION: Remove references to "sudo.Assist" research (#2709) 2026-04-30 14:25:35 -07:00
catloversg 548cb24b2e MISC: Improve error messages for invalid module parsing (#2707) 2026-04-29 14:40:36 -07:00
catloversg c72a2928eb MISC: Update changelog (#2704) 2026-04-29 11:19:42 +07:00
catloversg 01c63ea0c0 CORPORATION: Rework material production limit (#2683) 2026-04-28 15:50:40 -07:00
catloversg 8ad5ec075e MISC: Update description of "You and what army?" achievement (#2703) 2026-04-28 15:42:24 -07:00
catloversg 115b1b63ad API: Update RAM cost of nextUpdate and similar APIs (#2702) 2026-04-28 15:41:47 -07:00
catloversg 851ed2b9dc DOCUMENTATION: Fix api-extractor warnings (#2701) 2026-04-28 15:39:48 -07:00
catloversg 234ee7a923 API: Update error message of ns.singularity.joinFaction (#2700) 2026-04-28 15:38:43 -07:00
lucebac 9e85068cbb HACKNET: fix application of limits in cost functions (#2696) 2026-04-28 00:16:45 -07:00
The Gail ed6df3dfa7 MISC: Clarify what "backdoor" does in "help" command (#2694) 2026-04-28 00:14:39 -07:00
Michael Ficocelli 253b8b2672 DNET: Adjust charisma augmentation power (#2698) 2026-04-28 00:14:17 -07:00
catloversg 3146c50edc UI: Activate recovery mode on critical BN prestige bugs (#2699) 2026-04-28 00:11:23 -07:00
catloversg 4a91a71891 UI: Reload immediately after importing, deleting save data or killing all scripts (#2697) 2026-04-28 00:08:13 -07:00
catloversg 99afa3cd50 CORPORATION: Prevent duplicate processing of boost materials (#2695) 2026-04-28 00:06:12 -07:00
catloversg 750f79adf3 UI: Use "success" theme color for low infiltration difficulty instead of "primary" (#2693) 2026-04-27 23:55:35 -07:00
catloversg dbb20c1526 CODEBASE: Consistently check when to show intelligence skill (#2692) 2026-04-27 23:54:55 -07:00
catloversg 60fb303915 UI: Show effective amount of shared RAM when using UI (#2691) 2026-04-27 23:54:26 -07:00
catloversg 32fed9f142 BUGFIX: DarkscapeNavigator program is not granted on BN prestige when having SF15 (#2690) 2026-04-27 23:53:01 -07:00
catloversg 33ffc2107c DOCUMENTATION: Improve coding contract documentation (#2689) 2026-04-27 23:51:51 -07:00
catloversg 36e1adf2d2 API: Standardize "nextCompletion" promise in tasks (#2687) 2026-04-27 23:49:53 -07:00
David Walker ee3014b029 NETSCRIPT: Better error message for port serialization failure (#2688) 2026-04-24 13:55:39 -07:00
catloversg 112d317fd2 TOOLS: Ignore .DS_Store files when generating pages.ts (#2685) 2026-04-23 15:49:39 -07:00
catloversg 355f650367 CORPORATION: Remove max width of division list (#2686) 2026-04-23 15:42:33 -07:00
Michael Ficocelli a4b0f22a2e DNET: Update changelog (#2679) 2026-04-20 16:57:23 -07:00
catloversg 2aa5092d85 BLADEBURNER: Store BlackOp team count in save data (#2675) 2026-04-19 12:20:08 -07:00
catloversg a7409a01cc UI: Ensure intelligence override is a positive integer (#2673) 2026-04-19 12:09:11 -07:00
catloversg a99109d9c7 BUGFIX: Follow-up to #2660 (#2666) 2026-04-19 12:06:54 -07:00
catloversg 95af138c39 BLADEBURNER: Restrict team count of Ops/BlackOps to total team size (#2672) 2026-04-17 14:32:22 -07:00
Mathekatze f5bbc26495 MISC: Clear recent scripts when installing augmentations (#2670) 2026-04-17 14:20:07 -07:00
catloversg f8ec7f4294 CODEBASE: Fix passive event listener warning (#2671) 2026-04-17 14:09:12 -07:00
catloversg c06c6590c9 BUGFIX: calculateExp throws errors in edge cases (#2667) 2026-04-17 00:57:50 -07:00
catloversg 45bce6e45e MISC: Reduce achievements check interval (#2650) 2026-04-15 18:47:29 -07:00
catloversg c21d1f44b2 UI: Add button to open Faction page from Gang UI (#2655) 2026-04-14 15:53:40 -07:00
catloversg 956e00f789 BUGFIX: Intelligence data is incorrectly migrated when Intelligence is not unlocked (#2660) 2026-04-14 15:20:01 -07:00
catloversg c5536d252b MISC: Update "Last updated" date in changelog (#2658) 2026-04-13 13:10:59 +07:00
catloversg a99ca64455 MISC: Update changelog (#2657) 2026-04-13 11:32:39 +07:00
catloversg cb14655325 MISC: Update description of "cat" command (#2654) 2026-04-12 17:06:27 -07:00
catloversg 9ab3e0bcb4 DOCUMENTATION: Update tutorial script for buying cloud servers (#2653) 2026-04-12 17:05:56 -07:00
catloversg cc9144c01b UI: Use exponential notation when formatting very small HP or thread values (#2656) 2026-04-12 16:49:30 -07:00
Lee Stutzman fb3fa00b3d API: Add weakenEffect to formulas.hacking namespace (#2626) 2026-04-10 16:36:45 -07:00
Lee Stutzman 8cbd6ff9e1 BUGFIX: Fix tab completion for multi-word quoted autocomplete options (#2612) 2026-04-10 16:36:11 -07:00
Michael Ficocelli 00a1bc2f6e DNET: Remove bonus time effect on authentication and heartbleed speed; fix ram rounding (#2627) 2026-04-10 16:04:05 -07:00
Lee Stutzman be6fcd206f API: Rename ns.gang.getOtherGangInformation to getAllGangInformation (#2635) 2026-04-10 15:59:39 -07:00
catloversg a6a112198e WORKFLOW: Allow specifying commit hash id when building artifacts (#2652) 2026-04-10 15:56:51 -07:00
catloversg 732aadb2d6 UI: Add hooks to sidebar for players to attach custom content (#2651) 2026-04-10 15:54:54 -07:00
catloversg 85c9ac0181 TOOL: Remove redundant "$" from JS/TS regex in webpack config (#2649) 2026-04-10 15:50:52 -07:00
catloversg e232f37550 BLADEBURNER: Add tooltips explaining why skill upgrades are disabled (#2648) 2026-04-10 15:50:07 -07:00
catloversg 6074721c59 MISC: Update description of "BN9: Challenge" achievement (#2647) 2026-04-10 15:46:47 -07:00
catloversg 09e46d757b CLI: Add "hidden" mkdir command (#2646) 2026-04-10 15:45:51 -07:00
catloversg 5cb0d559df UI: Consistently calculate BitNode "level" (#2645) 2026-04-10 15:45:18 -07:00
catloversg 54287e5f7f DOCUMENTATION: Update RAM cost of hacknet APIs and remove unnecessary RAM cost docs (#2639) 2026-04-09 17:27:17 -07:00
catloversg d25b1676ab MISC: Apply SF override to charisma calculations (#2642) 2026-04-09 17:25:51 -07:00
Lee Stutzman d6299becd6 DOCUMENTATION: Clarify scp and exec darknet permissions in API docs (#2634) 2026-04-09 17:24:37 -07:00
catloversg 19b137e2fb UI: Remove unnecessary max-width of tab list in in-game editor (#2643) 2026-04-09 17:22:53 -07:00
catloversg ee2949418f API: Expose charged effects of active fragments (#2638) 2026-04-08 14:45:17 -07:00
Lee Stutzman fbd7930ab2 BUGFIX: Fix recursive alias detection causing infinite recursion (#2610) 2026-04-04 17:01:21 -07:00
catloversg 8b3c7c13c5 CODEBASE: Use type-only imports in ArrayHelpers.ts (#2630) 2026-04-04 16:39:24 -07:00
catloversg 996bb01075 UI: Ensure prompts shown by ns.prompt do not lose focus in the terminal tab (#2631) 2026-04-04 16:39:06 -07:00
catloversg eb4e193fac DEVMENU: Initialize dark net data when setting SF15 level (#2632) 2026-04-04 16:37:26 -07:00
catloversg 0c39fc3720 MISC: Update changelog and version number (#2628) 2026-04-04 12:39:38 +07:00
catloversg 44741a7795 DOCUMENTATION: Document coding contract's generation and rewards (#2624) 2026-04-03 21:50:19 -07:00
Lee Stutzman 2818969c8a UI: Fix non-explicit GameRoot effect dependency (#2617) 2026-04-03 21:49:17 -07:00
Lee Stutzman de9311f820 UI: Add dependency array to TerminalInput keydown useEffect (#2620) 2026-04-03 15:39:05 -07:00
Lee Stutzman 15d463d583 BUGFIX: "Do something else simultaneously" navigates to gym/university instead of City (#2613) 2026-04-03 15:37:34 -07:00
catloversg 2819947378 CODEBASE: Refactor and fix issues in db.ts (#2623) 2026-04-03 15:28:48 -07:00
catloversg 48fad72b6a UI: Follow-up to #2615 (#2622) 2026-04-03 15:15:04 -07:00
Lee Stutzman 63aa4d2a45 BUGFIX: Fix prompt text input losing focus to terminal (#2615) 2026-04-03 00:10:48 -07:00
catloversg abdf3082ca ELECTRON: Fix issues in edge cases of using --export-save (#2590) 2026-04-02 23:57:25 -07:00
catloversg 8dcccdc5bb MISC: Make implicit string conversion consistent across all coding contracts (#2608) 2026-04-02 23:53:16 -07:00
Lee Stutzman d1b6acc57a CODEBASE: Replace ipExists() linear scan with O(1) Map.has() (#2621) 2026-04-02 19:13:35 -07:00
catloversg dc4ea8452c CODEBASE: Update comments to reflect changes in #2603 (#2606) 2026-04-02 19:13:21 -07:00
Lee Stutzman 5fc54809de BUGFIX: Fix skillMaxUpgradeCount returning 1 at extreme skill levels (#2611) 2026-04-02 19:06:44 -07:00
242 changed files with 5679 additions and 1963 deletions
+16
View File
@@ -2,7 +2,17 @@ name: Build artifacts
on:
workflow_dispatch:
inputs:
git-sha:
description: "Commit SHA-1 to checkout"
required: false
default: ""
workflow_call:
inputs:
git-sha:
type: string
required: false
default: ""
env:
GH_TOKEN: ${{ github.token }}
@@ -13,6 +23,8 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.git-sha || inputs.git-sha || github.sha }}
- name: Use Node.js 24
uses: actions/setup-node@v4
with:
@@ -46,6 +58,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.git-sha || inputs.git-sha || github.sha }}
- name: Use Node.js 24
uses: actions/setup-node@v4
with:
@@ -77,6 +91,8 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.git-sha || inputs.git-sha || github.sha }}
- name: Use Node.js 24
uses: actions/setup-node@v4
with:
+72
View File
@@ -25,5 +25,77 @@
<div>
<h1>Close me when operation is completed.</h1>
</div>
<!-- Use esm for top-level await -->
<script type="module">
const databaseName = "bitburnerSave";
// Check src/db.ts to see why the current max version is 2. If the database version is greater than this value, it
// means that the code in this file is outdated.
const maxDatabaseVersion = 2;
const databases = await window.indexedDB.databases();
const database = databases.find((info) => info.name === databaseName);
if (!database) {
alert("There is no save data");
// This is the simplest way to stop execution in top-level code without using a labeled block or IIFE.
throw new Error("There is no save data");
}
if (database.version === undefined || database.version > maxDatabaseVersion) {
alert(`Invalid database version: ${database.version}`);
throw new Error(`Invalid database version: ${database.version}`);
}
// Do NOT specify the version. We must open the database at the current version; otherwise, we will trigger
// onupgradeneeded.
const dbRequest = window.indexedDB.open(databaseName);
dbRequest.onerror = (event) => {
console.error(event.target.error);
alert(event.target.error);
};
dbRequest.onsuccess = () => {
const db = dbRequest.result;
try {
if (!db.objectStoreNames.contains("savestring")) {
alert("There is no save data");
return;
}
const transaction = db.transaction(["savestring"], "readonly");
const objectStore = transaction.objectStore("savestring");
const request = objectStore.get("save");
request.onsuccess = () => {
if (request.result == null) {
alert("There is no save data");
return;
}
let isBinaryFormat;
if (request.result instanceof Uint8Array) {
// All modules in the Electron folder are CommonJS, so importing them here would be really difficult. The
// isBinaryFormat function is very small, so let's inline it here.
isBinaryFormat = true;
const magicBytesOfDeflateGzip = [0x1f, 0x8b, 0x08];
for (let i = 0; i < magicBytesOfDeflateGzip.length; ++i) {
if (magicBytesOfDeflateGzip[i] !== request.result[i]) {
isBinaryFormat = false;
break;
}
}
} else {
isBinaryFormat = false;
}
const extension = isBinaryFormat ? "json.gz" : "json";
const filename = `bitburnerSave_${Date.now()}.${extension}`;
const blob = new Blob([request.result]);
const anchorElement = document.createElement("a");
const url = URL.createObjectURL(blob);
anchorElement.href = url;
anchorElement.download = filename;
anchorElement.click();
setTimeout(function () {
URL.revokeObjectURL(url);
}, 0);
};
} catch (error) {
console.error(error);
alert(error);
}
};
</script>
</body>
</html>
-1
View File
@@ -258,7 +258,6 @@ app.on("ready", async () => {
await window.loadFile("export.html");
window.show();
setStopProcessHandler(window);
await utils.exportSave(window);
} else {
window = await startWindow(process.argv.includes("--no-scripts"));
if (global.steamworksError) {
-31
View File
@@ -90,36 +90,6 @@ function showErrorBox(title, error) {
dialog.showErrorBox(title, `${error.name}\n\n${error.message}`);
}
function exportSaveFromIndexedDb() {
return new Promise((resolve) => {
const dbRequest = indexedDB.open("bitburnerSave");
dbRequest.onsuccess = () => {
const db = dbRequest.result;
const transaction = db.transaction(["savestring"], "readonly");
const store = transaction.objectStore("savestring");
const request = store.get("save");
request.onsuccess = () => {
const file = new Blob([request.result], { type: "text/plain" });
const a = document.createElement("a");
const url = URL.createObjectURL(file);
a.href = url;
a.download = "save.json";
document.body.appendChild(a);
a.click();
setTimeout(function () {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
resolve();
}, 0);
};
};
});
}
async function exportSave(window) {
await window.webContents.executeJavaScript(`${exportSaveFromIndexedDb.toString()}; exportSaveFromIndexedDb();`, true);
}
async function writeTerminal(window, message, type = null) {
await window.webContents.executeJavaScript(`window.appNotifier.terminal("${message}", "${type}");`, true);
}
@@ -186,7 +156,6 @@ function initializeLogLevelConfig() {
module.exports = {
reloadAndKill,
showErrorBox,
exportSave,
attachUnresponsiveAppHandler,
detachUnresponsiveAppHandler,
writeTerminal,
@@ -0,0 +1,19 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [ActiveFragment](./bitburner.activefragment.md) &gt; [chargedEffect](./bitburner.activefragment.chargedeffect.md)
## ActiveFragment.chargedEffect property
This is the raw value of the modifier used to calculate the effect on your multipliers. It may not be a multiplier.
With fragments that increase a multiplier, this value is a multiplier. For example, with "+x% hacknet production" fragment, a value of 1.25 will multiply the "hacknet\_node\_money" multiplier by 1.25. The UI will show "+25% hacknet production".
With fragments that decrease a multiplier, you need to invert this value. For example, with "-x% cheaper hacknet costs" fragment, a value of 1.25 means the "hacknet\_node\_purchase\_cost" (and other relevant cost multipliers) will be multiplied by 0.8 (1 / 1.25). The UI will show "20% cheaper hacknet costs".
With booster fragments, this value is always 1. Booster fragments only boost non-booster fragments. They don't directly boost your multipliers.
**Signature:**
```typescript
chargedEffect: number;
```
+25
View File
@@ -37,6 +37,31 @@ Description
</th></tr></thead>
<tbody><tr><td>
[chargedEffect](./bitburner.activefragment.chargedeffect.md)
</td><td>
</td><td>
number
</td><td>
This is the raw value of the modifier used to calculate the effect on your multipliers. It may not be a multiplier.
With fragments that increase a multiplier, this value is a multiplier. For example, with "+x% hacknet production" fragment, a value of 1.25 will multiply the "hacknet\_node\_money" multiplier by 1.25. The UI will show "+25% hacknet production".
With fragments that decrease a multiplier, you need to invert this value. For example, with "-x% cheaper hacknet costs" fragment, a value of 1.25 means the "hacknet\_node\_purchase\_cost" (and other relevant cost multipliers) will be multiplied by 0.8 (1 / 1.25). The UI will show "20% cheaper hacknet costs".
With booster fragments, this value is always 1. Booster fragments only boost non-booster fragments. They don't directly boost your multipliers.
</td></tr>
<tr><td>
[highestCharge](./bitburner.activefragment.highestcharge.md)
+8 -4
View File
@@ -9,7 +9,7 @@ Base interface of all tasks.
**Signature:**
```typescript
export interface BaseTask
interface BaseTask
```
## Properties
@@ -37,7 +37,7 @@ Description
</th></tr></thead>
<tbody><tr><td>
[cyclesWorked](./bitburner.basetask.cyclesworked.md)
[nextCompletion](./bitburner.basetask.nextcompletion.md)
</td><td>
@@ -45,12 +45,16 @@ Description
</td><td>
number
Promise&lt;void&gt;
</td><td>
The number of game engine cycles has passed since this task started. 1 engine cycle = 200ms.
This promise resolves when the task completes or is canceled.
Tasks that do not track progress, such as studying or working for a company, are non-completable, i.e., they continue indefinitely until canceled. The `nextCompletion` promise of these tasks resolves only when they are canceled.
Among completable tasks, some are repeatable, i.e., they automatically restart after completion. The `nextCompletion` promise of these tasks resolves on the next completion or when they are canceled.
</td></tr>
@@ -0,0 +1,17 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [BaseTask](./bitburner.basetask.md) &gt; [nextCompletion](./bitburner.basetask.nextcompletion.md)
## BaseTask.nextCompletion property
This promise resolves when the task completes or is canceled.
Tasks that do not track progress, such as studying or working for a company, are non-completable, i.e., they continue indefinitely until canceled. The `nextCompletion` promise of these tasks resolves only when they are canceled.
Among completable tasks, some are repeatable, i.e., they automatically restart after completion. The `nextCompletion` promise of these tasks resolves on the next completion or when they are canceled.
**Signature:**
```typescript
nextCompletion: Promise<void>;
```
+1 -1
View File
@@ -12,7 +12,7 @@ Default value:
- All boolean options: false
If you specify intelligenceOverride, it must be a non-negative integer.
If you specify intelligenceOverride, it must be a positive integer.
**Signature:**
+1 -1
View File
@@ -19,7 +19,7 @@ Promise that resolves to the number of milliseconds of Bladeburner time that wer
## Remarks
RAM cost: 1 GB
RAM cost: 0 GB
The amount of real time spent asleep between updates can vary due to "bonus time" (usually 1 second).
+2 -2
View File
@@ -9,9 +9,9 @@ Company Work
**Signature:**
```typescript
export interface CompanyWorkTask extends BaseTask
interface CompanyWorkTask extends PlayerBaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
**Extends:** [PlayerBaseTask](./bitburner.playerbasetask.md)
## Remarks
+1 -1
View File
@@ -19,7 +19,7 @@ Promise that resolves to the name of the state that was just processed.
## Remarks
RAM cost: 1 GB
RAM cost: 0 GB
The amount of real time spent asleep between updates can vary due to "bonus time" (usually 200 milliseconds - 2 seconds).
+2 -2
View File
@@ -9,9 +9,9 @@ Create Program
**Signature:**
```typescript
export interface CreateProgramWorkTask extends BaseTask
interface CreateProgramWorkTask extends PlayerBaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
**Extends:** [PlayerBaseTask](./bitburner.playerbasetask.md)
## Remarks
+2 -2
View File
@@ -9,9 +9,9 @@ Crime
**Signature:**
```typescript
export interface CrimeTask extends BaseTask
interface CrimeTask extends PlayerBaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
**Extends:** [PlayerBaseTask](./bitburner.playerbasetask.md)
## Remarks
+1 -1
View File
@@ -29,5 +29,5 @@ Promise&lt;void&gt;
## Remarks
RAM cost: 1 GB
RAM cost: 0 GB
+2 -2
View File
@@ -9,9 +9,9 @@ Faction Work
**Signature:**
```typescript
export interface FactionWorkTask extends BaseTask
interface FactionWorkTask extends PlayerBaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
**Extends:** [PlayerBaseTask](./bitburner.playerbasetask.md)
## Remarks
@@ -1,15 +1,15 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [getOtherGangInformation](./bitburner.gang.getotherganginformation.md)
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [getAllGangInformation](./bitburner.gang.getallganginformation.md)
## Gang.getOtherGangInformation() method
## Gang.getAllGangInformation() method
Get information about all gangs.
**Signature:**
```typescript
getOtherGangInformation(): Record<string, GangOtherInfoObject>;
getAllGangInformation(): Record<string, GangOtherInfoObject>;
```
**Returns:**
+11 -11
View File
@@ -61,6 +61,17 @@ Check if you can recruit a new gang member.
Create a gang.
</td></tr>
<tr><td>
[getAllGangInformation()](./bitburner.gang.getallganginformation.md)
</td><td>
Get information about all gangs.
</td></tr>
<tr><td>
@@ -182,17 +193,6 @@ Get information about a specific gang member.
List all gang members.
</td></tr>
<tr><td>
[getOtherGangInformation()](./bitburner.gang.getotherganginformation.md)
</td><td>
Get information about all gangs.
</td></tr>
<tr><td>
+1 -1
View File
@@ -19,7 +19,7 @@ Promise that resolves to the number of milliseconds of Gang time that were proce
## Remarks
RAM cost: 1 GB
RAM cost: 0 GB
The amount of real time spent asleep between updates can vary due to "bonus time".
@@ -19,5 +19,5 @@ A promise that resolves when the current grafting finishes or is canceled. If th
## Remarks
RAM cost: 1 GB
RAM cost: 0 GB
@@ -1,13 +0,0 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GraftingTask](./bitburner.graftingtask.md) &gt; [completion](./bitburner.graftingtask.completion.md)
## GraftingTask.completion property
This promise resolves when the task is complete.
**Signature:**
```typescript
completion: Promise<void>;
```
+2 -21
View File
@@ -9,9 +9,9 @@ Grafting Work
**Signature:**
```typescript
export interface GraftingTask extends BaseTask
interface GraftingTask extends PlayerBaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
**Extends:** [PlayerBaseTask](./bitburner.playerbasetask.md)
## Remarks
@@ -56,25 +56,6 @@ string
</td><td>
</td></tr>
<tr><td>
[completion](./bitburner.graftingtask.completion.md)
</td><td>
</td><td>
Promise&lt;void&gt;
</td><td>
This promise resolves when the task is complete.
</td></tr>
<tr><td>
+11
View File
@@ -126,6 +126,17 @@ Calculate hack percent for one thread. (Ex: 0.25 would steal 25% of the server's
Calculate hack time.
</td></tr>
<tr><td>
[weakenEffect(threads, cores)](./bitburner.hackingformulas.weakeneffect.md)
</td><td>
Calculate the security decrease from a weaken operation. Unlike other hacking formulas, weaken effect depends only on thread count and core count, not on server or player properties. The core bonus formula is `1 + (cores - 1) / 16}`<!-- -->.
</td></tr>
<tr><td>
@@ -0,0 +1,72 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [HackingFormulas](./bitburner.hackingformulas.md) &gt; [weakenEffect](./bitburner.hackingformulas.weakeneffect.md)
## HackingFormulas.weakenEffect() method
Calculate the security decrease from a weaken operation. Unlike other hacking formulas, weaken effect depends only on thread count and core count, not on server or player properties. The core bonus formula is `1 + (cores - 1) / 16}`<!-- -->.
**Signature:**
```typescript
weakenEffect(threads: number, cores?: number): number;
```
## Parameters
<table><thead><tr><th>
Parameter
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
threads
</td><td>
number
</td><td>
Number of threads running weaken.
</td></tr>
<tr><td>
cores
</td><td>
number
</td><td>
_(Optional)_ Number of cores on the host server. Default 1.
</td></tr>
</tbody></table>
**Returns:**
number
The security decrease amount.
@@ -72,7 +72,7 @@ Cost of upgrading the specified Hacknet Node's cache.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
@@ -72,7 +72,7 @@ Cost of upgrading the specified Hacknet Node's number of cores.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns the cost of upgrading the number of cores of the specified Hacknet Node by n.
@@ -54,7 +54,7 @@ Level of the upgrade.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
@@ -19,7 +19,7 @@ An array containing the available upgrades
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
@@ -72,7 +72,7 @@ Cost of upgrading the specified Hacknet Node.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns the cost of upgrading the specified Hacknet Node by n levels.
+1 -1
View File
@@ -56,7 +56,7 @@ Object containing a variety of stats about the specified Hacknet Node.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns an object containing a variety of stats about the specified Hacknet Node.
@@ -19,7 +19,7 @@ Cost of purchasing a new Hacknet Node.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns the cost of purchasing a new Hacknet Node.
@@ -72,7 +72,7 @@ Cost of upgrading the specified Hacknet Node's RAM.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns the cost of upgrading the RAM of the specified Hacknet Node n times.
+1 -1
View File
@@ -19,7 +19,7 @@ Multiplier.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
@@ -19,7 +19,7 @@ Multiplier.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -19,7 +19,7 @@ Number of hashes you can store.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -72,7 +72,7 @@ Number of hashes required for the specified upgrade.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -19,5 +19,5 @@ Maximum number of hacknet nodes.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
+1 -1
View File
@@ -19,7 +19,7 @@ Number of hashes you have.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -19,7 +19,7 @@ Number of hacknet nodes.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Returns the number of Hacknet Nodes you own.
+1 -1
View File
@@ -19,7 +19,7 @@ The index of the Hacknet Node or if the player cannot afford to purchase a new H
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Purchases a new Hacknet Node. Returns a number with the index of the Hacknet Node. This index is equivalent to the number at the end of the Hacknet Nodes name (e.g. The Hacknet Node named `hacknet-node-4` will have an index of 4).
+1 -1
View File
@@ -88,7 +88,7 @@ True if the upgrade is successfully purchased, and false otherwise.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -72,7 +72,7 @@ True if the Hacknet Nodes cache level is successfully upgraded, false otherwi
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
This function is only applicable for Hacknet Servers (the upgraded version of a Hacknet Node).
+1 -1
View File
@@ -72,7 +72,7 @@ True if the Hacknet Nodes cores are successfully purchased, false otherwise.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Tries to purchase n cores for the specified Hacknet Node.
+1 -1
View File
@@ -72,7 +72,7 @@ True if the Hacknet Nodes level is successfully upgraded, false otherwise.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Tries to upgrade the level of the specified Hacknet Node by n.
+1 -1
View File
@@ -72,7 +72,7 @@ True if the Hacknet Nodes RAM is successfully upgraded, false otherwise.
## Remarks
RAM cost: 0 GB
RAM cost: 0.5 GB
Tries to upgrade the specified Hacknet Nodes RAM n times. Note that each upgrade doubles the Nodes RAM. So this is equivalent to multiplying the Nodes RAM by 2 n.
+102 -91
View File
@@ -123,7 +123,7 @@ Default value:
- All boolean options: false
If you specify intelligenceOverride, it must be a non-negative integer.
If you specify intelligenceOverride, it must be a positive integer.
</td></tr>
@@ -1111,6 +1111,17 @@ Player must have killed at least this many people.
</td></tr>
<tr><td>
[PlayerBaseTask](./bitburner.playerbasetask.md)
</td><td>
Base interface of all player tasks.
</td></tr>
<tr><td>
@@ -1272,6 +1283,66 @@ Skills formulas
Sleeve API
</td></tr>
<tr><td>
[SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveClassTask](./bitburner.sleeveclasstask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveCompanyTask](./bitburner.sleevecompanytask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveCrimeTask](./bitburner.sleevecrimetask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveFactionTask](./bitburner.sleevefactiontask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md)
</td><td>
</td></tr>
<tr><td>
@@ -1282,6 +1353,36 @@ Sleeve API
</td></tr>
<tr><td>
[SleeveRecoveryTask](./bitburner.sleeverecoverytask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveSupportTask](./bitburner.sleevesupporttask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveSynchroTask](./bitburner.sleevesynchrotask.md)
</td><td>
</td></tr>
<tr><td>
@@ -2206,96 +2307,6 @@ Use React.createElement to make the ReactElement type, see [creating an element
</td></tr>
<tr><td>
[SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveClassTask](./bitburner.sleeveclasstask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveCompanyTask](./bitburner.sleevecompanytask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveCrimeTask](./bitburner.sleevecrimetask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveFactionTask](./bitburner.sleevefactiontask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveRecoveryTask](./bitburner.sleeverecoverytask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveSupportTask](./bitburner.sleevesupporttask.md)
</td><td>
</td></tr>
<tr><td>
[SleeveSynchroTask](./bitburner.sleevesynchrotask.md)
</td><td>
</td></tr>
<tr><td>
+2 -6
View File
@@ -6,18 +6,14 @@
Arguments passed into the script.
These arguments can be accessed as a normal array by using the `[]` operator (`args[0]`<!-- -->, `args[1]`<!-- -->, etc...). Arguments can be string, number, or boolean. Use `args.length` to get the number of arguments that were passed into a script.
**Signature:**
```typescript
readonly args: ScriptArg[];
```
## Remarks
RAM cost: 0 GB
Arguments passed into a script can be accessed as a normal array by using the `[]` operator (`args[0]`<!-- -->, `args[1]`<!-- -->, etc...). Arguments can be string, number, or boolean. Use `args.length` to get the number of arguments that were passed into a script.
## Example
`run example.js 7 text true`
-5
View File
@@ -11,8 +11,3 @@ Namespace for [Bladeburner](./bitburner.bladeburner.md) functions. Contains spoi
```typescript
readonly bladeburner: Bladeburner;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [cloud](./bitburner.cloud.md) functions.
```typescript
readonly cloud: Cloud;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [coding contract](./bitburner.codingcontract.md) functions.
```typescript
readonly codingcontract: CodingContract;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [corporation](./bitburner.corporation.md) functions. Contains spoi
```typescript
readonly corporation: Corporation;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for darknet functions. Contains spoilers.
```typescript
readonly dnet: Darknet;
```
## Remarks
RAM cost: 0 GB
+1
View File
@@ -132,4 +132,5 @@ ns.exec("generic-hack.js", "joesguns", {threads: 10});
// arguments to the script.
ns.exec("foo.js", "foodnstuff", 5, 1, "test");
```
For darknet servers: A session must be established with the target server, and the script must be running on a server that is directly connected to the target, or the target must have a backdoor or stasis link installed.
-5
View File
@@ -11,8 +11,3 @@ Namespace for [formatting](./bitburner.format.md) functions.
```typescript
readonly format: Format;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [formulas](./bitburner.formulas.md) functions.
```typescript
readonly formulas: Formulas;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [gang](./bitburner.gang.md) functions. Contains spoilers.
```typescript
readonly gang: Gang;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [Go](./bitburner.go.md) functions.
```typescript
readonly go: Go;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [grafting](./bitburner.grafting.md) functions. Contains spoilers.
```typescript
readonly grafting: Grafting;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [hacknet](./bitburner.hacknet.md) functions. Some of this API cont
```typescript
readonly hacknet: Hacknet;
```
## Remarks
RAM cost: 4 GB.
-5
View File
@@ -11,8 +11,3 @@ Namespace for [infiltration](./bitburner.infiltration.md) functions.
```typescript
readonly infiltration: Infiltration;
```
## Remarks
RAM cost: 0 GB
+2
View File
@@ -69,6 +69,8 @@ Description
Arguments passed into the script.
These arguments can be accessed as a normal array by using the `[]` operator (`args[0]`<!-- -->, `args[1]`<!-- -->, etc...). Arguments can be string, number, or boolean. Use `args.length` to get the number of arguments that were passed into a script.
</td></tr>
<tr><td>
+1 -1
View File
@@ -112,5 +112,5 @@ const server = ns.args[0];
const files = ["hack.js", "weaken.js", "grow.js"];
ns.scp(files, server, "home");
```
For password-protected servers (such as darknet servers), a session must be established with the destination server before using this function. (The source server does not require a session.)
For darknet servers: The destination requires a session, but unlike [exec](./bitburner.ns.exec.md)<!-- -->, does not require a direct connection — scp works at any distance. The source server has no darknet requirements (no session or connection needed). Use [dnet.authenticate](./bitburner.darknet.authenticate.md) (requires direct connection) or [dnet.connectToSession](./bitburner.darknet.connecttosession.md) (at any distance) to establish a session.
-5
View File
@@ -11,8 +11,3 @@ Namespace for [singularity](./bitburner.singularity.md) functions. Contains spoi
```typescript
readonly singularity: Singularity;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [sleeve](./bitburner.sleeve.md) functions. Contains spoilers.
```typescript
readonly sleeve: Sleeve;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [Stanek](./bitburner.stanek.md) functions. Contains spoilers.
```typescript
readonly stanek: Stanek;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [stock](./bitburner.stock.md) functions.
```typescript
readonly stock: Stock;
```
## Remarks
RAM cost: 0 GB
-5
View File
@@ -11,8 +11,3 @@ Namespace for [user interface](./bitburner.userinterface.md) functions.
```typescript
readonly ui: UserInterface;
```
## Remarks
RAM cost: 0 GB
@@ -1,8 +1,8 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [BaseTask](./bitburner.basetask.md) &gt; [cyclesWorked](./bitburner.basetask.cyclesworked.md)
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [PlayerBaseTask](./bitburner.playerbasetask.md) &gt; [cyclesWorked](./bitburner.playerbasetask.cyclesworked.md)
## BaseTask.cyclesWorked property
## PlayerBaseTask.cyclesWorked property
The number of game engine cycles has passed since this task started. 1 engine cycle = 200ms.
+59
View File
@@ -0,0 +1,59 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [PlayerBaseTask](./bitburner.playerbasetask.md)
## PlayerBaseTask interface
Base interface of all player tasks.
**Signature:**
```typescript
interface PlayerBaseTask extends BaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[cyclesWorked](./bitburner.playerbasetask.cyclesworked.md)
</td><td>
</td><td>
number
</td><td>
The number of game engine cycles has passed since this task started. 1 engine cycle = 200ms.
</td></tr>
</tbody></table>
@@ -52,7 +52,7 @@ Name of faction to join.
boolean
True if player joined the faction, and false otherwise.
True if the player successfully accepts an invitation, and false otherwise.
## Remarks
@@ -60,3 +60,5 @@ RAM cost: 3 GB \* 16/4/1
This function will automatically accept an invitation from a faction and join it.
Note that this function returns false if you are already a member of the specified faction.
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [actionName](./bitburner.sleevebladeburnertask.actionname.md)
## SleeveBladeburnerTask.actionName property
**Signature:**
```typescript
actionName: string;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [actionType](./bitburner.sleevebladeburnertask.actiontype.md)
## SleeveBladeburnerTask.actionType property
**Signature:**
```typescript
actionType: "General" | "Contracts";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [cyclesNeeded](./bitburner.sleevebladeburnertask.cyclesneeded.md)
## SleeveBladeburnerTask.cyclesNeeded property
**Signature:**
```typescript
cyclesNeeded: number;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [cyclesWorked](./bitburner.sleevebladeburnertask.cyclesworked.md)
## SleeveBladeburnerTask.cyclesWorked property
**Signature:**
```typescript
cyclesWorked: number;
```
+131 -10
View File
@@ -2,19 +2,140 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md)
## SleeveBladeburnerTask type
## SleeveBladeburnerTask interface
**Signature:**
```typescript
type SleeveBladeburnerTask = {
type: "BLADEBURNER";
actionType: "General" | "Contracts";
actionName: string;
cyclesWorked: number;
cyclesNeeded: number;
nextCompletion: Promise<void>;
tasksCompleted: number;
};
interface SleeveBladeburnerTask extends BaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[actionName](./bitburner.sleevebladeburnertask.actionname.md)
</td><td>
</td><td>
string
</td><td>
</td></tr>
<tr><td>
[actionType](./bitburner.sleevebladeburnertask.actiontype.md)
</td><td>
</td><td>
"General" \| "Contracts"
</td><td>
</td></tr>
<tr><td>
[cyclesNeeded](./bitburner.sleevebladeburnertask.cyclesneeded.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[cyclesWorked](./bitburner.sleevebladeburnertask.cyclesworked.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[tasksCompleted](./bitburner.sleevebladeburnertask.taskscompleted.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleevebladeburnertask.type.md)
</td><td>
</td><td>
"BLADEBURNER"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [tasksCompleted](./bitburner.sleevebladeburnertask.taskscompleted.md)
## SleeveBladeburnerTask.tasksCompleted property
**Signature:**
```typescript
tasksCompleted: number;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveBladeburnerTask](./bitburner.sleevebladeburnertask.md) &gt; [type](./bitburner.sleevebladeburnertask.type.md)
## SleeveBladeburnerTask.type property
**Signature:**
```typescript
type: "BLADEBURNER";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveClassTask](./bitburner.sleeveclasstask.md) &gt; [classType](./bitburner.sleeveclasstask.classtype.md)
## SleeveClassTask.classType property
**Signature:**
```typescript
classType: UniversityClassType | GymType;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveClassTask](./bitburner.sleeveclasstask.md) &gt; [location](./bitburner.sleeveclasstask.location.md)
## SleeveClassTask.location property
**Signature:**
```typescript
location: LocationName;
```
+79 -7
View File
@@ -2,17 +2,89 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveClassTask](./bitburner.sleeveclasstask.md)
## SleeveClassTask type
## SleeveClassTask interface
**Signature:**
```typescript
type SleeveClassTask = {
type: "CLASS";
classType: UniversityClassType | GymType;
location: LocationName;
};
interface SleeveClassTask extends BaseTask
```
**References:** [UniversityClassType](./bitburner.universityclasstype.md)<!-- -->, [GymType](./bitburner.gymtype.md)<!-- -->, [LocationName](./bitburner.locationname.md)
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[classType](./bitburner.sleeveclasstask.classtype.md)
</td><td>
</td><td>
[UniversityClassType](./bitburner.universityclasstype.md) \| [GymType](./bitburner.gymtype.md)
</td><td>
</td></tr>
<tr><td>
[location](./bitburner.sleeveclasstask.location.md)
</td><td>
</td><td>
[LocationName](./bitburner.locationname.md)
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleeveclasstask.type.md)
</td><td>
</td><td>
"CLASS"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveClassTask](./bitburner.sleeveclasstask.md) &gt; [type](./bitburner.sleeveclasstask.type.md)
## SleeveClassTask.type property
**Signature:**
```typescript
type: "CLASS";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCompanyTask](./bitburner.sleevecompanytask.md) &gt; [companyName](./bitburner.sleevecompanytask.companyname.md)
## SleeveCompanyTask.companyName property
**Signature:**
```typescript
companyName: CompanyName;
```
+62 -3
View File
@@ -2,13 +2,72 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCompanyTask](./bitburner.sleevecompanytask.md)
## SleeveCompanyTask type
## SleeveCompanyTask interface
**Signature:**
```typescript
type SleeveCompanyTask = { type: "COMPANY"; companyName: CompanyName };
interface SleeveCompanyTask extends BaseTask
```
**References:** [CompanyName](./bitburner.companyname.md)
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[companyName](./bitburner.sleevecompanytask.companyname.md)
</td><td>
</td><td>
[CompanyName](./bitburner.companyname.md)
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleevecompanytask.type.md)
</td><td>
</td><td>
"COMPANY"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCompanyTask](./bitburner.sleevecompanytask.md) &gt; [type](./bitburner.sleevecompanytask.type.md)
## SleeveCompanyTask.type property
**Signature:**
```typescript
type: "COMPANY";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md) &gt; [crimeType](./bitburner.sleevecrimetask.crimetype.md)
## SleeveCrimeTask.crimeType property
**Signature:**
```typescript
crimeType: CrimeType;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md) &gt; [cyclesNeeded](./bitburner.sleevecrimetask.cyclesneeded.md)
## SleeveCrimeTask.cyclesNeeded property
**Signature:**
```typescript
cyclesNeeded: number;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md) &gt; [cyclesWorked](./bitburner.sleevecrimetask.cyclesworked.md)
## SleeveCrimeTask.cyclesWorked property
**Signature:**
```typescript
cyclesWorked: number;
```
+113 -9
View File
@@ -2,19 +2,123 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md)
## SleeveCrimeTask type
## SleeveCrimeTask interface
**Signature:**
```typescript
type SleeveCrimeTask = {
type: "CRIME";
crimeType: CrimeType;
cyclesWorked: number;
cyclesNeeded: number;
tasksCompleted: number;
};
interface SleeveCrimeTask extends BaseTask
```
**References:** [CrimeType](./bitburner.crimetype.md)
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[crimeType](./bitburner.sleevecrimetask.crimetype.md)
</td><td>
</td><td>
[CrimeType](./bitburner.crimetype.md)
</td><td>
</td></tr>
<tr><td>
[cyclesNeeded](./bitburner.sleevecrimetask.cyclesneeded.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[cyclesWorked](./bitburner.sleevecrimetask.cyclesworked.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[tasksCompleted](./bitburner.sleevecrimetask.taskscompleted.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleevecrimetask.type.md)
</td><td>
</td><td>
"CRIME"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md) &gt; [tasksCompleted](./bitburner.sleevecrimetask.taskscompleted.md)
## SleeveCrimeTask.tasksCompleted property
**Signature:**
```typescript
tasksCompleted: number;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveCrimeTask](./bitburner.sleevecrimetask.md) &gt; [type](./bitburner.sleevecrimetask.type.md)
## SleeveCrimeTask.type property
**Signature:**
```typescript
type: "CRIME";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveFactionTask](./bitburner.sleevefactiontask.md) &gt; [factionName](./bitburner.sleevefactiontask.factionname.md)
## SleeveFactionTask.factionName property
**Signature:**
```typescript
factionName: FactionName;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveFactionTask](./bitburner.sleevefactiontask.md) &gt; [factionWorkType](./bitburner.sleevefactiontask.factionworktype.md)
## SleeveFactionTask.factionWorkType property
**Signature:**
```typescript
factionWorkType: FactionWorkType;
```
+79 -7
View File
@@ -2,17 +2,89 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveFactionTask](./bitburner.sleevefactiontask.md)
## SleeveFactionTask type
## SleeveFactionTask interface
**Signature:**
```typescript
type SleeveFactionTask = {
type: "FACTION";
factionWorkType: FactionWorkType;
factionName: FactionName;
};
interface SleeveFactionTask extends BaseTask
```
**References:** [FactionWorkType](./bitburner.factionworktype.md)<!-- -->, [FactionName](./bitburner.factionname.md)
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[factionName](./bitburner.sleevefactiontask.factionname.md)
</td><td>
</td><td>
[FactionName](./bitburner.factionname.md)
</td><td>
</td></tr>
<tr><td>
[factionWorkType](./bitburner.sleevefactiontask.factionworktype.md)
</td><td>
</td><td>
[FactionWorkType](./bitburner.factionworktype.md)
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleevefactiontask.type.md)
</td><td>
</td><td>
"FACTION"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveFactionTask](./bitburner.sleevefactiontask.md) &gt; [type](./bitburner.sleevefactiontask.type.md)
## SleeveFactionTask.type property
**Signature:**
```typescript
type: "FACTION";
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md) &gt; [cyclesNeeded](./bitburner.sleeveinfiltratetask.cyclesneeded.md)
## SleeveInfiltrateTask.cyclesNeeded property
**Signature:**
```typescript
cyclesNeeded: number;
```
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md) &gt; [cyclesWorked](./bitburner.sleeveinfiltratetask.cyclesworked.md)
## SleeveInfiltrateTask.cyclesWorked property
**Signature:**
```typescript
cyclesWorked: number;
```
+80 -7
View File
@@ -2,16 +2,89 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md)
## SleeveInfiltrateTask type
## SleeveInfiltrateTask interface
**Signature:**
```typescript
type SleeveInfiltrateTask = {
type: "INFILTRATE";
cyclesWorked: number;
cyclesNeeded: number;
nextCompletion: Promise<void>;
};
interface SleeveInfiltrateTask extends BaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[cyclesNeeded](./bitburner.sleeveinfiltratetask.cyclesneeded.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[cyclesWorked](./bitburner.sleeveinfiltratetask.cyclesworked.md)
</td><td>
</td><td>
number
</td><td>
</td></tr>
<tr><td>
[type](./bitburner.sleeveinfiltratetask.type.md)
</td><td>
</td><td>
"INFILTRATE"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveInfiltrateTask](./bitburner.sleeveinfiltratetask.md) &gt; [type](./bitburner.sleeveinfiltratetask.type.md)
## SleeveInfiltrateTask.type property
**Signature:**
```typescript
type: "INFILTRATE";
```
+46 -2
View File
@@ -2,11 +2,55 @@
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveRecoveryTask](./bitburner.sleeverecoverytask.md)
## SleeveRecoveryTask type
## SleeveRecoveryTask interface
**Signature:**
```typescript
type SleeveRecoveryTask = { type: "RECOVERY" };
interface SleeveRecoveryTask extends BaseTask
```
**Extends:** [BaseTask](./bitburner.basetask.md)
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[type](./bitburner.sleeverecoverytask.type.md)
</td><td>
</td><td>
"RECOVERY"
</td><td>
</td></tr>
</tbody></table>
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [SleeveRecoveryTask](./bitburner.sleeverecoverytask.md) &gt; [type](./bitburner.sleeverecoverytask.type.md)
## SleeveRecoveryTask.type property
**Signature:**
```typescript
type: "RECOVERY";
```

Some files were not shown because too many files have changed in this diff Show More