dune-tools/character-builder/data/faction-harkonnen.json
Vantz Stockwell 98a1792106 Add Dune Awakening character builder + initial project scaffolding
- 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>
2026-05-23 07:30:37 -04:00

136 lines
No EOL
2.4 KiB
JSON

{
"header": [
"Tier",
"Name",
"Required Rep",
"Cumulative"
],
"tiers": [
{
"tier": 0,
"name": "Outsider",
"standingRequired": 0,
"totalStanding": 0
},
{
"tier": 1,
"name": "Mercenary",
"standingRequired": 99,
"totalStanding": 99
},
{
"tier": 2,
"name": "Recruit",
"standingRequired": 150,
"totalStanding": 249
},
{
"tier": 3,
"name": "Contractor",
"standingRequired": 250,
"totalStanding": 499
},
{
"tier": 4,
"name": "Agent",
"standingRequired": 500,
"totalStanding": 999
},
{
"tier": 5,
"name": "House Operator",
"standingRequired": 1000,
"totalStanding": 1999
},
{
"tier": 6,
"name": "-",
"standingRequired": 225,
"totalStanding": 2224
},
{
"tier": 7,
"name": "-",
"standingRequired": 300,
"totalStanding": 2524
},
{
"tier": 8,
"name": "-",
"standingRequired": 375,
"totalStanding": 2899
},
{
"tier": 9,
"name": "-",
"standingRequired": 450,
"totalStanding": 3349
},
{
"tier": 10,
"name": "-",
"standingRequired": 525,
"totalStanding": 3874
},
{
"tier": 11,
"name": "-",
"standingRequired": 600,
"totalStanding": 4474
},
{
"tier": 12,
"name": "-",
"standingRequired": 675,
"totalStanding": 5149
},
{
"tier": 13,
"name": "-",
"standingRequired": 750,
"totalStanding": 5899
},
{
"tier": 14,
"name": "-",
"standingRequired": 825,
"totalStanding": 6724
},
{
"tier": 15,
"name": "-",
"standingRequired": 900,
"totalStanding": 7624
},
{
"tier": 16,
"name": "-",
"standingRequired": 975,
"totalStanding": 8599
},
{
"tier": 17,
"name": "-",
"standingRequired": 1050,
"totalStanding": 9649
},
{
"tier": 18,
"name": "-",
"standingRequired": 1125,
"totalStanding": 10774
},
{
"tier": 19,
"name": "-",
"standingRequired": 1200,
"totalStanding": 11974
},
{
"tier": 20,
"name": "Enforcer",
"standingRequired": 500,
"totalStanding": 12474
}
]
}