njlyon0 / dndR

Dungeons & Dragons Functions for Players and Dungeon Masters
https://njlyon0.github.io/dndR/
Other
16 stars 2 forks source link

Make Monster Equivalent for `spell_list` and `spell_text` #14

Closed njlyon0 closed 2 months ago

njlyon0 commented 6 months ago

I was previously interested in making monster (/ generic 'creature') equivalents of spell_list and spell_text but couldn't find a source of markdown files to harvest for that information. Now I found this repository (Dr-Eigenvalue / bestiary) and it should enable me to create those functions without too much difficulty!!

njlyon0 commented 6 months ago

Progress Update

Duplicating update-spells.R into update-menagerie.R means we get much of the behind-the-scenes work accomplished by default. However, there is a problem in that the bestiary repository put all ~2500 creatures' information into the same folder on GitHub. GitHub truncates folders of >1000 items to just the first 1000 which causes supportR::github_ls to fail to return all available information.

To fix this, I've forked the bestiary repo (now named njlyon0 / dnd_menagerie) so that I can introduce sharding to avoid this issue.

An ancillary benefit is that my fork of this--and of the grimoire repo (njlyon0 / dnd_grimoire)--are protected from the outside chance that the original repository owner deletes or changes the visibility of their source repo. I may need to periodically sync my fork with the source forks but that seems well worth the additional stability/safety

njlyon0 commented 2 months ago

Update

Thanks to the new tabularize_md function in my supportR package, I can streamline the behind the scenes wrangling of creature information. Made some good early attempts at creating the large database/table that would underpin these new functions and feeling good about the next few wrangling steps too.

njlyon0 commented 2 months ago

Done

creature_list and creature_text completed and added to package build. All local checks and GitHub Actions succeed without errors, warnings, or notes.