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.
This commit is contained in:
2026-03-06 11:26:19 -08:00
committed by Naomi Carrigan
parent c69e155de3
commit a3daed1683
64 changed files with 9011 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
import type { Adventurer } from "@elysium/types";
export const DEFAULT_ADVENTURERS: Adventurer[] = [
{
id: "peasant",
name: "Peasant",
class: "warrior",
level: 1,
goldPerSecond: 0.1,
essencePerSecond: 0,
count: 0,
unlocked: true,
},
{
id: "militia",
name: "Militia",
class: "warrior",
level: 2,
goldPerSecond: 0.5,
essencePerSecond: 0,
count: 0,
unlocked: false,
},
{
id: "apprentice",
name: "Apprentice Mage",
class: "mage",
level: 3,
goldPerSecond: 1.5,
essencePerSecond: 0.01,
count: 0,
unlocked: false,
},
{
id: "scout",
name: "Scout",
class: "rogue",
level: 4,
goldPerSecond: 4,
essencePerSecond: 0.02,
count: 0,
unlocked: false,
},
{
id: "acolyte",
name: "Acolyte",
class: "cleric",
level: 5,
goldPerSecond: 10,
essencePerSecond: 0.05,
count: 0,
unlocked: false,
},
{
id: "ranger",
name: "Ranger",
class: "ranger",
level: 6,
goldPerSecond: 25,
essencePerSecond: 0.1,
count: 0,
unlocked: false,
},
{
id: "knight",
name: "Knight",
class: "warrior",
level: 7,
goldPerSecond: 75,
essencePerSecond: 0.2,
count: 0,
unlocked: false,
},
{
id: "archmage",
name: "Archmage",
class: "mage",
level: 8,
goldPerSecond: 200,
essencePerSecond: 0.5,
count: 0,
unlocked: false,
},
{
id: "paladin",
name: "Paladin",
class: "paladin",
level: 9,
goldPerSecond: 600,
essencePerSecond: 1,
count: 0,
unlocked: false,
},
{
id: "dragon_rider",
name: "Dragon Rider",
class: "ranger",
level: 10,
goldPerSecond: 2000,
essencePerSecond: 3,
count: 0,
unlocked: false,
},
];