BN-12 now properly affects Bladeburner multipliers. Added polyfill in new JS interpreter for Array.includes. Fixed terminal not focusing with tab"

This commit is contained in:
danielyxie 2018-07-16 01:00:57 -05:00
parent 5845fa8702
commit e4742289c7
5 changed files with 49 additions and 1 deletions

File diff suppressed because one or more lines are too long

@ -392,6 +392,9 @@ function initBitNodeMultipliers() {
BitNodeMultipliers.InfiltrationRep = dec;
BitNodeMultipliers.CorporationValuation = dec;
BitNodeMultipliers.BladeburnerRank = dec;
BitNodeMultipliers.BladeburnerSkillCost = dec;
break;
default:
console.log("WARNING: Player.bitNodeN invalid");

@ -1012,6 +1012,47 @@ Interpreter.prototype.initArray = function(scope) {
"}",
"});",
// Polyfill copied from:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes#Polyfill
"Object.defineProperty(Array.prototype, 'includes', {",
"value: function(searchElement, fromIndex) {",
"if (this == null) {",
"throw new TypeError('\"this\" is null or not defined');",
"}",
"// 1. Let O be ? ToObject(this value).",
"var o = Object(this);",
"// 2. Let len be ? ToLength(? Get(O, \"length\")).",
"var len = o.length >>> 0;",
"// 3. If len is 0, return false.",
"if (len === 0) {",
"return false;",
"}",
"// 4. Let n be ? ToInteger(fromIndex).",
"// (If fromIndex is undefined, this step produces the value 0.)",
"var n = fromIndex | 0;",
"// 5. If n ≥ 0, then",
"// a. Let k be n.",
"// 6. Else n < 0,",
"// a. Let k be len + n.",
"// b. If k < 0, let k be 0.",
"var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);",
"function sameValueZero(x, y) {",
"return x === y || (typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y));",
"}",
"// 7. Repeat, while k < len",
"while (k < len) {",
"// a. Let elementK be the result of ? Get(O, ! ToString(k)).",
"// b. If SameValueZero(searchElement, elementK) is true, return true.",
"if (sameValueZero(o[k], searchElement)) {",
"return true;",
"}",
"// c. Increase k by 1. ",
"k++;",
"}",
"// 8. Return false",
"return false;",
"}",
"});",
"(function() {",
"var sort_ = Array.prototype.sort;",

@ -233,6 +233,7 @@ function applySourceFile(srcFile) {
Player.hacknet_node_level_cost_mult *= dec;
Player.work_money_mult *= inc;
break;
default:
console.log("ERROR: Invalid source file number: " + srcFile.n);
break;

@ -191,6 +191,8 @@ $(document).keydown(function(event) {
}
if (event.keyCode === KEY.TAB) {
event.preventDefault();
//Autocomplete
if (terminalInput == null) {return;}
var input = terminalInput.value;
@ -220,6 +222,7 @@ $(document).keydown(function(event) {
}
tabCompletion(command, arg, allPos);
terminalInput.focus();
}
//Extra Bash Emulation Hotkeys, must be enabled through .fconf