mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-24 15:12:27 +01:00
Added two new Bladeburner skills. Minor rebalancing to Corporation
This commit is contained in:
parent
2fa7dfa009
commit
2968445244
@ -355,6 +355,8 @@ function Skill(params={name:"foo", desc:"foo"}) {
|
||||
if (params.effCha) {this.effCha = params.effCha;}
|
||||
|
||||
if (params.stamina) {this.stamina = params.stamina;}
|
||||
if (params.money) {this.money = params.money;}
|
||||
if (params.expGain) {this.expGain = params.expGain;}
|
||||
|
||||
//Equipment
|
||||
if (params.weaponAbility) {this.weaponAbility = params.weaponAbility;}
|
||||
@ -367,17 +369,19 @@ Skill.prototype.calculateCost = function(currentLevel) {
|
||||
var Skills = {};
|
||||
var SkillNames = {
|
||||
BladesIntuition: "Blade's Intuition",
|
||||
Reaper: "Reaper",
|
||||
Cloak: "Cloak",
|
||||
Marksman: "Marksman",
|
||||
WeaponProficiency: "Weapon Proficiency",
|
||||
Overclock: "Overclock",
|
||||
EvasiveSystem: "Evasive System",
|
||||
ShortCircuit: "Short-Circuit",
|
||||
DigitalObserver: "Digital Observer",
|
||||
Datamancer: "Datamancer",
|
||||
Tracer: "Tracer",
|
||||
CybersEdge: "Cyber's Edge"
|
||||
Overclock: "Overclock",
|
||||
Reaper: "Reaper",
|
||||
EvasiveSystem: "Evasive System",
|
||||
Datamancer: "Datamancer",
|
||||
CybersEdge: "Cyber's Edge",
|
||||
HandsOfMidas: "Hands of Midas",
|
||||
Hyperdrive: "Hyperdrive",
|
||||
}
|
||||
|
||||
//Base Class for Contracts, Operations, and BlackOps
|
||||
@ -998,23 +1002,25 @@ Bladeburner.prototype.getCurrentCity = function() {
|
||||
|
||||
Bladeburner.prototype.resetSkillMultipliers = function() {
|
||||
this.skillMultipliers = {
|
||||
successChanceAll:1,
|
||||
successChanceStealth:1,
|
||||
successChanceKill:1,
|
||||
successChanceContract:1,
|
||||
successChanceOperation:1,
|
||||
successChanceEstimate:1,
|
||||
actionTime:1,
|
||||
effHack:1,
|
||||
effStr:1,
|
||||
effDef:1,
|
||||
effDex:1,
|
||||
effAgi:1,
|
||||
effCha:1,
|
||||
effInt:1,
|
||||
stamina:1,
|
||||
weaponAbility:1,
|
||||
gunAbility:1,
|
||||
successChanceAll: 1,
|
||||
successChanceStealth: 1,
|
||||
successChanceKill: 1,
|
||||
successChanceContract: 1,
|
||||
successChanceOperation: 1,
|
||||
successChanceEstimate: 1,
|
||||
actionTime: 1,
|
||||
effHack: 1,
|
||||
effStr: 1,
|
||||
effDef: 1,
|
||||
effDex: 1,
|
||||
effAgi: 1,
|
||||
effCha: 1,
|
||||
effInt: 1,
|
||||
stamina: 1,
|
||||
money: 1,
|
||||
expGain: 1,
|
||||
weaponAbility: 1,
|
||||
gunAbility: 1,
|
||||
};
|
||||
}
|
||||
|
||||
@ -1197,7 +1203,7 @@ Bladeburner.prototype.completeAction = function() {
|
||||
//Earn money for contracts
|
||||
var moneyGain = 0;
|
||||
if (!isOperation) {
|
||||
moneyGain = ContractBaseMoneyGain * rewardMultiplier;
|
||||
moneyGain = ContractBaseMoneyGain * rewardMultiplier * this.skillMultipliers.money;
|
||||
Player.gainMoney(moneyGain);
|
||||
}
|
||||
|
||||
@ -1526,13 +1532,14 @@ Bladeburner.prototype.gainActionStats = function(action, success) {
|
||||
|
||||
var unweightedGain = time * BaseStatGain * successMult * difficultyMult;
|
||||
var unweightedIntGain = time * BaseIntGain * successMult * difficultyMult;
|
||||
Player.gainHackingExp(unweightedGain * action.weights.hack * Player.hacking_exp_mult);
|
||||
Player.gainStrengthExp(unweightedGain * action.weights.str * Player.strength_exp_mult);
|
||||
Player.gainDefenseExp(unweightedGain * action.weights.def * Player.defense_exp_mult);
|
||||
Player.gainDexterityExp(unweightedGain * action.weights.dex * Player.dexterity_exp_mult);
|
||||
Player.gainAgilityExp(unweightedGain * action.weights.agi * Player.agility_exp_mult);
|
||||
Player.gainCharismaExp(unweightedGain * action.weights.cha * Player.charisma_exp_mult);
|
||||
Player.gainIntelligenceExp(unweightedIntGain * action.weights.int);
|
||||
const skillMult = this.skillMultipliers.expGain;
|
||||
Player.gainHackingExp(unweightedGain * action.weights.hack * Player.hacking_exp_mult * skillMult);
|
||||
Player.gainStrengthExp(unweightedGain * action.weights.str * Player.strength_exp_mult * skillMult);
|
||||
Player.gainDefenseExp(unweightedGain * action.weights.def * Player.defense_exp_mult * skillMult);
|
||||
Player.gainDexterityExp(unweightedGain * action.weights.dex * Player.dexterity_exp_mult * skillMult);
|
||||
Player.gainAgilityExp(unweightedGain * action.weights.agi * Player.agility_exp_mult * skillMult);
|
||||
Player.gainCharismaExp(unweightedGain * action.weights.cha * Player.charisma_exp_mult * skillMult);
|
||||
Player.gainIntelligenceExp(unweightedIntGain * action.weights.int * skillMult);
|
||||
}
|
||||
|
||||
Bladeburner.prototype.randomEvent = function() {
|
||||
@ -3764,13 +3771,6 @@ function initBladeburner() {
|
||||
baseCost:5, costInc:2,
|
||||
successChanceAll:3
|
||||
});
|
||||
Skills[SkillNames.Reaper] = new Skill({
|
||||
name:SkillNames.Reaper,
|
||||
desc:"Each level of this skill increases your " +
|
||||
"effective combat stats for Bladeburner actions by 3%",
|
||||
baseCost:3, costInc:2,
|
||||
effStr:3, effDef:3, effDex:3, effAgi:3
|
||||
});
|
||||
Skills[SkillNames.Cloak] = new Skill({
|
||||
name:SkillNames.Cloak,
|
||||
desc:"Each level of this skill increases your " +
|
||||
@ -3782,20 +3782,6 @@ function initBladeburner() {
|
||||
//TODO Marksman
|
||||
//TODO Weapon Proficiency
|
||||
|
||||
Skills[SkillNames.Overclock] = new Skill({
|
||||
name:SkillNames.Overclock,
|
||||
desc:"Each level of this skill decreases the time it takes " +
|
||||
"to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 95)",
|
||||
baseCost:5, costInc:1.1, maxLvl:95,
|
||||
actionTime:1
|
||||
});
|
||||
Skills[SkillNames.EvasiveSystem] = new Skill({
|
||||
name:SkillNames.EvasiveSystem,
|
||||
desc:"Each level of this skill increases your effective " +
|
||||
"dexterity and agility for Bladeburner actions by 5%",
|
||||
baseCost:2, costInc: 1,
|
||||
effDex:5, effAgi:5
|
||||
});
|
||||
Skills[SkillNames.ShortCircuit] = new Skill({
|
||||
name:SkillNames.ShortCircuit,
|
||||
desc:"Each level of this skill increases your success chance " +
|
||||
@ -3810,15 +3796,6 @@ function initBladeburner() {
|
||||
baseCost:5, costInc:2,
|
||||
successChanceOperation:4
|
||||
});
|
||||
Skills[SkillNames.Datamancer] = new Skill({
|
||||
name:SkillNames.Datamancer,
|
||||
desc:"Each level of this skill increases your effectiveness in " +
|
||||
"synthoid population analysis and investigation by 5%. " +
|
||||
"This affects all actions that can potentially increase " +
|
||||
"the accuracy of your synthoid population/community estimates.",
|
||||
baseCost:3,costInc:1,
|
||||
successChanceEstimate:5
|
||||
});
|
||||
Skills[SkillNames.Tracer] = new Skill({
|
||||
name:SkillNames.Tracer,
|
||||
desc:"Each level of this skill increases your success chance in " +
|
||||
@ -3826,13 +3803,53 @@ function initBladeburner() {
|
||||
baseCost:3, costInc:2,
|
||||
successChanceContract:4
|
||||
});
|
||||
Skills[SkillNames.Overclock] = new Skill({
|
||||
name:SkillNames.Overclock,
|
||||
desc:"Each level of this skill decreases the time it takes " +
|
||||
"to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 95)",
|
||||
baseCost:4, costInc:1.1, maxLvl:95,
|
||||
actionTime:1
|
||||
});
|
||||
Skills[SkillNames.Reaper] = new Skill({
|
||||
name:SkillNames.Reaper,
|
||||
desc:"Each level of this skill increases your effective combat stats for Bladeburner actions by 3%",
|
||||
baseCost:3, costInc:2,
|
||||
effStr:3, effDef:3, effDex:3, effAgi:3
|
||||
});
|
||||
Skills[SkillNames.EvasiveSystem] = new Skill({
|
||||
name:SkillNames.EvasiveSystem,
|
||||
desc:"Each level of this skill increases your effective " +
|
||||
"dexterity and agility for Bladeburner actions by 5%",
|
||||
baseCost:2, costInc: 1,
|
||||
effDex:5, effAgi:5
|
||||
});
|
||||
Skills[SkillNames.Datamancer] = new Skill({
|
||||
name:SkillNames.Datamancer,
|
||||
desc:"Each level of this skill increases your effectiveness in " +
|
||||
"synthoid population analysis and investigation by 5%. " +
|
||||
"This affects all actions that can potentially increase " +
|
||||
"the accuracy of your synthoid population/community estimates.",
|
||||
baseCost:3, costInc:1,
|
||||
successChanceEstimate:5
|
||||
});
|
||||
Skills[SkillNames.CybersEdge] = new Skill({
|
||||
name:SkillNames.CybersEdge,
|
||||
desc:"Each level of this skill increases your max " +
|
||||
"stamina by 2%",
|
||||
desc:"Each level of this skill increases your max stamina by 2%",
|
||||
baseCost:1, costInc:3,
|
||||
stamina:2
|
||||
});
|
||||
Skills[SkillNames.HandsOfMidas] = new Skill({
|
||||
name: SkillNames.HandsOfMidas,
|
||||
desc: "Each level of this skill increases the amount of money you receive from Contracts by 5%",
|
||||
baseCost: 2, costInc: 2.5,
|
||||
money: 2,
|
||||
});
|
||||
Skills[SkillNames.Hyperdrive] = new Skill({
|
||||
name: SkillNames.Hyperdrive,
|
||||
esc: "Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 4%",
|
||||
baseCost: 1, costInc: 3,
|
||||
expGain: 4,
|
||||
});
|
||||
|
||||
//General Actions
|
||||
var actionName = "Training";
|
||||
|
@ -510,27 +510,12 @@ export let CONSTANTS: IMap<any> = {
|
||||
|
||||
LatestUpdate:
|
||||
`
|
||||
v0.43.0
|
||||
* Added BitNode-10: Digital Carbon
|
||||
|
||||
* Stock Market Changes:
|
||||
** Each stock now has a maximum number of shares you can purchase (both Long and Short positions combined)
|
||||
** Added getStockMaxShares() Netscript function to the TIX API
|
||||
** The cost of 4S Market Data TIX API Access increased from $20b to $25b
|
||||
|
||||
* Job Changes:
|
||||
** You can now hold multiple jobs at once. This means you no longer lose reputation when leaving a company
|
||||
** Because of this change, the getCharacterInformation() Netscript function returns a slightly different value
|
||||
|
||||
* Script Editor Changes:
|
||||
** Added new script editor: CodeMirror. You can choose between the old editor (Ace) or CodeMirror
|
||||
** Navigation keyboard shortcuts no longer work if the script editor is focused
|
||||
|
||||
* Trying to programmatically run a script (run(), exec()) with a 'threads' argument of 0 will now cause the function to return false without running the script
|
||||
* Home Computer RAM is now capped at 2 ^ 30 GB (1073741824 GB)
|
||||
* The maximum amount, maximum RAM, and cost of purchasing servers can now vary between different BitNodes (new BitNode multipliers)
|
||||
* Pop-up dialog boxes are a little bit bigger
|
||||
* Bug Fix: When importing scripts, "./" will now be properly ignored (e.g. import { foo } from "./lib.script" )
|
||||
v0.43.1
|
||||
* Added two new Bladeburner skills for increasing money and experience gain
|
||||
* Made some minor adjustments to Bladeburner UI
|
||||
* Corporation "Smart Factories" and "Smart Storage" upgrades have slightly lower price multipliers
|
||||
* Added 6 new Coding Contract problems
|
||||
* Updated documentation with list of all Coding Contract problems
|
||||
`
|
||||
|
||||
}
|
||||
|
@ -6,12 +6,12 @@ import { IMap } from "../../types";
|
||||
// [index in Corporation upgrades array, base price, price mult, benefit mult (additive), name, desc]
|
||||
export const CorporationUpgrades: IMap<any[]> = {
|
||||
//Smart factories, increases production
|
||||
"0": [0, 2e9, 1.07, 0.03,
|
||||
"0": [0, 2e9, 1.06, 0.03,
|
||||
"Smart Factories", "Advanced AI automatically optimizes the operation and productivity " +
|
||||
"of factories. Each level of this upgrade increases your global production by 3% (additive)."],
|
||||
|
||||
//Smart warehouses, increases storage size
|
||||
"1": [1, 2e9, 1.07, .1,
|
||||
"1": [1, 2e9, 1.06, .1,
|
||||
"Smart Storage", "Advanced AI automatically optimizes your warehouse storage methods. " +
|
||||
"Each level of this upgrade increases your global warehouse storage size by 10% (additive)."],
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user