Skip to content

Add pf2e-remaster: Pathfinder Remaster rules as a wiki content pack - #2

Merged
HarryCordewener merged 8 commits into
mainfrom
claude/content-packs-hooohg
Oct 15, 2026
Merged

HarryCordewener merged 8 commits into
mainfrom
claude/content-packs-hooohg

Conversation

@HarryCordewener

@HarryCordewener HarryCordewener commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Requested by Grave · project thread

Before: no package shipped wiki content, and a game running Pathfinder had to write its own rules reference.

After: pf2e-remaster/ is a content pack of 55 wiki pages. It covers all 42 conditions from Player Core, grouped as the book groups them (Attitudes, Death and Dying, Degrees of Detection, Lowered Abilities, Senses), plus Degrees of Success. It has four GM Core reference pages with tables: Simple DCs, DCs by Level, Spell DCs by Rank and DC Adjustments. These are documentation only; softcode never reads wiki pages, and the numbers as game data belong in the rules implementation package. It also has a Help:ORC License Notice page, which only wiki admins can edit or delete. The Conditions and Difficulty Classes categories are pinned to the wiki home.

The manifest uses the wiki: block (format 1.4) from the content-packs design. SharpMUSH can't read that block yet; the engine side is a separate project. Until it ships, a server refuses this package at review. That is why this PR is a draft.

How:

  • Text: written for this pack from Player Core pp. 442-447 and GM Core pp. 52-53, in our own words. It contains no proper nouns, art or setting material.
  • Licence: the rules text is under the ORC License, not the repo licence. NOTICE.md has the four parts the licence requires: the ORC notice, attribution to Player Core and GM Core with their full author credits, a Reserved Material statement and a Designated Material statement. It also says Paizo does not endorse the pack. The same text installs as the in-game notice page, and every pack page ends with a line linking to it.
  • Listing: index.yaml and the root README list the pack, and the README's licence section names the ORC exception.
  • Separate package: the rules implementation (checks, applying conditions, the DC tables as data) will be its own package and will depend on the dice package.

Before tagging pf2e-remaster/v1.0.0, check the attribution author lists against each book's own ORC notice page. I took them from two third-party notices that agree.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG


Generated by Claude Code

Every condition from Player Core and the GM Core difficulty class tables,
as wiki pages and tables declared in a format 1.4 wiki: block. Rules text
is under the ORC License; NOTICE.md carries the notice, attribution and
reserved-material statements, and installs as Help:ORC License Notice.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
@HarryCordewener HarryCordewener self-assigned this Oct 14, 2026
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Walkthrough

Warning

Review details and warnings were omitted to fit the comment limit.

SharpMUSH targets .NET 11, so the validator no longer builds on the
10.0.x SDK the workflow installed (NETSDK1045).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG

Copy link
Copy Markdown
Member Author

validate failed on the first push because the workflow installed the .NET 10 SDK, and SharpMUSH now targets .NET 11 (NETSDK1045). That failure didn't come from this PR. 9198191 fixes it by having the workflow install the SDK that sharpmush/global.json pins.

With the right SDK, the validator still fails, and that failure is expected. I ran it locally:

WARN  pf2e-remaster/package.yaml: Unknown key 'wiki' is ignored.
WARN  pf2e-remaster/package.yaml: Format 1.4 is newer than this server fully supports (1.3)
ERROR pf2e-remaster/package.yaml: Error at objects: 'objects' is required.

Every other package validates. This one goes green when SharpMUSH reads the wiki: block (format 1.4), which is a separate engine project. The PR stays a draft until then.


Generated by Claude Code

…s the SDK

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
…, not data

Softcode never reads wiki pages, so there is no Table namespace. The DC pages stay as
reference documentation; their numbers as game data belong in the rules implementation
package.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
Each wiki entry is now `page: <namespace>:<slug>` with no separate
`namespace:` key, and every link in a page body is [[Display|ns:slug]],
resolved by the generator to the page this pack declares with that title.
The validator requires both. 1.0.0 is unreleased, so the version stays.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
+table shows a table, +table/list the tables a player may read, and
+table/roll rolls one and tells the room (/private tells only the
roller). Table keepers (softcode.tables.admin, the Table Keeper role)
create tables, add, replace and remove rows, change the die and title,
lock who may read a table, and publish it to a wiki page. The wiki page
is output only; nothing reads it back.

Each table is a TABLE`<NAME> attribute tree on the data object, one
leaf per row and one for its key, so rows are edited by hand or by
command one at a time. Die tables roll with roll(), weight tables with
one rand() over the summed weights, none tables deal with shuffle();
each command builds the table's faces or deck once, so a 500-row table
rolls twenty times well inside the function invocation limit. A row can
roll another table with u(FN`TABLE`ROLL,<name>), five deep at most.

+table is added with @command/add/noparse and an inline hook, so row
code typed into +table/row is stored as typed. Ships four original
coastal tables (weather, wind, squall, tide) and +help topics through
plus-help.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
Adds the classes, class features, ancestries, heritages, backgrounds,
feats, spells, actions, equipment and familiar abilities of the three
books, transcribed from the Foundry VTT pf2e system and limited to the
items it marks as ORC-licensed from those books. Adds a page per skill,
Proficiency Ranks, a Character Sheet overview, rules overviews from
the GM Core and Player Core rules, and the category tree that links
them, with Character Creation and Rules pinned.

Pages that named a deity, place, organization, named plane or other
setting term are reworded to leave it out, or left out where the name
is the rule. The notice adds Player Core 2 and credits the Foundry
pf2e volunteers as the transcription source.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FnLNvKZTAL8SzXwMt4ijhG
@HarryCordewener
HarryCordewener marked this pull request as ready for review October 15, 2026 03:35
@HarryCordewener
HarryCordewener merged commit f3da0a8 into main Oct 15, 2026
3 checks passed
@HarryCordewener
HarryCordewener deleted the claude/content-packs-hooohg branch October 15, 2026 03:45
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.

2 participants