feat: add exploration and crafting systems

Adds two new game systems: Exploration (scouts collect materials from
timed area runs) and Crafting (combine materials into permanent
multipliers). Includes 72 exploration areas, 54 materials, 36 recipes,
and 108 new Codex lore entries. Removes unused characterName requirement
from prestige/transcendence/apotheosis reset flows.
This commit is contained in:
2026-03-07 04:14:04 -08:00
committed by Naomi Carrigan
parent 2aa6362ad6
commit 6ddf8e0b43
35 changed files with 4722 additions and 94 deletions
+7 -1
View File
@@ -65,6 +65,8 @@ export const applyTick = (state: GameState, deltaSeconds: number): GameState =>
const runestonesEssence = state.prestige.runestonesEssenceMultiplier ?? 1;
const runestonesCrystal = state.prestige.runestonesCrystalMultiplier ?? 1;
const echoIncome = state.transcendence?.echoIncomeMultiplier ?? 1;
const craftedGoldMultiplier = state.exploration?.craftedGoldMultiplier ?? 1;
const craftedEssenceMultiplier = state.exploration?.craftedEssenceMultiplier ?? 1;
let goldGained = 0;
let essenceGained = 0;
@@ -94,6 +96,7 @@ export const applyTick = (state: GameState, deltaSeconds: number): GameState =>
echoIncome *
equipmentGoldMultiplier *
setGoldMultiplier *
craftedGoldMultiplier *
deltaSeconds;
essenceGained +=
@@ -102,6 +105,7 @@ export const applyTick = (state: GameState, deltaSeconds: number): GameState =>
upgradeMultiplier *
prestige *
runestonesEssence *
craftedEssenceMultiplier *
deltaSeconds;
}
@@ -285,6 +289,7 @@ export const calculateClickPower = (state: GameState): number => {
const runestonesClick = state.prestige.runestonesClickMultiplier ?? 1;
const echoIncome = state.transcendence?.echoIncomeMultiplier ?? 1;
const craftedClickMultiplier = state.exploration?.craftedClickMultiplier ?? 1;
return (
state.baseClickPower *
@@ -293,6 +298,7 @@ export const calculateClickPower = (state: GameState): number => {
runestonesClick *
echoIncome *
equipmentClickMultiplier *
setClickMultiplier
setClickMultiplier *
craftedClickMultiplier
);
};