Best Between Battle Script Ever -- formerly AutoMCD

I had to add the new challenge path to boolean cookiecheck() around line 83.

Code:
boolean cookiecheck() {
   if (my_fullness() >= fullness_limit() || !can_eat() || my_class() == $class[Zombie Master] || my_class() == $class[Avatar of Jarlsberg]) return true;
   matcher cooks = create_matcher("(timely|always|true|never|false) ?([1-3]?)",vars["auto_semirare"]);

And to the stop the familiar switcher, around line 544:

Code:
 boolean fam_check() {
// Boris Handling
   if (my_class() == $class[Avatar of Boris]) return true;
// Jarlsberg Handling
   if (my_class() == $class[Avatar of Jarlsberg]) return true;
 
Last edited:
I'm not certain what the issue seems to be, but wile running BBB, with auto_semirare set to "timely", I seem to be eating fortune cookies when the counter hits 0, as opposed to afterwards or when the semirare start window gets to 0. Reading around in the thread, I saw something regarding setting verbosity to 8, so I'll give that a shot and see what happens when my next fortune cookie counter hits 0, and edit that in.

Edit: hmm, guess I'll need to try this with fullness available and verbosity set. I'll update after rollover.
 
Last edited:
I don't know whether this should go in the UR thread or in the BBB thread so I'm going to post it in both places. My character was beaten up and I wasn't able to autorecover.

Code:
Running ZLib version: r37 (current)
Running Best Between Battle Script Ever version: 2.6 (current)
You don't have any spooky putty monsters.
Beaten Up cannot be removed with an available item or skill...
You need 1 more soft green echo eyedrop antidote to continue.
Autorecovery failed.

Autorecovery failed.

UR is set to allow use of the campground, which should have removed beaten up. I even had free rests remaining. The hot tub was also available.

Any thoughts?
 
UR is set to allow use of the campground, which should have removed beaten up. I even had free rests remaining. The hot tub was also available.

Did you update UR in the 2 hours before you posted that? I ask because that's how recently I made that addition to UR. Anyway, it won't automatically do that unless you can use the extra MP. I'm a little bit more puzzled that it didn't use the hot tub. That makes no sense to me. Are you sure it is configured to allow use of the hot tub?
 
Hi Bale. I posted to both threads, at the same time because I wasn't sure which script was causing the behavior I was seeing. When I hit the situation with a high zlib verbosity in effect the BBB comment showed.

I did check for a UR update at the time and it seems you posted the update to UR that seems to fix the issue 14 hours after I posted. :confused:

Since this seems to be a UR issue I'll take this thread back there.
 
Last edited:
I did check for a UR update at the time and it seems you posted the update to UR that seems to fix the issue 14 hours after I posted. :confused:.

Oh. I didn't notice the AM/PM or date, only the time. I don't always read this thread promptly. I actually read this thread after I released 3.10.9 in response to comments in the UR thread.
 
I had to add the new challenge path to boolean cookiecheck() around line 83.

Code:
boolean cookiecheck() {
   if (my_fullness() >= fullness_limit() || !can_eat() || my_class() == $class[Zombie Master] || my_class() == $class[Avatar of Jarlsberg]) return true;
   matcher cooks = create_matcher("(timely|always|true|never|false) ?([1-3]?)",vars["auto_semirare"]);

And to the stop the familiar switcher, around line 544:

Code:
 boolean fam_check() {
// Boris Handling
   if (my_class() == $class[Avatar of Boris]) return true;
// Jarlsberg Handling
   if (my_class() == $class[Avatar of Jarlsberg]) return true;

AWESOME! I will make these changes and try them out...I was just about to complain... :o
 
For the first time in quite a while I'm doing a Turtle Tamer run and noticed that the \data\turtles.txt file hadn't been updated to deal with the Giant's Castle revamp. Replace the single line for Giant's Castle with the following:

Code:
Giant's Castle (Basement)	hedgeturtle	none	3
Giant's Castle (Ground Floor)	hedgeturtle	none	3
Giant's Castle (Top Floor)	hedgeturtle	none	3

There's a <tab> between the end of the location and the turtle type, between all the fields actually.
 
Last edited:
Sort of. Every now and then, people ask about it and someone posts their version. For example, the version I've attached to this post. Which works with all current challenge paths, allows easily adding new familiars to the spleen drop set (though it might not have all of them currently, since I don't actually have ANY of them. :)), and fights less aggressively against automation with BCA. :)

With a specific problem/request, that can be addressed... but start with one of the updated versions, not the original. Unless zarqon updates the original. :)
 

Attachments

Sort of. Every now and then, people ask about it and someone posts their version. For example, the version I've attached to this post. Which works with all current challenge paths, allows easily adding new familiars to the spleen drop set (though it might not have all of them currently, since I don't actually have ANY of them. :)), and fights less aggressively against automation with BCA. :)

With a specific problem/request, that can be addressed... but start with one of the updated versions, not the original. Unless zarqon updates the original. :)


Thank you very much.
 
If you want to add the newest familiars with drops to the list then edit the version that Theraze just posted to reflect the following, starting at line 31:

Code:
//Familiars will be used in the order listed. Feel free to change.
   foreach fam in $familiars[unconscious collective, angry jung man, green pixie, li'l xenomorph, baby sandworm, astral badger, llama lama, mini-hipster, bloovian groose, blavious kloop, pair of stomping boots, rogue program]
   {
      if (!have_familiar(fam)) continue;
      nextchoice = count(listing);
      switch(fam)
      {
         case $familiar[unconscious collective]:
            listing[nextchoice].count = to_int(get_property("_dreamJarDrops"));
            break;
         case $familiar[angry jung man]:
            listing[nextchoice].count = to_int(get_property("_jungDrops")) + 4;
            break;
 
Last edited:
For some reason familiar switching has stopped working for me. It's always worked fine in the past but this is my first Turtle Tamer run in quite a while. BBB properly started taming turtles in-run but while in aftercore I set it to not tame by setting bbb_turtles to zero.

I've narrowed the problem to the the following line:

Code:
   if (!to_boolean(vars["bbb_famitems"]) || to_familiar(excise(get_property("taming"),"|","")) != $familiar[none]) return true;

Something is causing that check, at the top of the fam_check function, to fail. Here is what my bbb variables are:

Code:
zlib bbb_adjust_choiceadvs = true
zlib bbb_famitems = true
zlib bbb_miniboss_items = 2
zlib bbb_turtlegear = false
zlib bbb_turtles = 0

I've tried to put some debugging code into the fam_check function but my understanding of ash isn't quite up to it yet.

Any ideas?
 
Last edited:
Check what your mafia property "taming" is set to. You might have aborted part-way through a taming session and so it never got cleared.
 
That was my suspicion as to how the check was failing but I couldn't get a working debugging line into the script to tell me what that value was. Would you be kind enough to educate me on what a proper gCLI or ash script command would be?

Is it as simple as typing the following into the gCLI?

Code:
to_familiar(excise(get_property("taming"),"|","")

Thanks in advance.
 
There is a non-null value in the taming variable. I tried this:

Code:
set taming = " "

Is that the proper gCLI way to reset the variable or should it be set to something other than a single space character?

Always learning :)
 
Code:
set taming =

is the same as

Code:
set taming = ""

Setting it to a single space character probably is functionally the same. Generally people just set it to a 0-length string.
 
I'm using the version of this posted by Theraze in post #450:

I'm trying to figure out how to get it to switch to a specific familiar after it is done collecting familiar drops. I have this starting at line 31.
Code:
//Familiars will be used in the order listed. Feel free to change.
	foreach fam in $familiars[unconscious collective, angry jung man]
	{
		if (!have_familiar(fam)) continue;
		nextchoice = count(listing);
		switch(fam)
		{
			case $familiar[unconscious collective]:
				listing[nextchoice].count = to_int(get_property("_dreamJarDrops"));
				break;
			case $familiar[angry jung man]:
				listing[nextchoice].count = to_int(get_property("_jungDrops")) + 4;
				break;
			default:
				break;
		}
		listing[nextchoice].fam = fam;
	}
	return listing;
}

The problem is, I want it to switch to Angry Jung Man after it is done collecting. What has been happening is I start the day with Angry Jung Man equipped, my first adventure drops the psychoanalytic jar, and then it switches to the Unconscious Collective. Then it collects the dream jars and keeps the Unconscious Collective equipped. I have tried swapping the order and that doesn't seem to change anything. I'm thinking commenting out the following line in fam_check() should force BBB to use the familiars in the order I want. Any thoughts?
Code:
	foreach f,d in dfams if (my_familiar() == d.fam && d.count < 5) return use_fam(d.fam);

edit: I should add that if I start with the Unconscious Collective equipped it collects the dream jars first and then switches to the Angry Jung Man. As far as I can tell, that line in fam_check() tells BBB to no switch if the current familiar is one that drops items and it isn't done yet.
 
Last edited:
Back
Top