autoBasement.ash - Better basement automation

zarqon

Well-known member
Zarqon was working on his WOSSMAN zlib var editor, which could show the documentation entered by script authors in the publicly available vars_documentation.txt map. Apparently he gave up on it for unrelated reasons

It was a bug that defeated me. Something which should be easy and wasn't -- dynamically populating dropdowns for all typed constants. It worked for some of them and not others. I was losing my sanity trying to make it work and finally I just gave up and shelved it, with a 90% functional script. I was kind of hoping one of the resident wizards here would be able to spot the bug, but evidently the bug is happy to sit in ever-growing ignominy unchallenged. Maybe years later I will look at it and know what to do. Meh.
 
outfits are only cached (i.e not rebuilt) if you stats are over 200 since by then you can use everything you may have.

That's what I thought the functionality was also, but that's not what I'm seeing it do. I manually re-saved my Gauntlet outfit with the high DA stuff that I was using manually and the script was re-maximizing and re-saving the outfit even though all my stats are well above 200. Again - not complaining just fyi.
 

Winterbay

Active member
Well, yes it does. The only problem is that it only caches them after the script is run. So it does
For each ourfit
1) Check if outfit exist
2) Equip outfit
3) Maximize for whatever we want to maximize for
4) Save the outfit we are wearing as that outfit
When done, set cached outfits to true and do not redo this until the script is run again next time.
 
ahh ok well then that makes sense. given all the manual stuff i was having to do I had to keep running the script which was in turn resetting the outfits. I got it now.
 

Winterbay

Active member
In order to make it use your outifts as they are when you strat the script you can edit the file to set "outfits_cahed = true" on line 73 (instead of the "false" that is there today).
 
just a quick comment here - even if it was capped at 1000 for the purposes of this script when considering the best balance between maximizing HP and DA I think it would be a very nice improvement.
 

roippi

Developer
Hard to get a good sample when basementing.

I found a data set that refutes my claim, I'll see if I can back it up at all.
 

xKiv

Active member
Don't forget that there's (according to the talk page for throwind down the gauntlet) around +-5% random element to the HP drainage.
 

roippi

Developer
Yeah, I was making it all up apparently.

Code:
float damageAbsorb = 1.0f - ( (float) Math.sqrt( Math.min( 1000, KoLCharacter.getDamageAbsorption() ) / 10.0f ) - 1.0f ) / 10.0f;

Ignore me :cool:
 

slyz

Developer
It would be impossible to find a maximizer expression for HP and DA that would be optimal in everyone's case. People with Tao, for example, will probably hit the DA cap with any reasonable aftercore HP outfit, without the need to add DA to the maximizer expression

If someone wants to work out the math, I think the best way for characters without Tao would be for the script to use "maximize X HP, Y DA" after calculating the best X and Y for a specific test : 1 DA is worth a lot more at higher level tests, right?

Also: this has been discussed already, since page 2.
 

Winterbay

Active member
Script updated to use zlib's is_100_run-setting and not change familiar for combats. I think that's how it works right? You can still use the excotic parrot to pass elemental tests and the disembodied hand to pass other things right?
 

Sambal

New member
I have been doing some dives with the script now and I must say I really like it. One thing that I ran into during my first dive though was the script spending a lot of meat increasing my HP via potion while if I maximized my resistance I didn't have any troubles passing the test. This was as a seal clubber starting level 23ish.

I changed the weights in the optimizing for the elemental tests such that resistance is valued higher and haven't used a potion for elemental tests since. The changes were:
Line 564
Code:
	cli_execute("maximize .5 " + to_string(elem1) + " resistance, .5 " + to_string(elem2) + " resistance, 0.00001 hp" + element_familiar);
Line 571
Code:
		cli_execute("maximize " + to_string(elem2) + " resistance, 0.00001 hp" + element_familiar);
 

slyz

Developer
Did you remove elem1 from the maximizer string on purpose?

EDIT: oh, misread what you were changing.
 
Top