Skill Trees - xopherdeep/do-it-for-the-xp GitHub Wiki

Skill Trees

🌳 Universal Skill Trees (All Classes)

🎯 Discipline Tree

[Self-Starter]──[Early Bird]──[Night Owl]
      │              │              │
      │         [Consistency]       │
      │              │              │
      └─────[Iron Will]─────────────┘
                 │
         [Unbreakable]

👥 Social Tree

[Team Player]──[Cheerleader]──[Mentor]
      │              │             │
      │         [Rally Cry]        │
      │              │             │
      └────[Party Leader]──────────┘
                 │
        [Guild Master]

⚡ Efficiency Tree

[Optimizer]──[Multi-Tasker]──[Speedrunner]
      │              │              │
      │          [Flow State]       │
      │              │              │
      └─────[Hyper Focus]───────────┘
                  │
          [Limitless]

Class-Specific Trees

Example: Warrior Skill Tree

                    [BATTLE MASTERY]
                          |
         ┌────────────────┼────────────────┐
         ▼                ▼                ▼
   [Strength I]    [Vitality I]    [Defense I]
         |                |                |
         ▼                ▼                ▼
   [Power Strike] [Iron Skin]      [Shield Wall]
         |                |                |
         ├────────────────┴────────────────┤
         ▼                                 ▼
   [Berserker Path]               [Guardian Path]
         |                                 |
   ┌─────┴─────┐                   ┌───────┴───────┐
   ▼           ▼                   ▼               ▼
[Rage]    [Bloodlust]        [Protector]     [Fortify]
   |           |                   |               |
   └─────┬─────┘                   └───────┬───────┘
         ▼                                 ▼
   [Unstoppable]                   [Impenetrable]

Data Models

Skill Tree

interface SkillTree {
  id: string;
  name: string;
  className: string;
  nodes: SkillNode[];
}

Skill Node

interface SkillNode {
  id: string;
  name: string;
  description: string;
  position: { x: number; y: number };
  prerequisites: string[];  // Array of ability IDs
  cost: { skillPoints: number };
  ranks: number;  // How many times you can level this
  effects: SkillEffect[];
}

Skill Effect

interface SkillEffect {
  type: 'passive' | 'active' | 'modifier';
  target: string;  // What it affects
  value: number;   // Magnitude of effect
  scaling?: number; // Per rank bonus
}

Existing Ability Classes

From src/lib/types/abilities.ts:

  • Time Mage - Haste, Slow, Stop, Rewind
  • Black Mage - Damage/offensive abilities
  • White Mage - Support/healing abilities
  • Technician - Debug, Quick Save, Overclock, System Restore

Existing Presets

See src/lib/services/abilities/AbilityPresets.ts:

Time Mage Abilities

Ability MP Cost Requirement Effect
Haste 10 Lv 1 -20% task time
Slow 5 Lv 1 +quality on careful tasks
Stop 25 Lv 5, requires Slow 30-min guilt-free break
Rewind 40 Lv 10, requires Stop Retry failed task +20%

Tech Mage Abilities

Ability MP Cost Requirement Effect
Debug 15 Lv 1 +25% problem-solving
Quick Save 5 Lv 1 Auto-save every 15 min
Overclock 30 Lv 5 2x productivity for 1 hour
System Restore 50 Lv 10 Reset cooldowns, +50% MP

Real Life Rewards

Ability AP Required Frequency
Coffee Break 50 AP/day Daily
Gaming Hour 200 AP/week Weekly
Movie Night 300 AP/week Weekly
Restaurant Meal 500 AP/month Monthly
Day Off 1000 AP/month Monthly
⚠️ **GitHub.com Fallback** ⚠️