generated from nhcarrigan/template
Give Troll King 5 crystals (was 0) to signal the crystal economy from the first boss kill, and halve crystal_focus cost from 100 to 50 so it is reachable within the first zone's boss chain (#173). Increase production multiplier base from 1.25 to 1.3 so each prestige provides more perceptible run-time reduction in the P1-P30 window where the treadmill effect was most pronounced (#174).
This commit is contained in:
@@ -12,7 +12,7 @@ export const defaultBosses: Array<Boss> = [
|
|||||||
// ── Verdant Vale ──────────────────────────────────────────────────────────
|
// ── Verdant Vale ──────────────────────────────────────────────────────────
|
||||||
{
|
{
|
||||||
bountyRunestones: 1,
|
bountyRunestones: 1,
|
||||||
crystalReward: 0,
|
crystalReward: 5,
|
||||||
currentHp: 1000,
|
currentHp: 1000,
|
||||||
damagePerSecond: 5,
|
damagePerSecond: 5,
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export const defaultUpgrades: Array<Upgrade> = [
|
|||||||
unlocked: false,
|
unlocked: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
costCrystals: 100,
|
costCrystals: 50,
|
||||||
costEssence: 0,
|
costEssence: 0,
|
||||||
costGold: 0,
|
costGold: 0,
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ const calculateRunestones = (parameters: RunestoneParameters): number => {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates the new prestige production multiplier.
|
* Calculates the new prestige production multiplier.
|
||||||
* Formula: 1.25^prestigeCount — exponential scaling per prestige that eventually
|
* Formula: 1.3^prestigeCount — exponential scaling per prestige that eventually
|
||||||
* overtakes the polynomial threshold growth, making late prestiges progressively easier.
|
* overtakes the polynomial threshold growth, making late prestiges progressively easier.
|
||||||
* @param prestigeCount - The new prestige count.
|
* @param prestigeCount - The new prestige count.
|
||||||
* @returns The production multiplier for the new prestige level.
|
* @returns The production multiplier for the new prestige level.
|
||||||
@@ -154,7 +154,7 @@ const calculateRunestones = (parameters: RunestoneParameters): number => {
|
|||||||
const calculateProductionMultiplier = (
|
const calculateProductionMultiplier = (
|
||||||
prestigeCount: number,
|
prestigeCount: number,
|
||||||
): number => {
|
): number => {
|
||||||
return Math.pow(1.25, prestigeCount);
|
return Math.pow(1.3, prestigeCount);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -131,12 +131,12 @@ describe("calculateProductionMultiplier", () => {
|
|||||||
expect(calculateProductionMultiplier(0)).toBe(1);
|
expect(calculateProductionMultiplier(0)).toBe(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns 1.25 at count 1", () => {
|
it("returns 1.3 at count 1", () => {
|
||||||
expect(calculateProductionMultiplier(1)).toBeCloseTo(1.25);
|
expect(calculateProductionMultiplier(1)).toBeCloseTo(1.3);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("scales exponentially", () => {
|
it("scales exponentially", () => {
|
||||||
expect(calculateProductionMultiplier(10)).toBeCloseTo(Math.pow(1.25, 10));
|
expect(calculateProductionMultiplier(10)).toBeCloseTo(Math.pow(1.3, 10));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user