feat: titles system (earned through achievements, displayed on character sheet) #19

Closed
opened 2026-03-07 14:37:47 -08:00 by hikari · 0 comments
Owner

Overview

Players earn Titles by completing achievements, reaching prestige milestones, or hitting other significant progression markers. The active title is displayed on their character sheet and public profile page.

Design

Earning Titles

  • Each title has an unlock condition (e.g. a specific achievement, first prestige, first apotheosis, reaching a gold threshold)
  • Titles are earned permanently and never lost on prestige/transcendence/apotheosis resets
  • Players can have multiple titles but only one active at a time

Displaying Titles

  • Shown on the Character Sheet tab below the character name
  • Shown on the public /character/:id page below the name
  • Could also appear in leaderboards (if/when implemented)

Example Titles

Title Unlock Condition
The Adventurous Complete first quest
Guild Founder Set a guild name
Boss Slayer Defeat first boss
The Undying First prestige
Transcendent First transcendence
Apotheosised First apotheosis
The Ancient Reach max adventurer tier
Completionist Unlock all achievements
Veteran Play for 30 days

Task Checklist

  • Add Title data type and titles.ts data file
  • Add unlockedTitles: string[] and activeTitle: string to GameState
  • API endpoint to set active title (PATCH /title)
  • Unlock titles server-side when conditions are met (on save, on prestige, on apotheosis, etc.)
  • Display active title in CharacterSheetPanel.tsx
  • Display active title on /character/:id public page
  • Title selector UI in the character sheet edit mode
  • Update About panel How to Play

This issue was created with help from Hikari~ 🌸

## Overview Players earn **Titles** by completing achievements, reaching prestige milestones, or hitting other significant progression markers. The active title is displayed on their character sheet and public profile page. ## Design ### Earning Titles - Each title has an unlock condition (e.g. a specific achievement, first prestige, first apotheosis, reaching a gold threshold) - Titles are earned permanently and never lost on prestige/transcendence/apotheosis resets - Players can have multiple titles but only one active at a time ### Displaying Titles - Shown on the **Character Sheet tab** below the character name - Shown on the **public `/character/:id` page** below the name - Could also appear in leaderboards (if/when implemented) ### Example Titles | Title | Unlock Condition | |---|---| | The Adventurous | Complete first quest | | Guild Founder | Set a guild name | | Boss Slayer | Defeat first boss | | The Undying | First prestige | | Transcendent | First transcendence | | Apotheosised | First apotheosis | | The Ancient | Reach max adventurer tier | | Completionist | Unlock all achievements | | Veteran | Play for 30 days | ## Task Checklist - [ ] Add `Title` data type and `titles.ts` data file - [ ] Add `unlockedTitles: string[]` and `activeTitle: string` to `GameState` - [ ] API endpoint to set active title (PATCH `/title`) - [ ] Unlock titles server-side when conditions are met (on save, on prestige, on apotheosis, etc.) - [ ] Display active title in `CharacterSheetPanel.tsx` - [ ] Display active title on `/character/:id` public page - [ ] Title selector UI in the character sheet edit mode - [ ] Update About panel How to Play --- ✨ This issue was created with help from Hikari~ 🌸
naomi closed this issue 2026-03-08 15:53:41 -07:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/elysium#19