canismarko / dungeon-sheets

A tool to create character sheets and GM session notes for Dungeons and Dragons fifth edition (D&D 5e).
https://dungeon-sheets.readthedocs.io/en/latest/
GNU General Public License v3.0
163 stars 67 forks source link

All spells #149

Closed user18130814200115-2 closed 1 year ago

user18130814200115-2 commented 1 year ago

This PR includes the spells for All Core books, Supplements, Adventures and Unearthed Arcana (AAG AI AitFR-AVT EGW FTD GGR IDRotF LLK PHB SCC TCE UA20POR UA20SMT UA21DO UA22WotM UAAR UAFRW UAMM UAOBM UASAW UASS XGE)

I generated a sheet for a character who knows every spell which succeeded without errors. I also rebuilt the example sheets which produced no changes from the old sheets.

bw-mutley commented 1 year ago

Aside from the conflicts, I see some problems with this. Specially because including spells from all sources, including UA, can make the spell listing troublesome for those who does not use them. If mark says it is a go, I would suggest to include a property to the spell class so they can be filtered by source.

user18130814200115-2 commented 1 year ago

That’s not a problem from my perspective. I wrote a little program that parses the data I have in tsv files into the format for dungeonsheets. I can easily add a tag for every spell indicating it’s source and even more easily take out certain sources if they are unwanted.Message ID: @.***>

bw-mutley commented 1 year ago

Indeed, it is not a problem to the original purpose of making sheets. However, it would break a small module I've written based on dungeonsheets. But it is also ok, since I can simply derive a branch from here. Mine is already too mixed up and different from the the recent PR currently open from another contributor.

canismarko commented 1 year ago

Thanks for the PR @user18130814200115-2 . It would be nice to have all the spells in here. It seems this breaks the tests, because there is a unicode character in there somewhere and LaTeX by default doesn't do unicode input.

Also, so far the things included in dungeonsheets have mostly been part of the SRD, which means licensing is covered by the open gaming license. Do you have premission to re-use content from non-SRD sources? I know it sounds pedantic, but I'm not willing to deal with nasty letters for WotC lawyers.

If we can clear this hurdle, I'm happy to accept this PR with the change suggested by @bw-mutley.

Cheers!

user18130814200115-2 commented 1 year ago

The Unicode character can be chased down, but the licensing is an issue. I do not have special permission to use the sources not covered by the open gaming license, so this PR falls flat I think.Perhaps it is better for me to make available the parser program I made, and let people get their hands on the csv files themselves.Unless anyone knows another workaround, I suppose this PR must be closed. In that case I will see if I can filter for all spells covered by the Open Gaming Licence and make another PR for that.Message ID: @.***>

canismarko commented 1 year ago

Understood. I'm happy to include your script in this repo, or provide a link to it on the README/docs.

Where does your script get the data from? A down-the-road goal I had was to include the option dynamically retrieve content that isn't bundled with dungeon-sheets. Your solution might be the start of that project.

Thanks!

user18130814200115-2 commented 1 year ago

I am also very interested in working together on a project like this.

I am getting the data from https://5e.tools/spells.html. Unfortunately, the website does not simply store the csv as a file, requiring both javascript and a CAPTCHA to fetch the data. I will look into methods to automate this (perhaps this is easier with python than with POSIX shell, which is what the script is currently written in).

For now, I have put the script into its own repository at https://github.com/user18130814200115-2/parse5e. If I/we can get it to a state where you are happy with it, perhaps in the form of a general fetch script, then I am very open to adding it to the dungeonsheets repo.

canismarko commented 1 year ago

I added a link to your script at the bottom of the README.md.

Cheers, Mark