mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-26 17:43:48 +01:00
commit
f7f9065472
@ -3,6 +3,20 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
v0.52.1 - 2021-07-10 bugfixing (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
**Misc.**
|
||||||
|
* Fix game crash/corruption when quitting a job while working for it unfocused.
|
||||||
|
* Fix typo in corporation Market Data.
|
||||||
|
* Fix typo in docs for hackPercent.
|
||||||
|
* The tutorial encourages the players to connect to home before creating `n00dles.script`
|
||||||
|
* The dark web `buy` command now accepts `-1` (one) and `--list` instead of just
|
||||||
|
`-l`. Helps some confused players.
|
||||||
|
* Character overview screen no longer hidden on the corporation screen.
|
||||||
|
* Infiltration difficulty display is now more explicit (It's a big arrow instead
|
||||||
|
of just one word.)
|
||||||
|
|
||||||
v0.52.0 - 2021-06-13 Infiltration 2.0 (hydroflame & community)
|
v0.52.0 - 2021-06-13 Infiltration 2.0 (hydroflame & community)
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ hackPercent() Netscript Function
|
|||||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||||
|
|
||||||
This function calculates the percentage of money hacked from a server.
|
This function calculates the percentage of money hacked from a server.
|
||||||
Multiply this by thread count to know calculate the percentage for more than 1 thread.
|
Multiply this by thread count to calculate the percentage for more than 1 thread.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
1906
package-lock.json
generated
1906
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,7 @@
|
|||||||
"loader-runner": "^2.3.0",
|
"loader-runner": "^2.3.0",
|
||||||
"loader-utils": "^1.1.0",
|
"loader-utils": "^1.1.0",
|
||||||
"memory-fs": "~0.4.1",
|
"memory-fs": "~0.4.1",
|
||||||
|
"node-sass": "^6.0.1",
|
||||||
"normalize.css": "^8.0.0",
|
"normalize.css": "^8.0.0",
|
||||||
"numeral": "2.0.6",
|
"numeral": "2.0.6",
|
||||||
"react": "^16.8.3",
|
"react": "^16.8.3",
|
||||||
@ -76,7 +77,6 @@
|
|||||||
"mkdirp": "^0.5.1",
|
"mkdirp": "^0.5.1",
|
||||||
"mocha": "^6.1.4",
|
"mocha": "^6.1.4",
|
||||||
"mochapack": "^1.1.1",
|
"mochapack": "^1.1.1",
|
||||||
"node-sass": "^5.0.0",
|
|
||||||
"null-loader": "^1.0.0",
|
"null-loader": "^1.0.0",
|
||||||
"raw-loader": "~0.5.0",
|
"raw-loader": "~0.5.0",
|
||||||
"sass-loader": "^7.0.3",
|
"sass-loader": "^7.0.3",
|
||||||
|
@ -23,7 +23,7 @@ export const CorporationUnlockUpgrades: IMap<any[]> = {
|
|||||||
"3": [3, 5e9, "Market Data - Competition",
|
"3": [3, 5e9, "Market Data - Competition",
|
||||||
"Mine and analyze market data to determine how much competition there is on the market " +
|
"Mine and analyze market data to determine how much competition there is on the market " +
|
||||||
"for all resources. The competition attribute, which affects sales, will be displayed for " +
|
"for all resources. The competition attribute, which affects sales, will be displayed for " +
|
||||||
"for every material and product."],
|
"every material and product."],
|
||||||
"4": [4, 10e9, "VeChain",
|
"4": [4, 10e9, "VeChain",
|
||||||
"Use AI and blockchain technology to identify where you can improve your supply chain systems. " +
|
"Use AI and blockchain technology to identify where you can improve your supply chain systems. " +
|
||||||
"This upgrade will allow you to view a wide array of useful statistics about your " +
|
"This upgrade will allow you to view a wide array of useful statistics about your " +
|
||||||
|
@ -35,7 +35,7 @@ export function executeDarkwebTerminalCommand(commandArray: string[]): void {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const arg = commandArray[1];
|
const arg = commandArray[1];
|
||||||
if (arg == "-l") {
|
if (arg == "-l" || arg == "-1" || arg == "--list") {
|
||||||
listAllDarkwebItems();
|
listAllDarkwebItems();
|
||||||
} else {
|
} else {
|
||||||
buyDarkwebItem(arg);
|
buyDarkwebItem(arg);
|
||||||
|
@ -21,6 +21,25 @@ function diffStr(d: number): string {
|
|||||||
return "impossible";
|
return "impossible";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function arrowPart(color: string, length: number): JSX.Element {
|
||||||
|
let arrow = "";
|
||||||
|
if(length <= 0) length = 0;
|
||||||
|
else if(length > 13) length = 13;
|
||||||
|
else {
|
||||||
|
length--;
|
||||||
|
arrow = ">";
|
||||||
|
}
|
||||||
|
return <span style={{color: color}}>{"=".repeat(length)}{arrow}{" ".repeat(13-arrow.length-length)}</span>
|
||||||
|
}
|
||||||
|
|
||||||
|
function coloredArrow(difficulty: number): JSX.Element {
|
||||||
|
if(difficulty === 0) {
|
||||||
|
return <span style={{color: 'white'}}>{'>'}{" ".repeat(38)}</span>
|
||||||
|
} else {
|
||||||
|
return <>{arrowPart('white', difficulty*13)}{arrowPart('orange', (difficulty-1)*13)}{arrowPart('red', (difficulty-2)*13)}</>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function Intro(props: IProps): React.ReactElement {
|
export function Intro(props: IProps): React.ReactElement {
|
||||||
return (<>
|
return (<>
|
||||||
<Grid container spacing={3}>
|
<Grid container spacing={3}>
|
||||||
@ -28,7 +47,13 @@ export function Intro(props: IProps): React.ReactElement {
|
|||||||
<h1>Infiltrating {props.Location}</h1>
|
<h1>Infiltrating {props.Location}</h1>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={10}>
|
<Grid item xs={10}>
|
||||||
<h2>Difficulty: {diffStr(props.Difficulty)}, Maximum level: {props.MaxLevel}</h2>
|
<h2>Maximum level: {props.MaxLevel}</h2>
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={10}>
|
||||||
|
|
||||||
|
<pre>[{coloredArrow(props.Difficulty)}]</pre>
|
||||||
|
<pre> ^ ^ ^ ^</pre>
|
||||||
|
<pre> Trivial Normal Hard Impossible</pre>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={10}>
|
<Grid item xs={10}>
|
||||||
<p>Infiltration is a series of short minigames that get
|
<p>Infiltration is a series of short minigames that get
|
||||||
|
@ -259,7 +259,7 @@ function iTutorialEvaluateStep() {
|
|||||||
Engine.loadTerminalContent();
|
Engine.loadTerminalContent();
|
||||||
iTutorialSetText("Hacking is the core mechanic of the game and is necessary for progressing. However, " +
|
iTutorialSetText("Hacking is the core mechanic of the game and is necessary for progressing. However, " +
|
||||||
"you don't want to be hacking manually the entire time. You can automate your hacking " +
|
"you don't want to be hacking manually the entire time. You can automate your hacking " +
|
||||||
"by writing scripts!<br><br>To create a new script or edit an existing one, you can use the <code class='interactive-tutorial-command'>nano</code> " +
|
"by writing scripts!<br><br>First go to your home server with the <code class='interactive-tutorial-command'>home</code> command.<br><br>To create a new script or edit an existing one, you can use the <code class='interactive-tutorial-command'>nano</code> " +
|
||||||
"command. Scripts must end with the <code class='interactive-tutorial-command'>.script</code> extension. Let's make a script now by " +
|
"command. Scripts must end with the <code class='interactive-tutorial-command'>.script</code> extension. Let's make a script now by " +
|
||||||
"entering <code class='interactive-tutorial-command'>nano n00dles.script</code> after the hack command finishes running (Sidenote: Pressing ctrl + c" +
|
"entering <code class='interactive-tutorial-command'>nano n00dles.script</code> after the hack command finishes running (Sidenote: Pressing ctrl + c" +
|
||||||
" will end a command like hack early)");
|
" will end a command like hack early)");
|
||||||
|
@ -441,10 +441,3 @@ export const LocationsMetadata: IConstructorParams[] = [
|
|||||||
types: [LocationType.StockMarket],
|
types: [LocationType.StockMarket],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
(function(){
|
|
||||||
for(const loc of LocationsMetadata) {
|
|
||||||
if(!loc || !loc.infiltrationData) continue
|
|
||||||
console.log(loc.infiltrationData.startingSecurityLevel+2);
|
|
||||||
}
|
|
||||||
})();
|
|
@ -1785,6 +1785,7 @@ export function getNextCompanyPosition(company, entryPosType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function quitJob(company) {
|
export function quitJob(company) {
|
||||||
|
this.isWorking = false;
|
||||||
this.companyName = "";
|
this.companyName = "";
|
||||||
delete this.jobs[company];
|
delete this.jobs[company];
|
||||||
}
|
}
|
||||||
|
@ -458,7 +458,6 @@ const Engine = {
|
|||||||
loadCorporationContent: function() {
|
loadCorporationContent: function() {
|
||||||
if (Player.corporation instanceof Corporation) {
|
if (Player.corporation instanceof Corporation) {
|
||||||
Engine.hideAllContent();
|
Engine.hideAllContent();
|
||||||
document.getElementById("character-overview-wrapper").style.visibility = "hidden";
|
|
||||||
routing.navigateTo(Page.Corporation);
|
routing.navigateTo(Page.Corporation);
|
||||||
Player.corporation.createUI();
|
Player.corporation.createUI();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user