Files
elysium/apps/api/src/data/quests.ts
T
hikari a3daed1683 feat: initial elysium idle game prototype
Sets up the full monorepo with pnpm workspaces. Includes shared types
package, Hono API with Discord OAuth/JWT auth, Prisma v6 + MongoDB
Atlas, and React + Vite frontend with game loop, five tabs, and
Discord-linked save/load.
2026-03-06 11:26:19 -08:00

64 lines
1.8 KiB
TypeScript

import type { Quest } from "@elysium/types";
export const DEFAULT_QUESTS: Quest[] = [
{
id: "first_steps",
name: "First Steps",
description: "Every legend begins somewhere. Send your first adventurer into the field.",
status: "available",
durationSeconds: 60,
rewards: [{ type: "gold", amount: 500 }],
prerequisiteIds: [],
},
{
id: "goblin_camp",
name: "Goblin Camp",
description: "Clear out a troublesome goblin camp to the east.",
status: "locked",
durationSeconds: 5 * 60,
rewards: [
{ type: "gold", amount: 2_000 },
{ type: "essence", amount: 5 },
],
prerequisiteIds: ["first_steps"],
},
{
id: "haunted_mine",
name: "The Haunted Mine",
description: "An abandoned mine is rich with crystal deposits — if you dare brave its ghosts.",
status: "locked",
durationSeconds: 15 * 60,
rewards: [
{ type: "crystals", amount: 10 },
{ type: "upgrade", targetId: "global_1" },
],
prerequisiteIds: ["goblin_camp"],
},
{
id: "ancient_ruins",
name: "Ancient Ruins",
description: "Scholars believe the ruins hold secrets of a forgotten civilisation.",
status: "locked",
durationSeconds: 30 * 60,
rewards: [
{ type: "essence", amount: 50 },
{ type: "upgrade", targetId: "click_2" },
],
prerequisiteIds: ["haunted_mine"],
},
{
id: "dragon_lair",
name: "Dragon's Lair",
description:
"The legendary lair of Pyraxis the Undying. Few who enter return — those who do are rich beyond imagining.",
status: "locked",
durationSeconds: 60 * 60,
rewards: [
{ type: "gold", amount: 500_000 },
{ type: "crystals", amount: 50 },
{ type: "adventurer", targetId: "dragon_rider" },
],
prerequisiteIds: ["ancient_ruins"],
},
];