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

AP is earned and counted in a window; it is never spent. A Power opens when the hero's AP in its window reaches the gate, and casting it costs MP. The full table is in the economy rebalance spec.

Ability AP Required Frequency
Captain's Seat 8 AP/day Daily
Portal Hour 40 AP/week Weekly
Quiet Day 40 AP/week Weekly
Feast Decree 60 AP/week Weekly
Guild Gathering 100 AP/month Monthly
Day of Rest 200 AP/month Monthly
⚠️ **GitHub.com Fallback** ⚠️