Skip to content

Resolve untargeted PoE2 references in PassiveSkills, NPCTalk, CharacterStartStates and AfflictionQuestFogBankValues - #248

Closed
juddisjudd wants to merge 1 commit into
poe-tool-dev:mainfrom
juddisjudd:poe2-foreign-keys
Closed

juddisjudd wants to merge 1 commit into
poe-tool-dev:mainfrom
juddisjudd:poe2-foreign-keys

Conversation

@juddisjudd

Copy link
Copy Markdown
Contributor

Resolves nine rid columns in PoE2 tables to the tables they actually reference. Each one was found by ranking candidate tables by row count against the column's index range, then confirmed by reading the referenced rows.

PassiveSkills _: ridVariantType: PassiveSkillVariantTypes (85 rows, 84 referenced). For every atlas notable the referenced row's Id is the passive's own Id (AtlasStrongboxNotable10AtlasStrongboxNotable10, AtlasBreachNotable13AtlasBreachNotable13, …), and the 583 attribute passives all point at GenericAttribute.

NPCTalk _: [rid]Characters: [Characters] (12 rows, all 12 referenced). Set on 19 rows and gates dialogue by class: Monk Reveal and Archon of Chayula list one character, Introduction and Who Are You? list every character. It sits next to the existing Ascendancy: [Ascendancy] list.

CharacterStartStates _: [rid] (the third [rid]) → SupportGems: [SupportGems] (637 rows, 179 referenced, max index 613). Every value resolves to a support gem, e.g. TemplarActTwo → Kulemak's Dominion, Ancestral Urgency, Long Fuse.

AfflictionQuestFogBankValues columns 0, 1, 4 and 6 → NPCs / [NPCs] (979 rows). The table's single row resolves entirely to Incursion temple entries: Metadata/NPC/League/Incursion/AlvaIncursionTempleSummonKamasanGold, the AlvaIncursionTempleSummon* storage NPCs in both lists, and LeagueIncursionNew/Commander/Monsters/Boss/BlackjawPast for column 4. Left unnamed since the role of each column is not clear from the data.

Check. ggpk-explorer's lint of every declared reference against its target's row count reports no violations on 4.5.5.2 with this schema.

Not included, for the record: CharacterStartStates columns 11/12 fit BaseItemTypes (max 5171 of 5496) and read as equipment for the *ActThree/*ActFive states, but the Gamescom/demo states resolve to PoE1 leftovers, so I did not want to assert it; column 16 pairs each support gem with one of three SkillGems rows (CastOnElementalAilment, CastOnMeleeKill, CastOnDeath), which looks like the gem the support is socketed in but is only three distinct values.

PassiveSkills gains VariantType: PassiveSkillVariantTypes, NPCTalk a
Characters list, CharacterStartStates a SupportGems list, and the four
rid columns of AfflictionQuestFogBankValues point at NPCs. Each target
was confirmed by reading the referenced rows on patch 4.5.5.2.
@juddisjudd

Copy link
Copy Markdown
Contributor Author

Superseded by #249, which carries both changes in a single commit on top of main.

@juddisjudd juddisjudd closed this Sep 15, 2026
@juddisjudd
juddisjudd deleted the poe2-foreign-keys branch September 15, 2026 04:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant