dune-tools/character-builder/data/spec-crafting.json
Vantz Stockwell 616a84ec5e Allow allocation across all 5 skill trees + show spec perks per level
Skill trees:
- Class is no longer a single choice. The class panel is now tabs inside the
  Skill Trees section that switch which tree is viewed; allocations from every
  tree share one global skill-point pool sourced from character level.
- Switching tabs preserves allocations (previously cleared them).
- New "Skill Summary" panel lists every allocated skill grouped by class.
- Tree-local "spent" badge appears on each class tab; tree header now shows
  both per-tree and global totals, and turns red if over-budget.

Spec perks:
- Extractor now parses the Rewards column of each spec track HTML (name, cost,
  description, effect, bonus, icon). All 5 specs have 41 perks each.
- Spec cards display a scrollable perk list: unlocked perks highlighted, and a
  "Show all" toggle reveals locked/upcoming perks dimmed. A "Next: X at L Y"
  hint always points at the next unlock.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:47:55 -04:00

938 lines
No EOL
23 KiB
JSON

{
"header": [
"Level",
"Required XP",
"Cumulative",
"Rewards"
],
"rows": [
{
"level": 1,
"xpRequired": 100,
"totalXp": 100,
"intelPoints": 1,
"perks": [
{
"name": "Ranged Augmentation Limit",
"description": "Allows additional augments to be slotted onto ranged weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsranged_d.webp"
}
]
},
{
"level": 2,
"xpRequired": 105,
"totalXp": 205,
"intelPoints": 0
},
{
"level": 3,
"xpRequired": 110,
"totalXp": 315,
"intelPoints": 21,
"perks": [
{
"name": "Melee Augmentation Limit",
"cost": "2 Spice Melange",
"description": "Allows additional augments to be slotted onto melee weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsmelee_d.webp"
}
]
},
{
"level": 4,
"xpRequired": 116,
"totalXp": 431,
"intelPoints": 0
},
{
"level": 5,
"xpRequired": 122,
"totalXp": 553,
"intelPoints": 0,
"perks": [
{
"name": "Repair Master",
"cost": "2 Spice Melange",
"description": "Reduces the maximum durability cost of each repair on all types of items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_repairmaxdurability_d.webp"
}
]
},
{
"level": 6,
"xpRequired": 128,
"totalXp": 681,
"intelPoints": 0
},
{
"level": 7,
"xpRequired": 135,
"totalXp": 816,
"intelPoints": 0
},
{
"level": 8,
"xpRequired": 142,
"totalXp": 958,
"intelPoints": 2250,
"perks": [
{
"name": "Consumable Batch Crafting",
"cost": "2 Spice Melange",
"description": "When crafting consumable objects such as healkits, ammo, and spice consumables, there is a chance to produce twice as many.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_consumablebatchcraftingbonus_d.webp"
}
]
},
{
"level": 9,
"xpRequired": 149,
"totalXp": 1107,
"intelPoints": 0
},
{
"level": 10,
"xpRequired": 157,
"totalXp": 1264,
"intelPoints": 21,
"perks": [
{
"name": "Garment Augmentation Limit",
"cost": "2 Spice Melange",
"description": "Allows additional augments to be slotted onto armors.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsarmor_d.webp"
}
]
},
{
"level": 11,
"xpRequired": 164,
"totalXp": 1428,
"intelPoints": 0
},
{
"level": 12,
"xpRequired": 171,
"totalXp": 1599,
"intelPoints": 5100,
"perks": [
{
"name": "Superior Spice Yield",
"cost": "5 Spice Melange",
"description": "A chance to get extra resources from refining orders in the Spice Refineries.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_spicerefiningyields_d.webp"
}
]
},
{
"level": 13,
"xpRequired": 178,
"totalXp": 1777,
"intelPoints": 0
},
{
"level": 14,
"xpRequired": 186,
"totalXp": 1963,
"intelPoints": 5333,
"perks": [
{
"name": "Recycling Yield",
"cost": "5 Spice Melange",
"description": "Recycling yields more resources.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_recycleyield_d.webp"
}
]
},
{
"level": 15,
"xpRequired": 194,
"totalXp": 2157,
"intelPoints": 0
},
{
"level": 16,
"xpRequired": 202,
"totalXp": 2359,
"intelPoints": 550,
"perks": [
{
"name": "Recycling Jackpot",
"cost": "5 Spice Melange",
"description": "When recycling, you may obtain rare additional items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recyclejackpot_d.webp"
}
]
},
{
"level": 17,
"xpRequired": 211,
"totalXp": 2570,
"intelPoints": 0
},
{
"level": 18,
"xpRequired": 220,
"totalXp": 2790,
"intelPoints": 5,
"perks": [
{
"name": "Efficient Machinery",
"cost": "5 Spice Melange",
"description": "Increases the speed of all crafting and refining.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_craftingrefiningspeed_d.webp"
}
]
},
{
"level": 19,
"xpRequired": 229,
"totalXp": 3019,
"intelPoints": 0
},
{
"level": 20,
"xpRequired": 239,
"totalXp": 3258,
"intelPoints": 550,
"perks": [
{
"name": "Augment Fabrication Mastery",
"cost": "5 Spice Melange",
"description": "Increases the chance for better stats when crafting augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_craftingjackpot_d.webp"
}
]
},
{
"level": 21,
"xpRequired": 246,
"totalXp": 3504,
"intelPoints": 0
},
{
"level": 22,
"xpRequired": 253,
"totalXp": 3757,
"intelPoints": 10300,
"perks": [
{
"name": "Superior Chemical Yield",
"cost": "10 Spice Melange",
"description": "A chance to get extra resources from refining orders in the Chemical Refineries.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_chemicalrefiningyields_d.webp"
}
]
},
{
"level": 23,
"xpRequired": 260,
"totalXp": 4017,
"intelPoints": 0
},
{
"level": 24,
"xpRequired": 268,
"totalXp": 4285,
"intelPoints": 0
},
{
"level": 25,
"xpRequired": 276,
"totalXp": 4561,
"intelPoints": 0,
"perks": [
{
"name": "Augment Cost Reduction",
"cost": "10 Spice Melange",
"description": "Decreases the crafting cost for augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recipedecreaseupgradeitems_d.webp"
}
]
},
{
"level": 26,
"xpRequired": 284,
"totalXp": 4845,
"intelPoints": 0
},
{
"level": 27,
"xpRequired": 292,
"totalXp": 5137,
"intelPoints": 0
},
{
"level": 28,
"xpRequired": 301,
"totalXp": 5438,
"intelPoints": 0,
"perks": [
{
"name": "Repair Master",
"cost": "10 Spice Melange",
"description": "Reduces the maximum durability cost of each repair on all types of items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_repairmaxdurability_d.webp"
}
]
},
{
"level": 29,
"xpRequired": 310,
"totalXp": 5748,
"intelPoints": 0
},
{
"level": 30,
"xpRequired": 319,
"totalXp": 6067,
"intelPoints": 101,
"perks": [
{
"name": "Melee Augmentation Limit",
"cost": "10 Spice Melange",
"description": "Allows additional augments to be slotted onto melee weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsmelee_d.webp"
}
]
},
{
"level": 31,
"xpRequired": 326,
"totalXp": 6393,
"intelPoints": 101,
"perks": [
{
"name": "Ranged Augmentation Limit",
"cost": "10 Spice Melange",
"description": "Allows additional augments to be slotted onto ranged weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsranged_d.webp"
}
]
},
{
"level": 32,
"xpRequired": 334,
"totalXp": 6727,
"intelPoints": 0
},
{
"level": 33,
"xpRequired": 342,
"totalXp": 7069,
"intelPoints": 1525,
"perks": [
{
"name": "Augment Fabrication Mastery",
"cost": "15 Spice Melange",
"description": "Increases the chance for better stats when crafting augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_craftingjackpot_d.webp"
}
]
},
{
"level": 34,
"xpRequired": 350,
"totalXp": 7419,
"intelPoints": 0
},
{
"level": 35,
"xpRequired": 358,
"totalXp": 7777,
"intelPoints": 1550,
"perks": [
{
"name": "Recycling Jackpot",
"cost": "15 Spice Melange",
"description": "When recycling, you may obtain rare additional items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recyclejackpot_d.webp"
}
]
},
{
"level": 36,
"xpRequired": 366,
"totalXp": 8143,
"intelPoints": 0
},
{
"level": 37,
"xpRequired": 375,
"totalXp": 8518,
"intelPoints": 0
},
{
"level": 38,
"xpRequired": 384,
"totalXp": 8902,
"intelPoints": 15,
"perks": [
{
"name": "Efficient Machinery",
"cost": "15 Spice Melange",
"description": "Increases the speed of all crafting and refining.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_craftingrefiningspeed_d.webp"
}
]
},
{
"level": 39,
"xpRequired": 393,
"totalXp": 9295,
"intelPoints": 0
},
{
"level": 40,
"xpRequired": 402,
"totalXp": 9697,
"intelPoints": 15333,
"perks": [
{
"name": "Recycling Yield",
"cost": "15 Spice Melange",
"description": "Recycling yields more resources.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_recycleyield_d.webp"
}
]
},
{
"level": 41,
"xpRequired": 410,
"totalXp": 10107,
"intelPoints": 0
},
{
"level": 42,
"xpRequired": 418,
"totalXp": 10525,
"intelPoints": 151,
"perks": [
{
"name": "Garment Augmentation Limit",
"cost": "15 Spice Melange",
"description": "Allows additional augments to be slotted onto armors.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsarmor_d.webp"
}
]
},
{
"level": 43,
"xpRequired": 426,
"totalXp": 10951,
"intelPoints": 0
},
{
"level": 44,
"xpRequired": 434,
"totalXp": 11385,
"intelPoints": 0
},
{
"level": 45,
"xpRequired": 442,
"totalXp": 11827,
"intelPoints": 20100,
"perks": [
{
"name": "Superior Spice Yield",
"cost": "20 Spice Melange",
"description": "A chance to get extra resources from refining orders in the Spice Refineries.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_spicerefiningyields_d.webp"
}
]
},
{
"level": 46,
"xpRequired": 450,
"totalXp": 12277,
"intelPoints": 0
},
{
"level": 47,
"xpRequired": 459,
"totalXp": 12736,
"intelPoints": 0
},
{
"level": 48,
"xpRequired": 468,
"totalXp": 13204,
"intelPoints": 0,
"perks": [
{
"name": "Repair Master",
"cost": "20 Spice Melange",
"description": "Reduces the maximum durability cost of each repair on all types of items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_repairmaxdurability_d.webp"
}
]
},
{
"level": 49,
"xpRequired": 477,
"totalXp": 13681,
"intelPoints": 0
},
{
"level": 50,
"xpRequired": 486,
"totalXp": 14167,
"intelPoints": 0
},
{
"level": 51,
"xpRequired": 494,
"totalXp": 14661,
"intelPoints": 0
},
{
"level": 52,
"xpRequired": 502,
"totalXp": 15163,
"intelPoints": 20,
"perks": [
{
"name": "Pattern Upgrading",
"cost": "20 Spice Melange",
"description": "Unlocks a recipe in the Advanced Survival Fabricator which combines lower quality Schematic Patterns to create higher quality patterns.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_upgradingfragmentsability_d.webp"
}
]
},
{
"level": 53,
"xpRequired": 510,
"totalXp": 15673,
"intelPoints": 0
},
{
"level": 54,
"xpRequired": 518,
"totalXp": 16191,
"intelPoints": 0
},
{
"level": 55,
"xpRequired": 526,
"totalXp": 16717,
"intelPoints": 2025,
"perks": [
{
"name": "Augment Fabrication Mastery",
"cost": "20 Spice Melange",
"description": "Increases the chance for better stats when crafting augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_craftingjackpot_d.webp"
}
]
},
{
"level": 56,
"xpRequired": 534,
"totalXp": 17251,
"intelPoints": 0
},
{
"level": 57,
"xpRequired": 543,
"totalXp": 17794,
"intelPoints": 0
},
{
"level": 58,
"xpRequired": 552,
"totalXp": 18346,
"intelPoints": 0
},
{
"level": 59,
"xpRequired": 561,
"totalXp": 18907,
"intelPoints": 0,
"perks": [
{
"name": "Augment Cost Reduction",
"cost": "20 Spice Melange",
"description": "Decreases the crafting cost for augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recipedecreaseupgradeitems_d.webp"
}
]
},
{
"level": 60,
"xpRequired": 570,
"totalXp": 19477,
"intelPoints": 0
},
{
"level": 61,
"xpRequired": 575,
"totalXp": 20052,
"intelPoints": 25150,
"perks": [
{
"name": "Waste Not, Want Not",
"cost": "25 Spice Melange",
"description": "When recycling a unique item, you have a chance to recover the schematic used to fabricate that item.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_schematicswhenrecycle_d.webp"
}
]
},
{
"level": 62,
"xpRequired": 580,
"totalXp": 20632,
"intelPoints": 0
},
{
"level": 63,
"xpRequired": 585,
"totalXp": 21217,
"intelPoints": 25300,
"perks": [
{
"name": "Superior Ore Yield",
"cost": "25 Spice Melange",
"description": "A chance to get extra resources from refining orders in the Ore Refineries.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_refiningyields_d.webp"
}
]
},
{
"level": 64,
"xpRequired": 590,
"totalXp": 21807,
"intelPoints": 0
},
{
"level": 65,
"xpRequired": 595,
"totalXp": 22402,
"intelPoints": 0
},
{
"level": 66,
"xpRequired": 600,
"totalXp": 23002,
"intelPoints": 0,
"perks": [
{
"name": "Repair Master",
"cost": "25 Spice Melange",
"description": "Reduces the maximum durability cost of each repair on all types of items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_repairmaxdurability_d.webp"
}
]
},
{
"level": 67,
"xpRequired": 606,
"totalXp": 23608,
"intelPoints": 0
},
{
"level": 68,
"xpRequired": 612,
"totalXp": 24220,
"intelPoints": 0
},
{
"level": 69,
"xpRequired": 618,
"totalXp": 24838,
"intelPoints": 2550,
"perks": [
{
"name": "Recycling Jackpot",
"cost": "25 Spice Melange",
"description": "When recycling, you may obtain rare additional items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recyclejackpot_d.webp"
}
]
},
{
"level": 70,
"xpRequired": 624,
"totalXp": 25462,
"intelPoints": 0
},
{
"level": 71,
"xpRequired": 624,
"totalXp": 26086,
"intelPoints": 0
},
{
"level": 72,
"xpRequired": 624,
"totalXp": 26710,
"intelPoints": 25,
"perks": [
{
"name": "Efficient Machinery",
"cost": "25 Spice Melange",
"description": "Increases the speed of all crafting and refining.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_craftingrefiningspeed_d.webp"
}
]
},
{
"level": 73,
"xpRequired": 624,
"totalXp": 27334,
"intelPoints": 0
},
{
"level": 74,
"xpRequired": 624,
"totalXp": 27958,
"intelPoints": 0
},
{
"level": 75,
"xpRequired": 624,
"totalXp": 28582,
"intelPoints": 30,
"perks": [
{
"name": "Crafter\u2019s Helm Variant",
"cost": "30 Spice Melange",
"description": "Headgear commemorating those who craft, create, and build. Such artisans shape the world around them by the sheer force of their artifice. \n\nUsed to customize helmets.",
"bonus": "Unlocks cosmetic reward",
"icon": "t_ui_iconspecialization_reward_crafting_malehelmet01_d.webp"
}
]
},
{
"level": 76,
"xpRequired": 624,
"totalXp": 29206,
"intelPoints": 0
},
{
"level": 77,
"xpRequired": 624,
"totalXp": 29830,
"intelPoints": 0
},
{
"level": 78,
"xpRequired": 624,
"totalXp": 30454,
"intelPoints": 3050,
"perks": [
{
"name": "Augment Fabrication Mastery",
"cost": "30 Spice Melange",
"description": "Increases the chance for better stats when crafting augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_craftingjackpot_d.webp"
}
]
},
{
"level": 79,
"xpRequired": 624,
"totalXp": 31078,
"intelPoints": 0
},
{
"level": 80,
"xpRequired": 624,
"totalXp": 31702,
"intelPoints": 30333,
"perks": [
{
"name": "Recycling Yield",
"cost": "30 Spice Melange",
"description": "Recycling yields more resources.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_recycleyield_d.webp"
}
]
},
{
"level": 81,
"xpRequired": 624,
"totalXp": 32326,
"intelPoints": 0
},
{
"level": 82,
"xpRequired": 624,
"totalXp": 32950,
"intelPoints": 0
},
{
"level": 83,
"xpRequired": 624,
"totalXp": 33574,
"intelPoints": 0,
"perks": [
{
"name": "Repair Master",
"cost": "30 Spice Melange",
"description": "Reduces the maximum durability cost of each repair on all types of items.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_repairmaxdurability_d.webp"
}
]
},
{
"level": 84,
"xpRequired": 624,
"totalXp": 34198,
"intelPoints": 0
},
{
"level": 85,
"xpRequired": 624,
"totalXp": 34822,
"intelPoints": 30100,
"perks": [
{
"name": "Superior Spice Yield",
"cost": "30 Spice Melange",
"description": "A chance to get extra resources from refining orders in the Spice Refineries.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_spicerefiningyields_d.webp"
}
]
},
{
"level": 86,
"xpRequired": 624,
"totalXp": 35446,
"intelPoints": 0
},
{
"level": 87,
"xpRequired": 624,
"totalXp": 36070,
"intelPoints": 351,
"perks": [
{
"name": "Ranged Augmentation Limit",
"cost": "35 Spice Melange",
"description": "Allows additional augments to be slotted onto ranged weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsranged_d.webp"
}
]
},
{
"level": 88,
"xpRequired": 624,
"totalXp": 36694,
"intelPoints": 351,
"perks": [
{
"name": "Melee Augmentation Limit",
"cost": "35 Spice Melange",
"description": "Allows additional augments to be slotted onto melee weapons.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_augmentslotsmelee_d.webp"
}
]
},
{
"level": 89,
"xpRequired": 624,
"totalXp": 37318,
"intelPoints": 0
},
{
"level": 90,
"xpRequired": 624,
"totalXp": 37942,
"intelPoints": 0,
"perks": [
{
"name": "Augment Cost Reduction",
"cost": "35 Spice Melange",
"description": "Decreases the crafting cost for augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_recipedecreaseupgradeitems_d.webp"
}
]
},
{
"level": 91,
"xpRequired": 624,
"totalXp": 38566,
"intelPoints": 0
},
{
"level": 92,
"xpRequired": 624,
"totalXp": 39190,
"intelPoints": 0
},
{
"level": 93,
"xpRequired": 624,
"totalXp": 39814,
"intelPoints": 35,
"perks": [
{
"name": "Efficient Machinery",
"cost": "35 Spice Melange",
"description": "Increases the speed of all crafting and refining.",
"icon": "t_ui_iconspecialization_keystoneminor_crafting_craftingrefiningspeed_d.webp"
}
]
},
{
"level": 94,
"xpRequired": 624,
"totalXp": 40438,
"intelPoints": 0
},
{
"level": 95,
"xpRequired": 624,
"totalXp": 41062,
"intelPoints": 0
},
{
"level": 96,
"xpRequired": 624,
"totalXp": 41686,
"intelPoints": 3550,
"perks": [
{
"name": "Augment Fabrication Mastery",
"cost": "35 Spice Melange",
"description": "Increases the chance for better stats when crafting augments.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_craftingjackpot_d.webp"
}
]
},
{
"level": 97,
"xpRequired": 624,
"totalXp": 42310,
"intelPoints": 0
},
{
"level": 98,
"xpRequired": 624,
"totalXp": 42934,
"intelPoints": 0
},
{
"level": 99,
"xpRequired": 624,
"totalXp": 43558,
"intelPoints": 0
},
{
"level": 100,
"xpRequired": 624,
"totalXp": 44182,
"intelPoints": 40150,
"perks": [
{
"name": "Ghost Data",
"cost": "40 Spice Melange",
"description": "Chance to gain twice as many permits when learning a schematic.",
"icon": "t_ui_iconspecialization_keystonemajor_crafting_ghostdataability_d.webp"
}
]
}
]
}