mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-18 12:15:44 +01:00
IPVGO: Balance: Reduce base bonuses, increase SF 14.1 to compensate (#1176)
* IPVGO: Balance: Reduce base bonuses, increase SF 14.1 to compensate * Fix ts doc format * Do not show "No AI" opponent in stat summary page
This commit is contained in:
parent
dd4b54406c
commit
6b9f9ef7fa
@ -463,20 +463,20 @@ export function initBitNodes() {
|
||||
its level up to a maximum of 3. This Source-File grants the following benefits:
|
||||
<br />
|
||||
<br />
|
||||
Level 1: 25% increased stat multipliers from Node Power
|
||||
Level 1: 100% increased stat multipliers from Node Power
|
||||
<br />
|
||||
Level 2: Permanently unlocks the go.cheat API
|
||||
<br />
|
||||
Level 3: 25% increased success rate for the go.cheat API
|
||||
<br />
|
||||
<br />
|
||||
This Source-File also increases the maximum favor you can gain for each faction from IPvGO by:
|
||||
This Source-File also increases the maximum favor you can gain for each faction from IPvGO to:
|
||||
<br />
|
||||
Level 1: +10
|
||||
Level 1: 80
|
||||
<br />
|
||||
Level 2: +20
|
||||
Level 2: 100
|
||||
<br />
|
||||
Level 3: +40
|
||||
Level 3: 120
|
||||
</>
|
||||
),
|
||||
);
|
||||
|
@ -15,17 +15,21 @@ import { getRecordEntries, getRecordValues } from "../../Types/Record";
|
||||
*/
|
||||
export function CalculateEffect(nodes: number, faction: GoOpponent): number {
|
||||
const power = getEffectPowerForFaction(faction);
|
||||
const sourceFileBonus = Player.sourceFileLvl(14) ? 1.25 : 1;
|
||||
const sourceFileBonus = Player.sourceFileLvl(14) ? 2 : 1;
|
||||
return (
|
||||
1 + Math.log(nodes + 1) * Math.pow(nodes + 1, 0.3) * 0.004 * power * currentNodeMults.GoPower * sourceFileBonus
|
||||
1 + Math.log(nodes + 1) * Math.pow(nodes + 1, 0.3) * 0.002 * power * currentNodeMults.GoPower * sourceFileBonus
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get maximum favor that you can gain from IPvGO win streaks
|
||||
* for factions you are a member of
|
||||
*/
|
||||
export function getMaxFavor() {
|
||||
const sourceFileLevel = Player.sourceFileLvl(14);
|
||||
|
||||
if (sourceFileLevel === 1) {
|
||||
return 90;
|
||||
return 80;
|
||||
}
|
||||
if (sourceFileLevel === 2) {
|
||||
return 100;
|
||||
@ -34,7 +38,7 @@ export function getMaxFavor() {
|
||||
return 120;
|
||||
}
|
||||
|
||||
return 80;
|
||||
return 40;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -412,7 +412,8 @@ export async function determineCheatSuccess(
|
||||
* Cheating success rate scales with player's crime success rate, and decreases with prior cheat attempts.
|
||||
*/
|
||||
export function cheatSuccessChance(cheatCount: number) {
|
||||
return Math.min(0.6 * 0.65 ** cheatCount * Player.mults.crime_success, 1);
|
||||
const sourceFileBonus = Player.sourceFileLvl(14) === 3 ? 1.25 : 1;
|
||||
return Math.min(0.6 * 0.65 ** cheatCount * Player.mults.crime_success * sourceFileBonus, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -9,12 +9,14 @@ import { useRerender } from "../../ui/React/hooks";
|
||||
import { getBonusText } from "../effects/effect";
|
||||
import { GoScoreSummaryTable } from "./GoScoreSummaryTable";
|
||||
import { getRecordKeys } from "../../Types/Record";
|
||||
import { GoOpponent } from "@enums";
|
||||
|
||||
export const GoStatusPage = (): React.ReactElement => {
|
||||
useRerender(400);
|
||||
const classes = boardStyles();
|
||||
const score = getScore(Go.currentGame);
|
||||
const opponent = Go.currentGame.ai;
|
||||
const playedOpponentList = getRecordKeys(Go.stats).filter((o) => o !== GoOpponent.none);
|
||||
|
||||
return (
|
||||
<div>
|
||||
@ -49,7 +51,7 @@ export const GoStatusPage = (): React.ReactElement => {
|
||||
<strong>Effect:</strong>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
{getRecordKeys(Go.stats).map((faction, index) => {
|
||||
{playedOpponentList.map((faction, index) => {
|
||||
return (
|
||||
<TableRow key={index}>
|
||||
<TableCell className={classes.cellNone}>
|
||||
|
2
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
2
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
@ -3969,7 +3969,7 @@ export interface Go {
|
||||
* Returns a promise that resolves with the success or failure state of your last move, and the AI's response, if applicable.
|
||||
* x:0 y:0 represents the bottom-left corner of the board in the UI.
|
||||
*
|
||||
* @param logOpponentMove optional, if false prevents logging opponent move
|
||||
* @param logOpponentMove - optional, if false prevents logging opponent move
|
||||
*
|
||||
* @remarks
|
||||
* RAM cost: 0 GB
|
||||
|
@ -239,20 +239,20 @@ export function initSourceFiles() {
|
||||
This Source-File grants the following benefits:
|
||||
<br />
|
||||
<br />
|
||||
Level 1: 25% increased stat multipliers from node Power
|
||||
Level 1: 100% increased stat multipliers from node Power
|
||||
<br />
|
||||
Level 2: Permanently unlocks the go.cheat API in other BitNodes
|
||||
<br />
|
||||
Level 3: 25% increased success rate for the go.cheat API
|
||||
<br />
|
||||
<br />
|
||||
This Source-File also increases the maximum favor you can gain for each faction from IPvGO by:
|
||||
This Source-File also increases the maximum favor you can gain for each faction from IPvGO to:
|
||||
<br />
|
||||
Level 1: +10
|
||||
Level 1: 80
|
||||
<br />
|
||||
Level 2: +20
|
||||
Level 2: 100
|
||||
<br />
|
||||
Level 3: +40
|
||||
Level 3: 120
|
||||
</>
|
||||
),
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user