mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-21 00:32:51 +02:00
Compare commits
3 Commits
de9311f820
...
0c39fc3720
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c39fc3720 | |||
| 44741a7795 | |||
| 2818969c8a |
+71
-1
@@ -7,7 +7,7 @@ export const CONSTANTS = {
|
||||
VersionString: "3.0.0dev",
|
||||
isDevBranch: true,
|
||||
isInTestEnvironment: globalThis.process?.env?.JEST_WORKER_ID !== undefined,
|
||||
VersionNumber: 47,
|
||||
VersionNumber: 48,
|
||||
|
||||
/** Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience
|
||||
* and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then
|
||||
@@ -140,6 +140,9 @@ export const CONSTANTS = {
|
||||
- Generate test contracts on executing host by default. Add support for optional parameter to specify the server (#2417) (@1337JiveTurkey)
|
||||
- The "darkweb" server becomes a darknet server (Check new Dark Net feature in #2139) (@ficocelliguy)
|
||||
- Remove RAM cost of hacknet namespace and set RAM cost of each hacknet API (#2502) (@catloversg)
|
||||
- Cancel sleeve's current task when calling ns.sleeve.travel() (#2559) (@catloversg)
|
||||
- Make ns.cloud.purchaseServer() and ns.cloud.deleteServer() use hostname as provided (#2560) (@catloversg)
|
||||
- Make implicit string conversion consistent across all coding contracts (#2608) (@catloversg)
|
||||
|
||||
### MAJOR CHANGES
|
||||
|
||||
@@ -209,6 +212,18 @@ export const CONSTANTS = {
|
||||
- Improve navigation system of in-game documentation viewer (#2499) (@catloversg)
|
||||
- Use font family setting when rendering MUI Link component (#2511) (@catloversg)
|
||||
- Show hints of BitNode documentation and allow opening it in BitVerse (#2513) (@catloversg)
|
||||
- Show errors if using nano/vim with patterns that do not match any files (#2515) (@catloversg)
|
||||
- Tweak CSS/Position of Darknet Docs link (#2517) (@d0sboots)
|
||||
- Add indicator of RFA connection status to overview panel (#2497) (@catloversg)
|
||||
- Fix issues with RFA auto-reconnecting feature (#2535) (@catloversg)
|
||||
- Add inline script RAM usage text to each active script (#2546) (@vadien)
|
||||
- Update toolbar of in-game editor (#2551) (@catloversg)
|
||||
- Show "undefined" instead of -1 as pid in error popup when catching promise errors (#2555) (@catloversg)
|
||||
- Add option to autosave scripts on focus change (#2565) (@catloversg)
|
||||
- Prevent joining banned factions via UI (#2573) (@catloversg)
|
||||
- Fix: Import save comparison popup shows wrong BN level (#2595) (@catloversg)
|
||||
- Fix: Cannot type in text boxes rendered by players' scripts when terminal tab is shown (#2615, #2622) (@lstutzman, @catloversg)
|
||||
- Navigate to gym/university instead of city when stopping focusing on gym/class work (#2613) (@lstutzman)
|
||||
|
||||
### MISC
|
||||
|
||||
@@ -291,6 +306,25 @@ export const CONSTANTS = {
|
||||
- More fixes and feedback in darknet (#2489) (@ficocelliguy)
|
||||
- Fix missed cases in offline server handling (#2495) (@d0sboots)
|
||||
- Adjust darknet balance from player feedback (#2512) (@ficocelliguy)
|
||||
- Add "Find Largest Rectangle in a Matrix" coding contract (#2519) (@Misha279-UA)
|
||||
- Tweak Dnet based on player feedback (#2533, #2545, #2593) (@ficocelliguy)
|
||||
- Allow parsing unknown options with data.flags in autocomplete (#2539) (@catloversg)
|
||||
- Fix webstorm by using a mutationLock (#2542) (@d0sboots)
|
||||
- Print error message when calling ns.ui.closeTail with nonexistent pid or pid of stopped scripts (#2557) (@catloversg)
|
||||
- Add minimum width/height constraints to ns.ui.resizeTail (#2558) (@catloversg)
|
||||
- Add API to minimize and expand tail windows (#2556) (@catloversg)
|
||||
- Improve error messages for invalid sleeve numbers (#2567) (@catloversg)
|
||||
- Improve help text of expr command (#2561) (@catloversg)
|
||||
- Rework faction rumor (#2569) (@catloversg)
|
||||
- Fix: hacknetNodeCost formula API throws when using documented optional parameter (#2577) (@catloversg)
|
||||
- Rework intelligence override (#2575) (@catloversg)
|
||||
- Electron: Allow opening dev tools via CLI arguments (#2589) (@catloversg)
|
||||
- Support importing Steam Cloud save file manually (#2583) (@catloversg)
|
||||
- Electron: Add UI menus and CLI flags to change log levels (#2596) (@catloversg)
|
||||
- Import correct cloud file when multiple exist (#2599) (@catloversg)
|
||||
- Dnet: Remove packet capture (#2594) (@ficocelliguy)
|
||||
- Generate more frequent and lower-reward coding contracts (#2603) (@ficocelliguy)
|
||||
- Electron: Fix issues in edge cases of using --export-save (#2590) (@catloversg)
|
||||
|
||||
### DOCUMENTATION
|
||||
|
||||
@@ -336,6 +370,14 @@ export const CONSTANTS = {
|
||||
- Add a note to CONTRIBUTING.md about the npm peer dep issue (#2474) (@d0sboots)
|
||||
- Update darknet documentation (#2483) (@ficocelliguy)
|
||||
- Fix invalid links in ns.sleep and ns.asleep (#2496) (@catloversg)
|
||||
- Use relative links instead of absolute links (#2521) (@catloversg)
|
||||
- Document quirky behavior of ns.flags when default value is nullish (#2528) (@catloversg)
|
||||
- Clarify how share power affects reputation gain rate of non-hacking work (#2544) (@catloversg)
|
||||
- Update guides (#2550) (@catloversg)
|
||||
- Add missing newline after RAM cost (#2570) (@catloversg)
|
||||
- Update mention of outdated getStockForecast API (#2578) (@catloversg)
|
||||
- Fix newline issues in IPvGO docs and add missing RAM cost (#2602) (@catloversg)
|
||||
- Document coding contract's generation and rewards (#2624) (@catloversg)
|
||||
|
||||
### SPOILER CHANGES - UI
|
||||
|
||||
@@ -344,6 +386,9 @@ export const CONSTANTS = {
|
||||
- Fix: Bladeburner console prints main body's HP instead of sleeve's HP (#2390) (@catloversg)
|
||||
- Reduce threshold of showing warning of low population (#2450) (@catloversg)
|
||||
- Fix: Hacknet server UI shows NaN hash rate when 100% RAM is being used (#2500) (@catloversg)
|
||||
- Prevent ending BNs through reuse of Bladeburner UI event handler (#2574) (@catloversg)
|
||||
- Always show Black Operations list (#2592) (@catloversg)
|
||||
- Show hints of Sleeves mechanic in pre-endgame (#2605) (@catloversg)
|
||||
|
||||
### SPOILER CHANGES - MISC
|
||||
|
||||
@@ -366,6 +411,11 @@ export const CONSTANTS = {
|
||||
- Fix: Sleeves can earn exp and purchase augmentations when enabling disableSleeveExpAndAugmentation (#2467) (@catloversg)
|
||||
- Add improved challenge achievement for BN15 (#2479) (@ficocelliguy)
|
||||
- Stop randomizing Bladeburner's action difficulty (#2491) (@catloversg)
|
||||
- Adjusted Bladeburner's team bonus computation to make one member help (#2541) (@JoshuaCF)
|
||||
- Rebalance charisma exp gain of Recruitment action (#2549) (@catloversg)
|
||||
- Add APIs to get rank gain and rank loss of an action (#2572) (@catloversg)
|
||||
- Reduce RAM cost of inGang and inBladeburner APIs (#2582) (@catloversg)
|
||||
- Fix skillMaxUpgradeCount returning 1 at extreme skill levels (#2611) (@lstutzman)
|
||||
|
||||
### SPOILER CHANGES - DOCUMENTATION
|
||||
|
||||
@@ -382,6 +432,7 @@ export const CONSTANTS = {
|
||||
- Update type of Player.factions, GangGenInfo.faction and CorpMaterialConstantData.name (#2347) (@catloversg)
|
||||
- Clarification of Singularity costs inside BN4 (#2403) (@gmcew)
|
||||
- Update math notations in corporation docs (#2452) (@catloversg)
|
||||
- Update BitNode recommendation short guide (#2523, #2529) (@catloversg)
|
||||
|
||||
### CODEBASE/REFACTOR/WORKFLOW/JEST/TOOL/DEPS
|
||||
|
||||
@@ -449,5 +500,24 @@ export const CONSTANTS = {
|
||||
- Refactor/adjust getPixelPosition in darknet UI code (#2501) (@d0sboots)
|
||||
- Add tests for checking getAnswer and solver of coding contracts (#2503) (@catloversg)
|
||||
- Refactor ImportSave component (#2505) (@catloversg)
|
||||
- Show coding contract names when their tests failed (#2520) (@catloversg)
|
||||
- Workflow: Fix wrong instruction of generating docs (#2522) (@catloversg)
|
||||
- Update comment of LoadingScreen of ComplexPage enum (#2527) (@catloversg)
|
||||
- Make getPlayer 10x faster (#2548) (@d0sboots)
|
||||
- Create monaco editor instance with null model (#2563) (@catloversg)
|
||||
- Update dependencies (#2576) (@catloversg)
|
||||
- Remove barrel imports in Bladeburner code (#2580) (@catloversg)
|
||||
- Fix React warning in IPvGO scoring explanation popup (#2581) (@catloversg)
|
||||
- Update Babel core, presets and module loader for webpack (#2585) (@catloversg)
|
||||
- Add script to generate webpack bundle report (#2587) (@catloversg)
|
||||
- Update Electron (#2591) (@catloversg)
|
||||
- Mitigate issue of forcefullyCrashRenderer (#2597) (@catloversg)
|
||||
- Split Settings.ts to reduce number of imports (#2600) (@catloversg)
|
||||
- Remove duplicate random alphanumeric string functions (#2601) (@catloversg)
|
||||
- Update comments to reflect changes in #2603 (#2606) (@catloversg)
|
||||
- Replace ipExists() linear scan with O(1) Map.has() (#2621) (@lstutzman)
|
||||
- Refactor and fix issues in db.ts (#2623) (@catloversg)
|
||||
- Add dependency array to TerminalInput keydown useEffect (#2620) (@lstutzman)
|
||||
- Add dependency array to GameRoot useEffect (#2617) (@lstutzman)
|
||||
`,
|
||||
} as const;
|
||||
|
||||
@@ -6,11 +6,29 @@ Coding Contracts are files with the `.cct` extension.
|
||||
They can be accessed through the [Terminal](terminal.md) or through [Scripts](scripts.md) using the [Coding Contract API](../../../../../markdown/bitburner.codingcontract.md).
|
||||
|
||||
Each contract has a limited number of attempts.
|
||||
If you provide the wrong answer too many times and exceed the number of attempts, the contract will self destruct (delete itself).
|
||||
If you provide the wrong answer too many times and exceed the number of attempts, the contract will self-destruct (delete itself).
|
||||
|
||||
Coding Contracts are randomly generated and spawn over time. Initially, you'll only see a small range of the easier contracts, but as you progress further through the game more challenging ones will unlock.
|
||||
They can appear on any [server](servers.md) (including your home computer), except for your purchased [servers](servers.md).
|
||||
|
||||
## Contract generation
|
||||
|
||||
### Online
|
||||
|
||||
Every 10 minutes, the game makes three independent attempts to generate a contract on normal servers, each with a base
|
||||
25% chance. This probability decreases based on the total number of contracts across all servers. In most cases, you can
|
||||
assume a ~25% success rate per attempt.
|
||||
|
||||
### Offline
|
||||
|
||||
When the game is launched after being offline, the offline time is used to calculate the number of generation attempts.
|
||||
The same rules and probabilities from the online generation process apply.
|
||||
|
||||
### Dark Net
|
||||
|
||||
Opening cache files on [darknet](../programming/darknet.md) servers also has a chance to generate a contract, but with
|
||||
lower rewards. Contracts generated this way grant 50% lower rewards than those generated randomly on normal servers.
|
||||
|
||||
## Running in Terminal
|
||||
|
||||
To run a Coding Contract in the [Terminal](terminal.md), simply use the `run` command:
|
||||
@@ -136,7 +154,18 @@ There are currently four possible rewards for solving a Coding Contract:
|
||||
- [Company](companies.md) [Reputation](reputation.md) for a specific [Company](companies.md)
|
||||
- Money
|
||||
|
||||
The `amount` of the reward varies based on the difficulty of the problem posed by the Coding Contract.
|
||||
The reward type is randomly chosen at spawn time. If the chosen reward is invalid upon completion (e.g., requirements
|
||||
are not met), it falls back to an alternative type:
|
||||
|
||||
- Specific faction reputation ⇒ Money
|
||||
- All factions' reputation ⇒ Money
|
||||
- Company reputation ⇒ Specific faction reputation or all factions' reputation (50% chance for each).
|
||||
If the fallback reward is also invalid, the reward defaults to Money.
|
||||
|
||||
For example, if a contract is set to reward "All Factions' Reputation" but you have not joined any factions at the time
|
||||
of submission, you will receive Money instead.
|
||||
|
||||
The amount of the reward varies based on the difficulty of the problem posed by the Coding Contract.
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
+1
-1
@@ -285,7 +285,7 @@ export function GameRoot(): React.ReactElement {
|
||||
|
||||
useEffect(() => {
|
||||
if (pageWithContext.page !== Page.Terminal) window.scrollTo(0, 0);
|
||||
});
|
||||
}, [pageWithContext.page]);
|
||||
|
||||
function softReset(): void {
|
||||
dialogBoxCreate("Soft Reset!");
|
||||
|
||||
Reference in New Issue
Block a user