Feature Reset Prince's Ball queues

Bale

Minion
Whenever a grimstone mask is used for the stepmother path KoLmafia should reset the locations at the Prince's Ball, but does not. This never bothered me much before since I only used it once for the ornate dowsing rod, but things have changed and now I may need to use a grimstone mask more than once an ascension. Because the winter garden is going out of standard.

There's precendence for this since mafia resets the batfellow queues upon using another batfellow comic.

My script checks the noncombat queue to see if which locations I've gotten the coins from and decide if I need to use another mask. Unfortunately the queue fills up after I get all the coins and doesn't clear when I use a new mask so the noncombat queue becomes uselessly clogged with old information. :( My script won't work properly until the feature is implemented, but if anyone is curious, the script's relevant functions look like this:

Code:
int coins_to_find() {
	int c;
	if(get_property("grimstoneMaskPath") == "stepmother")
		foreach loc in $locations[The Prince's Balcony, The Prince's Dance Floor, The Prince's Lounge, The Prince's Kitchen, The Prince's Canapes Table, The Prince's Restroom]
			if(!loc.noncombat_queue.contains_text("The Prince's Ball"))
				c += 1;
	return c;
}

boolean retrieve_coins(int x) {
	while(available_amount($item[odd silver coin]) < x && (coins_to_find() > 0 || available_amount($item[grimstone mask]) > 0)) {
		if(coins_to_find() == 0 && retrieve_item(1, $item[grimstone mask])) {
			set_property("choiceAdventure829", "1");
			use(1, $item[grimstone mask]);
		}
		foreach loc in $locations[The Prince's Balcony, The Prince's Dance Floor, The Prince's Lounge, The Prince's Kitchen, The Prince's Canapes Table, The Prince's Restroom]
			while(!loc.noncombat_queue.contains_text("The Prince's Ball") && available_amount($item[odd silver coin]) < x) {
				string page = visit_url(to_url(loc));
				if(page.contains_text("You're fighting"))
					run_combat();
				else
					run_choice(1);
			}
	}
	return available_amount($item[odd silver coin]) > x;
}

void unlockPainting() {
	if(!retrieve_item(1, $item[fancy oil painting])) {
		retrieve_coins(4 - available_amount($item[odd silver coin]));
		(retrieve_item(1, $item[fancy oil painting]));
	}
}

void unlockDowsing() {
	if(!retrieve_item(1, $item[ornate dowsing rod])) {
		retrieve_coins(5 - available_amount($item[odd silver coin]));
		!(retrieve_item(1, $item[ornate dowsing rod]));
	}
}
 
Last edited:

Veracity

Developer
Staff member
Even so, that doesn't mean you have to stop using them next year. Just not in a restricted run.
 

Bale

Minion
Don't Grimstone Golem and Winter Garden go out of Standard together, as both are from 2014 ?

Ick. So they do. I'd lost track of that information. Nonetheless I'm using it that way now because I've planted my Thanksgarden.

It seems this will help less than I expected after the new year...

Would this be hard to do? Since utility is low after the end of the month I guess it is low priority after all.
 
Top