Races and Classes - xopherdeep/do-it-for-the-xp GitHub Wiki
Give users a race that provides passive bonuses and flavor!
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 | 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" |
┌─────────────────────────────────────────────────────┐
│ ⚔️ CHOOSE YOUR ORIGIN │
├─────────────────────────────────────────────────────┤
│ │
│ 🧝 ELF 🧔 DWARF │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ [image] │ │ [image] │ │
│ │ +20% MP │ │ +20% HP │ │
│ │ +2 INT │ │ +10% Gold │ │
│ └─────────────┘ └─────────────┘ │
│ │
│ 👤 HUMAN 💪 ORC │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ [image] │ │ [image] │ │
│ │ +10% XP │ │ Pressure │ │
│ │ Versatile │ │ Bonus │ │
│ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────┘
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]
| 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 |
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 (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 (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 (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)
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