My goodness, it’s been a wild day.
I had so much fun working on the SERU Drop Point and the egg history script that I just spent something like twelve hours totally zoned in scripting what was supposed to be a simple “call creatures to hand” magic words command that turned into “call any type of object to hand” and also “call creatures that match certain requirements to hand.” It’s got so many little parameters that it’s going to require a lot of testing but right now I’m just having way too much fun going into a room, yelling CALL PLANTS and CALL CRITTERS suddenly the entirety of nature bursts forth from my hand. I wouldn’t say it’s super useful but it’s absolutely, hysterically, fun.
It’s got some limitations on it, like it won’t grab anything that doesn’t have proper physics and it won’t grab anything being held by another object (if it’s stuck in a lift or if a creature is holding it, for example. It’s also “smart” in the sense that it won’t move things that are already near the hand. It will grab things that the hand can’t normally grab (again, as long as they have physics) but they will then be movable by the hand afterwards.
The one thing it doesn’t do terribly well is actually grab randomly. If you call for three toys, it’ll grab the first three toys it enums, which tends to be the same three toys every time. I’m still deciding if writing “shuffle” scripts is worth it.
Another thing I’ve noticed, though I don’t know if I’ll bother trying to fix, is that sometimes it grabs plant seeds that do have physics, but then they sprout, in midair as they are falling, into plants that do not. Then the plants just kinda hang out there, and you can’t move them because technically those plants are different agents than the ones that were moved by the script. It’s a very minor annoyance though.
It’s hard to stop, but I keep wanting to develop it further. Like right now you can call say, youth, adult, or old creatures, but you can’t call “youth or older” creatures. But I didn’t really think through how I wanted to implement the arguments because the scope of this idea inflated far past the little system I had in place, and I’m getting to the point where I really need to overhaul the whole thing if I’m going to keep adding arguments.
And-- this is getting WAY out of scope--, but I have dreamed for years about creating a combination status window/caos command line that also incorporated magic words commands (effectively replacing most of them) and allowing for longer commands with lots of arguments and it would be nice if by then I had already put together a decent system for handling multiple complex arguments. But even if that’s true, and if this dream is ever realized, is it worth back-burnering this entire script, which is already a lot of fun in its current state, until I can make it better?
Probably not, but knowing me, I’ll sit on it for ages anyways. Sigh.