pathfinder-2-sqlite-MIRROR/README.md

50 lines
1.6 KiB
Markdown
Raw Normal View History

2019-08-02 18:30:41 -04:00
# Pathfinder 2 Sqlite
2019-08-02 18:56:21 -04:00
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
2019-08-06 12:21:14 -04:00
limitations on concurrent writes won't be an issue either. Finally, it's
permissively licensed.
2019-08-02 18:56:21 -04:00
## 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;
2019-08-02 18:57:00 -04:00
2. Write script to generate sqlite database from sql code;
2019-08-02 18:56:21 -04:00
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 |
2019-08-02 22:32:19 -04:00
| 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
2019-08-06 12:20:11 -04:00
CHA, that would be 1 + 16 + 32 = `49`. This is to give a program-focused data
return in addition to the textual representation.