From 6a9e15ae674b18f457737e329a5b05b95a252390 Mon Sep 17 00:00:00 2001 From: Minchae Kim <100426562+lDMDiamondl@users.noreply.github.com> Date: Tue, 4 Aug 2026 19:54:59 +0900 Subject: [PATCH 1/2] Add {chapter:goldenRuns}, {chapter:goldenRunsSession} --- Stats/BasicInfoStat.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Stats/BasicInfoStat.cs b/Stats/BasicInfoStat.cs index ab48d6d..685b2f2 100644 --- a/Stats/BasicInfoStat.cs +++ b/Stats/BasicInfoStat.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -55,6 +55,8 @@ public class BasicInfoStat : Stat { public static string ChapterGoldenDeaths = "{chapter:goldenDeaths}"; public static string ChapterGoldenDeathsSession = "{chapter:goldenDeathsSession}"; + public static string ChapterGoldenRuns = "{chapter:goldenRuns}"; + public static string ChapterGoldenRunsSession = "{chapter:goldenRunsSession}"; public static string ChapterGoldenChance = "{chapter:goldenChance}"; public static string SaveStateRoomName = "{savestate:roomName}"; @@ -66,7 +68,7 @@ public class BasicInfoStat : Stat { //ModTrackingPaused, ModRecordingPath, ModModVersion, ModOverlayVersion, RoomName, /*RoomDebugName, RoomGoldenDeaths, RoomGoldenDeathsSession,*/ CheckpointName, CheckpointAbbreviation, CheckpointNumber, CheckpointCount, CheckpointGoldenDeaths, CheckpointGoldenDeathsSession, CheckpointGoldenChance, - /*ChapterName, ChapterDebugName,*/ ChapterGoldenDeaths, ChapterGoldenDeathsSession, ChapterGoldenChance, + /*ChapterName, ChapterDebugName,*/ ChapterGoldenDeaths, ChapterGoldenDeathsSession, ChapterGoldenRuns, ChapterGoldenRunsSession, ChapterGoldenChance, //CampaignName SaveStateRoomName, PathSegmentName, @@ -88,6 +90,8 @@ public override string FormatStat(PathInfo chapterPath, ChapterStats chapterStat format = StatManager.MissingPathFormat(format, ChapterGoldenDeaths); format = StatManager.MissingPathFormat(format, ChapterGoldenDeathsSession); + format = StatManager.MissingPathFormat(format, ChapterGoldenRuns); + format = StatManager.MissingPathFormat(format, ChapterGoldenRunsSession); format = StatManager.MissingPathFormat(format, ChapterGoldenChance); format = StatManager.MissingPathFormat(format, PathSegmentName); @@ -98,6 +102,9 @@ public override string FormatStat(PathInfo chapterPath, ChapterStats chapterStat format = format.Replace(ChapterGoldenDeaths, $"{chapterPath.Stats.GoldenBerryDeaths}"); format = format.Replace(ChapterGoldenDeathsSession, $"{chapterPath.Stats.GoldenBerryDeathsSession}"); + int currentRunOffset = chapterStats.ModState.PlayerIsHoldingGolden && !chapterStats.GoldenCollectedThisRun ? 1 : 0; + format = format.Replace(ChapterGoldenRuns, $"{chapterPath.Stats.GoldenBerryDeaths + chapterStats.GoldenCollectedCount + currentRunOffset}"); + format = format.Replace(ChapterGoldenRunsSession, $"{chapterPath.Stats.GoldenBerryDeathsSession + chapterStats.GoldenCollectedCountSession + currentRunOffset}"); format = format.Replace(ChapterGoldenChance, $"{StatManager.FormatPercentage(chapterPath.Stats.GoldenChance)}"); format = format.Replace(CheckpointCount, $"{chapterPath.Checkpoints.Count}"); @@ -160,6 +167,8 @@ public override List> GetPlaceholderExplanations() new KeyValuePair(BasicPathlessInfo.ChapterSanitizedSID, $"[{Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_DEV")}] {Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_SANITIZED_SID")}"), new KeyValuePair(ChapterGoldenDeaths, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_DEATHS")), new KeyValuePair(ChapterGoldenDeathsSession, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_DEATHS_SESSION")), + new KeyValuePair(ChapterGoldenRuns, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_RUNS")), + new KeyValuePair(ChapterGoldenRunsSession, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_RUNS_SESSION")), new KeyValuePair(ChapterGoldenChance, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_CHANCE")), new KeyValuePair(LiveProgressStat.ChapterRoomCount, Dialog.Clean("CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_ROOM_COUNT")), From ed20daa95e80b1c1879f7246c4c3da3015907663 Mon Sep 17 00:00:00 2001 From: Minchae Kim <100426562+lDMDiamondl@users.noreply.github.com> Date: Tue, 4 Aug 2026 19:56:34 +0900 Subject: [PATCH 2/2] Add a setting for counting total golden runs --- Dialog/English.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dialog/English.txt b/Dialog/English.txt index 626d29d..3ca658b 100644 --- a/Dialog/English.txt +++ b/Dialog/English.txt @@ -723,6 +723,8 @@ CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_SID= SID of chapter CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_SANITIZED_SID= Dialog sanitized SID of chapter CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_DEATHS= Golden Deaths in the chapter CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_DEATHS_SESSION= Golden Deaths in the chapter in the current session +CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_RUNS= Golden runs in the chapter, including collected goldens and the current run while holding a golden berry +CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_RUNS_SESSION= Golden runs in the chapter in the current session, including collected goldens and the current run while holding a golden berry CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_GOLDEN_CHANCE= Golden Chance of the chapter CCT_STAT_BASIC_INFO_EXPLANATIONS_CHAPTER_ROOM_COUNT= Count of rooms in the chapter