Bug - Fixed A-Boo clue usage with hallowiener dog

ckb

Minion
Staff member
With a hallowiener dog, occasionally you get a non-combat that takes no adventures.
In A-Boo Peak, if an A-Boo Clue has been used, the next adventure should be The Horror. However, the hallowiener dog will override this if its time is up. Using another A-Boo clue is not necessary, and doing so will fail. However, Mafia does not recognize this, and decrements the number in inventory.

Highlights mine:

Using 1 A-Boo clue...
Finished using 1 A-Boo clue.

[469] A-Boo Peak
Encounter: Wooof! Wooooooof!
Submitting option 2 for choice 1106
You acquire an effect: Adventurer's Best Friendship (30)
Using 1 A-Boo clue...
Finished using 1 A-Boo clue.

[469] A-Boo Peak
Encounter: The Horror...
Submitting option 1 for choice 611


I automated this and did not see the message returned after this happened. I'll try and get more info in my next run.
 

Veracity

Developer
Staff member
I guess you shouldn't try to use another A-Boo clue in this case, right?
Or are you saying that KoLmafia tried to use one for you?
Or was it a script?
Or just user error?

Regardless, we should recognize the message and not modify inventory if it fails. Thats 7 lines (including whitespace) in UseItemRequest.parseConsumption.
 

ckb

Minion
Staff member
It was a script that does this:

Code:
	while (get_property("booPeakProgress").to_int()>0 && item_amount($item[A-Boo clue])>0) {
		use(1, $item[A-Boo clue]); }
		buffer abp;
		abp = visit_url("adventure.php?snarfblat=296");
		if (contains_text(abp, "<b>The Horror")) {
			while (contains_text(abp, "<b>The Horror")) { abp = run_choice(1); }
		} else if (contains_text(abp, "<b>Wooof! Wooooooof!")) {
			run_choice(2);
		} else {
			run_combat();
		}
		restore_hp(my_maxhp());
	}

For sure the script needs more error checking, but Mafia should also recognize when clue usage fails.
 
Top