From 86584d2a3da77ab84e8692afd1d0bbd6ba427742 Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 15 Aug 2019 20:42:04 -0500 Subject: [PATCH] add schema and data for damagetypes and damagecategories --- data/damagetypes.sql | 41 +++++++++++++++++++++++++++++++++++++++++ gendb.sh | 2 ++ schema/damagetypes.sql | 30 ++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 data/damagetypes.sql create mode 100644 schema/damagetypes.sql diff --git a/data/damagetypes.sql b/data/damagetypes.sql new file mode 100644 index 0000000..ba10eaa --- /dev/null +++ b/data/damagetypes.sql @@ -0,0 +1,41 @@ +-- -*- mode:sql sql-product:sqlite -*- + +PRAGMA foreign_keys = ON; -- database requires foreign key checking to be turned + -- on PER CONNECTION + +-- TODO insert the damage category descriptions in MARKDOWN format from page 452. + +BEGIN TRANSACTION; +INSERT INTO damagecategories VALUES(1,1,'452','Physical','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(2,1,'452','Energy','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(3,1,'452','Alignment','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(4,1,'452','Mental','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(5,1,'452','Poison','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(6,1,'452','Bleed','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(7,1,'452','Precision','TODO FROM PAGE 452'); +INSERT INTO damagecategories VALUES(8,1,'452','Precious Materials','TODO FROM PAGE 452'); +COMMIT; + +-- TODO insert damage descriptions (shortened from the damagecategories descriptions) + +BEGIN TRANSACTION; +INSERT INTO damagetypes VALUES(1,1,'452',1,'B','Bludgeoning','Bludgeoning damage comes from weapons and hazards that deal blunt-force trauma, like a hit from a club or being dashed against the rocks.'); +INSERT INTO damagetypes VALUES(2,1,'452',1,'P','Piercing','TODO Pg 452'); +INSERT INTO damagetypes VALUES(3,1,'452',1,'S','Slashing','TODO Pg 452'); +INSERT INTO damagetypes VALUES(4,1,'452',2,NULL,'Acid','TODO Pg 452'); +INSERT INTO damagetypes VALUES(5,1,'452',2,NULL,'Cold','TODO Pg 452'); +INSERT INTO damagetypes VALUES(6,1,'452',2,NULL,'Electricity','TODO Pg 452'); +INSERT INTO damagetypes VALUES(7,1,'452',2,NULL,'Fire','TODO Pg 452'); +INSERT INTO damagetypes VALUES(8,1,'452',2,NULL,'Sonic','TODO Pg 452'); +INSERT INTO damagetypes VALUES(9,1,'452',2,NULL,'Positive','TODO Pg 452'); +INSERT INTO damagetypes VALUES(10,1,'452',2,NULL,'Negative','TODO Pg 452'); +INSERT INTO damagetypes VALUES(11,1,'452',3,NULL,'Chaotic','TODO Pg 452'); +INSERT INTO damagetypes VALUES(12,1,'452',3,NULL,'Evil','TODO Pg 452'); +INSERT INTO damagetypes VALUES(13,1,'452',3,NULL,'Good','TODO Pg 452'); +INSERT INTO damagetypes VALUES(14,1,'452',3,NULL,'Lawful','TODO Pg 452'); +INSERT INTO damagetypes VALUES(15,1,'452',4,NULL,'Mental','TODO Pg 452'); +INSERT INTO damagetypes VALUES(16,1,'452',5,NULL,'Poison','TODO Pg 452'); +INSERT INTO damagetypes VALUES(17,1,'452',6,NULL,'Bleed','TODO Pg 452'); +INSERT INTO damagetypes VALUES(18,1,'452',7,NULL,'Precision','TODO Pg 452'); +INSERT INTO damagetypes VALUES(19,1,'452',8,NULL,'Precious Materials','TODO Pg 452'); +COMMIT; diff --git a/gendb.sh b/gendb.sh index 127ffcf..b40d058 100755 --- a/gendb.sh +++ b/gendb.sh @@ -1,6 +1,7 @@ rm pf2.db echo 'loading schema' sqlite3 pf2.db < schema/sources.sql +sqlite3 pf2.db < schema/damagetypes.sql sqlite3 pf2.db < schema/conditions.sql sqlite3 pf2.db < schema/backgrounds.sql sqlite3 pf2.db < schema/abilityscores.sql @@ -17,6 +18,7 @@ sqlite3 pf2.db < schema/armor.sql sqlite3 pf2.db < schema/gear.sql echo 'loading data' sqlite3 pf2.db < data/sources.sql +sqlite3 pf2.db < data/damagetypes.sql sqlite3 pf2.db < data/conditions.sql sqlite3 pf2.db < data/backgrounds.sql sqlite3 pf2.db < data/abilityscores.sql diff --git a/schema/damagetypes.sql b/schema/damagetypes.sql new file mode 100644 index 0000000..df53317 --- /dev/null +++ b/schema/damagetypes.sql @@ -0,0 +1,30 @@ +-- -*- mode:sql sql-product:sqlite -*- + +-- CREATE TABLE abilityscores ( +-- abilityscores_id INTEGER PRIMARY KEY, +-- flag_rep INTEGER NOT NULL, +-- short_name TEXT NOT NULL UNIQUE, +-- long_name TEXT NOT NULL UNIQUE +-- ); + + +CREATE TABLE damagecategories ( + damagecategories_id INTEGER PRIMARY KEY, + sources_id INTEGER, + sources_pages TEXT, + "name" TEXT NOT NULL UNIQUE, + descr TEXT, + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) +); + +CREATE TABLE damagetypes ( + damagetypes_id INTEGER PRIMARY KEY, + sources_id INTEGER, + sources_pages TEXT, + damagecategories_id INTEGER NOT NULL, + "abbr" TEXT, + "name" TEXT NOT NULL UNIQUE, + descr TEXT, + FOREIGN KEY (damagecategories_id) REFERENCES damagecategories(damagecategories_id), + FOREIGN KEY (sources_id) REFERENCES sources(sources_id) +);