cynicaloptimist / improved-initiative

Combat tracker for Dungeons and Dragons (D&D) 5th Edition
https://www.patreon.com/improvedinitiative
MIT License
315 stars 109 forks source link

Pathfinder support #15

Open devonjones opened 8 years ago

devonjones commented 8 years ago

So it may need to be a fork, or just a config variuable, but it would be nice if this could handle pathfinder too.

I happen to have all the monsters from the srd (bestiary 1-4 as the npc codex) already in a database/json format, so I could greatly help with the import of info.

devonjones commented 8 years ago

FWIW, I could totally see you saying "fork it to do that", but even with that, it would be nice to have the game systems somewhat abstracted so that patches can easily flow between them

cynicaloptimist commented 8 years ago

This is a tricky one. I thought about what levels of abstraction I'd need if I wanted Improved Initiative to support multiple game systems. Any assumption I could make about game rules is broken by one or more game systems. Consider:

So, I could start with the assumption that we'll only handle games that have Hit Points and an Initiative order. It could just handle games in the d20 system family. At that point, I think the main point of abstraction is in how to present and format the stat blocks for the different game systems.

One of my main goals with Improved Initiative was to design a (relatively) lightweight combat tracker that does one job and does it really well- it helps you track combat at the table for your D&D 5e game.

For now, I'll recommend a fork for Pathfinder, but I'm open to further discussion on the topic.

cynicaloptimist commented 6 years ago

@devonjones Still got that PRD JSON? I'm ready to start investigating this.

arcos commented 6 years ago

But Pathfinder 2!

cynicaloptimist commented 6 years ago

Uh oh, that's the first I'm hearing of Pathfinder 2! Interesting. Hopefully the main change I need to worry about is in how statblocks are formatted. There are two large requirements to support other rule systems:

  1. Configurable StatBlock formats
  2. Granular enough rules options to match the rulebook for the system.

1 is a little easier now that StatBlock is a React component, and rules options are granular enough to support Pathfinder today, as far as I know. There's still research to be done here.

cynicaloptimist commented 6 years ago

The next step is to build or repurpose a JSON schema that supports Pathfinder statblocks. A full list of PRD creatures to support is available at Pathfinder Community.

devonjones commented 6 years ago

Sorry, havn't been paying attention for a long time. Here's a ton of data: https://github.com/devonjones/PSRD-Data

devonjones commented 6 years ago

This can also parse monster stat blocks out of the Bestiary PDFs: https://github.com/devonjones/bestiary_tools

Probably would take a little code love to make get it to work for Bestiaries 4 & 5 - it's only tested with the PDFs for Bestiary 1-3

Whoops, ignore this - this tool just splits the bestiary up into individual monster pdfs