Best Between Battle Script Ever -- formerly AutoMCD

Theraze

Active member
If I understand what they were saying in that thread properly, the actual setting of the choiceadventure doesn't get changed. It just internally reads it differently. Making this not a BBS bug either.
 

fronobulax

Developer
Staff member
Just reproduced the original problem without BBS involved so back to the original thread to determine whether this is operator or KoLmafia error. "This" being not taking the right choice when the selected choice is unavailable.
 

zarqon

Well-known member
r12 Update!

BBB, now with Hacienda support!

If you're adventuring in the Island Barracks, BBB now reads your session logs and tracks your progress in a property called haciendaLayout. It uses the information in this property to decide where to adventure next. It will make deductions about the third place in a room when you discover two of its places. During the quest, it will pursue keys in the optimal fashion, with one exception: this method of tracking cannot read the clues, since they are not logged. (Good news: Darzil has a plan in the works to add hacienda tracking to mafia itself, at which point BBB can remove its redundant tracking and we will gain clue support.) After the quest, it will get all rewards from reward rooms you have not visited, then default to Puttin' It on Wax.

Pretty awesome. Yup.

A few other additions:

  • The F'c'le: Enter beer pong if you have learned at least 6 insults, otherwise skip it. I figure most people will control when they encounter this choice, but it's nice to have it already set regardless.
  • Castle (Top Floor): Mafia has not added spinning the wheel as a default choice yet (it's the only option), so for now, set that property.
  • Hidden Temple: Added quest-related support to certain relevant choices:
    • Such great heights: Get Nostril, then adventures, then goal myst stats.
    • Heart of the Temple (Pikachulotl): Unlock the Hidden City if you haven't, otherwise go back to the buttons to make a different choice.
    • Fitting In (stone wool choice): Get the Nostril if you still need it, otherwise unlock Hidden City, otherwise set to 0 since post-quest choices are not yet supported.

Enjoy!
 

fronobulax

Developer
Staff member
Something that happens during my login/startup processing complains about the fun house, not being the "fun" house. Without trying too hard to track it down, grep suggests that it is either BestBetweenBattle or bumcheekascend and since the latter shouldn't be invoked I'm guessing the former. Apologies if I guessed wrong.
 

Bale

Minion
zarqon, for "reasons" I am currently using your BBB at the moment instead of my own variant. This has led me into a situation where I found a problem with BBB's fortune cookie eating.

I'd like to request that it refrain from eating fortune cookies if the character's stomach is empty. I can only eat spaghetti breakfast when my fullness is 0 so if BBB eats a fortune cookie before I have my spaghetti breakfast, then I've just lost the chance to eat some nice food.
 

fronobulax

Developer
Staff member
zarqon, for "reasons" I am currently using your BBB at the moment instead of my own variant. This has led me into a situation where I found a problem with BBB's fortune cookie eating.

+1 - I knew something was eating fortune cookies I didn't really care about but did not know what was doing that.
 

zarqon

Well-known member
r13

Don't eat cookies on an empty stomach. Anyone with even basic etiquette knows that dessert should come after the meal, or at the very least midway through it.

When learning dreadscroll clues, use the knucklebone if you have one and need the clue.
 

Theraze

Active member
Unfortunately BBB always tries to buy the bowl of scorpions even if you don't have the hidden tavern unlocked...
 

Theraze

Active member
To clarify the last post:
Code:
      case $location[the hidden bowling alley]:
         if (item_amount($item[bowling ball]) > 0 && get_property("hiddenBowlingAlleyProgress").to_int() < 7) friendlyset(788,"1","Bowl!");
         if (item_amount($item[bowl of scorpions]) == 0 && item_amount($item[bowling ball]) + get_property("hiddenBowlingAlleyProgress").to_int() < 5 &&
            my_meat() > 1000 && my_path() != "Way of the Surprising Fist") retrieve_item(1,$item[bowl of scorpions]);
         return;
The bowl of scorpions should have a check for get_property("hiddenTavernUnlock") == my_ascensions().

Another request:
Code:
      case $location[the hidden park]:
         if (have_item($item[antique machete]) == 0 || includes_goal($items[bowling ball,half-size scalpel,head mirror,surgical mask,surgical apron,bloodied surgical dungarees]))
            friendlyset(789,"1","Dumpster dive!");
          else if (get_property("relocatePygmyJanitor").to_int() < my_ascensions()) friendlyset(789,"2","Knock over the dumpster (move pygmy janitors here).");
          else friendlyset(789,"6","Skip the dumpster.");
         return;
Please relocate the janitors before the dumpster dive? Even if you're in a SC run and pulling stuff, better to have the janitors removed from the other zones and only needing to run away from them in one zone instead of 4. And could make the dumpster dive smart... if we haven't completed it yet and we don't have enough bowling balls to finish the quest, keep getting more. If we don't have 5 surgeon parts or the sphere, get more. The guaranteed useful item there is better than skipping a turn. If you're in SC and going to pull anyways, just pull in advance and the dumpster-skip code should handle you automagically...

If either of these don't make the official cut, I'll just have more bits of BBB that are me-only, but I prefer to at least give the chance for others to follow if they prefer. :)
 

Raven434

Member
With the new zlib update:
Function 'is_goal( stat )' undefined. This script may require a more recent version of KoLmafia and/or its supporting scripts. (BestBetweenBattle.ash, line 129)

I am running the most recent version of Mafia.
 

jbouzanquet

Member
Small FR: do not change the Defiled Nook choiceadv unless bonesaws are desired. In both Big! and Class Act 2 the stats choice is essentially worthless, and other/unpathed runs that want the stats can manually set it, while I think most players would prefer to skip or find a debonair deboner.
 

Razorsoup

Member
BBB: Fight Raver Giants for goals.
choiceAdventure676 => 3

While bounty hunting for discarded pacifiers, this came up. BBB wants me to "Fight Raver Giants for goals" but changes the Flavor of a Raver NC away from picking a fight with a Raver Giant to just skipping the non-combat. It would be ideal if in this situation, BBB would change (or leave) that choice to fight the Raver Giant.
 
Last edited:

Theraze

Active member
Did you manually update your zlib.ash to remove the typical tavern error message? Every time I try to do that it errors out... and that's about where the import zlib line is in the code.
 
Top