Feature - Implemented Track ballroom opening progress

psly4mne

Member
In the adventure One Nightstand (Wooden) (choice adventure 85), the first second option works only if the first option has been chosen. To my knowledge, there is no way to tell whether you have already checked the top drawer without going into your log and searching for the choice URL. I think it would be nice if a variable were set when you check the top drawer. Bonus points if it shows up as a spoiler in the relay browser, so you could tell which part you were on without checking anywhere else.
 

Theraze

Active member
Well, you could use a BBB script that updates choiceadventure based on unlocking progress... That's what I've been using, makes it not painful in the slightest...
 

Winterbay

Active member
The relay browser does update the descriptions according to if you have or not have opened the top drawer I think. I might remember wrong though,
 

psly4mne

Member
Well, you could use a BBB script that updates choiceadventure based on unlocking progress... That's what I've been using, makes it not painful in the slightest...
That works in the Billiards Room and the Library, but I don't see how to make it work in the Bedroom. The first wooden nightstand does not add any items to inventory, and the adventure name is the same as all the other noncombats in the zone. BestBetweenBattle doesn't do it.

The relay browser does update the descriptions according to if you have or not have opened the top drawer I think. I might remember wrong though,
Nope.
 

Theraze

Active member
I know when I run my adventures using gCLI or the adventure tab (not relay, basically) and telling it that the spookyraven ballroom key is a goal, it automatically sets choice adventures to get it, and stops when done... For that matter, I remember it automatically did that without setting the ballroom key as a goal, but I'd generally rather stop fighting the nightstands and move on to boosting moxie heavily...
 

slyz

Developer
When you have the ballroom key set as a goal, Mafia simply changes choiceAdventure85 from 1 to 2 after choosing the first option.

Maybe a relay override script could do the same thing when you are adventuring in the bedroom, have choiceAdventure85 set to 1, and you click on the first choice? It would then set choiceAdventure85 to 2 and change the text next time you encounter the wooden nightstand adventure.
 

bumcheekcity

Active member
I would also like this feature. Some sort of variable like _bedroomKeyAvailable when you've selected the first choice in the relavent adventure set to 1 and then 0 on ascension or something? It would make it easier to pick up bedroom progress.
 

Theraze

Active member
No... couldn't/shouldn't use a daily resetting variable. Take the underscore off though and you might have a possibility. Better though would probably be something like spookyravenBallroomPartial as a boolean. If the Ballroom is not unlocked, and you don't have a key, and the step is on false, you need to check the top drawer. Once you unlock it, the boolean is set back to false, because you're not partially done... it's completed. If you rerun the top drawer for (bad compared to ballroom) moxie later, it can see that you have the ballroom key, and not set the boolean to true again. It just needs to be set to false on ascension in the ValhallaManager.
 

Bale

Minion
Rather than use ValhallaManager, it would be best to do this like most once per ascension events. lastBallroomKeyDropAscension should be set to the current ascension when you drop the key from the first drawer to the second. (If the value is not my_ascensions(), then we know the key is in drawer one. If we have the key in inventory, then we know it isn't in the second drawer either so it is easy to track that way.)

I like the ascension settings that way.

PS. We really need a lastOpenHiddenTempleAscension also, so we can track the meaning of not having the map or tree-holed coin.

Could you make a patch for those, Theraze?
 
Last edited:

bumcheekcity

Active member
Whilst I'm not opposed to the lastOpenHiddenTempleAscension thing, because it could save a few server hits, couldn't we just check woods.php for temple.gif?

Either one of the above suggested ways of managing the Bedroom Key Top Drawer thing would be fantastic. I don't know that much about mafias code, so if Bale says that most of these kind of things are handled via the (xx == my_ascensions()) way of doing things, may as well not break with ceremony.
 

Theraze

Active member
Suppose that works... can check for key if it's in inventory, tag the upper drawer first-check per ascension. Will take me a bit to work this up, probably try to do it tomorrow morning if possible. Rather tired tonight... still haven't actually run my characters and don't think I'm awake enough to do it successfully yet. :)
 

Bale

Minion
I don't know that much about mafias code, so if Bale says that most of these kind of things are handled via the (xx == my_ascensions()) way of doing things, may as well not break with ceremony.

Take a look at preferences, there's a whole host of last...Ascension/Reset preferences that are tagged with the ascension that they were done:

Code:
lastArcadeAscension
lastBangPotionReset
lastBattlefieldReset
lastCellarReset
lastDoorCodeReset
lastDustyBottleReset
lastDwarfFactoryReset
lastFriarCeremonyAscension
lastHiddenCityAscension
lastKingLiberation
lastQuartetAscension
Among many others.
 

Theraze

Active member
Someone want to try this one out? Makes a value "lastBallroomUnlock" to go with "lastSecondFloorUnlock" and "lastGalleryUnlock" which should be set if you select the first choice at the ballroom and the ascension value doesn't match. Put a dynamic choice spoiler that should, if I actually got it right, display what will happen on each choice... moxie for the first and if your ballroom flag isn't set, it should add "and ballroom key step 1". On the second, it should either display "nothing" or "ballroom key step 2" depending on if you have done step 1.

Suppose we could do a dynamic override as well... if you have the key in your inventory and you still have step 2 selected, do step 1 instead. Eh, whatever.
 

Theraze

Active member
Just a sec... I realized I forgot to make it check for having the key available, so it'll say that step 2 is available forever. I'll fix that and spin in the next few minutes. If anyone reads/cares before I upload, would it be good to override future bottom drawer selections when you already have the key? Does it count as a skipped adventure or lost adventure? If it's lost, we should give the safe free moxie. If it's skipped, should allow it to continue.

Edit: Okay, here's the patch with a check on choice-spoiler for not having the key in your inventory. Used the same check that it's doing when you set it as a goal.

Edit2:
In the Haunted Bedroom, you find a simple wooden nightstand, the top of which is covered with what seem to be piles of cheap costume jewelry.
What would you like to do?
[SIZE=-1](moxie and ballroom key step 1)[/SIZE]
[SIZE=-1](nothing)[/SIZE]

Still need to add in the third 'enter combat' row, but otherwise it's looking good so far...

Edit3:
In the Haunted Bedroom, you find a simple wooden nightstand, the top of which is covered with what seem to be piles of cheap costume jewelry.
What would you like to do?
[SIZE=-1](moxie)[/SIZE]
[SIZE=-1](ballroom key step 2)[/SIZE]
[SIZE=-1](enter combat)[/SIZE]

So, new version of the patch up. Looks good. I'll add to this post if it causes problems after I get the key, but otherwise it should be ready for inclusion.

Edit4:
In the Haunted Bedroom, you find a simple wooden nightstand, the top of which is covered with what seem to be piles of cheap costume jewelry.
What would you like to do?
[SIZE=-1](moxie)
[SIZE=-1](nothing)[/SIZE]
[SIZE=-1](enter combat)[/SIZE][/SIZE]

Just wanted to say that it worked perfectly. :D Tested and doing decision 2 after you've unlocked does cost a turn and give nothing. Will put in special handling to make it redirect to decision 1 if you already have the key, or haven't unlocked the drawer, so it doesn't waste your adventure. Should be done/uploaded in a minute or two.

Done... just got this:
Visit to Manor2: Haunted Bedroom in progress...
[1268] Haunted Bedroom
Encounter: One Nightstand
You gain 87 Roguishness
You gain a Moxie point!
That was with choice adventure 2 set... now if you leave your choice adventure to 2, it'll automatically run moxie if you either haven't unlocked the key (by getting moxie) or if you've already gotten the key. Suppose there's not really a huge reason to have 3 choices if it's automatically choosing between two automatically, but it won't do adventure 2 automatically if you leave it set to 1, so there is actually a difference potentially if you want to leave the ballroom locked for some reason...
 

Attachments

  • TrackBallroomKey.patch
    3.5 KB · Views: 17
Last edited:

Theraze

Active member
And... I think the patch above is ready for inclusion. If more people want to test it, let me know if you run into problems, but this latest version has been beautiful in my testing today.
 

StDoodle

Minion
Why would you want a default of choice 1 if you have the key? (/me is used to being a Sauceror & wanting the combat, for the mirror, once I have the key.) Just for curiosity's sake... I'm probably not following everything.
 

Theraze

Active member
Default is only choice 1 if you're choosing choice 2, which is a lost adventure if you already have the key. If you choose choice 3, the combat, it leaves it alone. It only interprets if you've chosen the non-combat choice.

Clarification: The choice override handling only affects when you've set the system to automatically run choice 2, the bottom drawer. This redirects gCLI and Adventure tab adventures. It doesn't affect relay browser choices, though with the new dynamic spoilers it actually lets you know what the outcome of your decisions will be. The reason for this is that if you choose choice 2 when the key isn't there (before running top drawer/after collecting the key) all that happens is you expend a turn with no benefit. If you're running 20 adventures in an attempt to get the key from the bottom drawer and you end up luckily picking it up after the second adventure, that's 18 adventures remaining that might just be completely wasted, since if you didn't set a condition, it's not going to stop, and if you did set a condition (but normally leave it on entering combat) it won't affect your choices.

The bigger question is, do we really have a reason to allow choosing the bottom drawer manually through automation? Would it make more sense to just do Moxie/Ballroom Key as option one, and Enter Combat as option two? First choice would be have it run the top drawer first time, bottom drawer the second, and top drawer for everything after.
 
Last edited:
Top