jbhaywood / 5e-statblock-importer

A module for FoundryVTT that creates a new actor from any 5e monster or NPC statblock.
MIT License
18 stars 14 forks source link

More Flee Mortals support #58

Closed MaxPat931 closed 10 months ago

MaxPat931 commented 1 year ago

I saw #33 and it looks like there have been some minor tweaks to the stat block format now that Flee Mortals has released, hopefully you're open to taking a look at them? A new preview packet for a spinoff project https://mcdm.gg/WhereEvilLivesPreview shows the updated format for their official stat blocks, but here's what I noticed:

CR, Role, and xp are always at the bottom - currently this means they are appended to the last listed feature instead of setting their respective fields image

There isn't really a specific place for the role to be on the character sheet, I personally like the "source" field, but I've also heard others use a Race Subtype. image

Villain Actions - (see: Queen Bargnot and Lord Syuul) Legendary Actions essentially, currently they get imported as one large feature image

would be ideal to have the Legendary Actions fields set to 3, a Villain Action Feature, and individual Actions for each villain action image

Limited Use (1/day, etc) fields arent set, from the Goblin Assassin and Cursespitter image

Utility Spells - Unfortunately none of the stat blocks in the new preview have this section, but it is a section (always at the end) for "out-of-combat" spells a creature may have, currently its appended to the end of the feature before that section image image

I think just a separate Feature with this text would be fine image

Otherwise, it's working great, thanks for the great module!

jbhaywood commented 1 year ago

Thanks for the report. I have Flee Mortals myself, but I can't say when I'll be able to get around to updating this module to support the MCDM style statblocks. I'd be happy to integrate the change if someone else wants to take it on though.

MaxPat931 commented 1 year ago

Totally understandable, thanks for the reply!

The only thing I've been able to figure out has been a very basic addition for the Utilty Spells, adding to the const sectionHeaders array of scripts/sbiParser.js image image

MaxPat931 commented 1 year ago

Was able to make a little progress on CR and Role here: https://github.com/MaxPat931/5e-statblock-importer/commit/69fdc6cf49006caa37d7a31ca86d88e4b95fe6fb

Disclosure the update to the regex was done through chatgpt, so there may be some wonkiness to it. Seems to work fine as long as you move the CR # and Role to the right section, and move the exp value to that same line or just leave it out completely. Role get set in the actor's source field. It doesn't seem to interfere with other statblocks although I only tested a couple from DDBeyond. Not sure how to say run setChallengeAsync on the last line (or 2, but not pasting in the xp value would be easy enough) but it's a step closer.

Also got a little movement with Villain Actions here: https://github.com/MaxPat931/5e-statblock-importer/commit/15de21dd43dba87dd090eb127e66dca073f58416

All it does is set the legact value and max fields if Villain Actions are present. Not sure how to break up that item into multiple features though.

I can make a PR if/when this gets to a useful update, just wanted to log my progress here in case anyone else wants to use it or can kick in help.

MaxPat931 commented 11 months ago

Noticed an issue with Demons last night demontime

the addition of demon categories pushes the alignment to a new line and neither get picked up the Demon, Category 5 should be mapping to details.race I'm not sure why it isnt

Demons also have an additional resource listed below their HP, called Souls, represented as a number and die value I'm not sure how this would best be handled, but perhaps creating an Item called Souls, with limited uses value set to the number, limited uses maximum set to the maximum value of the die expression.

Finally, Demons have a unique sense called soulsight, however it isnt mapped into the custom senses, as only the last sense is picked up (which is always Passive Perception, which I personally find unnecessary since Foundry calculates passives for all skills)

jbhaywood commented 10 months ago

Everything here should be supported now except for demon souls. I'll work on that next.

MaxPat931 commented 10 months ago

Wow awesome, thanks for entertaining my madness with this all! I'll have to take a look at all the changes here and wrap my head around them

Unfortunately, on 1.80.0 and 1.80.1 I am unable to import any statblock at all image

jbhaywood commented 10 months ago

Can you post the text that you’re importing?

MaxPat931 commented 10 months ago

I used the Glabrezu on the Readme in the screenshot here, but also tried with a statblock from FM and DDB

jbhaywood commented 10 months ago

It's always the little things. Should be fixed in v1.80.2.

MaxPat931 commented 10 months ago

Ahh there we go, looks good now, thank you!

jbhaywood commented 10 months ago

Everything should be supported as of v1.81.0.