From 7e775014ee5a44ea3d56ee2f994266ccae90bf9d Mon Sep 17 00:00:00 2001 From: James Miller Date: Tue, 28 Apr 2020 15:29:18 +0000 Subject: [PATCH 1/3] Update CONTRIBUTORS.md; add Metin --- CONTRIBUTORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index a7f8a54..1ca3a3e 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -6,4 +6,4 @@ 6. Mirko Rainer 7. Joey Burney 8. Brad Laney -9. Gitlab name: @M3tin1 (TODO: Get name.) +9. Metin Ünüvar From 8c0d75353fb28fc733bcda6f358e96146b14d958 Mon Sep 17 00:00:00 2001 From: James Miller Date: Tue, 28 Apr 2020 17:28:49 -0500 Subject: [PATCH 2/3] fix #90; add in descriptions to weapongroups.yaml --- data/weapongroups.yaml | 48 +++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/data/weapongroups.yaml b/data/weapongroups.yaml index 28a5c71..3cc2d88 100644 --- a/data/weapongroups.yaml +++ b/data/weapongroups.yaml @@ -1,89 +1,107 @@ weapongroups: -- descr: TODO descr from pg 283-84 +- descr: Choose one creature adjacent to the initial target and within reach. If its + AC is lower than your attack roll result for the critical hit, you deal damage + to that creature equal to the result of the weapon damage die you rolled (including + extra dice for its potency rune, if any). This amount isn't doubled, and no bonuses + or other additional dice apply to this damage. name: Axe source: - abbr: CRB page_start: 283 page_stop: 283 -- descr: TODO descr from pg 283-84 +- descr: Increase the radius of the bomb's splash damage (if any) to 10 feet. name: Bomb source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: If the target of the critical hit is adjacent to a surface, it gets stuck + to that surface by the missile. The target is immobilized and must spend an Interact + action to attempt a DC 10 Athletics check to pull the missile free; it can't move + from its space until it succeeds. The creature doesn’t become stuck if it is incorporeal, + is liquid (like a water elemental or some oozes), or could otherwise escape without + effort. name: Bow source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target must succeed at a Fortitude save against your class DC or be slowed + 1 until the end of your next turn. name: Brawling source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: You knock the target away from you up to 10 feet (you choose the distance). + This is forced movement. name: Club source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target takes 1d6 persistent bleed damage. You gain an item bonus to this + bleed damage equal to the weapon's item bonus to attack rolls. name: Dart source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target is knocked prone. name: Flail source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target is knocked prone. name: Hammer source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target takes 1d6 persistent bleed damage. You gain an item bonus to this + bleed damage equal to the weapon's item bonus to attack rolls. name: Knife source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The weapon viciously pierces the target, who takes 2 additional damage per + weapon damage die. name: Pick source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target is moved 5 feet in a direction of your choice. This is forced + movement. name: Polearm source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: You knock the target back from you 5 feet. This is forced movement. name: Shield source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target must succeed at a Fortitude save against your class DC or be stunned + 1. name: Sling source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The weapon pierces the target, weakening its attacks. The target is clumsy + 1 until the start of your next turn. name: Spear source: - abbr: CRB page_start: 284 page_stop: 284 -- descr: TODO descr from pg 283-84 +- descr: The target is made off-balance by your attack, becoming flat-footed until + the start of your next turn. name: Sword source: - abbr: CRB From 6bd325b08c812866e4bdb8010cf18d4dabfcec97 Mon Sep 17 00:00:00 2001 From: James Miller Date: Tue, 28 Apr 2020 17:58:28 -0500 Subject: [PATCH 3/3] fix #4; linking call on ancient blood to its heritage --- bin/gendb.py | 46 +++++++++++++++++++++++++++++++++++++++------- data/spells.yaml | 4 ++-- 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/bin/gendb.py b/bin/gendb.py index 9341697..24ad979 100644 --- a/bin/gendb.py +++ b/bin/gendb.py @@ -150,6 +150,7 @@ def main(): data = yaml.full_load(yl) do_ancestries(data, conn) + # Must be called after feats are loaded with open('ancestriesheritages.yaml') as yl: data = yaml.full_load(yl) do_heritages(data, conn) @@ -459,7 +460,7 @@ def get_actioncost_id_by_name(ac, conn): def do_heritages(data, conn): table = """ - CREATE TABLE heritages ( + CREATE TABLE heritage ( heritage_id INTEGER PRIMARY KEY, name TEXT NOT NULL UNIQUE, descr TEXT NOT NULL, @@ -471,6 +472,19 @@ def do_heritages(data, conn): c = conn.cursor() c.execute(table) + table = """ + CREATE TABLE heritage_feat ( + id INTEGER PRIMARY KEY, + heritage_id INTEGER NOT NULL, + feat_id INTEGER NOT NULL, + FOREIGN KEY (heritage_id) REFERENCES heritage(heritage_id), + FOREIGN KEY (feat_id) REFERENCES feat(feat_id) + ); + """ + + c = conn.cursor() + c.execute(table) + for i in data['ancestries']: #GET ID OF ANCESTRY stmt = "SELECT ancestry_id FROM ancestries WHERE name=?;" @@ -479,14 +493,32 @@ def do_heritages(data, conn): #FOR EACH HERITAGE, INSERT INTO TABLE USING ANCESTRY ID for j in i['heritages']: # print("doing this heritage: {}".format(j['name'])) - stmt = "INSERT INTO heritages (name, descr, ancestry_id) VALUES (?,?,?);" - c.execute(stmt, (j['name'], j['descr'], rowid[0])) - conn.commit() + stmt = "INSERT INTO heritage (name, descr, ancestry_id) VALUES (?,?,?);" + try: + c.execute(stmt, (j['name'], j['descr'], rowid[0])) + except sqlite3.Error as e: + print("Error inserting a heritage: {}".format(e)) + except: + print("Error inserting a heritage other than sqlite3 error") + else: + conn.commit() if j['feat'] != None: - print("We have a feat that is not equal to none: {}".format(j['feat'])) - print("TODO THIS NEEDS TO GET DONE AFTER FEATS ARE IN SQL") - # i.e. TODO select feat_id where name = j['feat] then insert into a heritages_feats table + # print("We have a feat that is not equal to none: {}".format(j['feat'])) + stmt = """INSERT INTO heritage_feat + (heritage_id, feat_id) + VALUES ( + (SELECT heritage_id FROM heritage WHERE name=?), + (SELECT feat_id FROM feat WHERE name=?) + );""" + try: + c.execute(stmt, (j['name'],j['feat'])) + except sqlite3.Error as e: + print("Error linking a heritage to its feat: {}".format(e)) + except: + print("Error linking a heritage something other than sqlite3 error") + else: + conn.commit() def do_ancestries(data, conn): diff --git a/data/spells.yaml b/data/spells.yaml index 0c563d5..138e8b1 100644 --- a/data/spells.yaml +++ b/data/spells.yaml @@ -336,8 +336,8 @@ spell: descr: "You draw upon your muse to soothe your allies. Choose one of the following\ \ three effects:\n The spell attempts to counteract fear effects on the targets.\ \ \n The spell attempts to counteract effects imposing paralysis on the targets.\ - \ \n The spell restores 7d8 Hit Points to the targets. \n\n**Heightened (+1)** \ - \ When used to heal, soothing ballad restores 1d8 more Hit Points." + \ \n The spell restores 7d8 Hit Points to the targets. \n\n**Heightened (+1)**\ + \ When used to heal, soothing ballad restores 1d8 more Hit Points." duration: null has_been_manually_proofread: true level: 7