diff --git a/data/ancestries.sql b/data/ancestries.sql index 7abd3a6..377801a 100644 --- a/data/ancestries.sql +++ b/data/ancestries.sql @@ -6,7 +6,8 @@ /* TODO Left out speed, add in here and in schema */ -/* TODO probably need to model Half-Elf and Half-Orc as a whole separate ancestry? */ +/* Probably need to model Half-Elf and Half-Orc as a whole separate +ancestry? NO. They are separate heritages, not separate ancestries. */ INSERT INTO ancestries (ancestry_id, short_name, flavor_text, hp, size_id, speed, boosts, flaws, vision_id) @@ -16,4 +17,21 @@ VALUES (3, 'Gnome', 'TODO', 8, 2, 25, 100, 1, 2), (4, 'Goblin', 'TODO', 6, 2, 25, 98, 16, 1), (5, 'Halfling', 'TODO', 6, 2, 25, 82, 1, 3), - (6, 'Human', 'TODO', 8, 3, 25, 128, 0, 4); + (6, 'Human', 'TODO', 8, 3, 25, 128, 0, 4), + +/* TODO flesh out the ancestry-trait pairs */ + +INSERT INTO ancestries_traits (ancestry_id, trait_id) +VALUES + (1, 1), + (1, 9), + (2, 2), + (2, 9), + (3, 3), + (3, 9), + (4, 4), + (4, 9), + (5, 5), + (5, 9), + (6, 6), + (6, 9); diff --git a/data/heritages.sql b/data/heritages.sql index a365aef..fa2779b 100644 --- a/data/heritages.sql +++ b/data/heritages.sql @@ -4,6 +4,12 @@ /* TODO fill in the rest of the heritages */ +/* TODO how to add in vision for Half-elf Heritage? */ + +/* TODO maybe make vision trigger off of heritages instead of ancestries? Trying +not to repeat the vision data, but might just have to. It's not like it's +massive. */ + INSERT INTO heritages (heritage_id, short_name, description) @@ -12,4 +18,20 @@ VALUES (2, 'Death Warden Dwarf', 'TODO'), (3, 'Forge Dwarf', 'TODO'), (4, 'Rock Dwarf', 'TODO'), - (5, 'Strong-Blooded Dwarf', 'TODO'); + (5, 'Strong-Blooded Dwarf', 'TODO'), + (6, 'Half-Elf', 'Either one of your parents was an elf, or one or both were half-elves. You have pointed ears and other telltale signs of elf heritage. You gain the elf trait and low-light vision. In addition, you can select elf, half-elf, and human feats whenever you gain an ancestry feat.'), + + +INSERT INTO ancestries_heritages (ancestry_id, heritage_id) +VALUES + (1, 1), + (1, 2), + (1, 3), + (1, 4), + (1, 5); + +INSERT INTO heritages_traits (heritage_id, trait_id) +VALUES + (6, 7), + (6, 2), + (6, 6); diff --git a/schema/ancestries.sql b/schema/ancestries.sql index dda4f3d..9a59463 100644 --- a/schema/ancestries.sql +++ b/schema/ancestries.sql @@ -59,6 +59,16 @@ CREATE TABLE traits ( description TEXT NOT NULL ); +CREATE TABLE heritages_traits ( + id INTEGER PRIMARY KEY, + heritage_id INTEGER NOT NULL, + trait_id INTEGER NOT NULL, + UNIQUE(heritage_id, trait_id), + FOREIGN KEY (heritage_id) REFERENCES heritages(heritage_id), + FOREIGN KEY (trait_id) REFERENCES traits(trait_id) +); + +/* has partial data */ CREATE TABLE ancestries_traits ( id INTEGER PRIMARY KEY, ancestry_id INTEGER NOT NULL,