View Single Post
Fenris447
Senior Member
 
Join Date: Sep 2017
Posts: 409

Old January 21st, 2021, 06:30 AM
Release 3.1, which I am calling Monster Mash, is coming along nicely. In addition to the spell adjustments mentioned earlier, it will focus on getting in a lot of the monsters that have yet to be programmed in. Right now I can promise GGtR and IDRotF monsters will be in, but I’m working towards a lot more than that. I’m also hoping to get a bunch of items in, especially TCoE. But those are a whole lot of text to rewrite, so without any help it is very time-consuming.

In case anyone is interested, I can pull back the curtain on the process on programming in monsters. I have a way of pulling dumps of the monsters for a particular book in spreadsheet form. One enterprising HL user (I can’t remember who otherwise I’d give credit) had developed a spreadsheet that can convert such data into Hero Lab’s programming language. Over the years, I’ve built on that format. It can pull almost all the stats in a stat block in automatically, with a few exceptions.

With changes I’ve recently made, it can even pull in the basic attacks (those that have +# to hit, #d# damage) and generate them automatically. It also now can identify when a caster is a named NPC, so that their spellcasting description doesn’t say “The john mageman’s casting ability is...”, and instead properly rewrites that text.

The few things that require manual touches still take a ton of time. Any special abilities, actions, reactions, legendary actions, and lair actions all must be rewritten to strip out descriptive text and to not be direct copies (for copyright reasons) of what’s in the book. So I have to pull all those out, type out their new text, and tweak their damage, range, type of action, etc. in another spreadsheet that generates that specific code. Then I dump those programmed abilities into the HL file.

The next step is to open the editor and manually match each of those abilities to their monsters. This is relatively easy, but again, time consuming.

Finally we build a .stock file, which is the same as your .por files for your saved heroes/parties. You create each monster as an NPC, selecting that monster for the NPC’s race. Any armor or regular weapons (short sword, mace, longbow, etc.) get added here. Also, any spellcasters with prepared spells (versus innate, which are programmed manually in the editor) must have their spells chosen at this stage.

Finally, you review the monster in the .stock file to make sure it matches the book version of that monster. Some things have to be tweaked. For instance, Hero Lab can only add Telepathy up to a range of 600 ft. by default. For a monster with 1,000 ft. of telepathy, I had to make some tweaks in the editor.

Once all that’s done, you save the .stock file to your 5e data folder. Once Hero Lab reloads, you can see those monsters in the Encounter Builder. And that’s how I program monsters.

I’m working on a similar solution for programming items. On the whole, items require more individual programming than monsters, since their effects are far less universal. But at least I can get rewritten descriptions, weights, rarities, sources, attunement, etc. automated. But again, rewriting the descriptions takes a ton of time!

So if anyone is interested in helping without having to do any programming, there’s plenty of work in that rewriting. It’s pretty straightforward. Think back to your school years, where you copied stuff off the internet for a report. You re-stated it, making the words different while still saying the same thing. That’s exactly what we do for all abilities, items, spells, etc. in the community pack. That, plus removing the fluff. We don’t need text like “the Druid calls upon its bond with nature, summoning a powerful ally.”

Found an issue with or have a suggestion for the 5e Community Pack? Please post it here at our GitHub.

Feel free to stop by the Lone Wolf Development Subreddit, for discussion of any and all LWD products and community efforts!
Fenris447 is online now   #868 Reply With Quote