RandBot -- a randomized clan buffbot

Gdunge

Member
Ah, OK, thanks. With that hint I can make out what's going on in RandBot. (Novice scripter here.)

When RandBot.ash is run, it adventures in your last adventure location, buffing clannies, until your adventures are all gone. (Hence the "Bot" in its name, I guess.) It assumes that something else (e.g. SmartStasis) will take care of regenerating MP as part of the normal KoLmafia adventure process.

I want something that acts while *I* am adventuring, as part of my normal daily activities. At the moment, I spend my mana on my buffs and summoning BRICKOs at the beginning of my day, which is done fairly quickly. Then I spend the rest of the day with my MP all filled up with nothing to spend it on. I thought it would be neat to spend it on buffing clannies. And perhaps, get other clannies to buff other clannies, including me. A mutual-aid-society of buffing, if you will.

Do I want to hook into KoLmafia's mana-burning mechanism, or BBB, or something else?

Thanks for taking the time to educate me! And for Universal Recovery, which I use constantly. Your efforts are appreciated.
 

Bale

Minion
What you want is possible. RandBot could be rewritten as a manaburning script. If that was done, then it would buff with extra mp. There was no such thing as a manaburning script when RandBot was written.

I'm gonna take a look at the script and see if it looks reasonably easy to rewrite.



Edit: Looks like it'd take a little bit of work to rewrite, mostly because it will need to save all your clan information in a file once a day so that it doesn't need to hit up the server for that after every single adventure. A few other things would also need to work differently and there's a lot of interesting code for me to learn in the process -- zarqon always writes interesting code.

If zarqon isn't interested in rewritting it as a mana burning script, then I'll try my hand at it, but don't expect to see any results for a few days.
 
Last edited:

Bale

Minion
That's my name. Please look the picture in my signature!

(Perhaps it wasn't visible at the moment you needed that information... sometimes KoL is flakey about those automatic signatures.)
 

Bale

Minion
No, no. Not the link -- the picture! (Although the name in a bumcheekcity profile is the name of the character.) The KoL automatically created signature that says, "My name is Bale. I've played Kingdom of Loathing for 278 weeks, and all I've gotten are 379 stuffed Hodgmen!" I thought those words were kinda a dead giveaway. ;)

PS. Thanks for the gift.
 

Gdunge

Member
OK. Right. "Look at", don't "Click on" the picture.

I didn't know that those boxes were generated by KoL! I assumed it was something local to the kolmafia.us forums.

I must look into this further. Perhaps I, too, will join the ranks of the exalted ones who know how to have an automatically-generated signature, here and (perhaps) elsewhere!

So much to learn!

Speaking of which: I'm trying to experiment with KoLmafia's buffbot functionality and not having much luck figuring it out. (What does "philanthropy" mean, for instance?) Is there some (current) documentation available?

And you're very welcome.
 

lostcalpolydude

Developer
Staff member
"Philanthropy" refers to a buff that's available once per day for something like 10 meat (a negligible cost used to distinguish which buff was requested) compared to unlimited requests for something like 500 meat each.
 

zarqon

Well-known member
I have been personally maintaining this script for a long time, but not updating it here. I believe the updates are now so cumulatively awesome that this script deserves updating. And so I am happy to present:

RandBot 3.0

"Why the major version number bump?" you ask. "Wait, I never asked that!" you protest. "Hey stop it!" you say, glaring at the screen.

The main reason for a big number bump is that RandBot is now a mood script, rather than an adventuring script. It will only attempt to spend MP buffing if your MP is at least randbot_reqamt (same as the previous logic). Its being a mood script means that you can simply adventure as normal and automatically be RandBotting everywhere you go. You can adventure a limited number of turns, you can adventure for goals, you can farm not-a-pipes, all while RandBotting. And if you feel like randomly buffing someone, you can call it directly. It makes RandBot much more flexible.

Changes include:

  • RandBot will immediately exit without doing anything if you are not in aftercore.
  • All adventuring code and abort messages were removed.
  • The buff list is built programatically rather than explicitly listed, with an blacklist variable called dontcast.
  • Every possible combination of clannie/buff is considered/attempted before giving up.
  • my_name() is no longer blacklisted by default. However, since ASH has access to your current buffs, it will skip you if you have more than 2000 turns of a buff.
  • Default inactivity allowed is now reduced to 1 week, and the default MP required was raised to 50.
  • Uses mafia properties to avoid even attempting to cast daily-limited buffs which you've already maxcasted.
Enjoy!
 
So I was typing up a nice detailed post about how I forced the script to run while not in aftercore but it only cast 1 buff, then went to check and see what my buffs were and discovered that all 6 of the unlimited cast buffs were self only. Knew it had to be a stupid mistake on my part :) Thanks for the scripting!

I do have a new question, though: is it possible to have the script only cast down to a certain MP level?
 
Last edited:
Top