Skip to content

Ingest Demonic Pacts pact tree (nodes, costs, prereqs, task rewards) #3

@iamacoffeepot

Description

@iamacoffeepot

Background

Demonic Pacts League introduces a 130-node pact tree separate from relics. Players spend a budget of 40 pact points across the tree. The tree is non-linear with multiple starting points and per-node costs. None of this is currently in the database.

Source data:

What we need

  • New table `pact_nodes`: id, code (e.g. `F7`, `L2`), name, branch (Magic / Melee / Ranged / Support / Rune Regen / etc), effect description, point cost.
  • New table `pact_node_prereqs`: node_id, required_node_id (for tree edges).
  • Per-task pact-point reward: extend `league_tasks` with a `pact_points` column, OR a separate join table if not all tasks award them. Wiki says "tasks across the League areas" award the 40 total — implies a subset, possibly milestone-based.

Why it matters

Route planning for Demonic Pacts requires sequencing tasks against a target build. Without per-pact costs and per-task pact-point rewards, builds can only be expressed as wishlists (priority order) rather than actionable sequences.

Surfaced while planning the Magic safespot dragon build for the Demonic Pacts route — wanted to know how many tasks to complete before `F7 + I2 + L2 + AA` (the foundation) was deployable.

Suggested approach

  1. Try the planner's bundle (`/demonic-pacts/assets/index-*.js`) for embedded data — likely a lazy-loaded JSON or inline object literal.
  2. If that fails, parse `/w/Demonic_Pacts_League/Demonic_Pacts` for effect text and cross-reference the planner UI for costs/edges by hand or by scraping rendered HTML.
  3. New pipeline script `scripts/pipeline/fetch_pacts.py`, runnable via `fetch_all.py --league`.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions