- character-builder/: Vue 3 + NestJS + Valkey app for planning house, class, character XP, 5 spec tracks, faction standing, and skill trees. Shareable via short link (POST /api/builds → 8-char nanoid). - character-builder/data/: parsed JSON tables (character XP through L200, 5 specs to L100, 2 faction standing tables, 5 class skill trees). - character-builder/scripts/extract.py: parser that regenerates data/*.json from the gitignored sample-data/*.html snapshots. - Dockerfile + docker-compose.yml: two-container deploy (app + Valkey). - specialization-calculator/: pre-existing single-file XP/quest calculator, carried into the repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
268 lines
No EOL
7.5 KiB
JSON
268 lines
No EOL
7.5 KiB
JSON
{
|
|
"id": "planetologist",
|
|
"name": "Planetologist",
|
|
"nodes": [
|
|
{
|
|
"tag": "Skills.Perk.BatteryExpert",
|
|
"id": "BatteryExpert",
|
|
"name": "Conservation of Energy",
|
|
"kind": "Perk",
|
|
"row": 1,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeperkbatteryexpert_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-batteryexpert"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Scientist5",
|
|
"id": "Scientist5",
|
|
"name": "Compaction",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributespiceyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-scientist5"
|
|
},
|
|
{
|
|
"tag": "Skills.Science.m_PowerMax",
|
|
"id": "m_PowerMax",
|
|
"name": "Overcharge",
|
|
"kind": "Science",
|
|
"row": 2,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributemineralyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-science-m_powermax"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Scientist4",
|
|
"id": "Scientist4",
|
|
"name": "Deep Analysis",
|
|
"kind": "Attribute",
|
|
"row": 3,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributemineralyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-scientist4"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Scientist2",
|
|
"id": "Scientist2",
|
|
"name": "Dew Gathering",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributewatheryield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-scientist2"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Scientist3",
|
|
"id": "Scientist3",
|
|
"name": "Rerouting",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeskillpowerefficiency_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-scientist3"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Scientist1",
|
|
"id": "Scientist1",
|
|
"name": "Cutteray Mining",
|
|
"kind": "Attribute",
|
|
"row": 5,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributemineralyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-scientist1"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Explorer5",
|
|
"id": "Explorer5",
|
|
"name": "Spice Surveyor",
|
|
"kind": "Attribute",
|
|
"row": 1,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreeattributespice_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-explorer5"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Explorer3",
|
|
"id": "Explorer3",
|
|
"name": "Scanner Mastery",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributescanningbonus_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-explorer3"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Explorer4",
|
|
"id": "Explorer4",
|
|
"name": "Stillsuit Seals",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeskillhydration_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-explorer4"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Explorer1",
|
|
"id": "Explorer1",
|
|
"name": "Cartographer",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 1,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreeskillobservation_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-explorer1"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Explorer2",
|
|
"id": "Explorer2",
|
|
"name": "Mountaineer",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeskillclimber_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-explorer2"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.SuspensorPad",
|
|
"id": "SuspensorPad",
|
|
"name": "Suspensor Pad",
|
|
"kind": "Ability",
|
|
"row": 5,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconabilitysuspensorpad_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-suspensorpad"
|
|
},
|
|
{
|
|
"tag": "Skills.Spice.VehicleHeat",
|
|
"id": "VehicleHeat",
|
|
"name": "Heat Management",
|
|
"kind": "Spice",
|
|
"row": 1,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreeheatmanagement_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-spice-vehicleheat"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver5",
|
|
"id": "Driver5",
|
|
"name": "Fuel Efficient Pilot",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributevehicle_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver5"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver6",
|
|
"id": "Driver6",
|
|
"name": "Sandcrawler Yield",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributespiceyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver6"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver4",
|
|
"id": "Driver4",
|
|
"name": "Vehicle Scanning",
|
|
"kind": "Attribute",
|
|
"row": 3,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributescanningbonus_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver4"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver2",
|
|
"id": "Driver2",
|
|
"name": "Fuel Efficient Driver",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributevehicle_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver2"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver3",
|
|
"id": "Driver3",
|
|
"name": "Vehicle Mining",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributemineralyield_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver3"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Driver1",
|
|
"id": "Driver1",
|
|
"name": "Vehicle Repair",
|
|
"kind": "Attribute",
|
|
"row": 5,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributerepairefficiency_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-driver1"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "Skills.Attribute.Scientist5",
|
|
"to": "Skills.Perk.BatteryExpert"
|
|
},
|
|
{
|
|
"from": "Skills.Perk.BatteryExpert",
|
|
"to": "Skills.Science.m_PowerMax"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist4",
|
|
"to": "Skills.Attribute.Scientist5"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist2",
|
|
"to": "Skills.Attribute.Scientist5"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist4",
|
|
"to": "Skills.Science.m_PowerMax"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist3",
|
|
"to": "Skills.Science.m_PowerMax"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist2",
|
|
"to": "Skills.Attribute.Scientist4"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist3",
|
|
"to": "Skills.Attribute.Scientist4"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist1",
|
|
"to": "Skills.Attribute.Scientist2"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Scientist1",
|
|
"to": "Skills.Attribute.Scientist3"
|
|
}
|
|
]
|
|
} |