Task 1: Implement 5-tier talent tree structure

- Rewrite skill definitions with 5-tier Continuous Talent Tree
- Add perk choices at Level 5 and Level 10 for each tier
- Add Elite Perks at T3 L10 and T5 L10
- Remove scrollCrafting (violates NO INSTANT FINISHING pillar)
- Set max:1 for skills that don't need evolution paths
- All 512 tests passing
This commit is contained in:
Unknown
2026-04-23 13:22:44 +02:00
parent 25137d9e0f
commit 52413777cd
13 changed files with 17487 additions and 1108 deletions
+6 -6
View File
@@ -5,7 +5,7 @@
* Updated for the new skill system with tiers and upgrade trees.
*/
import { describe, it, expect, beforeEach } from 'bun:test';
import { describe, it, expect, beforeEach } from 'vitest';
import {
fmt,
fmtDec,
@@ -980,14 +980,14 @@ describe('Individual Skill Tests', () => {
describe('golemMastery', () => {
it('should be defined with correct properties', () => {
expect(SKILLS_DEF.golemMastery).toBeDefined();
expect(SKILLS_DEF.golemMastery.max).toBe(5);
expect(SKILLS_DEF.golemMastery.max).toBe(1);
});
});
describe('golemEfficiency', () => {
it('should be defined with correct properties', () => {
expect(SKILLS_DEF.golemEfficiency).toBeDefined();
expect(SKILLS_DEF.golemEfficiency.max).toBe(5);
expect(SKILLS_DEF.golemEfficiency.max).toBe(1);
});
});
@@ -996,7 +996,7 @@ describe('Individual Skill Tests', () => {
describe('effCrafting', () => {
it('should reduce craft time by 10% per level', () => {
expect(SKILLS_DEF.effCrafting).toBeDefined();
expect(SKILLS_DEF.effCrafting.max).toBe(5);
expect(SKILLS_DEF.effCrafting.max).toBe(1);
expect(SKILLS_DEF.effCrafting.desc).toContain('10% craft time');
});
});
@@ -1004,14 +1004,14 @@ describe('Individual Skill Tests', () => {
describe('fieldRepair', () => {
it('should be defined with correct properties', () => {
expect(SKILLS_DEF.fieldRepair).toBeDefined();
expect(SKILLS_DEF.fieldRepair.max).toBe(5);
expect(SKILLS_DEF.fieldRepair.max).toBe(1);
});
});
describe('elemCrafting', () => {
it('should add +25% craft output per level', () => {
expect(SKILLS_DEF.elemCrafting).toBeDefined();
expect(SKILLS_DEF.elemCrafting.max).toBe(3);
expect(SKILLS_DEF.elemCrafting.max).toBe(1);
expect(SKILLS_DEF.elemCrafting.desc).toContain('25% craft output');
});
});