fix: runestone formula, prestige/transcendence rebalance, exploration fixes, and comprehensive balance audit #135

Merged
naomi merged 53 commits from fix/stones into main 2026-03-31 19:57:53 -07:00
2 changed files with 7 additions and 7 deletions
Showing only changes of commit ec0763819e - Show all commits
+1 -1
View File
@@ -15,7 +15,7 @@ import type {
} from "@elysium/types";
const basePrestigeGoldThreshold = 1_000_000;
const runestonesPerPrestigeLevel = 10;
const runestonesPerPrestigeLevel = 15;
const milestoneInterval = 5;
const milestoneRunestonesPerInterval = 25;
+6 -6
View File
@@ -102,21 +102,21 @@ describe("isEligibleForPrestige", () => {
describe("calculateRunestones", () => {
it("calculates basic runestones formula", () => {
// floor(cbrt(4_000_000 / 1_000_000)) × 10 = floor(cbrt(4)) × 10 = 1 × 10 = 10
// floor(cbrt(4_000_000 / 1_000_000)) × 15 = floor(cbrt(4)) × 15 = 1 × 15 = 15
const result = calculateRunestones({ totalGoldEarned: 4_000_000, prestigeCount: 0, purchasedUpgradeIds: [] });
expect(result).toBe(10);
expect(result).toBe(15);
});
it("applies echo runestone multiplier", () => {
// floor(cbrt(4)) × 10 = 10; × 2 = 20
// floor(cbrt(4)) × 15 = 15; × 2 = 30
const result = calculateRunestones({ totalGoldEarned: 4_000_000, prestigeCount: 0, purchasedUpgradeIds: [], echoRunestoneMultiplier: 2 });
expect(result).toBe(20);
expect(result).toBe(30);
});
it("applies purchased runestone upgrade multiplier", () => {
// With "runestone_gain_1" purchased (multiplier 1.25): floor(10 × 1.25) = 12
// With "runestone_gain_1" purchased (multiplier 1.25): floor(15 × 1.25) = 18
const result = calculateRunestones({ totalGoldEarned: 4_000_000, prestigeCount: 0, purchasedUpgradeIds: ["runestone_gain_1"] });
expect(result).toBe(12);
expect(result).toBe(18);
});
it("caps base runestones before multipliers", () => {