This means, for example, that when you sort by one skill, then by a second, dwarves with the first skill but not the second will still be grouped together.
The original drainaquifer script could occasionally fail to notice aquifer layers if they happen to skip each of the special tiles that it checks, two per block. It also left the block-level aquifer flags set, which seems like a minor waste of FPS.
The new script uses the block-level flags to determine which blocks to check, which seems to be both more correct and faster. It's also written in Lua instead of Ruby, for clarity and ease of debugging. The name has changed slightly to prevent problems if both scripts are installed for some reason.
Saving a game in progress now goes through an extra viewscreen before reaching the condition that had been used to indicate whether the world was still valid, causing the core to emit bogus WORLD_LOADED, MAP_LOADED, MAP_UNLOADED, and WORLD_UNLOADED events. Adding that viewscreen to the list of loading/saving screens prevents those duplicate events from firing.
Granted, if the game_cleaner viewscreen ever gets hit in play, this fix will cause more bogus events...
This prevents a form of cheating, because they already get traded with the bin itself, so their value had been counted twice.
However, the search plugin still enables this kind of cheating...
Expanded exportlegends.lua to handle site maps as well, and improved
precision of args. Identified `vs.anon_21`; I'm not sure what the
process is so I've used it here and noted it's discovery.
That echo option is a bash-specific extension, unavailable under other shells.
Fortunately, a bare echo with no arguments prints the single newline required here.