mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-18 12:15:44 +01:00
v0.52.9
This commit is contained in:
parent
e75197dee3
commit
42704d8695
4
dist/engine.bundle.js
vendored
4
dist/engine.bundle.js
vendored
File diff suppressed because one or more lines are too long
2
dist/engineStyle.bundle.js
vendored
2
dist/engineStyle.bundle.js
vendored
@ -1,2 +1,2 @@
|
|||||||
!function(n){function t(t){for(var e,i,f=t[0],c=t[1],l=t[2],p=0,s=[];p<f.length;p++)i=f[p],u[i]&&s.push(u[i][0]),u[i]=0;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(n[e]=c[e]);for(a&&a(t);s.length;)s.shift()();return r.push.apply(r,l||[]),o()}function o(){for(var n,t=0;t<r.length;t++){for(var o=r[t],e=!0,f=1;f<o.length;f++){var c=o[f];0!==u[c]&&(e=!1)}e&&(r.splice(t--,1),n=i(i.s=o[0]))}return n}var e={},u={1:0},r=[];function i(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=n,i.c=e,i.d=function(n,t,o){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:o})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)i.d(o,e,function(t){return n[t]}.bind(null,e));return o},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="";var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=t,f=f.slice();for(var l=0;l<f.length;l++)t(f[l]);var a=c;r.push([864,0]),o()}({801:function(n,t,o){},803:function(n,t,o){},805:function(n,t,o){},807:function(n,t,o){},809:function(n,t,o){},811:function(n,t,o){},813:function(n,t,o){},815:function(n,t,o){},817:function(n,t,o){},819:function(n,t,o){},821:function(n,t,o){},823:function(n,t,o){},825:function(n,t,o){},827:function(n,t,o){},829:function(n,t,o){},831:function(n,t,o){},833:function(n,t,o){},835:function(n,t,o){},837:function(n,t,o){},839:function(n,t,o){},841:function(n,t,o){},843:function(n,t,o){},845:function(n,t,o){},847:function(n,t,o){},849:function(n,t,o){},851:function(n,t,o){},853:function(n,t,o){},855:function(n,t,o){},857:function(n,t,o){},859:function(n,t,o){},861:function(n,t,o){},864:function(n,t,o){"use strict";o.r(t);o(863),o(861),o(859),o(857),o(855),o(853),o(851),o(849),o(847),o(845),o(843),o(841),o(839),o(837),o(835),o(833),o(831),o(829),o(827),o(825),o(823),o(821),o(819),o(817),o(815),o(813),o(811),o(809),o(807),o(805),o(803),o(801)}});
|
!function(n){function t(t){for(var e,i,f=t[0],c=t[1],l=t[2],p=0,s=[];p<f.length;p++)i=f[p],u[i]&&s.push(u[i][0]),u[i]=0;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(n[e]=c[e]);for(a&&a(t);s.length;)s.shift()();return r.push.apply(r,l||[]),o()}function o(){for(var n,t=0;t<r.length;t++){for(var o=r[t],e=!0,f=1;f<o.length;f++){var c=o[f];0!==u[c]&&(e=!1)}e&&(r.splice(t--,1),n=i(i.s=o[0]))}return n}var e={},u={1:0},r=[];function i(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=n,i.c=e,i.d=function(n,t,o){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:o})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)i.d(o,e,function(t){return n[t]}.bind(null,e));return o},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="";var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=t,f=f.slice();for(var l=0;l<f.length;l++)t(f[l]);var a=c;r.push([866,0]),o()}({803:function(n,t,o){},805:function(n,t,o){},807:function(n,t,o){},809:function(n,t,o){},811:function(n,t,o){},813:function(n,t,o){},815:function(n,t,o){},817:function(n,t,o){},819:function(n,t,o){},821:function(n,t,o){},823:function(n,t,o){},825:function(n,t,o){},827:function(n,t,o){},829:function(n,t,o){},831:function(n,t,o){},833:function(n,t,o){},835:function(n,t,o){},837:function(n,t,o){},839:function(n,t,o){},841:function(n,t,o){},843:function(n,t,o){},845:function(n,t,o){},847:function(n,t,o){},849:function(n,t,o){},851:function(n,t,o){},853:function(n,t,o){},855:function(n,t,o){},857:function(n,t,o){},859:function(n,t,o){},861:function(n,t,o){},863:function(n,t,o){},866:function(n,t,o){"use strict";o.r(t);o(865),o(863),o(861),o(859),o(857),o(855),o(853),o(851),o(849),o(847),o(845),o(843),o(841),o(839),o(837),o(835),o(833),o(831),o(829),o(827),o(825),o(823),o(821),o(819),o(817),o(815),o(813),o(811),o(809),o(807),o(805),o(803)}});
|
||||||
//# sourceMappingURL=engineStyle.bundle.js.map
|
//# sourceMappingURL=engineStyle.bundle.js.map
|
26
dist/vendor.bundle.js
vendored
26
dist/vendor.bundle.js
vendored
File diff suppressed because one or more lines are too long
@ -3,6 +3,37 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
v0.52.9 - 2021-07-27 Less lag! (hydroflame & community)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Active Scripts page **
|
||||||
|
|
||||||
|
* Now less laggy, has pagination.
|
||||||
|
|
||||||
|
** File diagnostic **
|
||||||
|
|
||||||
|
* Added a popup found under options that shows the files you own and how
|
||||||
|
large they are. This help find bugs and leftover massive logs files.
|
||||||
|
|
||||||
|
** Corporation **
|
||||||
|
|
||||||
|
* Added safeguard against a very specific bug that causes NaN money. I'm
|
||||||
|
still not sure what the root cause is but it should prevent corp from
|
||||||
|
breaking.
|
||||||
|
|
||||||
|
** Netscript **
|
||||||
|
|
||||||
|
* tprintf is a new function that doesn't print the filename.
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* Infiltration kills you if you try to automate it. (@threehams)
|
||||||
|
* Fix beautify button not working
|
||||||
|
* Added bladeburner_analysis_mult to getPlayer() (@brubsby)
|
||||||
|
* Fixed joining bladeburner via netscript functions. (@omuretsu)
|
||||||
|
* All bladeburner actions are click-to-copy
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.52.8 - 2021-07-23 Fixing the previous patch tbh ROUND 2 (hydroflame)
|
v0.52.8 - 2021-07-23 Fixing the previous patch tbh ROUND 2 (hydroflame)
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ documentation_title = '{0} Documentation'.format(project)
|
|||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '0.52'
|
version = '0.52'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '0.52.8'
|
release = '0.52.9'
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
@ -130,5 +130,5 @@
|
|||||||
"watch": "webpack --watch --mode production",
|
"watch": "webpack --watch --mode production",
|
||||||
"watch:dev": "webpack --watch --mode development"
|
"watch:dev": "webpack --watch --mode development"
|
||||||
},
|
},
|
||||||
"version": "0.52.8"
|
"version": "0.52.9"
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
import { IMap } from "./types";
|
import { IMap } from "./types";
|
||||||
|
|
||||||
export const CONSTANTS: IMap<any> = {
|
export const CONSTANTS: IMap<any> = {
|
||||||
Version: "0.52.8",
|
Version: "0.52.9",
|
||||||
|
|
||||||
// Speed (in ms) at which the main loop is updated
|
// Speed (in ms) at which the main loop is updated
|
||||||
_idleSpeed: 200,
|
_idleSpeed: 200,
|
||||||
@ -228,24 +228,35 @@ export const CONSTANTS: IMap<any> = {
|
|||||||
TotalNumBitNodes: 24,
|
TotalNumBitNodes: 24,
|
||||||
|
|
||||||
LatestUpdate: `
|
LatestUpdate: `
|
||||||
v0.52.8 - 2021-07-23 Fixing the previous patch tbh ROUND 2 (hydroflame)
|
v0.52.9 - 2021-07-27 Less lag! (hydroflame & community)
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
** Script editor **
|
** Active Scripts page **
|
||||||
|
|
||||||
* Correctly reloads old script when clicking "Script Editor"
|
* Now less laggy, has pagination.
|
||||||
* No longer jumps to the end of the text for no reason.
|
|
||||||
|
|
||||||
** Hash upgrades **
|
** File diagnostic **
|
||||||
|
|
||||||
* Fixed an issue where the default option would say ecorp but was really
|
* Added a popup found under options that shows the files you own and how
|
||||||
foodnstuff
|
large they are. This help find bugs and leftover massive logs files.
|
||||||
|
|
||||||
|
** Corporation **
|
||||||
|
|
||||||
|
* Added safeguard against a very specific bug that causes NaN money. I'm
|
||||||
|
still not sure what the root cause is but it should prevent corp from
|
||||||
|
breaking.
|
||||||
|
|
||||||
|
** Netscript **
|
||||||
|
|
||||||
|
* tprintf is a new function that doesn't print the filename.
|
||||||
|
|
||||||
** Misc. **
|
** Misc. **
|
||||||
|
|
||||||
* The "Delete all active script" button under the options has a clearer
|
* Infiltration kills you if you try to automate it. (@threehams)
|
||||||
description.
|
* Fix beautify button not working
|
||||||
* Removed some debug console.log
|
* Added bladeburner_analysis_mult to getPlayer() (@brusby)
|
||||||
|
* Fixed joining bladeburner via netscript functions. (@omuretsu)
|
||||||
|
* All bladeburner actions are click-to-copy
|
||||||
* nerf noodle bar
|
* nerf noodle bar
|
||||||
`,
|
`,
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import * as React from "react";
|
|||||||
|
|
||||||
import { WorkerScriptAccordion } from "./WorkerScriptAccordion";
|
import { WorkerScriptAccordion } from "./WorkerScriptAccordion";
|
||||||
import { Accordion } from "../React/Accordion";
|
import { Accordion } from "../React/Accordion";
|
||||||
|
import { ServerAccordionContent } from "./ServerAccordionContent";
|
||||||
|
|
||||||
import { BaseServer } from "../../Server/BaseServer";
|
import { BaseServer } from "../../Server/BaseServer";
|
||||||
import { WorkerScript } from "../../Netscript/WorkerScript";
|
import { WorkerScript } from "../../Netscript/WorkerScript";
|
||||||
@ -42,7 +43,7 @@ export function ServerAccordion(props: IProps): React.ReactElement {
|
|||||||
<pre>{headerTxt}</pre>
|
<pre>{headerTxt}</pre>
|
||||||
}
|
}
|
||||||
panelContent={
|
panelContent={
|
||||||
<ul>{scripts}</ul>
|
<ServerAccordionContent workerScripts={props.workerScripts} />
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
83
src/ui/ActiveScripts/ServerAccordionContent.tsx
Normal file
83
src/ui/ActiveScripts/ServerAccordionContent.tsx
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
import React, { useState } from "react";
|
||||||
|
import { WorkerScript } from "../../Netscript/WorkerScript";
|
||||||
|
import { WorkerScriptAccordion } from "./WorkerScriptAccordion";
|
||||||
|
import { AccordionButton } from "../React/AccordionButton";
|
||||||
|
|
||||||
|
const pageSize = 20;
|
||||||
|
|
||||||
|
interface IProps {
|
||||||
|
workerScripts: WorkerScript[];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export function ServerAccordionContent(props: IProps): React.ReactElement {
|
||||||
|
if(props.workerScripts.length > pageSize) {
|
||||||
|
return <ServerAccordionContentPaginated workerScripts={props.workerScripts} />
|
||||||
|
}
|
||||||
|
|
||||||
|
const scripts = props.workerScripts.map((ws) => {
|
||||||
|
return (
|
||||||
|
<WorkerScriptAccordion key={`${ws.name}_${ws.args}`} workerScript={ws} />
|
||||||
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
return (<ul>{scripts}</ul>);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function ServerAccordionContentPaginated(props: IProps): React.ReactElement {
|
||||||
|
const [page, setPage] = useState(0);
|
||||||
|
const scripts: React.ReactElement[] = [];
|
||||||
|
const maxPage = Math.ceil(props.workerScripts.length/pageSize);
|
||||||
|
const maxScript = Math.min((page+1)*pageSize, props.workerScripts.length);
|
||||||
|
for(let i = page*pageSize; i < maxScript; i++) {
|
||||||
|
const ws = props.workerScripts[i];
|
||||||
|
scripts.push(<WorkerScriptAccordion key={`${ws.name}_${ws.args}`} workerScript={ws} />)
|
||||||
|
}
|
||||||
|
|
||||||
|
function capPage(page: number): number {
|
||||||
|
if(page < 0) {
|
||||||
|
page = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(maxPage-1 < page) {
|
||||||
|
page = maxPage-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
// in case we're on an invalid page number because scripts were killed.
|
||||||
|
const capped = capPage(page);
|
||||||
|
if(capped !== page)
|
||||||
|
setPage(capped);
|
||||||
|
|
||||||
|
function changePage(n: number): void {
|
||||||
|
setPage(newPage => {
|
||||||
|
newPage += n;
|
||||||
|
newPage = Math.round(newPage);
|
||||||
|
return capPage(newPage);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return (<><ul>{scripts}</ul>
|
||||||
|
<AccordionButton
|
||||||
|
onClick={() => changePage(-1e99)}
|
||||||
|
text="<<"
|
||||||
|
/>
|
||||||
|
<AccordionButton
|
||||||
|
onClick={() => changePage(-1)}
|
||||||
|
text="<"
|
||||||
|
/>
|
||||||
|
<span className="text">{page+1} / {maxPage}</span>
|
||||||
|
<AccordionButton
|
||||||
|
onClick={() => changePage(1)}
|
||||||
|
text=">"
|
||||||
|
/>
|
||||||
|
<AccordionButton
|
||||||
|
onClick={() => changePage(1e99)}
|
||||||
|
text=">>"
|
||||||
|
/>
|
||||||
|
</>);
|
||||||
|
}
|
||||||
|
|
@ -73,9 +73,11 @@ class AccordionPanel extends React.Component<IPanelProps, any> {
|
|||||||
className = this.props.panelClass;
|
className = this.props.panelClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!this.props.opened) return (<></>);
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={className} style={{display: this.props.opened ? "block" : "none"}}>
|
<div className={className} style={{display: "block"}}>
|
||||||
{this.props.panelContent}
|
{this.props.panelContent}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user