autoBasement.ash - Better basement automation

xKiv

Active member
Hmm, let's see ... at hp==1000, 1000 DA is worth 900 HP, so you should have
(hp:1000)*(da:1000)*c=900
c=900/1000000=0.0009
you have c=1/800=~0.00125, maybe making DA worth a little bit more than it should?
 

zarqon

Well-known member
That would be the smart way. My math went more like this:

1. Estimate mentally. Plug that number in.
2. Does it work?
a. Yes. Now get your upgrade and ascend already, geez.
b. No. Bump it probably a little too much in whichever direction the error indicates (how else to eventually find the right center?). Goto 2.

I'll plug your number in for next run. :) (just got my upgrade, and about to jump through the gash after a long but successful 99% Reconstituted Crow run, w00t!)
 

Winterbay

Active member
Hmm...
Would this be a good way to change c based on the level you are on?

Code:
int hp = ((level ** 1.4)* 10) * 1.08;
float c = (0.9 * hp) / (hp * 1000);

if (!(outfits_cached && equip_cashed_outfit("Gauntlet")))
{
	maximize("maximize " + c + " da, 1 hp" + maximize_familiar, false);
}
 

zarqon

Well-known member
Yes, but all of that calculation for c can be reduced to a constant 0.0009, so as you've written it you don't need those first two lines. However, that should be a factor of hp, so just this:

PHP:
int hp = ((level ** 1.4)* 10) * 1.08;

if (!(outfits_cached && equip_cashed_outfit("Gauntlet"))) {
   maximize("maximize " + (0.0009*hp) + " da, 1 hp" + maximize_familiar, false);
}
 
Last edited:

Terrabull

Member
*thanks zarqon winterbay and xKiv profusely for their prompt help*

*waits patiently because he's afraid of breaking the script*

Also, I don't think I properly thanked you for keeping this script alive Winterbay. I don't mind doing basementing to much, but 500 * 7 gets a little tedious, even for me.
 

Winterbay

Active member
Yes, but all of that calculation for c can be reduced to a constant 0.0009, so as you've written it you don't need those first two lines. However, that should be a factor of hp, so just this:

PHP:
int hp = ((level ** 1.4)* 10) * 1.08;

if (!(outfits_cached && equip_cashed_outfit("Gauntlet"))) {
   maximize("maximize " + (0.0009*hp) + " da, 1 hp" + maximize_familiar, false);
}

Ahh yes, I fail at algebra apparently :)
 

Theraze

Active member
Doesn't DA have a max of 1000? as such, it should probably get a (9*hp) max immediately following it...
 

xKiv

Active member
Zarqon said:
I'll plug your number in for next run.
Well, that number is just your step 1, I haven't actually tried it. Due to the square root nature of DA, each point is worth more than that until some point, and less than that above. 0.0009 is just the average for 1000 DA (but that's probably the optimal value anyway, once you get to depths where it matters).
It might also be worth slightly more than those HP because after buffing HP, you have to heal up to your newly higher HP max.

Doesn't DA have a max of 1000? as such, it should probably get a (9*hp) max immediately following it...
I *think* the gauntlet actually responds to DA above 1000. OR maybe that's just the too legit hammertime?
 
every so often i check back in this thread to see if the DA changes have made it into the baseline version. i've made edits locally, but when i update for other reasons i blow those changes away and invariably forget. happy(?) to see the DA thing being discussed again.
 

Winterbay

Active member
The script has been updated with Zarqon's DA-update. I'll see if I can modify some other bits as well when I get the time.
 

Terrabull

Member
I already got my telescope this run (thanks to this script.) So I will try the it next time I delve into the basement. Thanks again!
 

Donavin69

Member
When I utilized the script, after about level 200 it started failing to complete the gauntlet. If I maximized using straight DA, I could complete the gauntlet. I actually completed the final 200 floors manually, it was much cheaper...(the script wanted to use more potions than I actually needed).

I love the script though, it is a great teaching tool for me if nothing else. It also made the first couple hundred floors less tedious.
 

Ivris

New member
First of all, thanks for the script -- the first few hundred levels of the Basement have always been tedious enough that I've avoided running it at all.

I can't seem to get the script to work on the Gauntlet at all as of the last revision -- I always get an "Unrecognized keyword: maximize" error. I think it comes down to how the line:
PHP:
if (!(outfits_cached && equip_cashed_outfit("Gauntlet")))
			{
				maximize("maximize " + (0.0009*hp) + " da, 1 hp" + maximize_familiar, false);
			}
is parsed, as I can't find any other place in the code where maximize() is called in a nested fashion like this and this is also a part of the revised Gauntlet code. I can't find anything on maximize()'s syntax, but based on the other examples in the script, wouldn't:
PHP:
if (!(outfits_cached && equip_cashed_outfit("Gauntlet")))
			{
				maximize((0.0009*hp) + " da, 1 hp" + maximize_familiar, false);
			}
work just as well?
 

zarqon

Well-known member
Yep, that's the right fix. Looks like it wasn't fully converted from a CLI call to an ASH call.
 

Winterbay

Active member
Ehh yep. That's what I get for only verifying the script and not testrunning it :)
That fix is indeed the correct one an I'll upload a new version as soon as I get back to my computer Wednesday next week.
 

EaterOfSorrow

New member
OK I love these scripts, and this is the first time I have ran into this problem, (thank you Crimbo for scaling monsters) I try and run the script and get

Current character level (50) >= autoBasement_break_on_level (30), quitting

Even after going into the script and changing the break on level number to something like (99).

Help?
 

Ethelred

Member
OK I love these scripts, and this is the first time I have ran into this problem, (thank you Crimbo for scaling monsters) I try and run the script and get

Current character level (50) >= autoBasement_break_on_level (30), quitting

Even after going into the script and changing the break on level number to something like (99).

Help?

That's a zlib variable. You can't change those by editing the script. You have to invoke some arcane zlib incantation, which I've never been able to master, so you'll have to look elsewhere for actual guidance.
 
Top