autoBasement.ash - Better basement automation

Bale

Minion
'Tis the season for basementing.

I would like to point out a feature I would find useful. There is certain equipment that is so cheap to acquire and so essential for certain tests that it should simply be acquired by autoBasement. After comparing the auto-generated outfits to my standard basement outfits I noticed its lack and acquired it for myself. Scratch 'n' Sniff Sword should be decorated with a trio of Wrestler Stickers and the character should maintain a pair of sugar shorts. Even if you have every awesome and untradeable item in the game (I do), these two cheap disposable pieces of equipment are essential to basementing.

Adding the feature would save me the trouble of remembering to do that. (And automatically replace the shorts/sword if they break.) I suppose you could add a preference for people who don't want to acquire them, but compared to the price of potions, it seems a no-brainer.
 
Last edited:

zarqon

Well-known member
They could probably be controlled by the same price limit setting.

Thanks for suggesting this, Bale. I maintain a very stripped-down version of this script and will be wanting to add that feature to my copy as well.
 

Datolite

New member
I keep getting:

Putting on outfit: Damage
Equipment changed.
Maximizing...
312 combinations checked, best score 763.0
Wielding lawn dart...
Equipment changed.
Holding Hodgman's whackin' stick...
That's not an item, or it's not something you own.


Can someone help?

Running latest version of Zlib, Basement Script and KoL Mafia.
 

lostcalpolydude

Developer
Staff member

Theraze

Active member
Tried what, specifically?

You deleted all of the custom generated outfits, ran a manual refresh all, then re-ran the script to generate them all from scratch AFTER the refresh finished?
 

Winterbay

Active member
Odd. I've never had that happen. Could you try disabling yoru Disembodied hand for a test run? (there's a zlib-variable for that)

Edit: Also, in regards to the scratch-n-sniff sword/crossbow: Would this be used in the non-combats then? Because you can set it to use it with a zlib-setting for the combats, but that won't work with the non-combats.
 

Bale

Minion
Edit: Also, in regards to the scratch-n-sniff sword/crossbow: Would this be used in the non-combats then? Because you can set it to use it with a zlib-setting for the combats, but that won't work with the non-combats.

Not sure about why we lacked communication so I'll try again. The scratch 'n' sniff sword gives +30% to all stats. That's best for the non-combats. The counter on the stickers does not run down unless you take it into a combat so you should not need to reapply stickers for the entire basement run. As long as the script sets it up with cli_execute("stickers wrestler, wrestler, wrestler") the maximizer will know when to use it.

Ditto for +20% to all stats if you acquire 1 sugar shorts.
 
Last edited:

Winterbay

Active member
In order to avoid losing them I'd say having the combats avoid those two items would probably be a good thing as well then. I'll look into it :)
 

Winterbay

Active member
Scrap that. Making sure the maximizer deosn't use up the charges for combats is not worth the hassle, let's make sure we always have them instead (and if they don't get used there's no difference).
Version 3.2 adds this feature.
 
Recently, I've had this script abort when it tried to equip a weapon that was actually already equipped on my disembodied hand. I'm using Winterbay's script from post #2 which fixes this for the cases where it wants to equip a cached outfit, but apparently it happened to me when my stats were too low for the script to consider outfits and it used the maximize command.

I've worked around it in my local copy of the script by inserting strip_familiar("") calls before the maximize() calls. Apparently the strip_familiar() call takes an outfit name as a parameter, and checks whether this outfit contains more than three items; for those cases I made it so strip_familiar() omits this check if the passed outfit name is "".

Here's the patch:

View attachment stripfamiliar_when_maximizing.patch

Winterbay, feel free to apply this (or something similar) to the script.

Thank you very much!
 

slyz

Developer
I just wanted to warn that a recent Mafia change (I haven't found which one yet) made the maximizer stop recognizing small floats when the zero is omitted. Any ".5" in the script should be changed to "0.5".
 

Bale

Minion
I just wanted to warn that a recent Mafia change (I haven't found which one yet) made the maximizer stop recognizing small floats when the zero is omitted. Any ".5" in the script should be changed to "0.5".

OH! I had just noticed that my logoutscript wasn't working quite right and couldn't figure out why. Thank you for finding the problem. (It works now that I added a 0.) You should make a bug report, even if just to say that you are working on fixing the bug.
 

neminem

New member
So... I'm using the latest version of zlib and what I believe is the latest version of this script, and my mafia is only a few days old. And I turned off using the hand completely, unequipped everything I had, and removed all the cached outfits it'd created before running it again. Yet, it still tells me hodgman's whackin' stick isn't something I own (while having one equipped to mainhand and offhand), the first time it encounters an elemental resistance test. Is there anything I can do about that?
edit: and I've way more than 200 of each stat. Way more.

edit again: weird, I tried it again tonight, and this time it gave me the same error the first time, but it seems to have allowed me to run it once in peace after clearing all the outfits and unequipping everything. When I stopped it to change something, though, then it went right back to its old ways and I can't get it to work again...
 
Last edited:

golden_cow2

New member
The script breaks for me if I call it after it's already made outfits (a "You don't have the item you're trying to equip." error).
I worked around it by deleting them all and restarting the script, but then it just stopped working after going on for 30-some floors.

[5600] Fernswarthy's Basement (Level 38)
Buffed Moxie Test: 1,981 current, 178 needed
Basement level 39: Hot & Spooky Elemental Resistance Test
Maximizing...
10940 combinations checked, best score 39.12
Putting on plexiglass pith helmet...
Equipment changed.
Wielding scratch 'n' sniff sword...
You don't have the item you're trying to equip.
unable to pass elemental test, quitting
Basement sucessfully automated for 36 out of 309 adventures.

Edit: Oh, well, exactly like the guy above me, but it successfully passed other resistance tests (Sleaze/Stench).
 
Last edited:

Veracity

Developer
Staff member
Me three.

Caching outfits...
Putting on outfit: Mysticality
Equipment changed.
Maximizing...
107 combinations checked, best score 1710.0
Holding super-sweet boom box...
That's not an item, or it's not something you own.
The Mysticality outfit has a super-sweet boom box in it and when I put on the outfit, it wielded it. Presumably the Maximizer wanted me to wield it and didn't recognize, for some reason, that I already was.
 

Veracity

Developer
Staff member
I'm curious about this code:

Code:
	if (outfit_exists(custom_outfits, "Mysticality"))
	{
		strip_familiar("Mysticality");
		switch_hand("Mysticality");
		if(outfit("Mysticality")) {} //Make sure we don't abort if we cannot equip the outfit
	}
	maximize("Mysticality" + maximize_familiar, false);
	cli_execute("outfit save Mysticality");
So, if I already have a "Mysticality" outfit - as I did from last run, it finds it and tries to wear it. As it happens, it failed: the saved outfit had an astral shirt, and this time I have an astral pistol. So I was told that I only equipped part of the outfit.

But, considering that it always tries to maximize and always saves a new outfit - whether or not you have a saved outfit - why does it bother equipping the existing outfit?

I think I would do this:

if there is an existing outfit, try to use it.
if you succeeded, cool
if you had no outfit or could not equip it, maximize and save

Something like this:
Code:
	boolean save = true;
	if (outfit_exists(custom_outfits, "Mysticality"))
	{
		strip_familiar("Mysticality");
		switch_hand("Mysticality");
		save = !outfit("Mysticality");
	}
	if ( save )
	{
	    outfit( "Birthday Suit" );
	    maximize("Mysticality" + maximize_familiar, false);
	    cli_execute("outfit save Mysticality");
	}
... ans so on for all outfits. I will try this out.

(Which does not address the issue with the maximizer wanting to wield the boom box when it was already equipped. I will look at that later.)
 
Top