diff --git a/package-lock.json b/package-lock.json index 726c44698..4f90b38cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bitburner", - "version": "1.6.4", + "version": "1.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "bitburner", - "version": "1.6.4", + "version": "1.7.0", "hasInstallScript": true, "license": "SEE LICENSE IN license.txt", "dependencies": { @@ -56,10 +56,7 @@ "@types/bcryptjs": "^2.4.2", "@types/escodegen": "^0.0.7", "@types/file-saver": "^2.0.3", -<<<<<<< HEAD -======= "@types/jest": "^27.4.1", ->>>>>>> dev "@types/jquery": "^3.5.14", "@types/lodash": "^4.14.168", "@types/numeral": "^2.0.2", @@ -2072,33 +2069,19 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "node_modules/@eslint/eslintrc": { -<<<<<<< HEAD - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", -======= "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", ->>>>>>> dev "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", -<<<<<<< HEAD - "espree": "^9.3.1", -======= "espree": "^9.3.2", ->>>>>>> dev "globals": "^13.9.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", -<<<<<<< HEAD - "minimatch": "^3.0.4", -======= "minimatch": "^3.1.2", ->>>>>>> dev "strip-json-comments": "^3.1.1" }, "engines": { @@ -2112,15 +2095,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { -<<<<<<< HEAD - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", -======= "version": "13.15.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", ->>>>>>> dev "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4086,8 +4063,6 @@ "@types/istanbul-lib-report": "*" } }, -<<<<<<< HEAD -======= "node_modules/@types/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", @@ -4098,7 +4073,6 @@ "pretty-format": "^27.0.0" } }, ->>>>>>> dev "node_modules/@types/jquery": { "version": "3.5.14", "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz", @@ -4267,21 +4241,6 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", @@ -4295,7 +4254,6 @@ "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", ->>>>>>> dev "tsutils": "^3.21.0" }, "engines": { @@ -4348,17 +4306,6 @@ } }, "node_modules/@typescript-eslint/parser": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "debug": "^4.3.2" -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", @@ -4368,7 +4315,6 @@ "@typescript-eslint/types": "5.25.0", "@typescript-eslint/typescript-estree": "5.25.0", "debug": "^4.3.4" ->>>>>>> dev }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4386,18 +4332,6 @@ } } }, -<<<<<<< HEAD - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - }, - "engines": { -======= "node_modules/@typescript-eslint/parser/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -4443,38 +4377,11 @@ "tsutils": "^3.21.0" }, "engines": { ->>>>>>> dev "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" -<<<<<<< HEAD - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.21.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { -======= }, "peerDependencies": { "eslint": "*" @@ -4498,21 +4405,14 @@ }, "peerDependenciesMeta": { "supports-color": { ->>>>>>> dev "optional": true } } }, "node_modules/@typescript-eslint/types": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", ->>>>>>> dev "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4523,19 +4423,6 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", @@ -4547,7 +4434,6 @@ "globby": "^11.1.0", "is-glob": "^4.0.3", "semver": "^7.3.7", ->>>>>>> dev "tsutils": "^3.21.0" }, "engines": { @@ -4596,17 +4482,6 @@ } }, "node_modules/@typescript-eslint/utils": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", @@ -4616,7 +4491,6 @@ "@typescript-eslint/scope-manager": "5.25.0", "@typescript-eslint/types": "5.25.0", "@typescript-eslint/typescript-estree": "5.25.0", ->>>>>>> dev "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4632,15 +4506,6 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", @@ -4648,7 +4513,6 @@ "dependencies": { "@typescript-eslint/types": "5.25.0", "eslint-visitor-keys": "^3.3.0" ->>>>>>> dev }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4865,15 +4729,9 @@ } }, "node_modules/acorn": { -<<<<<<< HEAD - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", -======= "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", ->>>>>>> dev "bin": { "acorn": "bin/acorn" }, @@ -8465,21 +8323,12 @@ } }, "node_modules/eslint": { -<<<<<<< HEAD - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.2.2", -======= "version": "8.15.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.2.3", ->>>>>>> dev "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -8490,11 +8339,7 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", -<<<<<<< HEAD - "espree": "^9.3.1", -======= "espree": "^9.3.2", ->>>>>>> dev "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -8753,15 +8598,6 @@ } }, "node_modules/espree": { -<<<<<<< HEAD - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", -======= "version": "9.3.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", @@ -8769,7 +8605,6 @@ "dependencies": { "acorn": "^8.7.1", "acorn-jsx": "^5.3.2", ->>>>>>> dev "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -24008,33 +23843,19 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@eslint/eslintrc": { -<<<<<<< HEAD - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", -======= "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", ->>>>>>> dev "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", -<<<<<<< HEAD - "espree": "^9.3.1", -======= "espree": "^9.3.2", ->>>>>>> dev "globals": "^13.9.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", -<<<<<<< HEAD - "minimatch": "^3.0.4", -======= "minimatch": "^3.1.2", ->>>>>>> dev "strip-json-comments": "^3.1.1" }, "dependencies": { @@ -24045,15 +23866,9 @@ "dev": true }, "globals": { -<<<<<<< HEAD - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", -======= "version": "13.15.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", ->>>>>>> dev "dev": true, "requires": { "type-fest": "^0.20.2" @@ -25469,8 +25284,6 @@ "@types/istanbul-lib-report": "*" } }, -<<<<<<< HEAD -======= "@types/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", @@ -25481,7 +25294,6 @@ "pretty-format": "^27.0.0" } }, ->>>>>>> dev "@types/jquery": { "version": "3.5.14", "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz", @@ -25650,21 +25462,6 @@ } }, "@typescript-eslint/eslint-plugin": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz", - "integrity": "sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/type-utils": "5.21.0", - "@typescript-eslint/utils": "5.21.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", @@ -25678,7 +25475,6 @@ "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", ->>>>>>> dev "tsutils": "^3.21.0" }, "dependencies": { @@ -25703,58 +25499,6 @@ } }, "@typescript-eslint/parser": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz", - "integrity": "sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", - "debug": "^4.3.2" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz", - "integrity": "sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz", - "integrity": "sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.21.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz", - "integrity": "sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz", - "integrity": "sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/visitor-keys": "5.21.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", @@ -25827,7 +25571,6 @@ "globby": "^11.1.0", "is-glob": "^4.0.3", "semver": "^7.3.7", ->>>>>>> dev "tsutils": "^3.21.0" }, "dependencies": { @@ -25852,17 +25595,6 @@ } }, "@typescript-eslint/utils": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz", - "integrity": "sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.21.0", - "@typescript-eslint/types": "5.21.0", - "@typescript-eslint/typescript-estree": "5.21.0", -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", @@ -25872,21 +25604,11 @@ "@typescript-eslint/scope-manager": "5.25.0", "@typescript-eslint/types": "5.25.0", "@typescript-eslint/typescript-estree": "5.25.0", ->>>>>>> dev "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { -<<<<<<< HEAD - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz", - "integrity": "sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.21.0", - "eslint-visitor-keys": "^3.0.0" -======= "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", @@ -25894,7 +25616,6 @@ "requires": { "@typescript-eslint/types": "5.25.0", "eslint-visitor-keys": "^3.3.0" ->>>>>>> dev } }, "@webassemblyjs/ast": { @@ -26101,15 +25822,9 @@ } }, "acorn": { -<<<<<<< HEAD - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" -======= "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" ->>>>>>> dev }, "acorn-globals": { "version": "4.3.4", @@ -29020,21 +28735,12 @@ } }, "eslint": { -<<<<<<< HEAD - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.2.2", -======= "version": "8.15.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", "dev": true, "requires": { "@eslint/eslintrc": "^1.2.3", ->>>>>>> dev "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -29045,11 +28751,7 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", -<<<<<<< HEAD - "espree": "^9.3.1", -======= "espree": "^9.3.2", ->>>>>>> dev "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -29234,15 +28936,6 @@ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" }, "espree": { -<<<<<<< HEAD - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", -======= "version": "9.3.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", @@ -29250,7 +28943,6 @@ "requires": { "acorn": "^8.7.1", "acorn-jsx": "^5.3.2", ->>>>>>> dev "eslint-visitor-keys": "^3.3.0" } }, diff --git a/src/Bladeburner/Bladeburner.tsx b/src/Bladeburner/Bladeburner.tsx index 8bf1b9eac..7a043ea35 100644 --- a/src/Bladeburner/Bladeburner.tsx +++ b/src/Bladeburner/Bladeburner.tsx @@ -1343,7 +1343,7 @@ export class Bladeburner implements IBladeburner { damage = action.hpLoss * difficultyMultiplier; damage = Math.ceil(addOffset(damage, 10)); this.hpLost += damage; - const cost = calculateHospitalizationCost(person, damage); + const cost = calculateHospitalizationCost(player, damage); if (person.takeDamage(damage)) { ++this.numHosp; this.moneyLost += cost; @@ -1420,7 +1420,7 @@ export class Bladeburner implements IBladeburner { if (action.hpLoss) { damage = action.hpLoss * difficultyMultiplier; damage = Math.ceil(addOffset(damage, 10)); - const cost = calculateHospitalizationCost(person, damage); + const cost = calculateHospitalizationCost(player, damage); if (person.takeDamage(damage)) { ++this.numHosp; this.moneyLost += cost; @@ -1611,12 +1611,14 @@ export class Bladeburner implements IBladeburner { return retValue; } - infiltrateSynthoidCommunities(): void { + infiltrateSynthoidCommunities(p: IPlayer): void { + const infilSleeves = p.sleeves.filter((s) => s.bbAction === "Infiltrate synthoids").length; + const amt = Math.pow(infilSleeves, -0.5) / 2; for (const contract of Object.keys(this.contracts)) { - this.contracts[contract].count += 1; + this.contracts[contract].count += amt; } for (const operation of Object.keys(this.operations)) { - this.operations[operation].count += 1; + this.operations[operation].count += amt; } if (this.logging.general) { this.log(`Sleeve: Infiltrate the synthoid communities.`); diff --git a/src/Bladeburner/IBladeburner.ts b/src/Bladeburner/IBladeburner.ts index 71849aac6..66f97e0f7 100644 --- a/src/Bladeburner/IBladeburner.ts +++ b/src/Bladeburner/IBladeburner.ts @@ -101,7 +101,7 @@ export interface IBladeburner { getActionObject(actionId: IActionIdentifier): IAction | null; completeContract(success: boolean, actionIdent: IActionIdentifier): void; completeAction(player: IPlayer, person: IPerson, actionIdent: IActionIdentifier, isPlayer?: boolean): ITaskTracker; - infiltrateSynthoidCommunities(): void; + infiltrateSynthoidCommunities(p: IPlayer): void; changeRank(player: IPlayer, change: number): void; processAction(router: IRouter, player: IPlayer, seconds: number): void; calculateStaminaGainPerSecond(player: IPlayer): number; diff --git a/src/Hospital/Hospital.ts b/src/Hospital/Hospital.ts index 4122d9f03..057afcbef 100644 --- a/src/Hospital/Hospital.ts +++ b/src/Hospital/Hospital.ts @@ -1,7 +1,8 @@ +import { IPlayer } from "../PersonObjects/IPlayer"; import { CONSTANTS } from "../Constants"; import { IPerson } from "../PersonObjects/IPerson"; -export function getHospitalizationCost(p: IPerson): number { +export function getHospitalizationCost(p: IPlayer): number { if (p.money < 0) { return 0; } @@ -9,7 +10,7 @@ export function getHospitalizationCost(p: IPerson): number { return Math.min(p.money * 0.1, (p.max_hp - p.hp) * CONSTANTS.HospitalCostPerHp); } -export function calculateHospitalizationCost(p: IPerson, damage: number): number { +export function calculateHospitalizationCost(p: IPlayer, damage: number): number { const oldhp = p.hp; p.hp -= damage; const cost = getHospitalizationCost(p); diff --git a/src/PersonObjects/IPerson.ts b/src/PersonObjects/IPerson.ts index 25cb9b9cc..18b697de2 100644 --- a/src/PersonObjects/IPerson.ts +++ b/src/PersonObjects/IPerson.ts @@ -1,6 +1,7 @@ // Interface that represents either the player (PlayerObject) or // a Sleeve. Used for functions that need to take in both. +import { IPlayerOwnedAugmentation } from "../Augmentation/PlayerOwnedAugmentation"; import { ITaskTracker } from "./ITaskTracker"; export interface IPerson { @@ -14,7 +15,6 @@ export interface IPerson { intelligence: number; hp: number; max_hp: number; - money: number; // Experience hacking_exp: number; @@ -47,6 +47,8 @@ export interface IPerson { bladeburner_analysis_mult: number; + augmentations: IPlayerOwnedAugmentation[]; + getIntelligenceBonus(weight: number): number; gainHackingExp(exp: number): void; gainStrengthExp(exp: number): void; diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts index a328d4799..be62e8283 100644 --- a/src/PersonObjects/IPlayer.ts +++ b/src/PersonObjects/IPlayer.ts @@ -34,8 +34,6 @@ import { IPerson } from "./IPerson"; import { WorkType, ClassType, CrimeType } from "../utils/WorkType"; export interface IPlayer extends IPerson { - // Class members - augmentations: IPlayerOwnedAugmentation[]; bitNodeN: number; city: CityName; companyName: string; diff --git a/src/PersonObjects/Person.ts b/src/PersonObjects/Person.ts index 69b077843..82f208c1d 100644 --- a/src/PersonObjects/Person.ts +++ b/src/PersonObjects/Person.ts @@ -15,189 +15,89 @@ export abstract class Person implements IPerson { /** * Stats */ - hacking; - strength; - defense; - dexterity; - agility; - charisma; - intelligence; - hp; - max_hp; - money; + hacking = 1; + strength = 1; + defense = 1; + dexterity = 1; + agility = 1; + charisma = 1; + intelligence = 0; + hp = 10; + max_hp = 10; /** * Experience */ - hacking_exp; - strength_exp; - defense_exp; - dexterity_exp; - agility_exp; - charisma_exp; - intelligence_exp; + hacking_exp = 0; + strength_exp = 0; + defense_exp = 0; + dexterity_exp = 0; + agility_exp = 0; + charisma_exp = 0; + intelligence_exp = 0; /** * Multipliers */ - hacking_mult; - strength_mult; - defense_mult; - dexterity_mult; - agility_mult; - charisma_mult; + hacking_mult = 1; + strength_mult = 1; + defense_mult = 1; + dexterity_mult = 1; + agility_mult = 1; + charisma_mult = 1; - hacking_exp_mult; - strength_exp_mult; - defense_exp_mult; - dexterity_exp_mult; - agility_exp_mult; - charisma_exp_mult; + hacking_exp_mult = 1; + strength_exp_mult = 1; + defense_exp_mult = 1; + dexterity_exp_mult = 1; + agility_exp_mult = 1; + charisma_exp_mult = 1; - hacking_chance_mult; - hacking_speed_mult; - hacking_money_mult; - hacking_grow_mult; + hacking_chance_mult = 1; + hacking_speed_mult = 1; + hacking_money_mult = 1; + hacking_grow_mult = 1; - company_rep_mult; - faction_rep_mult; + company_rep_mult = 1; + faction_rep_mult = 1; - crime_money_mult; - crime_success_mult; + crime_money_mult = 1; + crime_success_mult = 1; - work_money_mult; + work_money_mult = 1; - hacknet_node_money_mult; - hacknet_node_purchase_cost_mult; - hacknet_node_ram_cost_mult; - hacknet_node_core_cost_mult; - hacknet_node_level_cost_mult; + hacknet_node_money_mult = 1; + hacknet_node_purchase_cost_mult = 1; + hacknet_node_ram_cost_mult = 1; + hacknet_node_core_cost_mult = 1; + hacknet_node_level_cost_mult = 1; - bladeburner_max_stamina_mult; - bladeburner_stamina_gain_mult; - bladeburner_analysis_mult; - bladeburner_success_chance_mult; - - infiltration_base_rep_increase = 0; - infiltration_rep_mult = 1; - infiltration_trade_mult = 1; - infiltration_sell_mult = 1; - infiltration_timer_mult = 1; - infiltration_damage_reduction_mult = 1; + bladeburner_max_stamina_mult = 1; + bladeburner_stamina_gain_mult = 1; + bladeburner_analysis_mult = 1; + bladeburner_success_chance_mult = 1; /** * Augmentations */ - augmentations: IPlayerOwnedAugmentation[]; - queuedAugmentations: IPlayerOwnedAugmentation[]; + augmentations: IPlayerOwnedAugmentation[] = []; /** * City that the person is in */ city: CityName = CityName.Sector12; - gainHackingExp: (exp: number) => void; - gainStrengthExp: (exp: number) => void; - gainDefenseExp: (exp: number) => void; - gainDexterityExp: (exp: number) => void; - gainAgilityExp: (exp: number) => void; - gainCharismaExp: (exp: number) => void; - gainIntelligenceExp: (exp: number) => void; - gainStats: (retValue: ITaskTracker) => void; - calculateSkill: (exp: number, mult: number) => number; - regenerateHp: (amt: number) => void; - queryStatFromString: (str: string) => number; - - constructor() { - /** - * Stats - */ - this.hacking = 1; - this.strength = 1; - this.defense = 1; - this.dexterity = 1; - this.agility = 1; - this.charisma = 1; - this.intelligence = 1; - this.hp = 10; - this.max_hp = 10; - this.money = 0; - - /** - * Experience - */ - this.hacking_exp = 0; - this.strength_exp = 0; - this.defense_exp = 0; - this.dexterity_exp = 0; - this.agility_exp = 0; - this.charisma_exp = 0; - this.intelligence_exp = 0; - - /** - * Multipliers - */ - this.hacking_mult = 1; - this.strength_mult = 1; - this.defense_mult = 1; - this.dexterity_mult = 1; - this.agility_mult = 1; - this.charisma_mult = 1; - - this.hacking_exp_mult = 1; - this.strength_exp_mult = 1; - this.defense_exp_mult = 1; - this.dexterity_exp_mult = 1; - this.agility_exp_mult = 1; - this.charisma_exp_mult = 1; - - this.hacking_chance_mult = 1; - this.hacking_speed_mult = 1; - this.hacking_money_mult = 1; - this.hacking_grow_mult = 1; - - this.company_rep_mult = 1; - this.faction_rep_mult = 1; - - this.crime_money_mult = 1; - this.crime_success_mult = 1; - - this.work_money_mult = 1; - - this.hacknet_node_money_mult = 1; - this.hacknet_node_purchase_cost_mult = 1; - this.hacknet_node_ram_cost_mult = 1; - this.hacknet_node_core_cost_mult = 1; - this.hacknet_node_level_cost_mult = 1; - - this.bladeburner_max_stamina_mult = 1; - this.bladeburner_stamina_gain_mult = 1; - this.bladeburner_analysis_mult = 1; - this.bladeburner_success_chance_mult = 1; - - /** - * Augmentations - */ - this.augmentations = []; - this.queuedAugmentations = []; - - /** - * City that the person is in - */ - this.city = CityName.Sector12; - - this.gainHackingExp = generalMethods.gainHackingExp; - this.gainStrengthExp = generalMethods.gainStrengthExp; - this.gainDefenseExp = generalMethods.gainDefenseExp; - this.gainDexterityExp = generalMethods.gainDexterityExp; - this.gainAgilityExp = generalMethods.gainAgilityExp; - this.gainCharismaExp = generalMethods.gainCharismaExp; - this.gainIntelligenceExp = generalMethods.gainIntelligenceExp; - this.gainStats = generalMethods.gainStats; - this.calculateSkill = generalMethods.calculateSkill; - this.regenerateHp = generalMethods.regenerateHp; - this.queryStatFromString = generalMethods.queryStatFromString; - } + gainHackingExp = generalMethods.gainHackingExp; + gainStrengthExp = generalMethods.gainStrengthExp; + gainDefenseExp = generalMethods.gainDefenseExp; + gainDexterityExp = generalMethods.gainDexterityExp; + gainAgilityExp = generalMethods.gainAgilityExp; + gainCharismaExp = generalMethods.gainCharismaExp; + gainIntelligenceExp = generalMethods.gainIntelligenceExp; + gainStats = generalMethods.gainStats; + calculateSkill = generalMethods.calculateSkill; + regenerateHp = generalMethods.regenerateHp; + queryStatFromString = generalMethods.queryStatFromString; /** * Updates this object's multipliers for the given augmentation @@ -297,13 +197,6 @@ export abstract class Person implements IPerson { this.bladeburner_stamina_gain_mult = 1; this.bladeburner_analysis_mult = 1; this.bladeburner_success_chance_mult = 1; - - this.infiltration_base_rep_increase = 0; - this.infiltration_rep_mult = 1; - this.infiltration_trade_mult = 1; - this.infiltration_sell_mult = 1; - this.infiltration_timer_mult = 1; - this.infiltration_damage_reduction_mult = 1; } /** diff --git a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx index 9623108ec..b44ec6516 100644 --- a/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx +++ b/src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx @@ -382,7 +382,7 @@ export function recordMoneySource(this: PlayerObject, amt: number, source: strin this.moneySourceB.record(amt, source); } -export function gainHackingExp(this: IPlayer, exp: number): void { +export function gainHackingExp(this: IPerson, exp: number): void { if (isNaN(exp)) { console.error("ERR: NaN passed into Player.gainHackingExp()"); return; diff --git a/src/PersonObjects/Sleeve/Sleeve.ts b/src/PersonObjects/Sleeve/Sleeve.ts index dd7312729..9b49e6e22 100644 --- a/src/PersonObjects/Sleeve/Sleeve.ts +++ b/src/PersonObjects/Sleeve/Sleeve.ts @@ -238,7 +238,7 @@ export class Sleeve extends Person { if (this.currentTaskTime >= this.currentTaskMaxTime) { if (this.bbAction === "Infiltrate synthoids") { - bb.infiltrateSynthoidCommunities(); + bb.infiltrateSynthoidCommunities(p); this.currentTaskTime = 0; return retValue; }