diff --git a/data/feats.sql b/data/feats.sql new file mode 100644 index 0000000..2ab746d --- /dev/null +++ b/data/feats.sql @@ -0,0 +1,63 @@ +-- -*- mode:sql sql-product:sqlite -*- + +INSERT INTO featprereqs (featprereqs_id, feat_id, descr) +VALUES + (1, NULL, 'Ancestry Level 1'), + (2, NULL, 'Ancestry Level 5'), + (3, NULL, 'Ancestry Level 9'), + (4, NULL, 'Ancestry Level 13'), + (5, 3, 'Feat: Rock Runner'), + (6, 2, 'Feat: Dwarven Weapon Familiarity'); + +INSERT INTO feats ( + feat_id, + sources_id, + sources_pages, + short_name, + descr) +VALUES + (1, 1, '36', 'Dwarven Lore', 'TODO'), + (2, 1, '36', 'Dwarven Weapon Familiarity', 'TODO'), + (3, 1, '36', 'Rock Runner', 'TODO'), + (4, 1, '36', 'Stonecunning', 'TODO'), + (5, 1, '36', 'Unburdened Iron', 'TODO'), + (6, 1, '36', 'Vengeful Hatred', 'TODO'), + (7, 1, '36-37', 'Boulder Roll', 'TODO'), + (8, 1, '37', 'Dwarven Weapon Cunning', 'TODO'), + (9, 1, '37', 'Mountain''s Stoutness', 'TODO'), + (10, 1, '37', 'Stonewalker', 'TODO'), + (11, 1, '37', 'Dwarven Weapon Expertise', 'TODO'); +/* TODO continue all the ancestry, class, general and skill feats */ + +INSERT INTO feats_featprereqs (feat_id, featprereqs_id) +VALUES + (1,1), -- Dwarven Lore + (2,1), -- Dwarven Weapon Familiarity + (3,1), -- Rock Runner + (4,1), -- Stonecunning + (5,1), -- Unburdened Iron + (6,1), -- Vengeful Hatred + (7,2), -- Boulder Roll + (7,5), -- Boulder Roll + (8,2), -- Dwarven Weapon Cunning + (8,6), -- Dwarven Weapon Cunning + (9,3), -- Mountain's Stoutness + (10,3), -- Stonewalker + (11,4), -- Dwarven Weapon Expertise + (11,6); -- Dwarven Weapon Expertise + +INSERT INTO feats_traits (feat_id, trait_id) +VALUES + -- Dwarf Ancestry Trait + (1, 79), -- Dwarven Lore + (2, 79), -- Dwarven Weapon Familiarity + (3, 79), -- Rock Runner + (4, 79), -- Stonecunning + (5, 79), -- Unburdened Iron + (6, 79), -- Vengeful Hatred + (7, 79), -- Boulder Roll + (8, 79), -- Dwarven Weapon Cunning + (9, 79), -- Mountain's Stoutness + (10, 79), -- Stonewalker + (11, 79); -- Dwarven Weapon Expertise + diff --git a/gendb.bat b/gendb.bat index c658dd4..7ea1315 100644 --- a/gendb.bat +++ b/gendb.bat @@ -20,6 +20,7 @@ sqlite3 pf2.db < data/senses.sql sqlite3 pf2.db < data/sizes.sql sqlite3 pf2.db < data/langs.sql sqlite3 pf2.db < data/traits.sql +sqlite3 pf2.db < data/feats.sql sqlite3 pf2.db < data/ancestries.sql sqlite3 pf2.db < data/heritages.sql diff --git a/gendb.sh b/gendb.sh index 2b32cc6..340a4d7 100755 --- a/gendb.sh +++ b/gendb.sh @@ -33,6 +33,8 @@ echo 'data/langs.sql' sqlite3 pf2.db < data/langs.sql echo 'data/traits.sql' sqlite3 pf2.db < data/traits.sql +echo 'data/feats.sql' +sqlite3 pf2.db < data/feats.sql echo 'data/ancestries.sql' sqlite3 pf2.db < data/ancestries.sql echo 'data/heritages.sql' diff --git a/schema/feats.sql b/schema/feats.sql index 8a099e1..432c41d 100644 --- a/schema/feats.sql +++ b/schema/feats.sql @@ -4,17 +4,35 @@ /* Need to rethink how to model the various prerequisites */ + CREATE TABLE feats ( feat_id INTEGER PRIMARY KEY, + sources_id INTEGER NOT NULL, + sources_pages TEXT NOT NULL, short_name TEXT NOT NULL UNIQUE, - prereq_feats INTEGER, - prereq_ability_scores INTEGER, - prereq_proficiency_ranks INTEGER, + descr TEXT NOT NULL, frequency TEXT, triggers TEXT, - reqs TEXT + reqs TEXT, + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) ); +CREATE TABLE featprereqs ( + featprereqs_id INTEGER PRIMARY KEY, + descr TEXT NOT NULL UNIQUE, + feat_id INTEGER, -- this can be NULL since not all prereqs are feats + FOREIGN KEY (feat_id) REFERENCES feats(feat_id) +); + +CREATE TABLE feats_featprereqs ( + id INTEGER PRIMARY KEY, + feat_id INTEGER NOT NULL, + featprereqs_id INTEGER NOT NULL, + FOREIGN KEY (feat_id) REFERENCES feats(feat_id), + FOREIGN KEY (featprereqs_id) REFERENCES featprereqs(featprereqs_id) +); + + CREATE TABLE feats_traits ( id INTEGER PRIMARY KEY, feat_id INTEGER NOT NULL,