generated from nhcarrigan/template
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:
@@ -1,8 +1,9 @@
|
||||
import type { ApotheosisData, GameState, Player, PrestigeData, TranscendenceData } from "@elysium/types";
|
||||
import type { ApotheosisData, ExplorationState, GameState, Player, PrestigeData, TranscendenceData } from "@elysium/types";
|
||||
import { DEFAULT_ACHIEVEMENTS } from "./achievements.js";
|
||||
import { DEFAULT_ADVENTURERS } from "./adventurers.js";
|
||||
import { DEFAULT_BOSSES } from "./bosses.js";
|
||||
import { DEFAULT_EQUIPMENT } from "./equipment.js";
|
||||
import { DEFAULT_EXPLORATIONS } from "./explorations.js";
|
||||
import { DEFAULT_QUESTS } from "./quests.js";
|
||||
import { DEFAULT_UPGRADES } from "./upgrades.js";
|
||||
import { DEFAULT_ZONES } from "./zones.js";
|
||||
@@ -29,6 +30,19 @@ export const INITIAL_APOTHEOSIS: ApotheosisData = {
|
||||
count: 0,
|
||||
};
|
||||
|
||||
export const INITIAL_EXPLORATION: ExplorationState = {
|
||||
areas: DEFAULT_EXPLORATIONS.map((area) => ({
|
||||
id: area.id,
|
||||
status: area.zoneId === "verdant_vale" ? "available" as const : "locked" as const,
|
||||
})),
|
||||
materials: [],
|
||||
craftedRecipeIds: [],
|
||||
craftedGoldMultiplier: 1,
|
||||
craftedEssenceMultiplier: 1,
|
||||
craftedClickMultiplier: 1,
|
||||
craftedCombatMultiplier: 1,
|
||||
};
|
||||
|
||||
export const INITIAL_GAME_STATE = (player: Player, characterName: string): GameState => ({
|
||||
player: {
|
||||
...player,
|
||||
@@ -54,4 +68,5 @@ export const INITIAL_GAME_STATE = (player: Player, characterName: string): GameS
|
||||
lastTickAt: Date.now(),
|
||||
transcendence: { ...INITIAL_TRANSCENDENCE },
|
||||
apotheosis: { ...INITIAL_APOTHEOSIS },
|
||||
exploration: structuredClone(INITIAL_EXPLORATION),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user