From ecaf5ef1165d0fbf2eb2f33da8b339ce5820304e Mon Sep 17 00:00:00 2001 From: James Miller Date: Wed, 7 Aug 2019 00:01:39 -0500 Subject: [PATCH 1/3] wip: working on armor schema and data --- data/armor.sql | 80 ++++++++++++++++++++++++++++++++++++++++++++++++ gendb.bat | 2 ++ gendb.sh | 2 ++ schema/armor.sql | 54 ++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 data/armor.sql create mode 100644 schema/armor.sql 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) +); + + From c19a8e62f352fe6f716a3d1b44951fc6177e5a74 Mon Sep 17 00:00:00 2001 From: James Miller Date: Wed, 7 Aug 2019 19:55:16 -0500 Subject: [PATCH 2/3] finish armor data entry --- data/armor.sql | 28 +++++++++++++++++++--------- schema/armor.sql | 1 + 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/data/armor.sql b/data/armor.sql index 6623bec..d35684f 100644 --- a/data/armor.sql +++ b/data/armor.sql @@ -44,6 +44,7 @@ INSERT INTO armor ( sources_id, sources_pages, armor_category_id, + item_level, short_name, price_text, price_gp, @@ -58,16 +59,22 @@ INSERT INTO armor ( ) 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'), + (1, 1, '275', 1, 0, 'No armor', '-', 0.0, 0, NULL, NULL, NULL, NULL, 1, NULL, 'TODO'), + (2, 1, '275', 1, 0, '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'), + (3, 1, '275', 2, 0, 'Padded armor', '2 sp', 0.2, 1, 3, NULL, NULL, 10, 2, NULL, 'TODO'), + (4, 1, '275', 2, 0, 'Leather', '2 gp', 2.0, 1, 4, -1, NULL, 10, 3, NULL, 'TODO'), + (5, 1, '275', 2, 0, 'Studded leather', '3 gp', 3.0, 2, 3, -1, NULL, 12, 3, NULL, 'TODO'), + (6, 1, '275', 2, 0, '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 */ + (7, 1, '275', 3, 0, 'Hide', '2 gp', 2.0, 3, 2, -2, -5, 14, 4, 3, 'TODO'), + (8, 1, '275', 3, 0, 'Scale mail', '4 gp', 4.0, 3, 2, -2, -5, 14, 4, 2, 'TODO'), + (9, 1, '275', 3, 0, 'Chain mail', '6 gp', 6.0, 4, 1, -2, -5, 16, 4, 1, 'TODO'), + (10, 1, '275', 3, 0, 'Breastplate', '8 gp', 8.0, 4, 1, -2, -5, 16, 4, 4, 'TODO'), + -- heavy armor + (11, 1, '275', 4, 1, 'Splint mail', '13 gp', 13.0, 5, 1, -3, -10, 16, 5, 2, 'TODO'), + (12, 1, '275', 4, 1, 'Half plate', '18 gp', 18.0, 5, 1, -3, -10, 16, 5, 4, 'TODO'), + (13, 1, '275', 4, 2, 'Full plate', '30 gp', 30.0, 6, 0, -3, -10, 18, 6, 4, 'TODO'); @@ -77,4 +84,7 @@ VALUES (2, 88), -- explorer's clothing and comfort (3, 88), -- padded and comfort (6, 89), -- chain shirt flexible - (6, 90); -- chain shirt noisy + (6, 90), -- chain shirt noisy + (9, 89), -- chain mail flexible + (9, 90), -- chain mail noisy + (13, 87); -- full plate bulwark diff --git a/schema/armor.sql b/schema/armor.sql index 982dec2..d097700 100644 --- a/schema/armor.sql +++ b/schema/armor.sql @@ -28,6 +28,7 @@ CREATE TABLE armor ( sources_pages TEXT, armor_category_id INTEGER NOT NULL, short_name TEXT NOT NULL, + item_level INTEGER, price_text TEXT NOT NULL, price_gp FLOAT NOT NULL, ac_bonus INTEGER NOT NULL, From e249f9446942dea47cd4da022f005aba1720276f Mon Sep 17 00:00:00 2001 From: James Miller Date: Wed, 7 Aug 2019 19:57:23 -0500 Subject: [PATCH 3/3] factor out bulk from armor.sql to bulk.sql --- data/armor.sql | 17 ----------------- data/bulk.sql | 19 +++++++++++++++++++ gendb.sh | 2 ++ schema/armor.sql | 9 --------- schema/bulk.sql | 10 ++++++++++ 5 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 data/bulk.sql create mode 100644 schema/bulk.sql diff --git a/data/armor.sql b/data/armor.sql index d35684f..cfb3a94 100644 --- a/data/armor.sql +++ b/data/armor.sql @@ -1,21 +1,4 @@ --- 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, diff --git a/data/bulk.sql b/data/bulk.sql new file mode 100644 index 0000000..f2e03a7 --- /dev/null +++ b/data/bulk.sql @@ -0,0 +1,19 @@ + +-- 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); + diff --git a/gendb.sh b/gendb.sh index c01acc3..0744d49 100755 --- a/gendb.sh +++ b/gendb.sh @@ -6,6 +6,7 @@ sqlite3 pf2.db < schema/sources.sql sqlite3 pf2.db < schema/backgrounds.sql # echo 'schema/abilityscores.sql' sqlite3 pf2.db < schema/abilityscores.sql +sqlite3 pf2.db < schema/bulk.sql # echo 'schema/sizes.sql' sqlite3 pf2.db < schema/sizes.sql # echo 'schema/langs.sql' @@ -26,6 +27,7 @@ sqlite3 pf2.db < data/sources.sql sqlite3 pf2.db < data/backgrounds.sql # echo 'data/abilityscores.sql' sqlite3 pf2.db < data/abilityscores.sql +sqlite3 pf2.db < data/bulk.sql # echo 'data/senses.sql' sqlite3 pf2.db < data/senses.sql # echo 'data/sizes.sql' diff --git a/schema/armor.sql b/schema/armor.sql index d097700..6185163 100644 --- a/schema/armor.sql +++ b/schema/armor.sql @@ -1,12 +1,3 @@ -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, diff --git a/schema/bulk.sql b/schema/bulk.sql new file mode 100644 index 0000000..b301978 --- /dev/null +++ b/schema/bulk.sql @@ -0,0 +1,10 @@ +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) +); +