From 00685eb77c88e7283e08afcf72d92c48a0e7d250 Mon Sep 17 00:00:00 2001 From: James Ryland Miller Date: Wed, 22 Apr 2020 00:52:11 -0500 Subject: [PATCH 1/7] start work on sql to weapons --- data/yaml/tmp-sql-to-weapons.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 data/yaml/tmp-sql-to-weapons.py diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py new file mode 100644 index 0000000..b98d5d2 --- /dev/null +++ b/data/yaml/tmp-sql-to-weapons.py @@ -0,0 +1,31 @@ +import sqlite3 +import yaml +import pprint + +def main(): + conn = sqlite3.connect('../../pf2.db') + conn.row_factory = sqlite3.Row + + q = """ + SELECT + price_gp, + dice_size, + bulk, + hands, + range, + reload, + name, + descr, + (SELECT name FROM actions) as action_name -- use this as template for subqueries + FROM weapons; + """ + + c = conn.cursor() + c.execute(q) + data = [dict(row) for row in c.fetchall()] + pprint.pprint(data) + + + +if __name__ == '__main__': + main() \ No newline at end of file From ee57fd402a8d3ce65134e0b248429d712d1ae03e Mon Sep 17 00:00:00 2001 From: James Ryland Miller Date: Thu, 23 Apr 2020 16:06:45 -0500 Subject: [PATCH 2/7] -convert price_gp to price_cp in weapons --- data/yaml/tmp-sql-to-weapons.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py index b98d5d2..fa2978d 100644 --- a/data/yaml/tmp-sql-to-weapons.py +++ b/data/yaml/tmp-sql-to-weapons.py @@ -3,6 +3,7 @@ import yaml import pprint def main(): + pp = pprint.PrettyPrinter(indent=2) conn = sqlite3.connect('../../pf2.db') conn.row_factory = sqlite3.Row @@ -23,9 +24,24 @@ def main(): c = conn.cursor() c.execute(q) data = [dict(row) for row in c.fetchall()] - pprint.pprint(data) + for i in data: + # handle empty bulk entries + if i['bulk'] == '': + i['bulk'] = '-' + # convert gp prices to cp prices to avoid float issues + if i['price_gp'] == '': + i['price_gp'] = '0' + i['price_cp'] = int(float(i['price_gp']) * 100) + del i['price_gp'] + + pp.pprint(data) + + fdata = {'weapons': data} + final = yaml.safe_dump(fdata, allow_unicode=True) + with open('tmp-weapons.yaml', 'w') as f: + f.write(final) if __name__ == '__main__': - main() \ No newline at end of file + main() From c02d7b2a3432a563e4745573103d2040a6559dd4 Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 23 Apr 2020 16:10:40 -0500 Subject: [PATCH 3/7] update comment on tmp-sql-to-weapons --- data/yaml/tmp-sql-to-weapons.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py index fa2978d..97ab2d5 100644 --- a/data/yaml/tmp-sql-to-weapons.py +++ b/data/yaml/tmp-sql-to-weapons.py @@ -25,7 +25,7 @@ def main(): c.execute(q) data = [dict(row) for row in c.fetchall()] for i in data: - # handle empty bulk entries + # handle empty bulk entries to match the abbr field in bulks.yaml if i['bulk'] == '': i['bulk'] = '-' # convert gp prices to cp prices to avoid float issues From 6c793f5b48d4cd55bc7ff839687ba95c5a4ac16a Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 23 Apr 2020 16:29:38 -0500 Subject: [PATCH 4/7] have weapongroups to yaml --- data/yaml/tmp-sql-to-weapons.py | 93 +++++++++++++++++++++++++-------- data/yaml/weapongroups.yaml | 91 ++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 23 deletions(-) create mode 100644 data/yaml/weapongroups.yaml diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py index 97ab2d5..bb04827 100644 --- a/data/yaml/tmp-sql-to-weapons.py +++ b/data/yaml/tmp-sql-to-weapons.py @@ -3,44 +3,91 @@ import yaml import pprint def main(): - pp = pprint.PrettyPrinter(indent=2) + pp = pprint.PrettyPrinter(indent=4) conn = sqlite3.connect('../../pf2.db') conn.row_factory = sqlite3.Row + # DO WEAPON GROUPS + q = """ SELECT - price_gp, - dice_size, - bulk, - hands, - range, - reload, + sources_pages, name, - descr, - (SELECT name FROM actions) as action_name -- use this as template for subqueries - FROM weapons; + descr + FROM weapongroups """ c = conn.cursor() c.execute(q) data = [dict(row) for row in c.fetchall()] - for i in data: - # handle empty bulk entries to match the abbr field in bulks.yaml - if i['bulk'] == '': - i['bulk'] = '-' - # convert gp prices to cp prices to avoid float issues - if i['price_gp'] == '': - i['price_gp'] = '0' - i['price_cp'] = int(float(i['price_gp']) * 100) - del i['price_gp'] - pp.pprint(data) - fdata = {'weapons': data} - final = yaml.safe_dump(fdata, allow_unicode=True) - with open('tmp-weapons.yaml', 'w') as f: + # "source": [ + # { + # 'abbr': 'CRB', + # 'page_start': int(i['sources_pages']), + # 'page_stop': int(i['sources_pages']) + # }, + + wgdata = [] + for i in data: + res = { + 'name': i['name'], + 'descr': i['descr'], + 'source': [ + { + 'abbr': 'CRB', + 'page_start': int(i['sources_pages']), + 'page_stop': int(i['sources_pages']) + } + ] + } + wgdata.append(res) + + pp.pprint(wgdata) + finalwgdata = {'weapongroups': wgdata} + pp.pprint(finalwgdata) + + final = yaml.safe_dump(finalwgdata, allow_unicode=True) + with open('tmp-weapongroups.yaml', 'w') as f: f.write(final) + # DO WEAPONS + + # q = """ + # SELECT + # price_gp, + # dice_size, + # bulk, + # hands, + # range, + # reload, + # name, + # descr, + # (SELECT name FROM actions) as action_name -- use this as template for subqueries + # FROM weapons; + # """ + + # c = conn.cursor() + # c.execute(q) + # data = [dict(row) for row in c.fetchall()] + # for i in data: + # # handle empty bulk entries to match the abbr field in bulks.yaml + # if i['bulk'] == '': + # i['bulk'] = '-' + # # convert gp prices to cp prices to avoid float issues + # if i['price_gp'] == '': + # i['price_gp'] = '0' + # i['price_cp'] = int(float(i['price_gp']) * 100) + # del i['price_gp'] + + # pp.pprint(data) + + # fdata = {'weapons': data} + # final = yaml.safe_dump(fdata, allow_unicode=True) + # with open('tmp-weapons.yaml', 'w') as f: + # f.write(final) + if __name__ == '__main__': diff --git a/data/yaml/weapongroups.yaml b/data/yaml/weapongroups.yaml new file mode 100644 index 0000000..28a5c71 --- /dev/null +++ b/data/yaml/weapongroups.yaml @@ -0,0 +1,91 @@ +weapongroups: +- descr: TODO descr from pg 283-84 + name: Axe + source: + - abbr: CRB + page_start: 283 + page_stop: 283 +- descr: TODO descr from pg 283-84 + name: Bomb + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Bow + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Brawling + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Club + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Dart + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Flail + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Hammer + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Knife + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Pick + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Polearm + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Shield + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Sling + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Spear + source: + - abbr: CRB + page_start: 284 + page_stop: 284 +- descr: TODO descr from pg 283-84 + name: Sword + source: + - abbr: CRB + page_start: 284 + page_stop: 284 From 92d885ddb5c82841783166c2c4c6447aee5ff698 Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 23 Apr 2020 17:00:39 -0500 Subject: [PATCH 5/7] weaponst able imported, still need to link weapons to traits --- data/yaml/tmp-sql-to-weapons.py | 163 ++++++++++++++++++-------------- 1 file changed, 93 insertions(+), 70 deletions(-) diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py index bb04827..cf483be 100644 --- a/data/yaml/tmp-sql-to-weapons.py +++ b/data/yaml/tmp-sql-to-weapons.py @@ -3,92 +3,115 @@ import yaml import pprint def main(): - pp = pprint.PrettyPrinter(indent=4) + pp = pprint.PrettyPrinter(indent=4, width=160) conn = sqlite3.connect('../../pf2.db') conn.row_factory = sqlite3.Row - # DO WEAPON GROUPS + + # DO WEAPONS q = """ SELECT - sources_pages, - name, - descr - FROM weapongroups + price_gp, + dice_size, + bulk, + hands, + range, + reload, + weapons.name, + weapons.descr, + weapons.sources_id, + weapons.sources_pages, + weaponcategories.name AS weaponcategory, + weapongroups.name AS weapongroup, + damagetypes.name AS damagetype + FROM weapons + INNER JOIN + weaponcategories ON weapons.weaponcategories_id = weaponcategories.weaponcategories_id + INNER JOIN + weapongroups ON weapons.weapongroups_id = weapongroups.weapongroups_id + INNER JOIN + damagetypes ON weapons.damagetypes_id = damagetypes.damagetypes_id + ; """ c = conn.cursor() c.execute(q) data = [dict(row) for row in c.fetchall()] + for i in data: + # handle empty bulk entries to match the abbr field in bulks.yaml + if i['bulk'] == '': + i['bulk'] = '-' + # convert gp prices to cp prices to avoid float issues + if i['price_gp'] == '': + i['price_gp'] = '0' + i['price_cp'] = int(float(i['price_gp']) * 100) + del i['price_gp'] + i['source'] = [ + { + 'abbr': 'CRB', + 'page_start': int(i['sources_pages']), + 'page_stop': int(i['sources_pages']) + } + ] + del i['sources_id'] + del i['sources_pages'] + + pp.pprint(data) - # "source": [ - # { - # 'abbr': 'CRB', - # 'page_start': int(i['sources_pages']), - # 'page_stop': int(i['sources_pages']) - # }, - - wgdata = [] - for i in data: - res = { - 'name': i['name'], - 'descr': i['descr'], - 'source': [ - { - 'abbr': 'CRB', - 'page_start': int(i['sources_pages']), - 'page_stop': int(i['sources_pages']) - } - ] - } - wgdata.append(res) - - pp.pprint(wgdata) - finalwgdata = {'weapongroups': wgdata} - pp.pprint(finalwgdata) - - final = yaml.safe_dump(finalwgdata, allow_unicode=True) - with open('tmp-weapongroups.yaml', 'w') as f: + fdata = {'weapons': data} + final = yaml.safe_dump(fdata, allow_unicode=True) + with open('tmp-weapons.yaml', 'w') as f: f.write(final) - # DO WEAPONS - - # q = """ - # SELECT - # price_gp, - # dice_size, - # bulk, - # hands, - # range, - # reload, - # name, - # descr, - # (SELECT name FROM actions) as action_name -- use this as template for subqueries - # FROM weapons; - # """ - - # c = conn.cursor() - # c.execute(q) - # data = [dict(row) for row in c.fetchall()] - # for i in data: - # # handle empty bulk entries to match the abbr field in bulks.yaml - # if i['bulk'] == '': - # i['bulk'] = '-' - # # convert gp prices to cp prices to avoid float issues - # if i['price_gp'] == '': - # i['price_gp'] = '0' - # i['price_cp'] = int(float(i['price_gp']) * 100) - # del i['price_gp'] - - # pp.pprint(data) - - # fdata = {'weapons': data} - # final = yaml.safe_dump(fdata, allow_unicode=True) - # with open('tmp-weapons.yaml', 'w') as f: - # f.write(final) - if __name__ == '__main__': main() + +# def done(): + # DO WEAPON GROUPS + + # q = """ + # SELECT + # sources_pages, + # name, + # descr + # FROM weapongroups + # """ + + # c = conn.cursor() + # c.execute(q) + # data = [dict(row) for row in c.fetchall()] + # pp.pprint(data) + + # # "source": [ + # # { + # # 'abbr': 'CRB', + # # 'page_start': int(i['sources_pages']), + # # 'page_stop': int(i['sources_pages']) + # # }, + + # wgdata = [] + # for i in data: + # res = { + # 'name': i['name'], + # 'descr': i['descr'], + # 'source': [ + # { + # 'abbr': 'CRB', + # 'page_start': int(i['sources_pages']), + # 'page_stop': int(i['sources_pages']) + # } + # ] + # } + # wgdata.append(res) + + # pp.pprint(wgdata) + # finalwgdata = {'weapongroups': wgdata} + # pp.pprint(finalwgdata) + + # final = yaml.safe_dump(finalwgdata, allow_unicode=True) + # with open('tmp-weapongroups.yaml', 'w') as f: + # f.write(final) From 41b919ac9ca6d86e7a50458cbc163b6e63c1f4fb Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 23 Apr 2020 17:24:29 -0500 Subject: [PATCH 6/7] this just about finishes sql to weapons --- data/yaml/tmp-sql-to-weapons.py | 28 +- data/yaml/weapons.yaml | 1623 +++++++++++++++++++++++++++++++ 2 files changed, 1650 insertions(+), 1 deletion(-) create mode 100644 data/yaml/weapons.yaml diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/tmp-sql-to-weapons.py index cf483be..e23d687 100644 --- a/data/yaml/tmp-sql-to-weapons.py +++ b/data/yaml/tmp-sql-to-weapons.py @@ -56,9 +56,35 @@ def main(): ] del i['sources_id'] del i['sources_pages'] + # Get traits + qq = """ + SELECT traits.short_name + FROM traits + INNER JOIN + weapons_traits ON traits.trait_id = weapons_traits.trait_id + INNER JOIN + weapons ON weapons.weapons_id = weapons_traits.weapons_id + WHERE weapons.weapons_id = ( + SELECT weapons.weapons_id + WHERE weapons.name = ? + ); + """ + cc = conn.cursor() + cc.execute(qq, (i['name'],)) + res = cc.fetchall() + print("\n\nWeapon: {}".format(i['name'])) + tlist = [] + for j in res: + x = tuple(j)[0] + tlist.append(x) + if len(tlist) > 0: + i['traits'] = tlist + else: + i['traits'] = None - pp.pprint(data) + + # pp.pprint(data) fdata = {'weapons': data} final = yaml.safe_dump(fdata, allow_unicode=True) diff --git a/data/yaml/weapons.yaml b/data/yaml/weapons.yaml new file mode 100644 index 0000000..cd787b7 --- /dev/null +++ b/data/yaml/weapons.yaml @@ -0,0 +1,1623 @@ +weapons: +- bulk: '0' + damagetype: Bludgeoning + descr: 'Nethys Note: no description was provided for this item' + dice_size: 4 + hands: '1' + name: Fist + price_cp: 0 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Finesse + - Nonlethal + - Unarmed + weaponcategory: Unarmed + weapongroup: Brawling +- bulk: '0.1' + damagetype: Piercing + descr: This broad dagger is carried by dwarves as a weapon, tool, and designation + of clan. Losing or having to surrender a clan dagger is considered a mark of embarrassment + to most dwarves. + dice_size: 4 + hands: '1' + name: Clan Dagger + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Uncommon + - Agile + - Dwarf + - Parry + - Versatile B + weaponcategory: Simple + weapongroup: Knife +- bulk: '1' + damagetype: Bludgeoning + descr: This is a piece of stout wood shaped or repurposed to bludgeon an enemy. + Clubs can be intricately carved pieces of martial art or as simple as a tree branch + or piece of wood. + dice_size: 6 + hands: '1' + name: Club + price_cp: 0 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Thrown + weaponcategory: Simple + weapongroup: Club +- bulk: '0.1' + damagetype: Piercing + descr: This small, bladed weapon is held in one hand and used to stab a creature + in close combat. It can also be thrown. + dice_size: 4 + hands: '1' + name: Dagger + price_cp: 20 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Finesse + - Thrown + - Versatile + - Versatile S + weaponcategory: Simple + weapongroup: Knife +- bulk: '0.1' + damagetype: Bludgeoning + descr: A pair of these metal gloves comes with full plate, half plate, and splint + armor; they can also be purchased separately and worn with other types of armor. + They not only protect your hands but also transform your hands into lethal weapons. + dice_size: 4 + hands: '1' + name: Gauntlet + price_cp: 20 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Free-Hand + weaponcategory: Simple + weapongroup: Brawling +- bulk: '0.1' + damagetype: Piercing + descr: Also known as punching daggers, katars are characterized by their H-shaped + hand grip that allows the blade to jut out from the knuckles. + dice_size: 4 + hands: '1' + name: Katar + price_cp: 30 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Monk + - Uncommon + - Agile + - Deadly + - Monk + weaponcategory: Simple + weapongroup: Knife +- bulk: '0.1' + damagetype: Bludgeoning + descr: A light mace has a short wooden or metal shaft ending with a dense metal + head. Used much like a club, it delivers heavy bludgeoning blows, but with extra + power derived from the head’s metal ridges or spikes. + dice_size: 4 + hands: '1' + name: Light Mace + price_cp: 40 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Finesse + - Shove + weaponcategory: Simple + weapongroup: Club +- bulk: '2' + damagetype: Piercing + descr: This very long spear, sometimes called a pike, is purely for thrusting rather + than throwing. Used by many soldiers and city watch for crowd control and defense + against charging enemies, it must be wielded with two hands. + dice_size: 8 + hands: '2' + name: Longspear + price_cp: 50 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Reach + weaponcategory: Simple + weapongroup: Spear +- bulk: '1' + damagetype: Bludgeoning + descr: With a stout haft and a heavy metal head, a mace is sturdy and allows its + wielder to deliver powerful blows and dent armor. + dice_size: 6 + hands: '1' + name: Mace + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Shove + weaponcategory: Simple + weapongroup: Club +- bulk: '1' + damagetype: Bludgeoning + descr: This weapon has a short shaft ending in a metal ball studded with spikes. + dice_size: 6 + hands: '1' + name: Morningstar + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Versatile + - Versatile P + weaponcategory: Simple + weapongroup: Club +- bulk: '0.1' + damagetype: Slashing + descr: Originally a farming tool used for reaping grain, this one-handed weapon + has a short wooden handle ending in a curved blade, sometimes sharpened on both + sides. + dice_size: 4 + hands: '1' + name: Sickle + price_cp: 20 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Finesse + - Trip + weaponcategory: Simple + weapongroup: Knife +- bulk: '1' + damagetype: Piercing + descr: A long metal shaft ending with a metal spike, a spear can be used one-handed + as a melee weapon and can be thrown. + dice_size: 6 + hands: '1' + name: Spear + price_cp: 10 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Thrown + weaponcategory: Simple + weapongroup: Spear +- bulk: '0.1' + damagetype: Piercing + descr: Providing the same defensive function as a standard gauntlet, this version + has a group of spikes protruding from the knuckles to deliver piercing damage + with a punch. + dice_size: 4 + hands: '1' + name: Spiked Gauntlet + price_cp: 30 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Free-Hand + weaponcategory: Simple + weapongroup: Brawling +- bulk: '1' + damagetype: Bludgeoning + descr: This long piece of wood can aid in walking and deliver a mighty blow. + dice_size: 4 + hands: '1' + name: Staff + price_cp: 0 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Two-Hand + - Two-Hand d8 + weaponcategory: Simple + weapongroup: Club +- bulk: '1' + damagetype: Slashing + descr: This broad-bladed sword, sometimes called the hand‑and‑a‑half sword, has + a longer grip so it can be held in one hand or used with two hands to provide + extra piercing or slashing power. + dice_size: 8 + hands: '1' + name: Bastard Sword + price_cp: 400 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Two-Hand + - Two-Hand d12 + weaponcategory: Martial + weapongroup: Sword +- bulk: '1' + damagetype: Slashing + descr: These axes are designed explicitly as weapons, rather than tools. They typically + weigh less, with a shaft reinforced with metal bands or bolts, and have a sharper + blade, making them ideal for chopping limbs rather than wood. + dice_size: 8 + hands: '1' + name: Battle Axe + price_cp: 10 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Sweep + weaponcategory: Martial + weapongroup: Axe +- bulk: '2' + damagetype: Bludgeoning + descr: This strong but slender staff is tapered at the ends and well balanced. It’s + designed to be an offensive and defensive weapon. + dice_size: 8 + hands: '2' + name: Bo Staff + price_cp: 20 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Monk + - Parry + - Reach + - Trip + weaponcategory: Martial + weapongroup: Club +- bulk: '0.1' + damagetype: Slashing + descr: This short, curved, and crude makeshift blade often has holes drilled into + it to reduce its weight. It’s a favored weapon of goblins. + dice_size: 6 + hands: '1' + name: Dogslicer + price_cp: 10 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Uncommon + - Agile + - Backstabber + - Finesse + - Goblin + weaponcategory: Martial + weapongroup: Sword +- bulk: '2' + damagetype: Slashing + descr: Essentially a longer version of the scimitar, this traditional elven weapon + has a thinner blade than its cousin. + dice_size: 8 + hands: '2' + name: Elven Curve Blade + price_cp: 400 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Elf + - Finesse + - Forceful + weaponcategory: Martial + weapongroup: Sword +- bulk: '2' + damagetype: Slashing + descr: This weapon is a heavier, two-handed version of the curved-bladed scimitar. + It is weighted toward the blade’s end, making it a powerful slashing weapon. + dice_size: 10 + hands: '2' + name: Falchion + price_cp: 300 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Forceful + - Sweep + weaponcategory: Martial + weapongroup: Sword +- bulk: '0.1' + damagetype: Piercing + descr: This halfling weapon looks like a long, two-pronged fork and is used as both + a weapon and a cooking implement. + dice_size: 4 + hands: '1' + name: Filcher's Fork + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Backstabber + - Deadly + - Finesse + - Halfling + - Thrown + weaponcategory: Martial + weapongroup: Spear +- bulk: '1' + damagetype: Bludgeoning + descr: This weapon consists of a wooden handle attached to a spiked ball or cylinder + by a chain, rope, or strap of leather. + dice_size: 6 + hands: '1' + name: Flail + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Disarm + - Sweep + - Trip + weaponcategory: Martial + weapongroup: Flail +- bulk: '2' + damagetype: Slashing + descr: This polearm consists of a long, single-edged blade on the end of a 7-foot + pole. It is extremely effective at delivering lethal cuts at a distance. + dice_size: 8 + hands: '2' + name: Glaive + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Deadly + - Forceful + - Reach + - Deadly d8 + weaponcategory: Martial + weapongroup: Polearm +- bulk: '1' + damagetype: Bludgeoning + descr: This gnome tool and weapon features a hammer at one end and a curved pick + on the other. It’s such a strange and awkward weapon that others think the gnomes + are slightly erratic for using it. + dice_size: 6 + hands: '1' + name: Gnome Hooked Hammer + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Gnome + - Trip + - Two-Hand + - Versatile + - Versatile P + - Two-Hand d10 + weaponcategory: Martial + weapongroup: Hammer +- bulk: '2' + damagetype: Slashing + descr: This large battle axe is too heavy to wield with only one hand. Many greataxes + incorporate two blades, and they are often “bearded,” having a hook at the bottom + to increase the strength of their chopping power. + dice_size: 12 + hands: '2' + name: Greataxe + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Sweep + weaponcategory: Martial + weapongroup: Axe +- bulk: '2' + damagetype: Bludgeoning + descr: While many greatclubs are intricately carved, others are little more than + a sturdy tree branch. These massive clubs are too heavy to wield with only one + hand. + dice_size: 10 + hands: '2' + name: Greatclub + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Backswing + - Shove + weaponcategory: Martial + weapongroup: Club +- bulk: '2' + damagetype: Piercing + descr: This pick has a longer handle and broader head than a regular pick. It is + too heavy to wield in one hand. + dice_size: 10 + hands: '2' + name: Greatpick + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Fatal + - Fatal d12 + weaponcategory: Martial + weapongroup: Pick +- bulk: '2' + damagetype: Slashing + descr: This immense two-handed sword is nearly as tall as its wielder. Its lower + blade is often somewhat dulled to allow it to be gripped for extra leverage in + close-quarter fights. + dice_size: 12 + hands: '2' + name: Greatsword + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Versatile + - Versatile P + weaponcategory: Martial + weapongroup: Sword +- bulk: '2' + damagetype: Slashing + descr: This polearm bears a long, often one‑sided, curved blade with a hook protruding + from the blunt side of the blade, which can allow its wielder to trip opponents + at a distance. Its shaft is usually 8 feet long. + dice_size: 10 + hands: '2' + name: Guisarme + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Reach + - Trip + weaponcategory: Martial + weapongroup: Polearm +- bulk: '2' + damagetype: Piercing + descr: This polearm has a relatively short, 5-foot shaft. The business end is a + long spike with an axe blade attached. + dice_size: 10 + hands: '2' + name: Halberd + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Reach + - Versatile + - Versatile S + weaponcategory: Martial + weapongroup: Polearm +- bulk: '0.1' + damagetype: Slashing + descr: This small axe can be used in close combat or thrown. + dice_size: 6 + hands: '1' + name: Hatchet + price_cp: 40 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Agile + - Sweep + - Thrown + weaponcategory: Martial + weapongroup: Axe +- bulk: '2' + damagetype: Slashing + descr: Created by goblins to battle horses, this weapon is essentially a long shaft + ending in a blade with a large hook. + dice_size: 8 + hands: '2' + name: Horsechopper + price_cp: 90 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Goblin + - Reach + - Trip + - Versatile + - Versatile P + weaponcategory: Martial + weapongroup: Polearm +- bulk: '0.1' + damagetype: Slashing + descr: Similar to a sickle and used in some regions to reap grain, a kama has a + short, slightly curved blade and a wooden handle. + dice_size: 6 + hands: '1' + name: Kama + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Monk + - Trip + weaponcategory: Martial + weapongroup: Knife +- bulk: '1' + damagetype: Slashing + descr: A katana is a curved, single-edged sword known for its wickedly sharped blade. + dice_size: 6 + hands: '1' + name: Katana + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Deadly + - Two-Hand + - Versatile + - Deadly d8 + - Versatile P + - Two-Hand d10 + weaponcategory: Martial + weapongroup: Sword +- bulk: '0.1' + damagetype: Slashing + descr: The blade of this foot-long knife curves inward and lacks a cross guard at + the hilt. + dice_size: 6 + hands: '1' + name: Kukri + price_cp: 60 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Finesse + - Trip + weaponcategory: Martial + weapongroup: Knife +- bulk: '2' + damagetype: Piercing + descr: This spear-like weapon is used by a mounted creature to deal a great deal + of damage. + dice_size: 8 + hands: '2' + name: Lance + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 280 + page_stop: 280 + traits: + - Deadly + - Jousting + - Reach + - Deadly d8 + - Jousting d6 + weaponcategory: Martial + weapongroup: Spear +- bulk: '0.1' + damagetype: Bludgeoning + descr: This smaller version of the warhammer has a wooden or metal shaft ending + in a metal head. Unlike its heavier cousin, it is light enough to throw. + dice_size: 6 + hands: '1' + name: Light Hammer + price_cp: 30 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Thrown + weaponcategory: Martial + weapongroup: Hammer +- bulk: '0.1' + damagetype: Piercing + descr: A light pick is a modified mining implement with a wooden shaft ending in + a pick head crafted more to pierce armor and flesh than chip rocks. + dice_size: 4 + hands: '1' + name: Light Pick + price_cp: 40 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Fatal + - Fatal d8 + weaponcategory: Martial + weapongroup: Pick +- bulk: '1' + damagetype: Slashing + descr: Longswords can be one-edged or two‑edged swords. Their blades are heavy and + they’re between 3 and 4 feet in length. + dice_size: 8 + hands: '1' + name: Longsword + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Versatile + - Versatile P + weaponcategory: Martial + weapongroup: Sword +- bulk: '0.1' + damagetype: Piercing + descr: This parrying dagger features a robust guard to protect the wielder’s hand. + dice_size: 4 + hands: '1' + name: Main-gauche + price_cp: 50 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Disarm + - Finesse + - Parry + - Versatile + - Versatile S + weaponcategory: Martial + weapongroup: Knife +- bulk: '2' + damagetype: Bludgeoning + descr: Mauls are massive warhammers that must be swung with two hands. + dice_size: 12 + hands: '2' + name: Maul + price_cp: 300 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Shove + weaponcategory: Martial + weapongroup: Hammer +- bulk: '0.1' + damagetype: Bludgeoning + descr: The nunchaku is constructed of two wooden or metal bars connected by a short + length of rope or chain. + dice_size: 6 + hands: '1' + name: Nunchaku + price_cp: 20 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Backswing + - Disarm + - Finesse + - Monk + weaponcategory: Martial + weapongroup: Club +- bulk: '0.1' + damagetype: Piercing + descr: This stout, metal blade of orc design has a horizontal basket hilt with blades + jutting from each end, or sometimes one blade like that of a katar. + dice_size: 6 + hands: '1' + name: Orc Knuckle Dagger + price_cp: 70 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Disarm + - Orc + weaponcategory: Martial + weapongroup: Knife +- bulk: '1' + damagetype: Piercing + descr: A pick designed solely for combat has a sturdy wooden shaft and a heavy, + pointed head to deliver devastating blows. + dice_size: 6 + hands: '1' + name: Pick + price_cp: 70 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Fatal + - Fatal d10 + weaponcategory: Martial + weapongroup: Pick +- bulk: '2' + damagetype: Piercing + descr: This polearm is a long trident with a central prong that’s longer than the + other two. + dice_size: 10 + hands: '2' + name: Ranseur + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Disarm + - Reach + weaponcategory: Martial + weapongroup: Polearm +- bulk: '1' + damagetype: Piercing + descr: The rapier is a long and thin piercing blade with a basket hilt. It is prized + among many as a dueling weapon. + dice_size: 6 + hands: '1' + name: Rapier + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Deadly + - Disarm + - Finesse + - Deadly d8 + weaponcategory: Martial + weapongroup: Sword +- bulk: '0.1' + damagetype: Piercing + descr: This piercing dagger is a metal spike flanked by a pair of prongs that can + be used to trap an enemy’s weapon. + dice_size: 4 + hands: '1' + name: Sai + price_cp: 60 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Disarm + - Finesse + - Monk + - Versatile + - Versatile B + weaponcategory: Martial + weapongroup: Knife +- bulk: '0.1' + damagetype: Bludgeoning + descr: A sap has a soft wrapping around a dense core, typically a leather sheath + around a lead rod. Its head is wider than its grip to disperse the force of a + blow, as the weapon’s purpose is to knock out its victim rather than to draw blood. + dice_size: 6 + hands: '1' + name: Sap + price_cp: 10 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Nonlethal + weaponcategory: Martial + weapongroup: Club +- bulk: '1' + damagetype: Slashing + descr: This one-handed curved blade is sharp on one side. + dice_size: 6 + hands: '1' + name: Scimitar + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Forceful + - Sweep + weaponcategory: Martial + weapongroup: Sword +- bulk: '2' + damagetype: Slashing + descr: Derived from a farming tool used to mow down long grains and cereals, this + weapon has a long wooden shaft with protruding handles, capped with a curved blade + set at a right angle. + dice_size: 10 + hands: '2' + name: Scythe + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Deadly + - Trip + - Deadly d10 + weaponcategory: Martial + weapongroup: Polearm +- bulk: '0' + damagetype: Bludgeoning + descr: A shield bash is not actually a weapon, but a maneuver in which you thrust + or swing your shield to hit your foe with an impromptu attack. + dice_size: 4 + hands: '1' + name: Shield Bash + price_cp: 0 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Martial + weapongroup: Shield +- bulk: '0' + damagetype: Bludgeoning + descr: Typically a round, convex, or conical piece of thick metal attached to the + center of a shield, a shield boss increases the bludgeoning damage of a shield + bash. + dice_size: 6 + hands: '1' + name: Shield Boss + price_cp: 50 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Martial + weapongroup: Shield +- bulk: '0' + damagetype: Piercing + descr: These metal spikes are strategically placed on the defensive side of the + shield to deal piercing damage with a shield bash. + dice_size: 6 + hands: '1' + name: Shield Spikes + price_cp: 50 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Martial + weapongroup: Shield +- bulk: '0.1' + damagetype: Piercing + descr: These blades come in a variety of shapes and styles, but they are typically + 2 feet long. + dice_size: 6 + hands: '1' + name: Shortsword + price_cp: 90 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Finesse + - Versatile + - Versatile S + weaponcategory: Martial + weapongroup: Sword +- bulk: '1' + damagetype: Slashing + descr: This 4‑foot‑long length of chain is covered with barbs and has spikes on + one or both ends. Some feature metal hoops used as handgrips. + dice_size: 8 + hands: '2' + name: Spiked Chain + price_cp: 300 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Disarm + - Finesse + - Trip + weaponcategory: Martial + weapongroup: Flail +- bulk: '0.1' + damagetype: Piercing + descr: From a central metal ring, four tapering metal blades extend like points + on a compass rose. When gripping a starknife from the center, the wielder can + use it as a melee weapon. It can also be thrown short distances. + dice_size: 4 + hands: '1' + name: Starknife + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Deadly + - Finesse + - Thrown + - Versatile + - Versatile S + weaponcategory: Martial + weapongroup: Knife +- bulk: '1' + damagetype: Slashing + descr: This heavy blade is favored by guardians of religious sites. It has a distinctive, + crescent-shaped blade that seems to be a mix of a sickle and sword. It often has + holes drilled into the blade or the pommel so that bells or other holy trinkets + can be affixed to the weapon as an aid for prayer or mediation. + dice_size: 8 + hands: '1' + name: Temple Sword + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Monk + - Trip + weaponcategory: Martial + weapongroup: Sword +- bulk: '1' + damagetype: Piercing + descr: This three-pronged, spear-like weapon typically has a 4-foot shaft. Like + a spear, it can be wielded with one hand or thrown. + dice_size: 8 + hands: '1' + name: Trident + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Thrown + weaponcategory: Martial + weapongroup: Spear +- bulk: '2' + damagetype: Bludgeoning + descr: '' + dice_size: 10 + hands: '2' + name: War Flail + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Disarm + - Sweep + - Trip + weaponcategory: Martial + weapongroup: Flail +- bulk: '1' + damagetype: Bludgeoning + descr: This weapon has a wooden shaft ending in a large, heavy metal head. The head + of the hammer might be single-sided or double-sided, but it’s always capable of + delivering powerful bludgeoning blows. + dice_size: 8 + hands: '1' + name: Warhammer + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Shove + weaponcategory: Martial + weapongroup: Hammer +- bulk: '1' + damagetype: Slashing + descr: This long strand of thick leather, often braided, delivers a painful but + nonlethal slash at a distance, usually accompanied by a distinctive cracking sound. + dice_size: 4 + hands: '1' + name: Whip + price_cp: 10 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Disarm + - Finesse + - Nonlethal + - Reach + - Trip + weaponcategory: Martial + weapongroup: Flail +- bulk: '1' + damagetype: Bludgeoning + descr: '' + dice_size: 6 + hands: '1' + name: Aklys + price_cp: 500 + range: null + reload: null + source: + - abbr: CRB + page_start: 85 + page_stop: 85 + traits: + - Uncommon + - Ranged Trip + - Tethered + - Thrown + - Trip + weaponcategory: Advanced + weapongroup: Club +- bulk: '2' + damagetype: Slashing + descr: This favored weapon of the dwarves has a large, ornate head mounted on a + thick handle. This powerful axe can be wielded with one hand or two. + dice_size: 8 + hands: '1' + name: Dwarven War Axe + price_cp: 300 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Dwarf + - Sweep + - Two-Hand + - Two-Hand d12 + weaponcategory: Advanced + weapongroup: Axe +- bulk: '2' + damagetype: Bludgeoning + descr: More a flail than a mace, this weapon has a short handle attached to a length + of chain with a ball at the end. The ball is propelled to its reach with the flick + of the wrist, the momentum of which brings the ball back to the wielder after + the strike. + dice_size: 8 + hands: '1' + name: Gnome Flickmace + price_cp: 300 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Gnome + - Reach + weaponcategory: Advanced + weapongroup: Flail +- bulk: '1' + damagetype: Slashing + descr: This single-bladed bearded axe has a jagged blade that’s perfect for separating + bone from tendon and cartilage. + dice_size: 8 + hands: '1' + name: Orc Necksplitter + price_cp: 200 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Forceful + - Orc + - Sweep + weaponcategory: Advanced + weapongroup: Axe +- bulk: '0.1' + damagetype: Slashing + descr: The signature weapon of the Red Mantis assassins, this curved blade is serrated + like a saw, hence the name. + dice_size: 8 + hands: '1' + name: Sawtooth Saber + price_cp: 500 + range: null + reload: null + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Uncommon + - Agile + - Finesse + - Twin + weaponcategory: Advanced + weapongroup: Sword +- bulk: '2' + damagetype: Piercing + descr: Ogres are known for using immense, curved picks called ogre hooks. + dice_size: 10 + hands: '2' + name: Ogre Hook + price_cp: 100 + range: null + reload: null + source: + - abbr: CRB + page_start: 253 + page_stop: 253 + traits: + - Uncommon + - Deadly + - Trip + weaponcategory: Advanced + weapongroup: Pick +- bulk: '0.1' + damagetype: Piercing + descr: This long, narrow tube is used for shooting blowgun darts, using only the + power of a forcefully exhaled breath. + dice_size: 1 + hands: '1' + name: Blowgun + price_cp: 10 + range: 20 + reload: '1' + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Nonlethal + weaponcategory: Simple + weapongroup: Dart +- bulk: '1' + damagetype: Piercing + descr: This ranged weapon has a bow-like assembly mounted on a handled frame called + a tiller. The tiller has a mechanism to lock the bowstring in place, attached + to a trigger mechanism that releases the tension and launches a bolt. + dice_size: 8 + hands: '2' + name: Crossbow + price_cp: 300 + range: 120 + reload: '1' + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Simple + weapongroup: Bow +- bulk: '0.1' + damagetype: Piercing + descr: This thrown weapon is larger than an arrow but shorter than a javelin. It + typically has a short shaft of wood ending in a metal tip and is sometimes stabilized + by feathers or fur. + dice_size: 4 + hands: '1' + name: Dart + price_cp: 1 + range: 20 + reload: '' + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: + - Agile + - Thrown + weaponcategory: Simple + weapongroup: Dart +- bulk: '0.1' + damagetype: Piercing + descr: Sometimes referred to as an alley bow by rogues or ruffians, this small crossbow + fires small bolts that are sometimes used to deliver poison to the target. It's + small enough to be shot one-handed, but it still requires two hands to load. + dice_size: 6 + hands: '1' + name: Hand Crossbow + price_cp: 300 + range: 60 + reload: '1' + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Simple + weapongroup: Bow +- bulk: '2' + damagetype: Piercing + descr: This large crossbow is harder to load and more substantial than a regular + crossbow, but it packs a greater punch. + dice_size: 10 + hands: '2' + name: Heavy Crossbow + price_cp: 400 + range: 120 + reload: '2' + source: + - abbr: CRB + page_start: 281 + page_stop: 281 + traits: null + weaponcategory: Simple + weapongroup: Bow +- bulk: '0.1' + damagetype: Piercing + descr: This thin spear is well balanced for throwing but is not designed for melee + use. + dice_size: 6 + hands: '1' + name: Javelin + price_cp: 10 + range: 30 + reload: '' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Thrown + weaponcategory: Simple + weapongroup: Dart +- bulk: '0.1' + damagetype: Bludgeoning + descr: Little more than a leather cup attached to a pair of straps, a sling can + be used to fling smooth stones or sling bullets at a range. + dice_size: 6 + hands: '1' + name: Sling + price_cp: 0 + range: 50 + reload: '1' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Propulsive + weaponcategory: Simple + weapongroup: Sling +- bulk: '2' + damagetype: Piercing + descr: This projectile weapon is made from horn, wood, and sinew laminated together + to increase the power of its pull and the force of its projectile. Like all longbows, + its great size also increases the bow's range and power. You must use two hands + to fire it, and it cannot be used while mounted. Any time an ability is specifically + restricted to a longbow, such as Erastil's favored weapon, it also applies to + composite longbows unless otherwise stated. + dice_size: 8 + hands: 1+ + name: Composite Longbow + price_cp: 2000 + range: 100 + reload: '0' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Deadly + - Propulsive + - Volley + - Deadly d10 + - Volley 30 ft. + weaponcategory: Martial + weapongroup: Bow +- bulk: '1' + damagetype: Piercing + descr: This shortbow is made from horn, wood, and sinew laminated together to increase + the power of its pull and the force of its projectile. Its compact size and power + make it a favorite of mounted archers. Any time an ability is specifically restricted + to a shortbow, it also applies to composite shortbows unless otherwise stated. + dice_size: 6 + hands: 1+ + name: Composite Shortbow + price_cp: 1400 + range: 60 + reload: '0' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Deadly + - Propulsive + - Deadly d10 + weaponcategory: Martial + weapongroup: Bow +- bulk: '1' + damagetype: Bludgeoning + descr: This staff ends in a Y-shaped split that cradles a sling. The length of the + staff provides excellent leverage when used two‑handed to fling rocks or bullets + from the sling. + dice_size: 10 + hands: '2' + name: Halfling Sling Staff + price_cp: 500 + range: 80 + reload: '1' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Uncommon + - Halfling + - Propulsive + weaponcategory: Martial + weapongroup: Sling +- bulk: '2' + damagetype: Piercing + descr: This 5-foot-tall bow, usually made of a single piece of elm, hickory, or + yew, has a powerful draw and is excellent at propelling arrows with great force + and at an extreme distance. You must use two hands to fire a longbow, and it can't + be used while mounted. + dice_size: 8 + hands: 1+ + name: Longbow + price_cp: 600 + range: 100 + reload: '0' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Deadly + - Volley + - Deadly d10 + - Volley 30 ft. + weaponcategory: Martial + weapongroup: Bow +- bulk: '1' + damagetype: Piercing + descr: This smaller bow is made of a single piece of wood and favored by skirmishers + and cavalry. + dice_size: 6 + hands: 1+ + name: Shortbow + price_cp: 300 + range: 60 + reload: '0' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Deadly + - Deadly d10 + weaponcategory: Martial + weapongroup: Bow +- bulk: '-' + damagetype: Piercing + descr: This throwing star is a small piece of flat metal with sharp edges, designed + to be flung with a flick of the wrist. + dice_size: 4 + hands: '1' + name: Shuriken + price_cp: 1 + range: 20 + reload: '0' + source: + - abbr: CRB + page_start: 282 + page_stop: 282 + traits: + - Uncommon + - Agile + - Monk + - Thrown + weaponcategory: Martial + weapongroup: Dart From 33a70bd285218fa0c53fa0c4ee1ba8d3d26bbc44 Mon Sep 17 00:00:00 2001 From: James Miller Date: Thu, 23 Apr 2020 17:24:40 -0500 Subject: [PATCH 7/7] depracated file --- data/yaml/{ => deprecated}/tmp-sql-to-weapons.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename data/yaml/{ => deprecated}/tmp-sql-to-weapons.py (100%) diff --git a/data/yaml/tmp-sql-to-weapons.py b/data/yaml/deprecated/tmp-sql-to-weapons.py similarity index 100% rename from data/yaml/tmp-sql-to-weapons.py rename to data/yaml/deprecated/tmp-sql-to-weapons.py