mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-27 08:27:32 +01:00
Fix a few bugs and also added the concept of gang power multiplier
This commit is contained in:
parent
73d0f2074c
commit
362d2eb51d
@ -24,7 +24,7 @@ import { GangMember } from "./GangMember";
|
||||
|
||||
import { WorkerScript } from "../Netscript/WorkerScript";
|
||||
import { IPlayer } from "../PersonObjects/IPlayer";
|
||||
import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers";
|
||||
import { PowerMultiplier } from "./data/power";
|
||||
|
||||
export class Gang {
|
||||
facName: string;
|
||||
@ -171,7 +171,9 @@ export class Gang {
|
||||
AllGangs[name].power += Math.min(0.85, multiplicativeGain);
|
||||
} else {
|
||||
// Additive gain (50% chance)
|
||||
const additiveGain = 0.75 * gainRoll * AllGangs[name].territory;
|
||||
const powerMult = PowerMultiplier[name];
|
||||
if (powerMult === undefined) throw new Error("Should not be undefined");
|
||||
const additiveGain = 0.75 * gainRoll * AllGangs[name].territory * powerMult;
|
||||
AllGangs[name].power += additiveGain;
|
||||
}
|
||||
}
|
||||
|
11
src/Gang/data/power.ts
Normal file
11
src/Gang/data/power.ts
Normal file
@ -0,0 +1,11 @@
|
||||
export const PowerMultiplier: {
|
||||
[key: string]: number | undefined;
|
||||
} = {
|
||||
"Slum Snakes": 1,
|
||||
Tetrads: 2,
|
||||
"The Syndicate": 5,
|
||||
"The Dark Army": 10,
|
||||
"Speakers for the Dead": 50,
|
||||
NiteSec: 10,
|
||||
"The Black Hand": 50,
|
||||
};
|
@ -41,6 +41,8 @@ export function TerritorySubpage(): React.ReactElement {
|
||||
and wanted level. It is very beneficial to have high territory control.
|
||||
<br />
|
||||
<br />
|
||||
To increase your chances of winning territory assign gang members to "Territory Warfare", this will build your
|
||||
gang power. Then enable "Engage in Territory Warfare" to start fighting over territory.
|
||||
</Typography>
|
||||
<FormControlLabel
|
||||
control={
|
||||
|
@ -362,6 +362,7 @@ export function NetscriptFunctions(workerScript: WorkerScript): NS {
|
||||
Player.scriptProdSinceLastAug += moneyGained;
|
||||
workerScript.scriptRef.recordHack(server.hostname, moneyGained, threads);
|
||||
Player.gainHackingExp(expGainedOnSuccess);
|
||||
if (manual) Player.gainIntelligenceExp(expGainedOnSuccess / CONSTANTS.IntelligenceTerminalHackBaseExpGain);
|
||||
workerScript.scriptRef.onlineExpGained += expGainedOnSuccess;
|
||||
workerScript.log(
|
||||
"hack",
|
||||
|
@ -266,6 +266,7 @@ export function NetscriptSingularity(
|
||||
return false;
|
||||
}
|
||||
Router.toLocation(location);
|
||||
player.gainIntelligenceExp(CONSTANTS.IntelligenceSingFnBaseExpGain / 100);
|
||||
return true;
|
||||
},
|
||||
universityCourse: function (universityName: any, className: any): any {
|
||||
@ -455,6 +456,7 @@ export function NetscriptSingularity(
|
||||
player.loseMoney(CONSTANTS.TravelCost, "other");
|
||||
player.city = cityname;
|
||||
workerScript.log("travelToCity", `Traveled to ${cityname}`);
|
||||
player.gainIntelligenceExp(CONSTANTS.IntelligenceSingFnBaseExpGain / 50);
|
||||
return true;
|
||||
default:
|
||||
workerScript.log("travelToCity", `Invalid city name: '${cityname}'.`);
|
||||
@ -528,6 +530,7 @@ export function NetscriptSingularity(
|
||||
|
||||
if (player.hasProgram(item.program)) {
|
||||
workerScript.log("purchaseProgram", `You already have the '${item.program}' program`);
|
||||
player.gainIntelligenceExp(CONSTANTS.IntelligenceSingFnBaseExpGain / 50);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user