That's very impressive. Don't worry, we get that it's for personal use.
I have a slightly off-topic question -- how easy/hard is to to write data files like that for HeroLab? I
really need to hire someone to do it for my What's O.L.D. is N.E.W. line, but I don't know the first thing about it.
If I overdo this "it's for personal use", on the Hero Lab forum the people of Hero Lab asked me that if I post screenshots somewhere I should make this clear so there is no confusion about it (though I really would like to at one point get an official licence for it ;-) )
How hard it is to write code in Hero Lab? Well, basically it is some form of XML with a scripting syntax between the XML tags which I would compare to - well, I would say Python-like, but I might be inclined to say Python-like as Python-programming is among the things I do for a living. Other people might compare it with other script languages they know.
Basically you set up containers like class, Attribute, Skill etc. - there is an example code (the "Authoring Kit" or even the 4e code which comes with full source-code) which you could "use" (this is what I did, by taking the rules of the example code - which is something d20 or dnd like but not exactly an existing system). So you take this existing stuff and modify it to the needs of your own system.
Then there are the following concepts:
evals - basically evaluation scripts, for example you could say in a script for a Pearl of Power that it adds a spell slot
things - basically every feat, power, etc. is a thing, you can do all sorts of things with them
tags - you can assign/remove xml-like tags to/from things, for example Helper.Disable to make a thing disappear
foreach-loops - something happening often in the code is looping through all things of a hero and find out if a thing with a specific id is there, and if yes, then
cause a specific script to happen
UI Scripts - careful, in some of them you cannot call sub-procedures!
Bootstrap - if this thing is present AND the character has at least level xy -> cause this thing to be assigned to the character
If you go to the help menu of Hero Lab you find a webpage with a rudimentary (I mean it!!!) help system.
The language is really quite primitive.
The biggest issue is to implement a whole system is a LOT of work. My D&D 5e files (95% done) are now about 5 MB. 5 MB of handwritten code !!! Even deducting the stuff still in from the Authoring Kit, this is a LOT (!!!) of code I had written.
Biggest issues are:
- Lots of typing to do
- Some tricky stuff (conditional bootstraps... cough...)
- rudimentary documentation
Understanding how the language works is less the problem (at least if you are no total newcomer to scripting languages).