Skip to content

Make Divine Oracle prerequisites reachable in normal play#3

Merged
williajm merged 3 commits into
masterfrom
dev
May 25, 2026
Merged

Make Divine Oracle prerequisites reachable in normal play#3
williajm merged 3 commits into
masterfrom
dev

Conversation

@williajm
Copy link
Copy Markdown
Owner

Summary

The Divine Oracle prestige class (added in #1) could not actually be taken through normal play: two of its prerequisites depended on a skill and a feat that ToEE leaves disabled and hidden in the UI. This PR enables them and documents the config requirement.

The problem

Divine Oracle's prerequisites are 8 ranks of Knowledge (religion) and the Skill Focus (Knowledge) feat. Both were unreachable:

  • Knowledge (religion) is one of ToEE's normally-hidden skills. The level-up skill screen only lists skills flagged enabled (skillSys.IsEnabled), and no skills_props.json shipped to enable it — so it never appeared and could not be raised.
  • Skill Focus (Knowledge) (feat 304) carried FPF_DISABLED in feat_properties.tab (value 4354 = FPF_SKILL_FOCUS_ITEM | FPF_DISABLED), like the other disabled-skill focus feats, so it was filtered out of the "Skill Focus" multiselect dropdown.

Net result: the prereq check in class050_divine_oracle.py could never pass.

Changes

  • tpdatasrc/tpgamefiles/rules/skills_props.json (new): enable skill id 34 (Knowledge religion). It is already in the cleric/druid/divine-oracle class_skills tuples, so once enabled it shows up at level-up and counts as a class skill.
  • tpdata/tprules/feat_properties.tab: clear the disabled bit on Skill Focus (Knowledge) (4354 -> 4352) so it appears in the dropdown.
  • DIVINE_ORACLE_INSTALL.txt: document that the class only shows when New Classes and Non-Core Materials are both enabled (it's non-core prestige content), the ini-rewrite-on-exit gotcha, the level-6 timing, and the data files carrying the fixes.

Testing

Verified end-to-end against a GOG ToEE install with the v0.2.0 build plus these data files: created a cleric, raised Knowledge (religion) to 8 ranks, took Skill Focus (Knowledge), and confirmed Divine Oracle is selectable at the cleric 5 -> 6 level-up. JSON validated and the engine loads both files without error at startup.

Note: data/doc-only change — no C++ was modified, so there is nothing to compile or unit-test here. CI's PackFiles.bat step bakes skills_props.json into tpgamefiles.dat.

🤖 Generated with Claude Code

williajm and others added 3 commits May 25, 2026 11:13
The Divine Oracle prestige class requires 8 ranks in Knowledge
(religion), but that skill is one of ToEE's disabled skills and was
never exposed in the level-up UI (no skills_props.json shipped, and
the enable lines in UiCharImpl::CreateSkillsMap are commented out).
As a result the prerequisite could not be met through normal play.

Ship rules/skills_props.json enabling skill id 34 (Knowledge religion).
It is already listed in the cleric/druid/divine-oracle class_skills
tuples, so once enabled it shows up in level-up and counts as a class
skill (full points, max ranks = level+3).

Verified: JSON parses, the engine loads it without error at startup,
and the game boots cleanly against a GOG ToEE install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Skill Focus (Knowledge) (feat enum 304) carried FPF_DISABLED (0x2) in
feat_properties.tab (value 4354 = FPF_SKILL_FOCUS_ITEM | FPF_DISABLED),
the same as the other disabled-skill focus feats. With it disabled it
never appeared in the "Skill Focus" multiselect dropdown, so the Divine
Oracle prerequisite (which requires the Skill Focus (Knowledge) feat)
could not be satisfied even after enabling the Knowledge (religion)
skill.

Clear the disabled bit (4354 -> 4352) so it shows up in the dropdown,
matching every enabled Skill Focus item.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Divine Oracle is non-core prestige content, so it only shows in the
class picker when both New Classes and Non-Core Materials are enabled.
Document that, the ini-rewrite-on-exit gotcha, that this build enables
the Knowledge (religion) skill and Skill Focus (Knowledge) feat, the
level-6 timing, and the data files that carry the fixes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@williajm williajm merged commit ca05904 into master May 25, 2026
6 checks passed
@williajm williajm deleted the dev branch May 25, 2026 10:54
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