diff --git a/data/armor.sql b/data/armor.sql new file mode 100644 index 0000000..6623bec --- /dev/null +++ b/data/armor.sql @@ -0,0 +1,80 @@ + +-- TODO update sizes table with a FK to bulk to get the data from the table on +-- pg 272 CRB +INSERT INTO bulk ( + bulk_id, + sources_id, + sources_pages, + short_name, + long_name, + numerical) +VALUES + (1, 1, '271-72', '-', 'Negligible', 0.0), + (2, 1, '271-72', 'L', 'Light', 0.1), + (3, 1, '271-72', '1', 'One', 1.0), + (4, 1, '271-72', '2', 'Two', 2.0), + (5, 1, '271-72', '3', 'Three', 3.0), + (6, 1, '271-72', '4', 'Four', 4.0), + (7, 1, '271-72', '5', 'Five', 5.0); + +INSERT INTO armorgroup ( + grp_id, + sources_id, + sources_pages, + short_name, + descr +) +VALUES + -- TODO fill in the TODO parts with the description text from pg 275 + (1, 1, '275', 'Chain', 'TODO'), + (2, 1, '275', 'Composite', 'TODO'), + (3, 1, '275', 'Leather', 'TODO'), + (4, 1, '275', 'Plate', 'TODO'); + +INSERT INTO armorcategory (armor_category_id, short_name) +VALUES + (1,'Unarmored'), + (2,'Light Armor'), + (3,'Medium Armor'), + (4,'Heavy Armor'); + + +INSERT INTO armor ( + armor_id, + sources_id, + sources_pages, + armor_category_id, + short_name, + price_text, + price_gp, + ac_bonus, + dex_cap, + check_penalty, + speed_penalty, + strength, + bulk_id, + grp_id, + descr +) +VALUES + -- unarmored + (1, 1, '275', 1, 'No armor', '-', 0.0, 0, NULL, NULL, NULL, NULL, 1, NULL, 'TODO'), + (2, 1, '275', 1, 'Explorer''s Clothing', '1 sp', 0.1, 0, 5, NULL, NULL, NULL, 2, NULL, 'TODO'), + -- light armor + (3, 1, '275', 2, 'Padded Armor', '2 sp', 0.2, 1, 3, NULL, NULL, 10, 2, NULL, 'TODO'), + (4, 1, '275', 2, 'Leather', '2 gp', 2.0, 1, 4, -1, NULL, 10, 3, NULL, 'TODO'), + (5, 1, '275', 2, 'Studded Leather', '3 gp', 3.0, 2, 3, -1, NULL, 12, 3, NULL, 'TODO'), + (6, 1, '275', 2, 'Chain Shirt', '5 gp', 5.0, 2, 3, -1, NULL, 12, 3, NULL, 'TODO'), + -- medium armor + (7, 1, '275', 2, 'Hide', '2 gp', 2.0, 3, 2, -2, -5, 14, 4, 3, 'TODO'); +/* TODO continue on the armor inputs */ + + + +-- TODO INSERT into armor_traits table +INSERT INTO armor_traits (armor_id, traits_id) +VALUES + (2, 88), -- explorer's clothing and comfort + (3, 88), -- padded and comfort + (6, 89), -- chain shirt flexible + (6, 90); -- chain shirt noisy diff --git a/gendb.bat b/gendb.bat index 7ea1315..26c9395 100644 --- a/gendb.bat +++ b/gendb.bat @@ -11,6 +11,7 @@ sqlite3 pf2.db < schema/traits.sql sqlite3 pf2.db < schema/feats.sql sqlite3 pf2.db < schema/senses.sql sqlite3 pf2.db < schema/ancestries.sql +sqlite3 pf2.db < schema/armor.sql :: Loading data sqlite3 pf2.db < data/sources.sql @@ -23,6 +24,7 @@ sqlite3 pf2.db < data/traits.sql sqlite3 pf2.db < data/feats.sql sqlite3 pf2.db < data/ancestries.sql sqlite3 pf2.db < data/heritages.sql +sqlite3 pf2.db < data/armor.sql :: Wait for keypress pause diff --git a/gendb.sh b/gendb.sh index 91ec5ae..c01acc3 100755 --- a/gendb.sh +++ b/gendb.sh @@ -18,6 +18,7 @@ sqlite3 pf2.db < schema/feats.sql sqlite3 pf2.db < schema/senses.sql # echo 'schema/ancestries.sql' sqlite3 pf2.db < schema/ancestries.sql +sqlite3 pf2.db < schema/armor.sql echo 'loading data' # echo 'data/sources.sql' sqlite3 pf2.db < data/sources.sql @@ -37,6 +38,7 @@ sqlite3 pf2.db < data/traits.sql sqlite3 pf2.db < data/feats.sql # echo 'data/ancestries.sql' sqlite3 pf2.db < data/ancestries.sql +sqlite3 pf2.db < data/armor.sql # echo 'data/heritages.sql' sqlite3 pf2.db < data/heritages.sql diff --git a/schema/armor.sql b/schema/armor.sql new file mode 100644 index 0000000..982dec2 --- /dev/null +++ b/schema/armor.sql @@ -0,0 +1,54 @@ +CREATE TABLE bulk ( + bulk_id INTEGER PRIMARY KEY, + sources_id INTEGER NOT NULL, + sources_pages TEXT NOT NULL, + short_name TEXT NOT NULL, + long_name TEXT NOT NULL, + numerical FLOAT NOT NULL, + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) +); + +CREATE TABLE armorgroup ( + grp_id INTEGER PRIMARY KEY, + sources_id INTEGER NOT NULL, + sources_pages TEXT NOT NULL, + short_name TEXT NOT NULL UNIQUE, + descr TEXT NOT NULL, + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) +); + +CREATE TABLE armorcategory ( + armor_category_id INTEGER PRIMARY KEY, + short_name TEXT NOT NULL UNIQUE +); + +CREATE TABLE armor ( + armor_id INTEGER PRIMARY KEY, + sources_id INTEGER NOT NULL, + sources_pages TEXT, + armor_category_id INTEGER NOT NULL, + short_name TEXT NOT NULL, + price_text TEXT NOT NULL, + price_gp FLOAT NOT NULL, + ac_bonus INTEGER NOT NULL, + dex_cap INTEGER, + check_penalty INTEGER, + speed_penalty INTEGER, + strength INTEGER, + bulk_id INTEGER NOT NULL, + grp_id INTEGER, + descr TEXT NOT NULL, + FOREIGN KEY (bulk_id) REFERENCES bulk(bulk_id), + FOREIGN KEY (grp_id) REFERENCES armorgroup(grp_id), + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) +); + +CREATE TABLE armor_traits ( + id INTEGER PRIMARY KEY, + armor_id INTEGER NOT NULL, + traits_id INTEGER NOT NULL, + FOREIGN KEY (armor_id) REFERENCES armor(armor_id), + FOREIGN KEY (traits_id) REFERENCES traits(traits_id) +); + +