mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-20 13:15:48 +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.effCha) {this.effCha = params.effCha;}
|
||||||
|
|
||||||
if (params.stamina) {this.stamina = params.stamina;}
|
if (params.stamina) {this.stamina = params.stamina;}
|
||||||
|
if (params.money) {this.money = params.money;}
|
||||||
|
if (params.expGain) {this.expGain = params.expGain;}
|
||||||
|
|
||||||
//Equipment
|
//Equipment
|
||||||
if (params.weaponAbility) {this.weaponAbility = params.weaponAbility;}
|
if (params.weaponAbility) {this.weaponAbility = params.weaponAbility;}
|
||||||
@ -367,17 +369,19 @@ Skill.prototype.calculateCost = function(currentLevel) {
|
|||||||
var Skills = {};
|
var Skills = {};
|
||||||
var SkillNames = {
|
var SkillNames = {
|
||||||
BladesIntuition: "Blade's Intuition",
|
BladesIntuition: "Blade's Intuition",
|
||||||
Reaper: "Reaper",
|
|
||||||
Cloak: "Cloak",
|
Cloak: "Cloak",
|
||||||
Marksman: "Marksman",
|
Marksman: "Marksman",
|
||||||
WeaponProficiency: "Weapon Proficiency",
|
WeaponProficiency: "Weapon Proficiency",
|
||||||
Overclock: "Overclock",
|
|
||||||
EvasiveSystem: "Evasive System",
|
|
||||||
ShortCircuit: "Short-Circuit",
|
ShortCircuit: "Short-Circuit",
|
||||||
DigitalObserver: "Digital Observer",
|
DigitalObserver: "Digital Observer",
|
||||||
Datamancer: "Datamancer",
|
|
||||||
Tracer: "Tracer",
|
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
|
//Base Class for Contracts, Operations, and BlackOps
|
||||||
@ -1013,6 +1017,8 @@ Bladeburner.prototype.resetSkillMultipliers = function() {
|
|||||||
effCha: 1,
|
effCha: 1,
|
||||||
effInt: 1,
|
effInt: 1,
|
||||||
stamina: 1,
|
stamina: 1,
|
||||||
|
money: 1,
|
||||||
|
expGain: 1,
|
||||||
weaponAbility: 1,
|
weaponAbility: 1,
|
||||||
gunAbility: 1,
|
gunAbility: 1,
|
||||||
};
|
};
|
||||||
@ -1197,7 +1203,7 @@ Bladeburner.prototype.completeAction = function() {
|
|||||||
//Earn money for contracts
|
//Earn money for contracts
|
||||||
var moneyGain = 0;
|
var moneyGain = 0;
|
||||||
if (!isOperation) {
|
if (!isOperation) {
|
||||||
moneyGain = ContractBaseMoneyGain * rewardMultiplier;
|
moneyGain = ContractBaseMoneyGain * rewardMultiplier * this.skillMultipliers.money;
|
||||||
Player.gainMoney(moneyGain);
|
Player.gainMoney(moneyGain);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1526,13 +1532,14 @@ Bladeburner.prototype.gainActionStats = function(action, success) {
|
|||||||
|
|
||||||
var unweightedGain = time * BaseStatGain * successMult * difficultyMult;
|
var unweightedGain = time * BaseStatGain * successMult * difficultyMult;
|
||||||
var unweightedIntGain = time * BaseIntGain * successMult * difficultyMult;
|
var unweightedIntGain = time * BaseIntGain * successMult * difficultyMult;
|
||||||
Player.gainHackingExp(unweightedGain * action.weights.hack * Player.hacking_exp_mult);
|
const skillMult = this.skillMultipliers.expGain;
|
||||||
Player.gainStrengthExp(unweightedGain * action.weights.str * Player.strength_exp_mult);
|
Player.gainHackingExp(unweightedGain * action.weights.hack * Player.hacking_exp_mult * skillMult);
|
||||||
Player.gainDefenseExp(unweightedGain * action.weights.def * Player.defense_exp_mult);
|
Player.gainStrengthExp(unweightedGain * action.weights.str * Player.strength_exp_mult * skillMult);
|
||||||
Player.gainDexterityExp(unweightedGain * action.weights.dex * Player.dexterity_exp_mult);
|
Player.gainDefenseExp(unweightedGain * action.weights.def * Player.defense_exp_mult * skillMult);
|
||||||
Player.gainAgilityExp(unweightedGain * action.weights.agi * Player.agility_exp_mult);
|
Player.gainDexterityExp(unweightedGain * action.weights.dex * Player.dexterity_exp_mult * skillMult);
|
||||||
Player.gainCharismaExp(unweightedGain * action.weights.cha * Player.charisma_exp_mult);
|
Player.gainAgilityExp(unweightedGain * action.weights.agi * Player.agility_exp_mult * skillMult);
|
||||||
Player.gainIntelligenceExp(unweightedIntGain * action.weights.int);
|
Player.gainCharismaExp(unweightedGain * action.weights.cha * Player.charisma_exp_mult * skillMult);
|
||||||
|
Player.gainIntelligenceExp(unweightedIntGain * action.weights.int * skillMult);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bladeburner.prototype.randomEvent = function() {
|
Bladeburner.prototype.randomEvent = function() {
|
||||||
@ -3764,13 +3771,6 @@ function initBladeburner() {
|
|||||||
baseCost:5, costInc:2,
|
baseCost:5, costInc:2,
|
||||||
successChanceAll:3
|
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({
|
Skills[SkillNames.Cloak] = new Skill({
|
||||||
name:SkillNames.Cloak,
|
name:SkillNames.Cloak,
|
||||||
desc:"Each level of this skill increases your " +
|
desc:"Each level of this skill increases your " +
|
||||||
@ -3782,20 +3782,6 @@ function initBladeburner() {
|
|||||||
//TODO Marksman
|
//TODO Marksman
|
||||||
//TODO Weapon Proficiency
|
//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({
|
Skills[SkillNames.ShortCircuit] = new Skill({
|
||||||
name:SkillNames.ShortCircuit,
|
name:SkillNames.ShortCircuit,
|
||||||
desc:"Each level of this skill increases your success chance " +
|
desc:"Each level of this skill increases your success chance " +
|
||||||
@ -3810,6 +3796,33 @@ function initBladeburner() {
|
|||||||
baseCost:5, costInc:2,
|
baseCost:5, costInc:2,
|
||||||
successChanceOperation:4
|
successChanceOperation:4
|
||||||
});
|
});
|
||||||
|
Skills[SkillNames.Tracer] = new Skill({
|
||||||
|
name:SkillNames.Tracer,
|
||||||
|
desc:"Each level of this skill increases your success chance in " +
|
||||||
|
"all Contracts by 4%",
|
||||||
|
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({
|
Skills[SkillNames.Datamancer] = new Skill({
|
||||||
name:SkillNames.Datamancer,
|
name:SkillNames.Datamancer,
|
||||||
desc:"Each level of this skill increases your effectiveness in " +
|
desc:"Each level of this skill increases your effectiveness in " +
|
||||||
@ -3819,20 +3832,24 @@ function initBladeburner() {
|
|||||||
baseCost:3, costInc:1,
|
baseCost:3, costInc:1,
|
||||||
successChanceEstimate:5
|
successChanceEstimate:5
|
||||||
});
|
});
|
||||||
Skills[SkillNames.Tracer] = new Skill({
|
|
||||||
name:SkillNames.Tracer,
|
|
||||||
desc:"Each level of this skill increases your success chance in " +
|
|
||||||
"all Contracts by 4%",
|
|
||||||
baseCost:3, costInc:2,
|
|
||||||
successChanceContract:4
|
|
||||||
});
|
|
||||||
Skills[SkillNames.CybersEdge] = new Skill({
|
Skills[SkillNames.CybersEdge] = new Skill({
|
||||||
name:SkillNames.CybersEdge,
|
name:SkillNames.CybersEdge,
|
||||||
desc:"Each level of this skill increases your max " +
|
desc:"Each level of this skill increases your max stamina by 2%",
|
||||||
"stamina by 2%",
|
|
||||||
baseCost:1, costInc:3,
|
baseCost:1, costInc:3,
|
||||||
stamina:2
|
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
|
//General Actions
|
||||||
var actionName = "Training";
|
var actionName = "Training";
|
||||||
|
@ -510,27 +510,12 @@ export let CONSTANTS: IMap<any> = {
|
|||||||
|
|
||||||
LatestUpdate:
|
LatestUpdate:
|
||||||
`
|
`
|
||||||
v0.43.0
|
v0.43.1
|
||||||
* Added BitNode-10: Digital Carbon
|
* Added two new Bladeburner skills for increasing money and experience gain
|
||||||
|
* Made some minor adjustments to Bladeburner UI
|
||||||
* Stock Market Changes:
|
* Corporation "Smart Factories" and "Smart Storage" upgrades have slightly lower price multipliers
|
||||||
** Each stock now has a maximum number of shares you can purchase (both Long and Short positions combined)
|
* Added 6 new Coding Contract problems
|
||||||
** Added getStockMaxShares() Netscript function to the TIX API
|
* Updated documentation with list of all Coding Contract problems
|
||||||
** 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" )
|
|
||||||
`
|
`
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,12 +6,12 @@ import { IMap } from "../../types";
|
|||||||
// [index in Corporation upgrades array, base price, price mult, benefit mult (additive), name, desc]
|
// [index in Corporation upgrades array, base price, price mult, benefit mult (additive), name, desc]
|
||||||
export const CorporationUpgrades: IMap<any[]> = {
|
export const CorporationUpgrades: IMap<any[]> = {
|
||||||
//Smart factories, increases production
|
//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 " +
|
"Smart Factories", "Advanced AI automatically optimizes the operation and productivity " +
|
||||||
"of factories. Each level of this upgrade increases your global production by 3% (additive)."],
|
"of factories. Each level of this upgrade increases your global production by 3% (additive)."],
|
||||||
|
|
||||||
//Smart warehouses, increases storage size
|
//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. " +
|
"Smart Storage", "Advanced AI automatically optimizes your warehouse storage methods. " +
|
||||||
"Each level of this upgrade increases your global warehouse storage size by 10% (additive)."],
|
"Each level of this upgrade increases your global warehouse storage size by 10% (additive)."],
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user