ironarachne / world

This is a fantasy world generation CLI and set of Go packages for the same.
MIT License
48 stars 9 forks source link

Add weapons from D\&D 5E PHB #16

Closed tpaschalis closed 4 years ago

tpaschalis commented 4 years ago

Created 29 weapons, and set them to categories.

Weapon names and prices came from http://www.5esrd.com/equipment/weapons/, with the assumption that 10sp = 1gp.

I'm not very knowledgeable about medieval/fantasy weaponry, so feel free to issue any corrections.

Weapons Still Missing

I didn't have a good idea on how to categorize (tag) these next weapons. Should they be in a "Miscellaneous" category?

dart, sling, whip, blowgun, net

Weapons Added

(tagged as Sword)

NAME=dagger, PRICE=2

NAME=scimitar, PRICE=25

NAME=rapier, PRICE=25

NAME=greatsword, PRICE=50

NAME=crescent blade, PRICE=80

NAME=sickle, PRICE=1

(tagged as Polearm)

NAME=halberd, PRICE=20

NAME=war scythe, PRICE=25

NAME=war pick, PRICE=5

NAME=glaive , PRICE=20

(tagged as Axe)

NAME=greataxe, PRICE=30

NAME=handaxe, PRICE=5

(tagged as Mace)

NAME=warhammer, PRICE=15

NAME=maul, PRICE=10

NAME=greatclub, PRICE=0.2

NAME=club, PRICE=0.1

NAME=light hammer, PRICE=2

(tagged as Spear)

NAME=javelin, PRICE=0.5

NAME=lance, PRICE=10

NAME=trident, PRICE=5

(tagged as Staff)

NAME=quarterstaff, PRICE=0.2

(tagged as Bow)

NAME=crossbow, light, PRICE=25

NAME=shortbow, PRICE=25

NAME=crossbow, hand, PRICE=75

NAME=crossbow, heavy, PRICE=50

NAME=great bow, PRICE=100

NAME=longbow, PRICE=50

(tagged as Flail)

NAME=flail, PRICE=10

NAME=spiked chain, PRICE=50

BenOvermyer commented 4 years ago

There are only three things to sort out before I merge this PR.

The RequiredTag property means that a resource must have that tag in order to fill the given slot. There are a couple that you've added (metal head and metal chain, for example) that don't exist anywhere. You can either replace them with resource tags that do exist (e.g., metal bar and metal bar, respectively, since the bars are all hard metals), or you can add additional patterns to smithing.go in the same package that have those tags.

The second thing is that Value is an int, so the float values will have to be changed to integers.

The last thing is the missing weapons. You can just tag them generically as weapon and I'll figure out how to tag them later.

tpaschalis commented 4 years ago

Sorry for the delay. Give me a few days, I'll get it done!

sumitb commented 4 years ago

I'm reusing your code for #9, I'll start by addressing comments and I've moved the file to pkg/resource/weapons.go

BenOvermyer commented 4 years ago

I've used @sumitb 's PR. Thanks for your contribution!