New Content - Implemented New Challenge Path: Bugbears!

Veracity

Developer
Staff member
Since I am on a run collecting factoids for bugbears, I suppose I should try using some BURTs in the Relay Browser so I can verify and close this, eh? Unlike my Beecore ascension, which was full of little adjustments I had to make, I'm not seeing anything here that I wish KoLmafia was doing better for me.
 

Bale

Minion
I'm not seeing anything here that I wish KoLmafia was doing better for me.

The only thing that mafia could do better would be to track the completion status of the ship. When each room is completed, there is no way to know. The only clue to completion is that when all three rooms on a floor are complete, the next level will open. Would you like to add that feature?

We can mark this implemented even without mothershipProgress, but it would be nice. Shame I'd never get a chance to benefit from that feature.
 

Veracity

Developer
Staff member
Requisitioning stuff with BURTs in the Relay Browser now works fine. I had 66 BURTs, got a UV monocular, and had 16 left. My session log says this:

trading 50 BURTs for 1 UV monocular
You acquire an item: UV monocular

...which is exactly what you'd expect to see.
 

Veracity

Developer
Staff member
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.
 

Veracity

Developer
Staff member
Perhaps "mothershipProgress" would be:

0 - no levels complete
1 - Level 1 complete
2 - Level 2 complete
3 - Level 3 complete

And maybe something else for the Bridge. Or not; do we track how far along you are in the normal Sorceress Tower?
 

Veracity

Developer
Staff member
Revision 13298 adds the status<zone> and mothershipProgress settings. I have not yet added code to recognize the 9 zones being cleared. Nor do I yet have a "bugbear" command. I expect I'll get to the mothership on Monday and will add those things then.
 

Bale

Minion
I'm calling it implemented now. If you add any additional features they're just for fun.
 

Veracity

Developer
Staff member
I went through the whole mothership today. Revision 13313 notices when you clear a zone and sets the appropriate "statusXXX" setting to cleared. If you clear the last room on alevel, all the rooms on the level above which were "unlocked" now become "open".

This is as done as I'm going to make it - unless my final two factoid runs on this path (the bugbear robo-surgeon and the BUgbear Captain are once-per-ascension monsters) make me really wish KoLmafia did something more to support it. Unlikely.
 

Bale

Minion
Quite unlikely indeed. I've got 14 thwaigold woolybears and you've implemented everything I would have wanted.

My only regret is that I'll probably never get to play with the toys you just added.
 

Bale

Minion
I've got a question about the new statusBugbear properties! Do they reset to 0 on ascension?

I ask this because the old biodata properties didn't reset to 0 until the key-o-tron was acquired. This meant I had to check the presence of the key-o-tron before I could believe the biodata values. Was that behavior improved for the new status properties?
 

Bale

Minion
Looks like you nailed it. As usual! It's a shame you were burned out back when I was fighting off the bugbear invasion.

I've updated my scripts to use status instead of biodata so once BCCA switches over, you could feel free to delete the biodata prefs.
 

Theraze

Active member
BCA uses status instead of biodata now. If the unmodified status preference == "0" or to_int() > 0, that means the zone is not done.
 

Veracity

Developer
Staff member
You could use is_integer( setting ), which will be true if the setting is a number (i.e., all biodata not collected yet) but false for the other possible values - unlocked, open, cleared.
 

Theraze

Active member
Done! I was initially thinking that I needed to still throw the value check in there to make sure that it hadn't finished and then I realized... nope. :) Thanks. One calculation instead of three should make things a tiny bit faster for people gathering their factoids.
 

Veracity

Developer
Staff member
Cool. So, if BCA has stopped using biodataZONE and Bale's scripts have stopped using those settings, it is time to clean things up a bit and remove the obsolete settings. Revision 13327 does that.

If there are other scripts out there that use those settings and the owner decodes, for some reason, to go bugbears again, I imagine we'll hear about it. At which point, we can point them to the new settings.
 

Bale

Minion
Great! Out with the old; In with the new and improved.

Small compatibility question. Why didn't you add the "unlocked," "open" and "cleared" values to biodata instead of creating a new set of status preferences? Was that to avoid breaking scripts which weren't prepared for non-numerical values?
 
Top