autoscend - a sl_ascend fork/continuation

I seem to have found a disco nap/skill recovery bug... A stream of duplicated message of the following 4 lines leading to autoscend halting:
[DEBUG] Recalculating cached restore objective values.
[INFO] Using skill disco nap as restore.
[INFO] Target mp => 8 - Considering restore options at 88/126 HP with 5/140 MP
[INFO] Active Negative Effects => []
...
[DEBUG] Recalculating cached restore objective values.
[ERROR] Error running auto_pre_adv.ash, setting auto_interrupt=true

There seems to be straightforward - disco nap shouldn't be an option to try to cast when there's less than 8 mana because it's an 8 mana spell. Line 1598 in autoscend/auto_restore.ash seems to check the mana cost but its looping to try the same skill until it errors out rather than moving on to the next restoration option.

In case you're wondering why it's trying to use that spell to recover MP. It's at 5/140 and wants to get to 8. Disco nap is usually for healing hitpoints not increasing mana but when wielding the April Shower Thoughts Shield it will provide mana for 5 casts. Manually buying a potion from Doc Galactik and then doing a disco nap recovered 40MP.
 
I can't speak for the devs, only offer a couple of comments from sporadically using it through a couple of changes of maintainers.

The shield/weapon issue may be a KoLmafia bug or it may be autoscend's decision to use a maximizer string that doesn't actually need a weapon to be satisfied. There has been a fair amount of work to find a repeatable case where the decision not to equip a weapon is incorrect.

There is a preference that can be set to not abort when restoration fails. I discovered it when the wall of text that is displayed when there is a "planned" exit mentioned preferences. One ignored failures for "today" and the other ignored failures for the run.

In the early days having Saucegyser perm'd was a requirement for running the script. It is quite possible that choosing skills based upon efficiency was never a consideration and still isn't.

As I understand it the primary goal to autoscend farming is to gain experience and level up. If you can suggest places to level up that have the same experience gain but drop more meat I'm sure the suggestion would be considered. But trading off experience to gain meat is probably not in keeping with the project's goals.

The Tower behavior can probably be explained by choosing speed over efficiency.

In general once I find autoscend doing something I would do differently my solution is to sacrifice "auto" and stop it and do things my way. This often includes using an astral item or a familiar that has some HP/MP regeneration as well as doing the Artist or Galactic quests to deal worth meat. Once the Harem Girl outfit is available there is 500 meat per day at a cost of one adventure and I have been known to manually do the king using the girl outfit and not the elite outfit.
 
- On the shield/weapon issue and disco nap issues, I have PRs that may fix/definitely fix, just need them to be approved.
- Did you set auto_ignoreRestoreFailure to true? That might help with your stopping due to out of mana issues
- Autoscend should generally prefer Saucestorm over Saucegeyser (if you have both permed) so if you can point to a specific instance where it is using Saucegeyser, please let us know.
- We used to always go booze first, then food, but that has since been modified to be the best available food/drink. I might consider manually pulling a decent food to get you over that hump. OR even better, manually pull an MMM-brrr Mouthwash and maybe some other cold res related items and bypass a lot of the early levels which might help with some of your issues
- Not sure what farming you are referring to as autoscend is strictly an auto-ascension script. Do you mean powerlevelling? In which case we really only care about getting you to the next level
- We do calculate how many turns are required for the tower and report it out at the end of the day. I don't think that ending an ascension with a large amount of meat is necessarily an inefficiency. I would agree that the items we pull in an ascension aren't 100% optimized to your experience, but they are generally useful. If you have specific recommendations, please let us know
- Before I had all the perms and a full standard suite of IOTMs I also did the galaktik quest because it reduced the cost of healing via Galaktik. I don't think that is necessarily something to program in, but I suppose it could be once a certain amount of failures is hit? One thing I've wanted to do that

Could regen be better for low-shiny/low-skill progression users? Probably. Will it get better with time for you, assuming you don't have a lot of perms/IOTMs? Definitely. When I came back to the game in 2020 after ~11 years out of it, autoscend was doing 5-6 day HC standard runs. Now it does 2 day standards and that is strictly because of progression. Has autoscend become more efficient too? Yes, but not 3-4 days more efficient.
 
it takes about 5 days for my standard run. That's not counting many occasions where it's bombed out and I didn't notice - this causes the day to roll over without any drinking or eating so I just get the 40 turns plus equipment. Maybe once the character is level 6 and can use decent food it should consider eating and drinking as part of the breakfast routine so that if it stops then the day provides more turns that can be used after rollover.

The mention of Saucestorm being a standard skill for autoscend intrigues me - Is there a guide for autoscend that I've missed with clues like that? I've got maybe half of spells permed but I prioritised according to a play guide and passives which may not be right for autoscend.

(yes, I mean powerlevelling as farming - farming xp)
 
Karma gain optimisation....
Here's a thought... doing the normal ascention gets you some karma which you then use later for perming stuff... If you add the nemesis quest it gains you extra... which you can interleave with the levelling quests to complete with minimal extra delay. When powerlevelling please could we consider progressing the nemesis quests so that the extra karma is easier to collect. There may be additional karma opportunities which as a noobie I don't know about too.
 
When powerlevelling please could we consider progressing the nemesis quests so that the extra karma is easier to collect.

An alternative that would be more useful to me personally and might be more palatable to the devs who prize speed running over automated running would be to provide an option to stop whenever the script has nothing it wants to do besides power level. Then I could decide whether to advance something, do a quest out of the preferred autoscend order or just farm for meat, not expereince.

This might need some thought before implementing. My first thoughts are that it would need two preferences - one user preference to disable power leveling and one that allowed overriding the user preference until a particular level was reached. If I had done everything I wanted to do I don't care if it it power levels to the next level but once it has achieved that level I want it to stop before it powers on to the next.

I am at level 8. I have disabled power leveling. Script stops. I do something. If I make it to level 9 manually then the script should stop before power leveling to level 10 if that is what it wants to do. But if I don't make it to 9 and run out of things I want to do then I would like the script power level to level 9 when I start it again and override my preference until level 10 is reached.
 
I think I've found something interesting about the weapon/shield unequipping...
I tried creating a complex auto_maximise_baseline which prioritised regen, but it was rather complete and it had most options included.... I think then autoscend tried modifying the baseline by appending something specific to the zone... which then maybe failed because it duplicated something? and after bombing out of trying to work out what equipment it was trying to use it just leaves the slot blank.
 
I think I've found something interesting about the weapon/shield unequipping...
I tried creating a complex auto_maximise_baseline which prioritised regen, but it was rather complete and it had most options included.... I think then autoscend tried modifying the baseline by appending something specific to the zone... which then maybe failed because it duplicated something? and after bombing out of trying to work out what equipment it was trying to use it just leaves the slot blank.

Not sure what, if anything, you would like to happen with this. Feel free to look at https://kolmafia.us/threads/maximizer-didnt-equip-a-weapon.29577/#post-174282 if you would like some ideas about what to expect and what to report.

If you don't want to try and digest all of that then consider reporting the "shortest" maximizer string that trigger the problem, the debug 2 output when maximizing that string, the slot that did not equip what you expected and a specific item you expected to be equipped instead. Keep in mind that sometimes an empty slot is the expected behavior so there may be a bug or there may be an expectation that is not correct :-)
 
Back
Top