Best Between Battle Script Ever -- formerly AutoMCD

So if I change "2*(min(mall_price($item[sand dollar])" to some higher number, that will do the trick? And that's the only place I need to change it, or anything, right? >_>
 

Theraze

Active member
If you're trying to make it not trigger automatically except on goals? Just change 2 to 20. If you're trying to make it automatically trigger on a (non-goal) list? More difficult.
 

Winterbay

Active member
My guess is because Mafia will only call the main function of the script set as your betweenBattleScript and unless you make that main function call the other script in some way nothing will happen apart from the first called script.
 

Arashmin

New member
The script seems to be running nicely for me, but is there a way to specify for it to switch back to another familiar? Also, is there some value determination going on when it farms, and thus decides certain things aren't worth it? I noticed it did not get me Game Grid tokens, and it seemed to like the idea of continuing on with all 5 transponders drop to use the Xenomorph. Otherwise, is there some way to set our 'goal' as to have all the familiar item drops obtained and then to stop?
 
is there a way to specify for it to switch back to another familiar? [snip]
Otherwise, is there some way to set our 'goal' as to have all the familiar item drops obtained and then to stop?

I would very much like the first feature. It could even be the familiar i had on when bbb decided I had famitems to get.

For the second, I saw an alias somewhere that automatically set familiar drop goals based on what familiars you have. But I just manually type that in when I start my day "+5 agua de vida, +5 llama gong, +5 transponder, +5 game token" etc.
 

Bale

Minion
I was just looking through the familiar switching code and I saw something really weird. Isn't this a bug?

Code:
   dfams[$familiar[li'l xenomorph]] = to_int(get_property("_transponderDrops"));
   dfams[$familiar[baby sandworm]] = to_int(get_property("_aguaDrops"));
   dfams[$familiar[astral badger]] = to_int(get_property("_astralDrops"));
   dfams[$familiar[llama lama]] = to_int(get_property("_gongDrops"));
   dfams[$familiar[rogue program]] = to_int(get_property("_tokenDrops"));
   dfams[$familiar[li'l xenomorph]] = to_int(get_property("_transponderDrops")) - 5;
   dfams[$familiar[mini-hipster]] = to_int(get_property("_hipsterAdv")) - 7;
   if (dfams contains my_familiar() && dfams[my_familiar()] < 5) return true;
   foreach f,d in dfams if (have_familiar(f) && d < 5) return use_fam(f);

Why is the li'l xenomorph drop at -5 and the mini-hipster fights at -7? It looks to me that those numbers should be 0 and -2.
 

Bale

Minion
Also, the li'l xenomorph is listed twice! Once correctly and once incorrectly. WTF? zarqon was definitely having an off-day.
 

zarqon

Well-known member
Hmmm, that's never been a feature I've used or even cared about -- does it show? Haha. I added it as kind of a throwaway feature by request, then added in some other people's code when they posted it, and that's all the thought I've given it. Even when the code is fixed it's not an optimal algorithm, but I'm not particularly interested in making one at the moment -- too many other things going on in my scripting mental space/time.

If someone would like to tackle making it sensitive to current familiar item goals -- or making the list of familiars to include user-tweakable -- or whatever other changes -- I'd be happy to pop it into the script (I may even read it first this time), provided it only adds a maximum of one more user script setting. An optimal algorithm would have different settings than the ones you're likely to make for this blasé algorithm, so I really don't want to add any for it; but if I must compromise for expediency, then I must.

This script has been unreleasable for a long while on my machine -- too many private non-general things in it, with the recent spurge of seasonal zones. I need to clean this up and post a release, if only to fix that hideous bug, which is rather embarrassing to have in a script with my name on it. :)
 

Raven434

Member
I am not sure if something has changed recently, but the auto_semirare "timely" setting does not seem to be working for me any more.
 

Raven434

Member
Failing... how exactly?

It never eats a cookie. Ever. I noticed this started with Crimbo this year and continues even with the non-holiday content.

I have also deleted out the fortune cookie counters in hopes that a reset would magically fix it.
 

Theraze

Active member
Try adventuring somewhere with verbosity set to 8 and see what message it gives? Timely should abort with either:
BBB: No need to eat a cookie given the present counters.
if it thinks it already has it figured out, or
BBB: "+my_location()+" contains a nice semi-rare; not auto-eating cookie. Eat one manually if you want your counterScript to handle it.
if it thinks that your current location has a semi-rare and it doesn't need to try for it.

Note that Timely will NOT eat fortune cookies if you have EITHER Fortune Cookie or Semirare window begin counters... either one will stop Timely from nomming. If you want it to get down to a specific adventure, you need to use Always 1 instead.
 

jwylot

Member
Version with added familiars

I'm attaching a version to which I have added the green pixie, bloovian groose, blavious kloop and stomping boots (you need to include stomping in your CCS). I also moved the rogue program to last position as the MP regen suits me.

Edit: Oh it uses the fams in alpha order :(
Edit 2: It seems I was using an old version of BBB (thanks Theraze). Now fixed. Just to be clear this is the new familiar section:
Code:
   dfams[$familiar[li'l xenomorph]] = to_int(get_property("_transponderDrops"));
   dfams[$familiar[baby sandworm]] = to_int(get_property("_aguaDrops"));
   dfams[$familiar[astral badger]] = to_int(get_property("_astralDrops"));
   dfams[$familiar[llama lama]] = to_int(get_property("_gongDrops"));
   dfams[$familiar[mini-hipster]] = to_int(get_property("_hipsterAdv"));
   dfams[$familiar[bloovian groose]] = to_int(get_property("_grooseDrops"));
   dfams[$familiar[blavious kloop]] = to_int(get_property("_kloopDrops"));
   dfams[$familiar[pair of stomping boots]] = to_int(get_property("_pasteDrops"));
   dfams[$familiar[rogue program]] = to_int(get_property("_tokenDrops"));
I removed the second xenomorph line and pegged the hipster at 5 as I felt it was unrealistic to wait for the last two combats.
 

Attachments

  • BestBetweenBattle.ash
    32.1 KB · Views: 34
Last edited:

Theraze

Active member
Just a quick question regarding your version... why on earth would you set it to, once again, try to get meat from the nightstand during a fistcore run? The release version gets myst stats, but your version took that out again...

Also, your version is completely missing transponders from the li'l xenomorph.
 

jwylot

Member
Oops did I use an old version of the script? I'll grab the version from the first post in the thread and try again. I see no problem with the xeno - it collected 5 transponders for me when I ran it today or am I missing something?
 

Theraze

Active member
Ahh... doubled transponders. That makes sense to skip then. I recall that bug being reported a page or three back. :) Awesome on the update though.

Question... since it doesn't necessarily keep using the last entry after you've gotten the whole set, would it make sense to leave the hipster as second-to-last with -2, so it does try for all 7? The released version still has the old -7 bug where it tries for 12 encounters and gets stuck, but then again, it never got there because the xenomorph wanted 10 drops and was higher on the list...
 

jwylot

Member
I find that 5 Hipster combats works out OK but, in any case, it appears that the order is irrelevant as the familiars are used in alphabetical order. My knowledge of ash is inadequate to work out why this happens, unfortunately.
 
Top