bumcheekcend.ash - A zero setup semi-automated ascension script!

StDoodle

Minion
I think the issue was that things would break if he always maximized for "+shield" and there was no shield. Now, with his hand new knowledge, it should be fairly easy to check to see if there's a shield, and if so, maximize with "+shield" and if not, leave that out. Yay!
 

Theraze

Active member
Well, if nothing else, could do
Code:
string shield;
if (maximize("+shield, -tie", true)) shield = ", +shield";
else shield = "";

Or would that fail to detect if a shield is wearable? I was thinking that should search for shields, and return true if any exist...

I think the issue with checking itemtype is you still have to run it at an item... so you could have a foreach loop parse your inventory and check if there's any shields, or run something like the maximizer I gave above...

Edit: Tried it and it seemed to work... Also, I picked up another ant tool this ascension. :D
> ash maximize("+shield, -tie", true)

Maximizing (1st time may take a while)...
30 combinations checked, best score 0.0
Returned: true

> ash maximize("+shield, -tie", false)

Maximizing...
30 combinations checked, best score 0.0
Wielding finger cymbals...
Equipment changed.
Holding hot plate...
Equipment changed.
Putting on ant sickle...
Equipment changed.
Returned: true
 
Last edited:

bumcheekcity

Active member
Easiest way might be a bit of caching. The anHero() function can maximize with +shield, then cache the day and only check once per day. This relies on people not autoselling their last shield, but if you autosell your shield in an automated muscle run, you're an idiot.
 

Theraze

Active member
Just remember that maximize is a bit odd, and will return true/success if your required check fails but "-tie" isn't on... A bit of weirdness I discovered when I was playing with my homebrew ASH maximize files. Though I think you've got the -tie on most everything else, so it shouldn't really be an issue. Just wanted to note it. :)

Edit:
Indeed; in general, if you're running an automated ascension like this, and you autosell anything that might be needed at some point, you deserve what you get. ;)
My current saddest fully automated glitch experience was when Wossname accidentally sold my last beaded headband, so it wouldn't autosell the extra stuff to convert into meat. Not sure what happened, but think I had a connection hiccup and it tried to sell the same extra twice.

Not that I couldn't do it myself following... it just made me sad to see red text when I'd run the sellwoss alias when it was time for the boss to go away. Think I actually ended up selling/closeting the rest and using the desert adventure to get another set. Heh.
 
Last edited:

syrinxlui

Member
Reset the mine on me again which seems buggy. I have unaccompanied miner. Would that explain something?

You acquire an item: miner's pants
You gain 7 Fortitude
You gain 6 Wizardliness
You gain 3 Chutzpah

Conditions satisfied after 2 adventures.
Putting on outfit: Mining Gear
Equipment changed.
BCC: We have not completed the stage [mining].
Mining upwards: 3, 6.

[327] Itznotyerzitz Mine (in Disguise)
You acquire an item: stone of eXtreme power
Mining upwards: 3, 5.

[327] Itznotyerzitz Mine (in Disguise)
Mining top four rows: 3, 4.

[327] Itznotyerzitz Mine (in Disguise)
You acquire an item: lump of diamond
Mining around found ore: 3, 3.

[327] Itznotyerzitz Mine (in Disguise)
You acquire an item: lump of diamond
Mining top four rows: 3, 2.

[327] Itznotyerzitz Mine (in Disguise)
You acquire an item: lump of diamond
Mining around found ore: 3, 1.

[327] Itznotyerzitz Mine (in Disguise)
You acquire an item: lump of diamond
Mining around found ore: 2, 2.

[328] Itznotyerzitz Mine (in Disguise)
You acquire an item: chrome ore
Mining around found ore: 4, 2.

[329] Itznotyerzitz Mine (in Disguise)
You acquire an item: asbestos ore
Mining around found ore: 2, 1.

[330] Itznotyerzitz Mine (in Disguise)
You acquire an item: chrome ore
BCC: Resetting mine!

[331] Itznotyerzitz Mine (in Disguise)
Mining upwards: 3, 6.

[331] Itznotyerzitz Mine (in Disguise)
You acquire an item: stone of eXtreme power
Mining upwards: 3, 5.

[332] Itznotyerzitz Mine (in Disguise)
Mining top four rows: 3, 4.

[333] Itznotyerzitz Mine (in Disguise)
You lose 39 hit points
Mining top four rows: 3, 3.

[334] Itznotyerzitz Mine (in Disguise)
You acquire an item: linoleum ore
Mining top four rows: 3, 2.

[335] Itznotyerzitz Mine (in Disguise)
You acquire an item: chrome ore
You acquire an item: chrome crossbow
 

Ferdawoon

Member
Just curious but when do the script go through Pandamonium to get the Liver / stomach / spleen of steel? lvl8 atm and it don't seem to want to go there. v0.15 atm and it is still set as not completed so that is why I'm asking =)
 

Winterbay

Active member
The script supports it, it might not get called but calling
Code:
ash import <bumcheekascend v0.15.ash>; bcascFriarsSteel()
in the CLI solves the quest and uses the resulting steel item (if it can) (which is what I did yesterday at level 8).

According to the script it calls that function after having finished the friars so I'm not entirely sure why it never does it.
 

PadainFain

New member
Ran into a problem doing the 8-Bit realm today. This is softcore but I can't see how it would make any difference.

When it called bcasc8bit() it exited:
Maximizing...
112 combinations checked, best score 64.0 (FAIL)
Unable to meet all requirements via equipment changes.

Which is as if I did the maximize routine with an item I don't own.
e.g.
> maximize +mox +equip black shield, 1 hand

Maximizing...
112 combinations checked, best score 64.0 (FAIL)
Unable to meet all requirements via equipment changes.

It never got as far as:
if (i_a("continuum transfunctioner") == 0) visit_url("mystic.php?action=crackyes3");

And if it did it would call it because the transfuctioner is deleted on ascension.


So it must be the first call to buMax:

buMax("+equip continuum transfunctioner, 1 hand");

I think you need to switch the order around and get the transfunctioner before the check for a 1-handed weapon, or ignore the failure of that call. Either that or there's some switch I'm missing which tells bumcheekascend not to abort when its calls into the libraries abort, but only when it decides to.



Edit, reproduced on a Hardcore Multi:

BCC: We have completed the stage [bats2] and need to set it as so.
bcasc_stage_bats2 => 3
BCC: We have completed the stage [bats2].
BCC: We have not completed the stage [8bit].
Maximizing...
8 combinations checked, best score 36.0 (FAIL)
Unable to meet all requirements via equipment changes.
See the Modifier Maximizer for further suggestions.
 
Last edited:

Winterbay

Active member
I've run into a wonderful infinite loop. The script currently wants to do the Piratefledges part and thus calls bcascPirateFledges(). This maximizes muscle and equips the pirate outfit, sets the safe moxie to 93, speculates that my buffed moxie after embarrased will be 61 and tries to level me up to 3 more than that in steps to reach the 93 safe moxie.

The call to the levelMe funciton is
Code:
levelMe(my_basestat($stat[Moxie])+3, true);
however the levelMe function does the following check at the start
Code:
if (my_basestat(my_primestat()) >= sMox) return true;
which checks against my unbuffed mainstat, which as a TT is muscle. My unbuffed muscle is currently 62 which is greater than the 48 the script is trying to level me up to first.

I.e. the fledges part of the script appears to be only interested in Moxie despite me being a muscle class while the levelMe-function is aware that it should level up my muscle and not my moxie leading to an infinite loop.
 

bumcheekcity

Active member
Reset the mine on me again which seems buggy. I have unaccompanied miner. Would that explain something?

This will be fixed when you next start the next ascension with v0.15+.

Just curious but when do the script go through Pandamonium to get the Liver / stomach / spleen of steel? lvl8 atm and it don't seem to want to go there. v0.15 atm and it is still set as not completed so that is why I'm asking =)

It doesn't, because it's broken. It's fixed in 0.16.

I've run into a wonderful infinite loop. The script currently wants to do the Piratefledges part and thus calls bcascPirateFledges(). This maximizes muscle and equips the pirate outfit, sets the safe moxie to 93, speculates that my buffed moxie after embarrased will be 61 and tries to level me up to 3 more than that in steps to reach the 93 safe moxie.

Already fixed in 0.16.
 

Rinn

Developer
I'm running this for the first time so I'm going to watch it and give you some notes as I do this ascension.

  • At first I didn't have it sell a pork gem and the script instantly aborted because it couldn't afford to acquire a stolen accordion to cast madigral.
  • You should change the tavern quest to use the updated mafia functionality.
  • It tried to acquire a pine-fresh air freshener even though I have elemental saucesphere permed.
 
Last edited:

deusnoctum

New member
Awesome script--it's great to have it ascend me while I work.

Minor bug - it stops at Mourn if you are wearing a two-handed weapon, since it can't equip Victory and show it to him. You have to take it off and re-run the script for it to continue.
Minor bug - it stops when it tries to do the 8-bit realm, as listed by PadainFain above.
Feature request - it currently goes up and down doing the entire tavern, even though doing the edge first is almost always faster. Change to the latter behavior?

Rinn: it tries to run a mood which includes Madrigal. I think default mafia behavior is to halt if it can't execute the mood; in this case it means having an accordion or being able to afford one.
 
Last edited:

Rinn

Developer
Right, but that mood is generated and the script should probably be aware of casting limitations.
 

Ferdawoon

Member
Code:
******************
Ascending Starting
******************
Doing a check for Telescope Items
Level 1 Starting
BCC: We have completed the stage [toot].
BCC: We have completed the stage [knob].
BCC: We have completed the stage [pantry].
Level 2 Starting
BCC: We have completed the stage [guild1].
BCC: We have completed the stage [spookyforest].
Level 3 Starting
BCC: We have completed the stage [guild2].
BCC: We have completed the stage [tavern].
Level 4 Starting
BCC: We have completed the stage [bats1].
BCC: We have completed the stage [meatcar].
BCC: We have completed the stage [bats2].
BCC: We have completed the stage [8bit].
Level 5 Starting
BCC: We have completed the stage [knobking].
BCC: We have completed the stage [dinghy].
BCC: We have completed the stage [manorbilliards].
Level 6 Starting
BCC: We have completed the stage [friars].
BCC: We have not completed the stage [friarssteel].
BCC: We have completed the stage [manorlibrary].
Level 7 Starting
BCC: We have completed the stage [cyrpt].
BCC: We have completed the stage [innaboxen].
BCC: We have completed the stage [manorbedroom].
Level 8 Starting
BCC: We have completed the stage [trapper].
BCC: We have not completed the stage [wand].
BCC: We have completed the stage [piratefledges].
Level 9 Starting
BCC: You don't have a wand. No Zapping for you.
BCC: You don't have a wand. No Zapping for you.
BCC: We have completed the stage [chasm].

Still won't start the friarsteel part =(
Using the new v16 as AT.

Is there a way to reset a flag btw? Innaboxen is set as Complete even though it is not, probably due to lack of Clovers to get the parts (since it have spent the adv to get the beer lenses it feels like a waste to not get the innaboxen) and I want to check if setting it as not completed will make the script try to get them now in a new version.
Owh and yeh, add a line to use the House after completing the Strange Leaflet. I always forget to do it manually =S
 
Top