We currently track biodata for the various wandering bugbears in the following settings:
biodataMedbay
biodataWasteProcessing
biodataSonar
biodataScienceLab
biodataMorgue
biodataSpecialOps
biodataEngineering
biodataNavigation
biodataGalley
These are all set by UseItemRequest when you look at the key-o-tron.
Additionally, FightRequest.handleKeyOTron looks at the after-battle messages when you defeat a bugbear.
Seems like each room has the following states:
0-8 - locked; the (insufficient) amount of biodata collected
unlocked - sufficient biodata collected but level not open yet
open - unlocked and level is available
cleared - room is finished.
- when we change the value of one of the "biodata" settings, locked can go to unlocked or open
- when we finish a room, open goes to cleared.
- when we finish the last room on a level, all unlocked rooms on next level go to open.
We could have a "bugbears" command (a la my fancy "accordions" and "thralls") which lists the 9 zones, the bugbear whose biodata you need to collect, where it is found, and the progress of the room, as above.
Considering we already have the biodata tracking - and I have completed 8 of the 9 collections, but have not ventured into the mothership at all - this looks like it would be easy enough. I could add the following settings:
statusMedbay
statusWasteProcessing
statusSonar
statusScienceLab
statusMorgue
statusSpecialOps
statusEngineering
statusNavigation
statusGalley
A pity we didn't do it this way from the beginning, since the "biodata" setting would no longer be needed. And I hesitate to change them from numeric settings to numeric-or-keyword, since I think existing scripts will not know what to do with keyword values. So, I can leave the "biodata" settings for backwards compatibility, but scripts could be written to use just the "status" settings.