this a mirror of the gitlab repo of pathfinder-2-sqlite
 
 
 
 
Go to file
James R Miller 5813a49b07 update schema to account for a trait type, data partial on adding types to traits data 2019-08-05 20:32:20 +00:00
data update schema to account for a trait type, data partial on adding types to traits data 2019-08-05 20:32:20 +00:00
schema update schema to account for a trait type, data partial on adding types to traits data 2019-08-05 20:32:20 +00:00
.gitignore new file: .gitignore 2019-08-03 22:08:46 -05:00
CONTRIBUTORS.md fix markdown list in CONTRIBUTORS.md 2019-08-05 13:49:37 -05:00
LICENSE.md new file: LICENSE.md 2019-08-02 17:46:38 -05:00
README.md update README.md with 0 for a none category on ability scores 2019-08-02 22:33:11 -05:00
gendb.bat New file: gendb.bat (batch version of gendb.sh) 2019-08-04 09:30:39 +02:00
gendb.sh add some script output on gendb.sh 2019-08-03 22:21:47 -05:00

README.md

Pathfinder 2 Sqlite

This will be a repository for the code necessary to generate a sqlite database containing the open gaming content for the Pathfinder 2 table-top role-playing-game system that is available under the Open Gaming License. Pull requests welcomed!

Why sqlite?

It's an open, permissively licensed, and portable single-file database that does not require setting up a client/server model. It's also likely that the database will fit into memory easily so performance issues aren't likely to be a problem. Also, most use cases of this data will likely be read only, so the sqlite limitations on concurrent writes won't be an issue either.

Why not JSON?

Because I'd rather leverage sql's power, than writing internal code to a future Pathfinder 2 app. Also, because sqlite is pretty much language agnostic at this point; Pythonistas, Gophers, Rustaceans, and anything in between can access a sqlite database.

Roadmap

  1. Design schema;
  2. Write script to generate sqlite database from sql code;
  3. Write sql code; and
  4. Drinks for all when finished!

Conventions in the Code

Ability Scores in Integer Representation

Ability Type Value
None 0
STR 1
DEX 2
CON 4
INT 8
WIS 16
CHA 32
Free 1 64
Free 2 128

If I wanted to say STR and DEX, I would use a 3. If I wanted STR, WIS, and CHA, that would be 1 + 16 + 32 = 49. This is to not have to have more database tables than necessary when trying to list one or more ability scores.