autoscend - a sl_ascend fork/continuation

Today autoscend had no problems in either Whitey's Grove or The War. This was with HC TT run with whatever release of autoscend is current as of this morning.
 
My current autoascend failed to progress through the palindrome because it didn't farm for bird oil to create the wet stunt nut stew. Manually acquiring that fixed the issue. I've upgraded both kolmafia and the autoascend scripts since then and noticed a bird oil message in the kolmafia change notes so this message might be obsolete.
 
May I request a code improvement...
When autoascend is killing time powerlevelling waiting for new quests to open up, there are always existing useful things to do, the smut orc's bridge for example, as something which is already coded. It may be efficient to wait for the copperhead quest to see if you can save turns later that's a relatively unlikely reason to pause and you're burning turns anyway and can always save the smut orc boxes to save turns later... but the bounty hunter's hunts would be another excellent way of investing turns so that olfacting becomes available eventually.
 
Item blacklisting or failure loop question - when my autoascend decides to wear the "red shirt", which limits stats and increases monster level it's common for there to be a series of failed combats which eat through meat and turns trying to "be lucky" next time. Can we either temporarily set an increasingly severe cap on +ML which would end up with poisonous gear such as the red shirt being removed when equipment is re-evaluated or is there a way I can just prevent it from being used? I've never used my closet before but I've just popped the red shirt in there in the hope that it'll help to solve this.
 
Item blacklisting or failure loop question - when my autoascend decides to wear the "red shirt", which limits stats and increases monster level it's common for there to be a series of failed combats which eat through meat and turns trying to "be lucky" next time. Can we either temporarily set an increasingly severe cap on +ML which would end up with poisonous gear such as the red shirt being removed when equipment is re-evaluated or is there a way I can just prevent it from being used? I've never used my closet before but I've just popped the red shirt in there in the hope that it'll help to solve this.

Closeting will likely work. For the ML issue, you can, using the relay browser, go to autoscend in the script dropdown menu in the top bar and set auto_MLSafetyLimit to something low.
 
The one issue I had in all my Standard runs this time with autoscend was that it never get the mining gear to get the ore. I hate to get the gear manually and then mine for the ore
 
Since comments here are actually getting a response, I will make a couple comments in case someone is interested in doing something.

I have had several hardcore runs stop because "can't cook fancy foods without a range" or something similar. I tried to resolve the issue by manually doing things to generate meat and then manually buying the range. Re-starting autoscend gave the same message. Manually using the range and restarting fixed the issue.

So there is an opportunity to improve (I won't call it a bug) by having autoscend check inventory for a range and use it, if present, before it stops because it needs a range.

There is an opportunity (feature request) for better meat management. There are times the script will not progress because it wants/needs meat to buy something and can't. Spooky sapling, Shore visits, the range, red nugget photo, god photo and the fake id are things that I recall that recently stopped the script until I found meat and acquired the item manually. Most of the time it seems like meat is being spent on buffs so reserving meat and not spending it on buffs might be considered. If the buffs are needed then perhaps lowering ML to save meat might be an option. Refusing to adventure in the Palindrome if shelf items are needed without enough meat to buy them would probably reduce turn count. Under some conditions that should be true for the Spooky Forest as well. There may be some settings I should be using and am not. Recovery failures do not abort the script is the only relevant setting I can think of. All that said, I understand that ML, buffs, meant and speed are somewhat intertwined and changes that might sacrifice speed are not especially desirable. So some concrete suggestions:

Implement an option that if opted in to, would cause autoscend to get the Harem outfit as soon as possible. Selecting it might reduce speed but it allows manual intervention to spend one adventure per day to get 500 meat.

Before adventuring in a zone that has a non combat that grants a needed quest item at the cost of meat check for the meat first. If there is not enough meat either abort autoscend or choose to adventure elsewhere. This would be the Palindrome and Spooky Forest at least and there might be others. This might actually improve speed because I have seen cases where the autoscend stops because of "too many turns in the Palindrome" and that is because shelf items were a goal but there was not enough meet to buy the photos.

Something that deals with the Shore (script visits getting the fake id papers) is harder to specify without knowing how autoscend decides what to do next. But the script does sometimes tell the user that it will need x turns for the hedge Maze, and is reserving turns for a few other things so maybe a message that said "You will need a minimum of X meat to finish the run and you currently have Y". Obviously X would change as quests were completed. That would let me know a meat problem is likely and I could choose to address it before I ran autosend again.

Thanks. "The verbosity is strong in this one"
 
Since comments here are actually getting a response, I will make a couple comments in case someone is interested in doing something.

I have had several hardcore runs stop because "can't cook fancy foods without a range" or something similar. I tried to resolve the issue by manually doing things to generate meat and then manually buying the range. Re-starting autoscend gave the same message. Manually using the range and restarting fixed the issue.

So there is an opportunity to improve (I won't call it a bug) by having autoscend check inventory for a range and use it, if present, before it stops because it needs a range.

There is an opportunity (feature request) for better meat management. There are times the script will not progress because it wants/needs meat to buy something and can't. Spooky sapling, Shore visits, the range, red nugget photo, god photo and the fake id are things that I recall that recently stopped the script until I found meat and acquired the item manually. Most of the time it seems like meat is being spent on buffs so reserving meat and not spending it on buffs might be considered. If the buffs are needed then perhaps lowering ML to save meat might be an option. Refusing to adventure in the Palindrome if shelf items are needed without enough meat to buy them would probably reduce turn count. Under some conditions that should be true for the Spooky Forest as well. There may be some settings I should be using and am not. Recovery failures do not abort the script is the only relevant setting I can think of. All that said, I understand that ML, buffs, meant and speed are somewhat intertwined and changes that might sacrifice speed are not especially desirable. So some concrete suggestions:

Implement an option that if opted in to, would cause autoscend to get the Harem outfit as soon as possible. Selecting it might reduce speed but it allows manual intervention to spend one adventure per day to get 500 meat.

Before adventuring in a zone that has a non combat that grants a needed quest item at the cost of meat check for the meat first. If there is not enough meat either abort autoscend or choose to adventure elsewhere. This would be the Palindrome and Spooky Forest at least and there might be others. This might actually improve speed because I have seen cases where the autoscend stops because of "too many turns in the Palindrome" and that is because shelf items were a goal but there was not enough meet to buy the photos.

Something that deals with the Shore (script visits getting the fake id papers) is harder to specify without knowing how autoscend decides what to do next. But the script does sometimes tell the user that it will need x turns for the hedge Maze, and is reserving turns for a few other things so maybe a message that said "You will need a minimum of X meat to finish the run and you currently have Y". Obviously X would change as quests were completed. That would let me know a meat problem is likely and I could choose to address it before I ran autosend again.

Thanks. "The verbosity is strong in this one"
Excellent points... I've noticed the same.. I unwedge a blocked ascension sometimes by avoiding the shore which depends on buying expensive tickets by manually doing the hippy boatman quest. I also try to manually grab the harem and other quest equipment from Hagnk's because a pull seems to me to be cheaper than farming for something that I own but I think its a spotty circumstance and sometimes autoascend does do pulls for quest items.
I was also wondering about the tuning of the modifier maximiser to increase the priority of regen items when hp/mp are low.
Overbuffing seems to be a thing too... wasting MP which then wastes meat because of Galaktik's MP potion purchases. I have 4000+ turns of patience of the tortoise and about 1000 turns of Empathy, Astral Shell and Polka of Plenty... Capping buffs at 100 would seem to be adequate to cover all eventualities.
Oh, this is a superb script. I did something similar for "moria", the old unix game many years ago and KOL is much weirder and open ended so it's a wonderful thing to behold.
 
I actually feel super fortunate now I dont have any of the problems everyone else listed, just the bug loop at the massive ziggurat.
 
Here's an update on my theory that the wet stew change would fix the palindrome... Alas not... "Guide" offers either making wet stew or just hunting for it. What's odd is I don't remember autoascend failing at this point before.... though I may have had ribs and oil in my inventry.

[DEBUG] Attempting to execute task 50 L11_palindome
[INFO] In the palindome : emodnilap eht nI
[ERROR] Palindome failure:
[ERROR] You probably just need to get a Mega Gem to fix this.
We have made too much progress in the Palindome and should not be here.

Stack trace:
at L11_palindome (level_11.ash:3151)
at process_tasks (autoscend.ash:1741)
at doTasks (autoscend.ash:1980)
at auto_begin (autoscend.ash:2096)
at safe_preference_reset_wrapper (autoscend.ash:2126)
at safe_preference_reset_wrapper (autoscend.ash:2133)
at safe_preference_reset_wrapper (autoscend.ash:2133)
at safe_preference_reset_wrapper (autoscend.ash:2133)
at main (autoscend.ash:2181)
 
Since comments here are actually getting a response, I will make a couple comments in case someone is interested in doing something.

I have had several hardcore runs stop because "can't cook fancy foods without a range" or something similar. I tried to resolve the issue by manually doing things to generate meat and then manually buying the range. Re-starting autoscend gave the same message. Manually using the range and restarting fixed the issue.

So there is an opportunity to improve (I won't call it a bug) by having autoscend check inventory for a range and use it, if present, before it stops because it needs a range.

There is an opportunity (feature request) for better meat management. There are times the script will not progress because it wants/needs meat to buy something and can't. Spooky sapling, Shore visits, the range, red nugget photo, god photo and the fake id are things that I recall that recently stopped the script until I found meat and acquired the item manually. Most of the time it seems like meat is being spent on buffs so reserving meat and not spending it on buffs might be considered. If the buffs are needed then perhaps lowering ML to save meat might be an option. Refusing to adventure in the Palindrome if shelf items are needed without enough meat to buy them would probably reduce turn count. Under some conditions that should be true for the Spooky Forest as well. There may be some settings I should be using and am not. Recovery failures do not abort the script is the only relevant setting I can think of. All that said, I understand that ML, buffs, meant and speed are somewhat intertwined and changes that might sacrifice speed are not especially desirable. So some concrete suggestions:

Implement an option that if opted in to, would cause autoscend to get the Harem outfit as soon as possible. Selecting it might reduce speed but it allows manual intervention to spend one adventure per day to get 500 meat.

Before adventuring in a zone that has a non combat that grants a needed quest item at the cost of meat check for the meat first. If there is not enough meat either abort autoscend or choose to adventure elsewhere. This would be the Palindrome and Spooky Forest at least and there might be others. This might actually improve speed because I have seen cases where the autoscend stops because of "too many turns in the Palindrome" and that is because shelf items were a goal but there was not enough meet to buy the photos.

Something that deals with the Shore (script visits getting the fake id papers) is harder to specify without knowing how autoscend decides what to do next. But the script does sometimes tell the user that it will need x turns for the hedge Maze, and is reserving turns for a few other things so maybe a message that said "You will need a minimum of X meat to finish the run and you currently have Y". Obviously X would change as quests were completed. That would let me know a meat problem is likely and I could choose to address it before I ran autosend again.

Thanks. "The verbosity is strong in this one"
If you can find a log with the "can't cook fancy foods" issue, that should be a relatively quick fix. We already have a function to check for/get a range, and that is called a few times during runs so adding that into the consume code for eating shouldn't be terribad. As it is, it is already called in the consume code if you try to get a milk of magnesium.

For meat, we already have a meatReserve function that will save up enough meat for various things, including what you mentioned. You say that the meat is being spent on buffs, is autoscend buying guild skills in-run? Or is it replenishing MP after buffing? If you have a Cincho de Mayo, what might be seen as overbuffing is burning MP so that we can use a free rest to get more Cinch for the Cincho de Mayo NC forcer. That's typically how people end up with hundreds of turns of a buff.

I doubt that we will add an option in our settings to bump the Harem up to be able to get 500 meat from the treasury. That might be a little out of scope of the script, but if there ever was a "we need meat so do this" function added, it's not a bad idea. I'll add it to autoscend's Github Issues as an idea to add in-run meatfarming for very specific situations.

We already block the Spooky Forest route if you have less than 100 meat and still need the Sapling. Adding a stop to the Palindome if the user doesn't have enough meat and an output of meatReserve to the bedtime portion of the script are trivial. I put in a PR that covers both so you should see that shortly.
 
Thank you. grep hasn't helped me find a log which means it might only have been in the gCLI where I saw the stop because of no range. I do note that auto_haveoven and haveOven preferences are both being changed. Perhaps the wrong one is being used somewhere? I also noted sometimes there is a "use message" after getting the range and sometimes not. I don't know whether that was me or autoscend? I'll study harder.

I thought the meat was spent on buffs but it may have been restores. Now I have to sort out some more logs. All the low meat runs are Hardcore, 2025 Standard, all Guild skills perm'd for all classes but little or no IOTMs. The low meat tends to be resolved on the second or third day. No Cinco de Mayo.

OK on the Harem. Many of the WTF questions about autoscend that I have, are explained by autoscend prioritizing low turn counts over uninterrupted running.

I'll also revisit the logs and see what I can find about a stop because of too many turns in the Palindrome.

Thank you again.
 
if it helps, I took it upon myself to scan through and find the spot where kolmafia 'breaks'.
from clearing the lianas to.. adventuring for lianas? but not encountering them? or skipping like a record on a turntable, continues to spin its tires on the ziggurat and not proceed on to do the rest of the city like its still trying to clear lianas even though with my basic understanding it seems like it understands its done clearing them, it just doesn't move on.

Code:
[741] A Massive Ziggurat
Preference lastEncounter changed from dense    liana to
Encounter:
Preference zigguratLianas changed from 0 to 1
[DEBUG]    Running auto_choice_adv.ash
Submitting option 6 for choice 1002

[DEBUG]    Running auto_post_adv.ash
Preference    _concoctionDatabaseRefreshes changed from 55 to 56
[INFO]    Turn(740): Starting with 117 left at Level: 11
[INFO]    Encounter: 0.0 Exp Bonus: 3.0
[INFO] Meat    Drop: 10.0 Item Drop: 0.0
[INFO] HP: 81/81,    MP: 152/305, Meat: 28534
[INFO] Tummy: 0/5    Liver: 0/4 Spleen: 15/35
[INFO] ML: 10    control: 10
[INFO] Ka Coins: 11 Lashes used:    0
[INFO] Delay between adventures... beep    boop... 
Countdown: 1 second...
Waiting completed.
[DEBUG]    Resetting auto_maximize_current to 5item,meat,0.5initiative,0.1da    1000max,dr,0.5all res,1.5mainstat,-fumble,mox,0.4hp,0.2mp 1000max,6mp    regen,0.25spell damage,1.75spell damage percent,10exp,5Mysticality    experience percent
[DEBUG] Attempting to    execute task 0 LX_freeCombatsTask
[DEBUG]    Attempting to execute task 1 woods_questStart
[DEBUG]    Attempting to execute task 2 LX_unlockPirateRealm
[DEBUG]    Attempting to execute task 3 catBurglarHeist
[DEBUG]    Attempting to execute task 4 auto_breakfastCounterVisit
[DEBUG]    Attempting to execute task 5 chateauPainting
[DEBUG]    Attempting to execute task 6 LX_setWorkshed
[DEBUG]    Attempting to execute task 7 LX_galaktikSubQuest
[DEBUG]    Attempting to execute task 8 L9_leafletQuest
[DEBUG]    Attempting to execute task 9 L5_findKnob
[DEBUG]    Attempting to execute task 10 L12_sonofaPrefix
[DEBUG]    Attempting to execute task 11 LX_burnDelay
[DEBUG]    Attempting to execute task 12 LX_summonMonster
[DEBUG]    Checking if we can summon smut orc pervert
[DEBUG]    Attempting to execute task 13 LM_edTheUndying
[DEBUG]    Removing "-equip antique machete" from current maximizer statement
[DEBUG]    Adding "-weapon" to current maximizer statement

[INFO]    Starting preadventure script...
[DEBUG]    Adventuring at A Massive Ziggurat
Maximizer:    5item,meat,0.5initiative,0.1da 1000max,dr,0.5all    res,1.5mainstat,-fumble,mox,0.4hp,0.2mp 1000max,6mp regen,0.25spell    damage,1.75spell damage percent,10exp,5Mysticality experience    percent,-weapon
Loading character status...
Maximizing...
11    combinations checked, best score 1,440.75
Checkpoints cleared.
[DEBUG]    Going into High or Standard ML Zone with ML: 10
[INFO]    Pre Adventure at A Massive Ziggurat done, beep.
[INFO]    [Ed the Undying] @ path of [Actually Ed the Undying]
[INFO]    HP: 81/81, MP: 152/305, Meat: 28534
[INFO]    mus: 71+7. mys: 109+74. mox: 72+3
[INFO]    Servant: [Priest] @ level 23
[INFO] ML: 10    Encounter: 0.0 Init: 130.0
[INFO] Exp Bonus:    3.0 Meat Drop: 10.0 Item Drop: 0.0
[INFO]    Resists: 7.0/7.0/7.0/7.0/7.0
[INFO]    equipment: hat=[fuzzy earmuffs]. weapon=[antique machete].    off-hand=[loadstone]. back=[none]. shirt=[none]. pants=[snowboarder    pants]. acc1=[Bonerdagon necklace]. acc2=[shiny ring]. acc3=[amulet of    extreme plot significance]. familiar=[none]. 

Visit to    HiddenCity: A Massive Ziggurat in progress...

[741] A Massive    Ziggurat
Encounter:
[DEBUG] Running    auto_choice_adv.ash
Submitting option 6 for choice 1002

[DEBUG]    Running auto_post_adv.ash
Preference    _concoctionDatabaseRefreshes changed from 56 to 57
[INFO]    Turn(740): Starting with 117 left at Level: 11
 
It's working as expected in that it's selecting option 6 from that particular non-combat when you haven't completed the various subzones of the Hidden City. I've actually never run Ed before so not sure about whether that has any changes to the Hidden City portion of the Level 11 quest. It does have custom routing compared to Standard in Autoscend because of wanting to get Ka. It looks like Mafia hadn't recorded the lastEncounter being Temple of the Legend in the Hidden City which is how we determine with the Ziggurat was opened or not. Do you know what real life calendar day this happened?
 
SC DB run.

This is new... I'm not sure whether the issue is with autoscend or with the recent refactoring of stores but, with r28334, autoscend is unable to create a mini kiwi bikini to equip for clearing the protestors at The Zeppelin.

[DEBUG] Adding "100sleaze damage,100sleaze spell damage" to current maximizer statement
Verifying ingredients for mini kiwi bikini (1)...
Purchasing mini kiwi bikini (1 @ (2 mini kiwis))...
Visiting Kiwi Kwiki Mart...
Creation failed, no results detected.

Even after manually creating the item, via the relay browser, autoscend still tries to create one and stops when unable to do so.

After clearing the protestors manually autoscend was able to continue.

Later the same day the script stopped because it couldn't get a wet stunt nut stew.

Then it stopped before completing the tower because it ran out of adventures but there was both stomach and live capacity to spare. Finished manually.
 
Last edited:
Can't cook without range occurred again. The message does not appear in the session log. If that is a KoLmafia message then perhaps there should be a Feature request to log it?

As I reconstruct it, autoscend stopped. A message was "[WARNING] Still hungry! Stopping bedtime." I had almost no meat. I manually drank an astral pilsner and visited the odd jobs and swapped 10 adventures for 1000 meat. I did not trust autoscend save the meat for a range so I manually bought one. I started up autoscend and it stopped with basically the same message. I manually used the range, started again and autoscend proceeded as expected.

Standard HC Pastamancer. All of the Guild skills but not many shinys. Day Two. I can't really prove where Meat is going but it seems to be restores for buffs. I grep'ed for "Meat:" as reported in the [Info} autoscend prints and only twice in the entire log was it over 950, the cost of the range. They were after beating the Bonerdagon, using the chest and then immediately buying an antique accordion. It looks like it spent the remainder to make a roll in the hay and buy some MMJ.

I'm running latest versions of both.
[INFO] This is version: 1eaecbebc52173fbe0cec6346f4c6ff745f7110c Mafia: 28334

I'd say there is (still?) a bug in that it needs a range bur refuses to use one in inventory.

I'd say the decision to buy an antique accordion instead of a range might be reconsidered as the decision to make drinks and buy restores. A Band Aid might be to buy and use a range after using the Chest of the Bonerdagon if a range is needed. There are ways to make that not work but most of them involve manual running.

If you have a log parser you would like me to run point me to it. Or I can just share the log file with you somehow.
 
Can't cook without range occurred again. The message does not appear in the session log. If that is a KoLmafia message then perhaps there should be a Feature request to log it?

As I reconstruct it, autoscend stopped. A message was "[WARNING] Still hungry! Stopping bedtime." I had almost no meat. I manually drank an astral pilsner and visited the odd jobs and swapped 10 adventures for 1000 meat. I did not trust autoscend save the meat for a range so I manually bought one. I started up autoscend and it stopped with basically the same message. I manually used the range, started again and autoscend proceeded as expected.

Standard HC Pastamancer. All of the Guild skills but not many shinys. Day Two. I can't really prove where Meat is going but it seems to be restores for buffs. I grep'ed for "Meat:" as reported in the [Info} autoscend prints and only twice in the entire log was it over 950, the cost of the range. They were after beating the Bonerdagon, using the chest and then immediately buying an antique accordion. It looks like it spent the remainder to make a roll in the hay and buy some MMJ.

I'm running latest versions of both.
[INFO] This is version: 1eaecbebc52173fbe0cec6346f4c6ff745f7110c Mafia: 28334

I'd say there is (still?) a bug in that it needs a range bur refuses to use one in inventory.

I'd say the decision to buy an antique accordion instead of a range might be reconsidered as the decision to make drinks and buy restores. A Band Aid might be to buy and use a range after using the Chest of the Bonerdagon if a range is needed. There are ways to make that not work but most of them involve manual running.

If you have a log parser you would like me to run point me to it. Or I can just share the log file with you somehow.
No log parser. When I debug things for autoscend, it is mostly go to the adventure in question and look at our debug/info statements to figure out what is going on. You can share the log however you would like, whether it is just in a post here or you can PM me if you aren't comfortable just posting it here.

There is a lot of code and decisions that haven't been updated for new metas, so the range could be one of those things.
 
No log parser. When I debug things for autoscend, it is mostly go to the adventure in question and look at our debug/info statements to figure out what is going on. You can share the log however you would like, whether it is just in a post here or you can PM me if you aren't comfortable just posting it here.

There is a lot of code and decisions that haven't been updated for new metas, so the range could be one of those things.
Sorry. I did not plan on spending yesterday in the clutches of the medical establishment.

First my SC Pastamancer had the "can't cook" abort about level 9, day 2. I manually pulled the range, manually installed it and continued.

My reference to a log parser was just in case there was something that would track meat acquired and how it was used.

I'm not sure what the adventure in question would be - the one where it stopped because it needed a range or the one where it had enough meat to get a range and didn't. I can provide log extracts but I didn't see anything that helped me figure out why something didn't happen.
 
Seeing as we only call handleOven (the range using function) at D2 initialization, L11 wine bomb making, or trying to get Milk of Magnesium, chances are it was at the very start of D2 or when you tried to make a Milk.

I do see where there might be a problem though. We try to buy a range if you have 1000 meat more than the cost with whatever NPC discount you might have but only when it is called so at one of the 3 points above. The only path where we try to actively buy a range basically all of the time is WereProf because of the limited availability of the Professor's cottage. We don't account for someone pulling it from their storage. SO, maybe we should fallback to that if there is actually one in storage?
 
Back
Top