generated from nhcarrigan/template
feat: add equipment, achievements, and visual polish
- Equipment system: 12 items across weapon/armour/trinket slots with common/rare/epic/legendary rarities; starter commons auto-equipped, higher tiers drop from boss victories - Achievement system: 15 milestones with typed conditions; checked each tick and crystal rewards applied automatically - Achievement toast: slide-in notification, auto-dismisses after 4s - Floating click text: +X gold floats on each manual click - Expanded quests (9 total) and upgrades (12 total) - Upgrade panel now shows locked upgrades so players can see their progression path - formatNumber utility (K/M/B/T) used consistently across all panels - Backfill logic for existing saves to add new content gracefully - types package now emits .d.ts declarations
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
import type { Equipment } from "@elysium/types";
|
||||
|
||||
export const DEFAULT_EQUIPMENT: Equipment[] = [
|
||||
// Weapons — drop from bosses; common starts owned
|
||||
{
|
||||
id: "rusty_sword",
|
||||
name: "Rusty Sword",
|
||||
description: "A battered blade, but still sharp enough to draw blood.",
|
||||
type: "weapon",
|
||||
rarity: "common",
|
||||
bonus: { combatMultiplier: 1.1 },
|
||||
owned: true,
|
||||
equipped: true,
|
||||
},
|
||||
{
|
||||
id: "iron_sword",
|
||||
name: "Iron Sword",
|
||||
description: "A sturdy weapon issued to veterans of the guild.",
|
||||
type: "weapon",
|
||||
rarity: "rare",
|
||||
bonus: { combatMultiplier: 1.25 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "enchanted_blade",
|
||||
name: "Enchanted Blade",
|
||||
description: "A sword imbued with ancient magic that makes every strike count.",
|
||||
type: "weapon",
|
||||
rarity: "epic",
|
||||
bonus: { combatMultiplier: 1.5 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "vorpal_sword",
|
||||
name: "Vorpal Sword",
|
||||
description: "A legendary blade that severs even the strongest bonds.",
|
||||
type: "weapon",
|
||||
rarity: "legendary",
|
||||
bonus: { combatMultiplier: 2.0 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
// Armour — drop from bosses; common starts owned
|
||||
{
|
||||
id: "leather_armour",
|
||||
name: "Leather Armour",
|
||||
description: "Simple protection that keeps your adventurers moving efficiently.",
|
||||
type: "armour",
|
||||
rarity: "common",
|
||||
bonus: { goldMultiplier: 1.1 },
|
||||
owned: true,
|
||||
equipped: true,
|
||||
},
|
||||
{
|
||||
id: "chainmail",
|
||||
name: "Chainmail",
|
||||
description: "Interlocked rings that guard against most mundane threats.",
|
||||
type: "armour",
|
||||
rarity: "rare",
|
||||
bonus: { goldMultiplier: 1.25 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "plate_armour",
|
||||
name: "Plate Armour",
|
||||
description: "Full plate protection that inspires confidence — and gold.",
|
||||
type: "armour",
|
||||
rarity: "epic",
|
||||
bonus: { goldMultiplier: 1.5 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "dragon_scale",
|
||||
name: "Dragon Scale Armour",
|
||||
description: "Armour forged from the scales of a defeated elder dragon.",
|
||||
type: "armour",
|
||||
rarity: "legendary",
|
||||
bonus: { goldMultiplier: 2.0 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
// Trinkets — drop from bosses; common starts owned
|
||||
{
|
||||
id: "lucky_coin",
|
||||
name: "Lucky Coin",
|
||||
description: "A coin that always lands on the side you need.",
|
||||
type: "trinket",
|
||||
rarity: "common",
|
||||
bonus: { clickMultiplier: 1.1 },
|
||||
owned: true,
|
||||
equipped: true,
|
||||
},
|
||||
{
|
||||
id: "mages_focus",
|
||||
name: "Mage's Focus",
|
||||
description: "A crystal lens that sharpens magical precision.",
|
||||
type: "trinket",
|
||||
rarity: "rare",
|
||||
bonus: { clickMultiplier: 1.25 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "arcane_orb",
|
||||
name: "Arcane Orb",
|
||||
description: "An orb humming with concentrated arcane energy.",
|
||||
type: "trinket",
|
||||
rarity: "epic",
|
||||
bonus: { clickMultiplier: 1.5 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
{
|
||||
id: "philosophers_stone",
|
||||
name: "Philosopher's Stone",
|
||||
description: "The legendary stone that grants mastery over gold and combat alike.",
|
||||
type: "trinket",
|
||||
rarity: "legendary",
|
||||
bonus: { clickMultiplier: 2.0, goldMultiplier: 1.25 },
|
||||
owned: false,
|
||||
equipped: false,
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user