Best Between Battle Script Ever -- formerly AutoMCD

Magus_Prime

Well-known member
According to the wiki, and my own direct experience, the drops are once per ascension. Possible silly question: do you already have the drops in inventory?
 

Rinn

Developer
No. I've never used the cube before either. I did get some of the other various drops, maybe those are in-run only?
 
Last edited:

xKiv

Active member
Hmm, maybe they only drop if a non-conditional item didn't drop from the monster, or something silly like that?
 

Theraze

Active member
Was trying to figure out what was breaking BCA's castle unlock and I believe it's BBB, specifically that it doesn't include dumbbell collection. I suggest adding this line:
Code:
          else if (get_property("questL10Garbage") != "finished" && item_amount($item[massive dumbbell]) == 0 && to_int(get_property("choiceAdventure670")) == 1) friendlyset(671,"4","Proceed to Fitness Giant's room for massive dumbbell.");
after:
Code:
          else if (get_property("questL10Garbage") != "finished" && to_int(get_property("choiceAdventure670")) > 3) friendlyset(671,"4","Proceed to Fitness Giant's room for amulet unlock.");

If we don't have a dumbbell yet and we're planning on getting one from the Fitness Giant, please oh please don't waste turns getting muscle stats from the Furry... just get the dumbbell so we can move on. Heh.

Similarly, on the Furry, I moved this:
Code:
            can_equip($item[titanium assault umbrella]) && have_equipped($item[titanium assault umbrella])) friendlyset(669,"1","Unlock the ground floor with your umbrella.");
down and commented it out, and replaced it with a slightly modified form (I think. I mean, I modified it, but I can't remember what it looked like in the first place. :)) of the commented-out line:
Code:
            can_equip($item[titanium assault umbrella])) (have_equipped($item[titanium assault umbrella]) ? friendlyset(669,"1","Unlock the ground floor with your umbrella.") : friendlyset(669,"3","Repeat the Furry room with an umbrella."));
At that point, we know we can use it. And bbb will automatically wear it (it's in bbb() in the lastEncounter check), so... why punish the user for wanting something else temporarily?
 

zarqon

Well-known member
r9 Update

Do you like cameras, fixings, or additions? They are good. In this paper I will talk about cameras, fixings, and additions.

First, BBB doesn't fight 4-d cameras anymore if your _cameraUsed property is true. I wasn't sure if that check was needed and so didn't include it in the refactor of a while back. Turns out it was needed.

Secondly, CHOICEADV FIXINGS

  • Castle Clouds Sky (Basement): Simplified version of Theraze's fix above. We want dumbbells at a fairly high priority level.
  • Dungeons of Doom: Don't fiddle with the mimic choice unless it's to get explicitly set goals. I've hit that choice automating in a few runs and been upset when I lost a chance at a wand simply because I didn't have a mimic as a goal.
Thirdly, CHOICEADV ADDITIONS

  • Enormous Greater-Than Sign: First, get goal parentheses, then a plus sign if you lack one, then Teleportitis if you haven't unlocked the plus sign, then goal stats (which includes primestat by default).
  • Haunted Pantry: With a goal of unlit birthday cake, start the Baker quest. Otherwise, skip it.
In this paper I talked about cameras, fixings, and additions. Enjoy!

bbb will automatically wear it (it's in bbb() in the lastEncounter check), so... why punish the user for wanting something else temporarily?
Have you tested that? The lastEncounter checks weren't working as implemented (please see post 491), which is why those were commented out.
 

Bale

Minion
You don't have this yet!

Code:
	case $location[The Hidden Bowling Alley]:
		if(item_amount($item[Bowl of Scorpions]) < 1)
			retrieve_item(1, $item[Bowl of Scorpions]);
		return;
 

Theraze

Active member
Have you tested that? The lastEncounter checks weren't working as implemented (please see post 491), which is why those were commented out.

Odd.
[951] The Castle in the Clouds in the Sky (Ground Floor)
Encounter: Top of the Castle, Ma

> ash get_property("lastEncounter")

Returned: Top of the Castle, Ma

> ashq switch (get_property("lastEncounter")) {case "Top of the Castle, Ma": print("Found");}

Found
Should work. It updated the property when I hit my adventure and the switching on the property found the value. That being said, I did experience the same #491 looping, so something is wrong with the specific implementation. Maybe mafia doesn't actually stop the 'adventure' and let BBB run again if it's set to do 3 in automation or something similar, since it doesn't take a turn. Which would seem to be a mafia issue, since that means that any of those castle "loop" adventures do infinite server hits...
 

zarqon

Well-known member
@Bale: This struck me as a little safer:

PHP:
         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]);

I'm going through the Hidden City for the first time now, actually. It's fun, although the MacGuffin quest was really already long enough for the joke to be funny.

@Theraze: Yeah, it should totally work. Looks like we're in Winterbay's "step 1" of debugging. :)
 

Pyren

New member
I can't disable auto turtle-taming. I've tried setting bbb_turtles to 0 as described, but it just continues forcing me to use a turtling rod and grinning turtle. This happens in the relay browser, with v2.8 and Mafia r12644.

Aside from this horrible turtle taming experience, love the script! It's been great in previous runs & aftercore!
 

zarqon

Well-known member
How are you setting bbb_turtles to 0? By typing "zlib bbb_turtles = 0" or by typing "set bbb_turtles = 0"? If the latter, you've just created a useless property in your mafia properties file. If the former, it should have correctly disabled autotaming. You can check this by typing "zlib bbb" in the CLI.
 

zarqon

Well-known member
r10 Update

Happy Chuseok everyone! I hope you all eat a bunch of tasty songpyeon.

In this update: a few things were fixed. Here are the things:

  • Fix the Spooky Forest choiceadv handling. We now get all the quest items if you need them, regardless of goals. TODO: post-quest choices like vampires, corpses, or mushrooms.
  • Remove silly need_temple() function; use ASH's hidden_temple_unlocked() instead.
  • Properly alphabetize the Defiled Cranny.
Also in this update: support for new choiceadvs!

  • Hidden Apartment Building -- If you're Thrice-Cursed and ready to fight the boss, fight him. Fight him good. Otherwise relocate the lawyers if you haven't already, otherwise get cursed if you still haven't beat the boss, otherwise skip the choice.
  • Hidden Bowling Alley -- Buy a bowl of scorpions if you have meat, aren't in Fistcore, and haven't finished that section of the quest.
  • Hidden Office Building -- With a complete McClusky file, fight the boss. Fight him good. Otherwise get the boring clip if you need to, otherwise fight pygmies for goals (or file pages), otherwise skip the choice.
  • Hidden Park - Dumpster dive for the antique machete, or goals of bowling balls or doctor clothes. Otherwise relocate the janitors if you haven't, otherwise skip the choice.
  • Massive Ziggurat -- If you have all 4 triangles, fight the Protector Spectre (good); otherwise, skip the choice.
  • The Shore -- take goal stat locations (this will almost always be your primestat).

Lastly, a small convenience: BBB now automatically uses Teachings of the Fist in Fistcore if you have them.

Enjoy!
 

mstieler

Member
So what would I need to set to make BBB skip pulling my Medium out, but still swap my spleen familiars? I've tried editing it out in the script itself, but every time there's an update, it gets overwritten.
 

fronobulax

Developer
Staff member
See discussion at http://kolmafia.us/showthread.php?1...t-quite-working-as-expected&p=99567#post99567

I set a goal of a jar of 'kraut and autoadventured in the eXtreme Slope. After the first visit, mafia correctly deduced that I would not get a jar today and reset the choice to something else. But BBS saw I had a goal and reset the choice. The next time the choice was encountered there was an infinite loop because BBS had set the choice to be something that was not available.

In a perfect world, I think what I would want would be for BBS to verify that my goal made sense based upon its possibly incomplete knowledge of one a day drops and have it about if I had a goal that was not going to happen. A mafia preference would facilitate this but just detecting that the choice had been seen and acting accordingly would be a step forward.

In general I want BBS to set choice adventures for me so that my goals are feasible, but either BBS or I need to know that certain goals are only feasible under specific conditions.

Thanks.
 
Top