Best Between Battle Script Ever -- formerly AutoMCD

shabob

New member
Hi,

I've downloaded the script, placed in my scripts folder and done set "betweenBattleScript=BestBetweenBattle.ash"
I've also done "zlib bbb_famitems = true"
I've checked the preferences manually and BBB is set to be called before each battle.

Nonetheless, the script is not changing my familiars at all. Have I missed some important step?

zlib vars extract said:
zlib bbb_adjust_choiceadvs = true
zlib bbb_famitems = true
zlib bbb_miniboss_items = 2
zlib bbb_turtlegear = false
zlib bbb_turtles = 0

from prefs said:
beforePVPScript
betweenBattleScript=BestBetweenBattle.ash
 

Theraze

Active member
Check first that is_100_run isn't set to a specific familiar. If it is, that eliminates most good zlib-knowing scripts' ability to change familiars.

Second, check the property taming ("get taming", no quotes) to make sure it isn't a familiar.

After that... more information. Do we know if it's running at all, what's your familiar, etc, etc, etc. :)
 

Uli

Member
Check first that is_100_run isn't set to a specific familiar. If it is, that eliminates most good zlib-knowing scripts' ability to change familiars.

Second, check the property taming ("get taming", no quotes) to make sure it isn't a familiar.

After that... more information. Do we know if it's running at all, what's your familiar, etc, etc, etc. :)


So what do you do if "get taming" does come back with a familiar? In my case, I'm having the same problem as shabob, and "get taming" returns "hedgeturtle|Syncopated Turtle" for me.
 

shabob

New member
So what do you do if "get taming" does come back with a familiar? In my case, I'm having the same problem as shabob, and "get taming" returns "hedgeturtle|Syncopated Turtle" for me.

Yup, same here.

"get taming" returns "hedgeturtle|Baby Sandworm"

do I just need to enter "set taming = "

EDIT: Yes, that does it. Working now.

Thanks for that pointer, Theraze, but can you explain why that works?
 
Last edited:

Theraze

Active member
It's because of these lines from fam_check:
Code:
  // farm familiar items if set (and not auto-taming)
   if (!to_boolean(vars["bbb_famitems"]) || to_familiar(excise(get_property("taming"),"|","")) != $familiar[none]) return true;
specifically, notice the second part, right after it checks if you have bbb_famitems disabled... Basically, if you're currently taming something that requires a specific familiar, don't screw it up.

The way that BBB would have wiped it would have been by using the taming_reset() function. You can manually call this by doing:
ashq import <BestBetweenBattle.ash> taming_reset();
on the gCLI tab. I'd be sure to check your equipment after though, since it set that based on whenever you were actually auto-turtling...
 

Jatopian

Member
I'm going to give this script a shot. Is it possible to get this script to closet my meat if I'm adventuring South of the Border? That would be a nice option, but I don't see it.
 

mstieler

Member
Alright, possibly silly question time:
I'm running BBB with "zlib bbb_famitems = true"; if I start the adventures with a familiar other than one on the list of drop familiars, does it change back to that initial familiar once I've got all my drops for the day? If not, can I just set my goal to be "+5 game grid token" (as I have an RP, and it's the last to be used on the list) and Mafia would stop as soon as I got those, at the tail end of all the other drops?
 

Bale

Minion
Hmmm... As near as I can tell it doesn't have any code for restoring the original familiar, but your solution would work.
 

JohnDoe244

New member
Might be me doing something funny, but BBB is insisting on getting stats instead of fighting mechs on the airship, even though I'm running +46ML. Any ideas what I might have done to cause this?
 

Ethelred

Member
Might be me doing something funny, but BBB is insisting on getting stats instead of fighting mechs on the airship, even though I'm running +46ML. Any ideas what I might have done to cause this?

Not a BBB user so I have no idea if this is important or not, but that's controlled by a choice adventure. Does BBB alter your choice adventure settings? Try changing the setting and see if the behaviour persists.
 

BladeLight

Member
Not a BBB user so I have no idea if this is important or not, but that's controlled by a choice adventure. Does BBB alter your choice adventure settings? Try changing the setting and see if the behaviour persists.
It changes it straight back
 

Winterbay

Active member
There is a BBB-setting for "do not change choiceadventures" that you can toggle, but that'll turn off all the choiceadventure handling.
 

Magus_Prime

Well-known member
Might be me doing something funny, but BBB is insisting on getting stats instead of fighting mechs on the airship, even though I'm running +46ML. Any ideas what I might have done to cause this?

I noticed this behavior as well. I tried to change the Spookyraven Manor Haunted Bedroom choice adventure to fight nightstands rather than get stats and BBB changed it right back.
 

Winterbay

Active member
Relevant code snippet:
Code:
 switch {
    case (get_property("currentBountyItem").to_item() == $item[burned-out arcanodiode] ||
           available_amount($item[metallic A]) < 1) && numeric_modifier("Monster Level") >= 20:
       friendlyset(182,"1","Fight a MechaMech for metallic A/bounty."); break;
    case is_goal($item[Penultimate Fantasy chest]) || get_property("choiceAdventure182") == "2":
       friendlyset(182,"2","Get goal of fantasy chests."); break;
    case min(numeric_modifier("Combat Rate"), 0) /(-2.0) + 20 > (24 + numeric_modifier("Experience"))/2.0:
       friendlyset(182,"3","Get stats rather than weaker combat."); break;
    default: friendlyset(182,"1","Fight a MechaMech just because.");
 }

So... If you are hunting for arcanodiodes it'll fight Mechs, if chests are among your goals it'll go for that, if you have enough -combat it'll go for stats and otherwise the mech again.
So, I guess you have too much -combat or something...
 

Raven434

Member
I think this changed this week.

For bbb_famitems: true

Seems to hang on the Xenomorph and not rotate after it has 5 transponders for the day.

No rotation for Llama, nor rogue program, nor stomping boots - meaning it doesn't switch to them - stays on Xenomorph.

Pixie and baby sandworm work fine and rotate after their items have dropped.

[edit]

Maybe comment this line out:
// dfams[$familiar[li'l xenomorph]] = to_int(get_property("_transponderDrops")) - 5;
 
Last edited:

Theraze

Active member
Look at posts 371 and 388-391. Or just download the fixed version from 405, which also lets you control the order in which famitems works rather than just working in alphabetical order...

Summary: Release BBB tries to get 5 more drops from Xenomorph and Hipster than possible per day.
 

EdFox

Member
I've updated BBB to farm the Unconscious Collective and Angry Jung Man, but I need a bit of assistance in getting the drop counts to work right.

The hipster case has the following:
Code:
case $familiar[mini-hipster]:
            listing[nextchoice].count = to_int(get_property("_hipsterAdv")) - 2;
            break;

Since the fam_check function seems to work off a default of 5 drops per familiar, to my rather poor script parsing skills, I assumed the -2 would only farm for 3 hipster drops. I don't have one of those so I can't be sure.

As shown in the attached script, I tried the same with Jung Man but it doesn't work. This version will farm the collective fine, swap to the Jung Man, get his jar, and keep using him in the impossible expectation that 5 jars will drop, I think. I also discovered, while watching like a hawk during a test, that BBB will only farm up 5 stomping boot pastes when 7 are possible. Adding the +2 doesn't work for that either.

A bit of assistance, please. :)
 

Attachments

  • BestBetweenBattle.ash
    33.8 KB · Views: 35

roippi

Developer
You have the sign backwards.

Code:
   foreach f,d in dfams if (d.count < 5) return use_fam(d.fam);

in english: if the familiar hasn't reached a count of 5, use the familiar. Count is therefore adjusted down if the limit you want is more than 5, and up if the limit is less than 5.
 

Theraze

Active member
So, if you want to farm one, get_property +4. That will reach your 5 (stopping) total after the property equals one...
 

EdFox

Member
This is why I work in Safety and not IT. Thanks for the explanations, both of you. :)

So now, thanks to the kind help of a master coder and a dev, I have a working BBB for the rest of us. This version is merely post 405's, altered to:
  1. Farm 5 Unconscious Collective dream jars
  2. Farm the Angry Jung Man's single jar (lots of jars in this year's IOTMs)
  3. Get all 7 pastes from the Stomping Boots.

Be sure to edit the script and alter the long line starting with foreach fam in $familiars. As the comment says, you can order these as you wish when farming or delete those you don't want to expend the adventures on. Mine ends with the Happy Medium, which is not handled by BBB but is by WHAM. You can put whatever familiar you want to use for the rest of your adv after farming is completed on the end.
 

Attachments

  • BestBetweenBattle.ash
    33.8 KB · Views: 69
Top