Races and Classes - xopherdeep/do-it-for-the-xp GitHub Wiki

Races & Class Evolution

🧬 Races: Fantasy Origin Stories

Give users a race that provides passive bonuses and flavor!

Data Model

interface Race {
  id: string;
  name: string;
  description: string;
  lore: string;
  icon: string;
  passives: RacialPassive[];
  startingStats: Partial<CharacterStats>;
}

interface RacialPassive {
  name: string;
  description: string;
  effect: PassiveEffect;
}

Race Options

Race Theme Passive Bonuses Flavor
Human Balanced +10% XP, Versatile (bonus all stats) "Adaptable and ambitious"
Elf Wisdom +20% MP regen, +2 Intelligence "Ancient knowledge seekers"
Dwarf Endurance +20% HP, +2 Vitality, +10% gold "Sturdy and hardworking"
Orc Strength +30% task speed when HP low, +3 STR "Thrive under pressure"
Gnome Efficiency +15% cooldown reduction "Tinkers and optimizers"
Fairy Support +25% party buff effectiveness "Empowers others"
Dragonkin Power 2x XP from difficult tasks "Born for challenge"
Shadow Stealth Complete tasks without notifying party "Works in the shadows"

Race Selection UI Concept

┌─────────────────────────────────────────────────────┐
│  ⚔️ CHOOSE YOUR ORIGIN                              │
├─────────────────────────────────────────────────────┤
│                                                     │
│  🧝 ELF                    🧔 DWARF                 │
│  ┌─────────────┐          ┌─────────────┐          │
│  │   [image]   │          │   [image]   │          │
│  │ +20% MP     │          │ +20% HP     │          │
│  │ +2 INT      │          │ +10% Gold   │          │
│  └─────────────┘          └─────────────┘          │
│                                                     │
│  👤 HUMAN                  💪 ORC                   │
│  ┌─────────────┐          ┌─────────────┐          │
│  │   [image]   │          │   [image]   │          │
│  │ +10% XP     │          │ Pressure    │          │
│  │ Versatile   │          │ Bonus       │          │
│  └─────────────┘          └─────────────┘          │
│                                                     │
└─────────────────────────────────────────────────────┘

⚔️ Class Evolution System

Class Evolution Tree

graph TD
    W[Warrior] --> K[Knight]
    W --> B[Berserker]
    K --> P[Paladin]
    K --> G[Guardian]
    B --> C[Champion]
    B --> WL[Warlord]
    
    M[Mage] --> WM[White Mage]
    M --> BM[Black Mage]
    WM --> S[Sage]
    WM --> A[Astrologian]
    BM --> N[Necromancer]
    BM --> E[Elementalist]
    
    T[Thief] --> AS[Assassin]
    T --> R[Ranger]
    AS --> NJ[Ninja]
    AS --> SH[Shadow]
    R --> SN[Sniper]
    R --> SC[Scout]
    
    MK[Monk] --> MA[Martial Artist]
    MK --> MY[Mystic]
    MA --> D[Dragon Fist]
    MA --> WD[Weapon Master]
    MY --> EN[Enlightened]
    MY --> YI[Yin-Yang]
Loading

Class Evolution Requirements

Base Class Advanced Class Requirements
Warrior → Knight Reach Lv 15, Complete 100 "protection" tasks
Warrior → Berserker Reach Lv 15, Complete 50 tasks in "rush mode"
Knight → Paladin Reach Lv 30, Help 10 party members complete tasks
Knight → Guardian Reach Lv 30, Maintain 30-day streak
Mage → White Mage Reach Lv 15, Send 50 "encouragement" to party
Mage → Black Mage Reach Lv 15, Complete 100 "focus" tasks
Thief → Assassin Reach Lv 15, Complete 50 tasks with 0 procrastination
Thief → Ranger Reach Lv 15, Complete tasks in 10 different temples
Monk → Martial Artist Reach Lv 15, Complete 100 "exercise" tasks
Monk → Mystic Reach Lv 15, Complete 100 "meditation/mindfulness" tasks

Class Tree Text Format

Warrior Path

Warrior (Lv 1)
├── Knight (Lv 15) ─── Complete 100 "protection" tasks
│   ├── Paladin (Lv 30) ─── Help 10 party members
│   └── Guardian (Lv 30) ─── Maintain 30-day streak
└── Berserker (Lv 15) ─── Complete 50 "rush mode" tasks
    ├── Champion (Lv 30)
    └── Warlord (Lv 30)

Mage Path

Mage (Lv 1)
├── White Mage (Lv 15) ─── Send 50 "encouragements"
│   ├── Sage (Lv 30)
│   └── Astrologian (Lv 30)
└── Black Mage (Lv 15) ─── Complete 100 "focus" tasks
    ├── Necromancer (Lv 30)
    └── Elementalist (Lv 30)

Thief Path

Thief (Lv 1)
├── Assassin (Lv 15) ─── 50 tasks with 0 procrastination
│   ├── Ninja (Lv 30)
│   └── Shadow (Lv 30)
└── Ranger (Lv 15) ─── Complete tasks in 10 temples
    ├── Sniper (Lv 30)
    └── Scout (Lv 30)

Monk Path

Monk (Lv 1)
├── Martial Artist (Lv 15) ─── 100 "exercise" tasks
│   ├── Dragon Fist (Lv 30)
│   └── Weapon Master (Lv 30)
└── Mystic (Lv 15) ─── 100 "meditation" tasks
    ├── Enlightened (Lv 30)
    └── Yin-Yang (Lv 30)

Existing Implementation

See src/constants/JOB_CLASS_OPTIONS.ts for current classes:

  • Warrior, Mage, Thief, Monk (active)
  • Many more commented out for future use

See src/app/SideMenu/SwitchProfile/AddProfile/components/JobClassSelector.vue for:

  • Class selection UI with radar charts
  • Class descriptions and abilities
  • Difficulty ratings and tags
⚠️ **GitHub.com Fallback** ⚠️