From b9068ab328deaa4446976830dc47f32b45c47cc6 Mon Sep 17 00:00:00 2001 From: Michael Ficocelli Date: Tue, 3 Feb 2026 07:55:38 -0500 Subject: [PATCH] DOCS: Fix some IPvGO docs that do not reflect winstreak rep converted to favor (#2463) --- src/Go/Go.ts | 14 +++++++++++++- src/Go/ui/GoHistoryPage.tsx | 27 +++++++++++++++++++++++---- src/Go/ui/GoInstructionsPage.tsx | 2 +- src/Go/ui/GoScorePowerSummary.tsx | 6 ++---- src/ui/CharacterStats.tsx | 2 +- 5 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/Go/Go.ts b/src/Go/Go.ts index eebd25b43..83f98eaba 100644 --- a/src/Go/Go.ts +++ b/src/Go/Go.ts @@ -1,10 +1,13 @@ import type { BoardState, OpponentStats } from "./Types"; -import type { GoOpponent } from "@enums"; +import { GoOpponent } from "@enums"; import { getRecordKeys, PartialRecord } from "../Types/Record"; import { resetGoPromises } from "./boardAnalysis/goAI"; import { getNewBoardState } from "./boardState/boardState"; import { EventEmitter } from "../utils/EventEmitter"; +import { Player } from "@player"; +import { AugmentationName } from "@enums"; +import { newOpponentStats } from "./Constants"; export const getEmptyHighlightedPoints = (size: number = 7) => { return Array.from({ length: size }, () => Array.from({ length: size }, () => null)); @@ -20,6 +23,15 @@ export class GoObject { moveOrCheatViaApi = false; prestigeAugmentation() { + if ( + Player.bitNodeN === 14 && + Player.hasAugmentation(AugmentationName.TheRedPill) && + !Go.stats[GoOpponent.w0r1d_d43m0n] + ) { + // Show the secret opponent on the go stats page in BN14 if the player has TRP + Go.stats[GoOpponent.w0r1d_d43m0n] = newOpponentStats(); + } + // Clear out stats except for reputation as favor from winstreaks on prestige for (const opponent of getRecordKeys(Go.stats)) { const stats = Go.stats[opponent]; if (!stats) { diff --git a/src/Go/ui/GoHistoryPage.tsx b/src/Go/ui/GoHistoryPage.tsx index 4d79c49ac..a8412d2e2 100644 --- a/src/Go/ui/GoHistoryPage.tsx +++ b/src/Go/ui/GoHistoryPage.tsx @@ -125,10 +125,29 @@ export const GoHistoryPage = (): React.ReactElement => { } > - Reputation from winstreaks: - - {data.rep ?? 0} {data.rep === getMaxRep() ? "(max)" : ""} - + + Two wins in a row against an opponent will give you {getMaxRep() / 200} reputation converted + to favor with that faction (up to a max of {getMaxRep()} reputation), if you are a member of + that faction. +
+ The reputation is immediately applied as favor, meaning it will increase reputation gain + right away without needing an install. + + } + > + <> + + Rep converted to favor +
+ from winstreaks: +
+ + {data.rep ?? 0} {data.rep === getMaxRep() ? "(max)" : ""} + + +
diff --git a/src/Go/ui/GoInstructionsPage.tsx b/src/Go/ui/GoInstructionsPage.tsx index 7c2eab60f..d280e0258 100644 --- a/src/Go/ui/GoInstructionsPage.tsx +++ b/src/Go/ui/GoInstructionsPage.tsx @@ -144,7 +144,7 @@ export const GoInstructionsPage = (): React.ReactElement => {

Two wins in a row against an opponent will give you {getMaxRep() / 200} rep converted to favor with that - faction (up to a max of {getMaxRep()} favor), if you are a member of that faction. + faction (up to a max of {getMaxRep()} reputation), if you are a member of that faction.
The rep is immediately applied as favor, meaning it will increase reputation gain right away without needing an install. diff --git a/src/Go/ui/GoScorePowerSummary.tsx b/src/Go/ui/GoScorePowerSummary.tsx index 17347be6c..48afcb043 100644 --- a/src/Go/ui/GoScorePowerSummary.tsx +++ b/src/Go/ui/GoScorePowerSummary.tsx @@ -100,7 +100,7 @@ export const GoScorePowerSummary = ({ finalScore, opponent }: Props) => { title={ <> Two wins in a row against an opponent will give you {getMaxRep() / 200} rep converted to favor with that - faction (up to a max of {getMaxRep()} favor), if you are a member of that faction. + faction (up to a max of {getMaxRep()} reputation), if you are a member of that faction.
The rep is immediately applied as favor, meaning it will increase reputation gain right away without needing an install. @@ -109,9 +109,7 @@ export const GoScorePowerSummary = ({ finalScore, opponent }: Props) => { > Winstreak Bonus: - - {getMaxRep() / 200} reputation converted to favor with {opponent} - + {getMaxRep() / 200} reputation converted to favor ) : ( diff --git a/src/ui/CharacterStats.tsx b/src/ui/CharacterStats.tsx index d757f1eca..db7747d5f 100644 --- a/src/ui/CharacterStats.tsx +++ b/src/ui/CharacterStats.tsx @@ -568,7 +568,7 @@ export function CharacterStats(): React.ReactElement { value: Player.activeSourceFileLvl(14) ? 2 * currentNodeMults.GoPower : currentNodeMults.GoPower, }, { - mult: "IPvGO Max Favor", + mult: "IPvGO Max Rep Converted to Favor", value: getMaxRep(), isNumber: true, },