autoBasement.ash - Better basement automation

slyz

Developer
Add this to your mood:
Code:
Trigger On: Unconditional trigger
Check For:
Command: stickers wrestler, wrestler, wrestler
 

nema

New member
I'm getting this error:
Code:
Equipment changed.
Holding lawn dart...
That's not an item, or it's not something you own.
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.
unable to pass elemental test, quitting
Basement sucessfully automated for 1 out of 50 adventures.

I think it is because I have multiple darts and double-fisted skull smashing. When I closet one of the darts, remove outfits that use them in main & offhand, it goes away.

This also happens with super-sweet boom box which I have 2 of. Again, closeting the spare and updating the outfits solved it.

Is this a mafia bug, or a basement bug? Any way I can use both w/out having issues?
 

Theraze

Active member
Do you have any of the item in a location that is not available to you, such as storage? I generally get that sort of error while manually maximizing when I have some items in inventory and some in storage, and it wants to use more than I currently have available, but my preferences stop it from pulling automatically...

If this is the case with you, it's a mafia bug, that modifier maximizer is suggesting items that you've told it are not available to it. If this isn't the case, it's probably either a mafia or KoL bug, but the source is less known. :)
 

nema

New member
Do you have any of the item in a location that is not available to you, such as storage?

No. The character is in aftercore, and Hagnik's emptied. But putting spare ones in the closet seems to solve the issue by making them unavailable. I'm not sure, but it's almost as if 'wear dart' fails for offhand if there is one in mainhand.
 

Winterbay

Active member
I thought I should test this, but realised a bit too late that the one character I have that can actually equip the darn things can't wield two weapons at once so that sort of failed. I'll have to level my main up a bit and see if I can reproduce this.

Edit:
Code:
> outfit birthday suit

Taking off everything...
Everything removed.

> maximize hp

Maximizing...
140 combinations checked, best score 2338.0
Putting on stainless steel skullcap...
Equipment changed.
Wielding lawn dart...
Equipment changed.
Holding lawn dart...
Equipment changed.
Putting on sea salt scrubs...
Equipment changed.
Putting on crotchety pants...
Equipment changed.
Putting on blackberry combat boots...
Equipment changed.
Putting on fossilized necklace...
Equipment changed.
Putting on fancy black tie...
Equipment changed.
Putting on sugar shield...
Equipment changed.

Hmm... That worked fine. Swapping between an outfit with and an outit without lawn darts works as well.

Could you check which command the maximizer runs when it crashes? Or perhaps copy a bit more CLI-report/session report around the time of the stop?

Also, which level are you on. Are you on a sane level (i.e. below 500) or insane level? :)
 
Last edited:

nema

New member
after grabbing a 2nd dart from the closet and 'maximize hp', it worked without error. too drunk to run autobasement atm.

The char somewhere between basement levels 100..120.

When I do try to duplicate the problem after ro, how do I get more information? Perhaps the verbosity setting? It's at 3 right now.
 

nema

New member
in autobasement.ash in cache_outfits(), I added some vprint().
Code:
    vprint("Test2: " + "maximize Mysticality" + maximize_familiar, "green", 1);
    cli_execute("maximize Mysticality" + maximize_familiar);
    vprint("Test3...", "green", 1);

When run, Test2 is encountered, but not Test3, isolating the problem between. It calls cli_execute with:
Code:
maximize Mysticality, -familiar

And that works just fine if executed in the cli. But running "autobasement 1" fails with:
Code:
est2: maximize Mysticality, -familiar
Maximizing...
64 combinations checked, best score 1385.0
Holding super-sweet boom box...
That's not an item, or it's not something you own.
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.

If I closet one boombox, this stage passes.
 
Last edited:

Winterbay

Active member
Try changing the "cli_execute"-line to
Code:
maximize("Mysticality, -familiar", false);
and see if that helps (it may be that the cli-execution fails for some reason...)?
 

nema

New member
Try changing the "cli_execute"-line to
Code:
maximize("Mysticality, -familiar", false);
and see if that helps (it may be that the cli-execution fails for some reason...)?

Yes, that solves it. It passes, and I checked my myst outfit and indeed it contains 2 boombox.

Should I update each one to avoid cli_execute() in cache_outfits()?
 

Winterbay

Active member
Huh, odd. I would say that if that solves that prolem then yes it's probably a good idea. I'll probably post a version with that change as well.
 

nema

New member
I'm back to getting errors. The change you suggested does work, but whenever the outfit exists already, I get the error again.

adding:
Code:
if (weapon == offhand) return true;

to switch_hand() seems to fix them. Ie, both your suggested change and the switch_hand() allowed passing through until MP Regen.


when I get down to MP Regen, I get more problems, but I don't see what's different about that one.

commenting out MP Regen along with the above steps allows me to work the script.

I'm wondering if having exactly 2 is the problem. When you tested using lawn darts, did you by chance have more than 2?
 
Last edited:

Winterbay

Active member
I had exactly 2 lawn darts (used 1 cyst at a time for this exact purpose). I haven't tried to run the script yet (and now I'm drunk, but running the caching part of it twice gives no errors). I've uploaded a version which uses maximize() for all calls. Try it and see if it helps...
 

dantose

New member
It seems to be attacking waveforms with weapon. Not seeing how it's deciding on this course of action though. It says it's executing a macro, but which one?
 

slyz

Developer
waveforms?

autoBasement simply uses whatever combat settings Mafia is setup for. Make sure Mafia can kill the monsters (you can search this thread for examples of CCSs).
 

Theraze

Active member
Whatever you've set, isn't it...? I believe that the responsibility for the CCS is yours.

Default CCS is just Attack with Weapon, and you probably haven't fixed it yet. :)
 

nema

New member
Is there any way to use multiple outfits for battles?

I went and permed skills to blast Fearful Fettucini on most combats, but that won't work on beer golems. I should be able to either LTS or shieldbutt those, but that requires a rather different outfit. ATM, I'm using love songs on the beer golems since I can't see any other way to automate it.

Also, I can't figure out why it insists on creating potions. If I were a sauceror, it might make sense, but it can not possibly be cheaper as a seal clubber which I am.
 

Terrabull

Member
Okay, had a weird problem with this script today.
I was automating fine until I got to a high level Gauntlet. It said I needed 11,000 HP to pass the test, and it couldn't buff me that high. I decided to go in manually and try to buy just enough buffs to get me up there. When I started it though, I realized that I had not maxed out my DA. So I went into the Maximiaer and found it was maximizing my Muscle, then other weird things like familiar weight.
I told it to maximize my DA and the # of hitpoints I needed dropped to 4,880 nearly one third of what it was before. I am now buffed out the wazu far more than I need for any of these challenges, and wasted a ton of meat for these high level potions as it was trying to raise my HP.
Any way the Gauntlet could attempt to max DA first, then Muscle? Just a thought.

EDIT: Okay, I realized that I was only looking at the last outfit it maximized, which was the Damage outfit, and I went back to check again. I noticed it maxes HP, -familiar Still probably not as good as DA, then HP. Getting up to 200 DA makes a huge difference. Thanks!
 
Last edited:

zarqon

Well-known member
I changed this bit a long time ago to use DA as well as HP:

PHP:
		else if (page.contains_text("Throwin' Down the Gauntlet"))
		{
			vprint("Basement level "+ level.to_string() +": HP Test", "blue", 1);

			int hp = ((level ** 1.4)* 10) * 1.08;
			
			if (!(outfits_cached && equip_cashed_outfit("Gauntlet")))
			{
				cli_execute("maximize "+(hp/800)+" da, 1 hp" + maximize_familiar);
			}

I'd give you a line number but mine is a pretty heavily altered version of Rinn's old one -- I removed almost all of the settings so as not to clutter my vars.

EDIT: Since I'm trying to squeeze in a basement run before ascending at the moment, I've been taking a look at this script again today. Granted, my version is quite a bit different (down to 23K after today's rather hackish revamp), but I did manage to squash one of the more evil bugs I've seen reported throughout this thread, without ever seeing a fix mentioned.

The important part: familiars that can equip player gear need to be unequipped before calling outfit() or maximize() or there will be show-stopping errors. I haven't been able to follow this script as closely as I'd have liked, so perhaps this is already solved. Anyway, finished my run with no more of that exceptionally annoying katana / Hand swapping error, phew!
 
Last edited:
Top