Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
skillSys.IsEnabled), and noskills_props.jsonshipped to enable it — so it never appeared and could not be raised.FPF_DISABLEDinfeat_properties.tab(value4354 = 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.pycould never pass.Changes
tpdatasrc/tpgamefiles/rules/skills_props.json(new): enable skill id 34 (Knowledge religion). It is already in the cleric/druid/divine-oracleclass_skillstuples, 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.batstep bakesskills_props.jsonintotpgamefiles.dat.🤖 Generated with Claude Code