Posting to watch.
Have you switched the !BLAH system over to the \\BLAH system to make it more uniform with modtools stuff?
Yes, I did have a question about that though, and more specifically about the entire utils.processArgs thing. A couple questions actually;
1. Is processArgs recursive? What I mean is when using something like modtools/interaction-trigger does it read through everything in the -command argument? Or does it just lump it all into one thing?
2. Similarly, if I can't use the same \\BLAH that the other modtools things use correct? Because it would be overwritten?
3. Should it always be two \? Is there ever a time you would only use one \?
EDIT: Thanks for the feedback. My current plan is to rewrite the wrapper script to make it more intelligeble for people who want to see what is going on, and to make it easily addable to in the future. The rewrite shouldn't change the syntax from what it was before, and I am actually going to allow for both upper or lower case (since that is super easy to do). I am currently planning on breaking -profession, -noble, and -entity into a required and immune section (from #2 in the previous post)
script1 -arg1 \\THINGAMABOB -arg2 \\\BLAH
processArgs strips off one backslash, then script1 strips off one more so that you can pass special arguments to script1, and you can also pass arguments to script1 that it forwards to script2 as a special argument of script2 using 3 backslashes (one for processArgs, one for script1, and one for script2).
That felt like a confusing explanation so let me know if you have any questions. It should be possible to arbitrarily layer scripts using backslashes. Maybe try looking up "escape sequences" online. That's what they're for.
You also need two backslashes in strings in Lua because Lua strips off one for escape sequences. "\\" -> \, "\\\\" -> \\, etc.
1. Overhead on storage: I think it's a few hundred bytes per "node". Not massive but not tiny either.
2. Prefixing just ensures that nobody else's persistent storage conflicts with yours. Recommended for forward compatibility in case someone else wants to do persistent storage with tables with the same names.
3. I remember saying that but I'm not sure anymore. I don't know if returning units get their old unit ids back. It's a rare event so it's hard to test. Even representatives from the mountainhomes tend to be different every year.