Skill trees now render the way the source does: each class has three named subtrees (e.g. Swordmaster: The Blade / The Will / The Way), each with its own 3-col or 5-col grid, sized in 72px cells. Extractor parses subtrees separately so the per-tree row/col coordinates are correct (previously all 22 nodes were stacked on one combined grid and overlapped). Connector edges are mapped per-subtree too. Loadout: new global 3-ability + 3-technique slot row at the bottom of the Skill Trees panel. The cap is global across all 5 classes (matches the source HTML which has `id=active-Ability-N` / `id=active-Technique-N` without per-tree scope). Click a slot to pick from any allocated Ability or Spice (for Ability slots) or any allocated Perk (for Technique slots); right-click clears. Slot backgrounds use the local ability.png / technique.png artwork copied into /icons. Label overlap fix: constrained the name label under each node to the node width (72px) and bumped the vertical gap from 44 to 60px so 2-3 line names have room without bleeding into the row below. Existing saved builds migrate cleanly — loadout normalizes to length-3 slot arrays if absent or malformed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
384 lines
No EOL
12 KiB
JSON
384 lines
No EOL
12 KiB
JSON
{
|
|
"id": "mentat",
|
|
"name": "Mentat",
|
|
"subtrees": [
|
|
{
|
|
"name": "Mental Calculus",
|
|
"cols": 5,
|
|
"nodes": [
|
|
{
|
|
"tag": "Skills.Perk.ShieldWeakpoint",
|
|
"id": "ShieldWeakpoint",
|
|
"name": "Shield Overcharge",
|
|
"kind": "Perk",
|
|
"row": 1,
|
|
"col": 3,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreeshieldovercharge_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-shieldweakpoint"
|
|
},
|
|
{
|
|
"tag": "Skills.Perk.ExploitWeakness",
|
|
"id": "ExploitWeakness",
|
|
"name": "Exploit Weakness",
|
|
"kind": "Perk",
|
|
"row": 2,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreespiceeffectexploitweakness_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-exploitweakness"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.MentalCalculus5",
|
|
"id": "MentalCalculus5",
|
|
"name": "Rifle Damage",
|
|
"kind": "Attribute",
|
|
"row": 2,
|
|
"col": 4,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributedamagebonusscattergun_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-mentalcalculus5"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.MentalCalculus3",
|
|
"id": "MentalCalculus3",
|
|
"name": "Tailoring",
|
|
"kind": "Attribute",
|
|
"row": 3,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributerepairefficiency_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-mentalcalculus3"
|
|
},
|
|
{
|
|
"tag": "Skills.Perk.HeadShots",
|
|
"id": "HeadShots",
|
|
"name": "Marksman",
|
|
"kind": "Perk",
|
|
"row": 3,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeperkmarksman_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-headshots"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.MentalCalculus4",
|
|
"id": "MentalCalculus4",
|
|
"name": "Pistol Damage",
|
|
"kind": "Attribute",
|
|
"row": 3,
|
|
"col": 5,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributedamagebonusgun_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-mentalcalculus4"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.MentalCalculus1",
|
|
"id": "MentalCalculus1",
|
|
"name": "Garment Keeper",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributerepair_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-mentalcalculus1"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.MentalCalculus2",
|
|
"id": "MentalCalculus2",
|
|
"name": "Ranged Damage",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 4,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributedamage_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-mentalcalculus2"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.TurretSeeker",
|
|
"id": "TurretSeeker",
|
|
"name": "The Sentinel",
|
|
"kind": "Ability",
|
|
"row": 5,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconabilityturretseeker_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-turretseeker"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "Skills.Perk.ExploitWeakness",
|
|
"to": "Skills.Perk.ShieldWeakpoint"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus5",
|
|
"to": "Skills.Perk.ShieldWeakpoint"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus3",
|
|
"to": "Skills.Perk.ExploitWeakness"
|
|
},
|
|
{
|
|
"from": "Skills.Perk.ExploitWeakness",
|
|
"to": "Skills.Perk.HeadShots"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus5",
|
|
"to": "Skills.Perk.HeadShots"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus4",
|
|
"to": "Skills.Attribute.MentalCalculus5"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus1",
|
|
"to": "Skills.Attribute.MentalCalculus3"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus1",
|
|
"to": "Skills.Perk.HeadShots"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus2",
|
|
"to": "Skills.Perk.HeadShots"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.MentalCalculus2",
|
|
"to": "Skills.Attribute.MentalCalculus4"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.TurretSeeker",
|
|
"to": "Skills.Attribute.MentalCalculus1"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.TurretSeeker",
|
|
"to": "Skills.Attribute.MentalCalculus2"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Assassination",
|
|
"cols": 3,
|
|
"nodes": [
|
|
{
|
|
"tag": "Skills.Ability.HunterSeeker",
|
|
"id": "HunterSeeker",
|
|
"name": "Hunter-Seeker",
|
|
"kind": "Ability",
|
|
"row": 1,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_icongadgethunterseeker_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-hunterseeker"
|
|
},
|
|
{
|
|
"tag": "Skills.Perk.PoisonTooth",
|
|
"id": "PoisonTooth",
|
|
"name": "Poison Tooth",
|
|
"kind": "Perk",
|
|
"row": 2,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreepoisontooth_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-poisontooth"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.StunDart",
|
|
"id": "StunDart",
|
|
"name": "Stunner",
|
|
"kind": "Ability",
|
|
"row": 2,
|
|
"col": 3,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconabilitystunnerdart_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-stundart"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Assassination2",
|
|
"id": "Assassination2",
|
|
"name": "Assassin's Shot",
|
|
"kind": "Attribute",
|
|
"row": 3,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributedamage_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-assassination2"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.PoisonMine",
|
|
"id": "PoisonMine",
|
|
"name": "Poison Mine",
|
|
"kind": "Ability",
|
|
"row": 4,
|
|
"col": 1,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconabilitypoisonmine_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-poisonmine"
|
|
},
|
|
{
|
|
"tag": "Skills.Attribute.Assassination1",
|
|
"id": "Assassination1",
|
|
"name": "Headshot Damage",
|
|
"kind": "Attribute",
|
|
"row": 4,
|
|
"col": 3,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconskilltreeattributeheadshotbonus_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-attribute-assassination1"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.PoisonCapsuleLauncher",
|
|
"id": "PoisonCapsuleLauncher",
|
|
"name": "Poison Capsule",
|
|
"kind": "Ability",
|
|
"row": 5,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_icongadgetpoisoncapsulelauncher_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-poisoncapsulelauncher"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "Skills.Ability.HunterSeeker",
|
|
"to": "Skills.Perk.PoisonTooth"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.HunterSeeker",
|
|
"to": "Skills.Ability.StunDart"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Assassination2",
|
|
"to": "Skills.Perk.PoisonTooth"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.PoisonMine",
|
|
"to": "Skills.Perk.PoisonTooth"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.StunDart",
|
|
"to": "Skills.Attribute.Assassination2"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.StunDart",
|
|
"to": "Skills.Attribute.Assassination1"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.PoisonMine",
|
|
"to": "Skills.Attribute.Assassination2"
|
|
},
|
|
{
|
|
"from": "Skills.Attribute.Assassination1",
|
|
"to": "Skills.Attribute.Assassination2"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.PoisonCapsuleLauncher",
|
|
"to": "Skills.Ability.PoisonMine"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.PoisonCapsuleLauncher",
|
|
"to": "Skills.Attribute.Assassination1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Tactician",
|
|
"cols": 3,
|
|
"nodes": [
|
|
{
|
|
"tag": "Skills.Ability.PortableGenerator",
|
|
"id": "PortableGenerator",
|
|
"name": "Source of Power",
|
|
"kind": "Ability",
|
|
"row": 1,
|
|
"col": 2,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconabilityportablegenerator_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-portablegenerator"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.SuspensorMine_Reduction",
|
|
"id": "SuspensorMine_Reduction",
|
|
"name": "Anti-gravity Mine",
|
|
"kind": "Ability",
|
|
"row": 2,
|
|
"col": 1,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_icongadgetreductionremotemine_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-suspensormine_reduction"
|
|
},
|
|
{
|
|
"tag": "Skills.Perk.IronWill",
|
|
"id": "IronWill",
|
|
"name": "Iron Will",
|
|
"kind": "Perk",
|
|
"row": 2,
|
|
"col": 3,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconskilltreeironwill_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-perk-ironwill"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.SuspensorMine_Amplification",
|
|
"id": "SuspensorMine_Amplification",
|
|
"name": "Gravity Mine",
|
|
"kind": "Ability",
|
|
"row": 4,
|
|
"col": 1,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_icongadgetamplificationremotemine_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-suspensormine_amplification"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.SolidoDecoy",
|
|
"id": "SolidoDecoy",
|
|
"name": "Solido Decoy",
|
|
"kind": "Ability",
|
|
"row": 4,
|
|
"col": 3,
|
|
"maxPoints": 1,
|
|
"icon": "t_ui_iconabilitysolidodecoy_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-solidodecoy"
|
|
},
|
|
{
|
|
"tag": "Skills.Ability.SuspensorWall",
|
|
"id": "SuspensorWall",
|
|
"name": "Shield Wall",
|
|
"kind": "Ability",
|
|
"row": 5,
|
|
"col": 2,
|
|
"maxPoints": 3,
|
|
"icon": "t_ui_iconabilitysuspensorwall_d.webp",
|
|
"url": "https://dune.gaming.tools/skills/skills-ability-suspensorwall"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "Skills.Ability.PortableGenerator",
|
|
"to": "Skills.Ability.SuspensorMine_Reduction"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.PortableGenerator",
|
|
"to": "Skills.Perk.IronWill"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.SuspensorMine_Amplification",
|
|
"to": "Skills.Ability.SuspensorMine_Reduction"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.SolidoDecoy",
|
|
"to": "Skills.Perk.IronWill"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.SuspensorMine_Amplification",
|
|
"to": "Skills.Ability.SuspensorWall"
|
|
},
|
|
{
|
|
"from": "Skills.Ability.SolidoDecoy",
|
|
"to": "Skills.Ability.SuspensorWall"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |