Ascend.ash: hands-off ascension script

Good suggestions all. OCW is still in the same basic format as when I wrote it long ago. My more recent scripts are written with an eye to portability, with small main() functions and subroutines moved inside the functions requiring them. OCW could do with something of a revamp in that direction.

That said, I do like the CLI method because you don't have to ensure that the scripts play nicely together -- you can have duplicate functions/variablenames, etc -- and you can also avoid the abort issues.

Looks like I have a pretty big list of things to do to OCW before the next release. Maybe I'll have time to get to that this weekend. Here's hoping.
 
Having a bit more time today I checked on the session logs from my two previous problems, the one from the hidden temple is as follows

Code:
[1171] Hidden Temple
Encounter: At Least It's Not Full Of Trash
choice.php?whichchoice=123&option=2&pwd

cast 1 Cannelloni Cocoon
You gain 107 hit points

[1172] Hidden Temple
Encounter: Lightning Trap
You gain 50 Mysteriousness

[1173] Hidden Temple
Encounter: Dvorak's Revenge
Encounter: Dvorak's Revenge

tiles.php?action=jump&whichtile=4&pwd
tiles.php?action=jump&whichtile=6&pwd
tiles.php?action=jump&whichtile=3&pwd
tiles.php?action=jump&whichtile=5&pwd
tiles.php?action=jump&whichtile=7&pwd
tiles.php?action=jump&whichtile=6&pwd
tiles.php?action=jump&whichtile=3&pwd
 > Populating quest map.
 > 41 quest steps registered.
 > 9 levelup steps registered.
 > Start!
> Checking if a version newer than this one (Ascend.ash 1.0) is available.

Emptying storage
 > Loading drink records.
 > Loading mafia drink records for today
 > Filtering remaining drinks for level and availability.
 > ItemsOfLoathingPrices.txt already cached today.
> Wiki price not found
 > Calculating drink values.
 > Choosing drink to consume.
 > Attempting to consume...
 > Creating a shot of blackberry schnapps in 5 seconds

buy 1 fermenting powder at market price from Market Demon
You acquire an item: fermenting powder

Mix 1 fermenting powder + 1 blackberry
You acquire an item: shot of blackberry schnapps
Crafting used 1 each of fermenting powder and blackberry

Was it trying to adventure at the hidden city even though it had run out of turns? As you can see as soon as I restarted it it began making drinks and drinking them so it's not a major problem.

On check the log from the one that tried to adventure in Degrassi Knoll while under a muscle sign, it was in the Levelup script when it did this, should this script exclude this area when under a muscle zodiac?
 
Wait... So what you people are telling me is that this thing is a fire-and-forget softcore ascension script? And that, coupled with Zarqon's hardcore checklist it ALSO works for Hardcore? Does it rely on pulls, the mall or something like that when in Softcore? Does it decide on its own what to pull, equip and so on? I've read that configuration is "nontrivial". Now, I'm not a total idiot, I hope, but will I receive support from someone if I fail to configure it? You know, 10 bucks is 10 bucks after all (or something like 7/8 euro for me).

Edit: does it take into account pathed ascensions?
 
I can confirm that it works for 90%.
This is solely due to my inability to configure some things in the correct way :)

I did a softcore no path ascension.
 
@Itialian Hippy: It does NOT automate hardcore, although it makes it a lot easier when combined with Z's Hardcore Checklist (basically you take turns running one or the other depending on what needs to happen). It automatically purchases what you need for the ascensions before you ascend, then does pulls for you as needed during the ascension. If you're out of ronin, it uses the store; if you're out of pulls, it farms. I haven't tested softcore paths, but it should do them automatically.

It does not include support, any more than any other script here does. That said, if you look at my other scripts (eatdrink.ash, for example), you'll see that I do work pretty hard to help folks who have trouble, and the other folks on this board pitch in too. No guarantees though. If you're worried about it, I'd suggesting setting up eatdrink.ash. You have to do that anyway to use the script, and it'll give you an idea of what you need to be able to do.

@asturia: So glad to hear it worked for you all the way through!
 
If that's what you're actually seeing and not a truncated output (i.e. there's no list of locations in the middle), then levelup can't find its map files, locs_by_xp and locs_by_meat. Try putting them in the mafia dir or in the scripts subdir.

So far I've found the script is working pretty well - I can't seem to find the locs_by_xp and locs_by_meat data files though. Maybe I'm totally missing something?

*edit - doh...nevermind. Found it.*
 
Updated ascend.zip with Zarqon's latest version of wossname.ash - thanks Z!

Haven't rev'd the version number because:
a) There's no change to the core files, only to the wossname.ash, which is included as a convenience
b) I haven't tested the 'change' yet since I just made it and am not currently on the islandwar quest
c) I forgot, and I'm too lazy to go back and do it again
d) all of the above

please submit your answer in the form of a question.
 
Not quite sure what happened here but I had it enter a loop as per listing bellow when it ran out of adventures. It wasn't talking to the server as char had timed out, logging back in and restarting cured it.

Code:
 Out of adventures! Done.
AcceptableDmgPercent is set to 30% of your hp. The booty crab will hit you for more than that, so we'll level you up a bit before adventuring there.
AcceptableDmgPercent is set in LevelUp.ash FYI.
Checking if a version newer than this one (LevelUp.ash 1.01) is available.
Adventuring to moxie=104, or you're out of adventures. Processing all locations...
Out of adventures! Done.
AcceptableDmgPercent is set to 30% of your hp. The booty crab will hit you for more than that, so we'll level you up a bit before adventuring there.
AcceptableDmgPercent is set in LevelUp.ash FYI.
Checking if a version newer than this one (LevelUp.ash 1.01) is available.
Adventuring to moxie=104, or you're out of adventures. Processing all locations...
Out of adventures! Done.
.....................
 
Running Ascend.ash on another Id I had the script try to cast Leash in the middle of a fight. I'm not sure if the problems is with this script, the maguffin script(which it was in ), FTF which was the combat script or a Mafia bug of some sort, anyone any ideas?

This is the session log

Code:
[1270] Haunted Bedroom
Encounter: One Nightstand
choice.php?whichchoice=82&option=1&pwd
You acquire an item: old leather wallet

[1271] Haunted Bedroom
Encounter: animated nightstand
Round 0: quxrel wins initiative!
> running combat
Round 1: quxrel attacks!
Round 1: Gronald ties its shoelaces together. It trips and takes 26 damage as it lands on its face.
Round 1: animated nightstand (white) takes 26 damage.
 > Found adventure wooden nightstand, proceeding.
 > Adventuring until you have 1 Spookyraven ballroom key
> Haunted Bedroom is OK, as it will do < 30 of your HP in damage if you get hit.
> Haunted Bedroom is OK, as it will do < 30 of your HP in damage if you get hit.

cast 1 Leash of Linguini
Round 3: quxrel attacks!
Round 4: quxrel attacks!
Round 4: Gronald can't think of a nasty trick to pull, so settles for kicking it square in its most sensitive area -- that's right, its ego -- and does 28 damage.
Round 4: animated nightstand (white) takes 123 damage.
Round 5: quxrel attacks!
Round 6: quxrel attacks!
Round 6: Gronald ties its shoelaces together. It trips and takes 21 damage as it lands on its face.
Round 6: The bowl of fruit precariously balanced on her head, Gronald does a bit of salsa dancing.  Even though salsa and fruit don't go together at all.Gronald holds out the plastic pumpkin bucket, hoping for extra goodies.
Round 6: Gronald tosses a sugar plum into your mouth.  The flavor makes you smile, but the sweetness is nearly overpowering.  You choke it down anyway.
Round 6: animated nightstand (white) takes 37 damage.
You lose 1 hit point
You acquire an item: grouchy restless spirit
You lose 23 Mojo Points
You gain 16 Muscleboundness
You gain 10 Mysteriousness
You gain 21 Roguishness
You gain a Moxie point!

And this is the GCLI output

Code:
[1270] Haunted Bedroom
Encounter: One Nightstand
You acquire an item: old leather wallet

[1271] Haunted Bedroom
Encounter: animated nightstand
Round 0: quxrel wins initiative!
running combat
Round 1: quxrel attacks!
Round 1: Gronald ties its shoelaces together. It trips and takes 26 damage as it lands on its face.
Round 1: animated nightstand (white) takes 26 damage.
Found adventure wooden nightstand, proceeding.
BallroomKey => ready
choiceAdventure85 => 2
Adventuring until you have 1 Spookyraven ballroom key
Haunted Bedroom is OK, as it will do < 30 of your HP in damage if you get hit.
Haunted Bedroom is OK, as it will do < 30 of your HP in damage if you get hit.

Casting Leash of Linguini 1 times...
Redirected to a fight page.
KoLmafia declares world peace.

Round 3: quxrel attacks!
Round 4: quxrel attacks!
Round 4: Gronald can't think of a nasty trick to pull, so settles for kicking it square in its most sensitive area -- that's right, its ego -- and does 28 damage.
Round 4: animated nightstand (white) takes 123 damage.
Round 5: quxrel attacks!
Round 6: quxrel attacks!
Round 6: Gronald ties its shoelaces together. It trips and takes 21 damage as it lands on its face.
Round 6: The bowl of fruit precariously balanced on her head, Gronald does a bit of salsa dancing. Even though salsa and fruit don't go together at all.Gronald holds out the plastic pumpkin bucket, hoping for extra goodies.
Round 6: Gronald tosses a sugar plum into your mouth. The flavor makes you smile, but the sweetness is nearly overpowering. You choke it down anyway.
Round 6: animated nightstand (white) takes 37 damage.
You lose 1 hit point
You acquire an item: grouchy restless spirit
You lose 23 Mojo Points
You gain 16 Muscleboundness
You gain 10 Mysteriousness
You gain 21 Roguishness
You gain a Moxie point!

I had to go to the relay browser to finish off the fight manually.
 
Last edited:
Tee - it looks like Mafia thought the combat had ended when it really didn't, so Ascend.ash started running again and Mafia complained because it was still in the middle of combat. It sounds like the bug I reported here:
http://kolmafia.us/project.php?issueid=199
I'd post something in that thread - no dev has looked at it yet for some reason. Note that I found the problem when I had cunctatitis; not sure if that was true for you.
 
This popped up today. I was wearing my Knob Goblin harem pants for the +1 moxie (and I didn't have anything better as this is a brand new character) but when trying for the Goblin King quest, it kept taking them off. So wearing no pants, it tried to have me adventure for 1 more moxie. I have 68 buffed moxie and it's looking for 69, which I had when I was wearing my pants. And apparently I can't adventure anywhere safely?

Code:
Working on quest step GoblinKing.
Have 1 Knob Goblin harem veil. Total needed is 1.
Using retrieve but not pull, now have 1 Knob Goblin harem veil.
Got all requested.
Have 1 Knob Goblin harem pants. Total needed is 1.
Taking off Knob Goblin harem pants...
Equipment changed.
Using retrieve but not pull, now have 1 Knob Goblin harem pants.
Got all requested.
Have 1 Knob Goblin perfume. Total needed is 1.
Using retrieve but not pull, now have 1 Knob Goblin perfume.
Got all requested.
Internal checkpoint created.
Not safe to adventure in the king's chamber yet - levelling up.
Checking if a version newer than this one (LevelUp.ash 1.01) is available.
Adventuring to moxie=69, or you're out of adventures. Processing all locations...
Nowhere to adventure that's safe right now!
 
@bfishey: two problems. One, which you can see discussed above, is that levelup.ash can't find the locs_by_meat and locs_by_xp. If you fix that, it will gain a moxie point correctly.

The other is that ascend.ash is behaving nonoptimally here - theoretically it should put on the king quest outfit, see if you can do it, take it off, level up until you can, put it on, do the quest, and take it off. That's an optimization I might do sometime but, per the notes above, it's not a priority since not doing it just means you'll try to gain a moxie point sooner and, worst case, will burn a few extra turns.
 
My multi ascended (with only minor hiccups) in 7 days, 1354 turns.

I have a feeling this could be optimized a lot. There's no outfit manipulation yet, no familiar manipulation yet, no buffs/moods. I'm going to start tinkering :)
 
/agree Kain

I just started working with and have a few 'placeholders':

Outfits

Going through and setting the Mafia choices for the various adventure / area choices

Figuring which CCS to use and when

Figuring which familiar to use and when

OCW goals - make sure they are set and locked on *before* you get the Island War quest. ;-)

Checks for Ode to Booze

Other than that, so far, I like what I see.
 
@Raven, @Kain: Thanks for your thoughts! Agree 100%. My thoughts to date:
* I hope that something like FightOptimizer + SmartStasis will solve the CCS problem without needing to do a lot of new work.
* Familiars are relatively easy, but I'm just lazy and use the volleyball all the time.
* I set the Wossname goals once and then leave them
* I haven't permed Ode so that hasn't been on my list
* The biggest thing, though, is outfits. I can imagine a very complex interaction where you want to maximize ML while still making monsters beatable; achieve certain benefits (like +MP regen), etc. Hard to make that work right.
* Also would be good to set all the choiceadv to smart defaults. Right now I just adjust the ones you have to to complete quests (e.g. open ballroom).
 
I had the ascend.ash not be able to complete the 'trash in the sky' quest and had to finish it by hand. Not sure if I had something mis-set.

~~~~~~~~~~~~~~~~~~~

Checking step #34, 'Beanstalk'.
Working on quest step Beanstalk.
Got 1 already.
Adventuring for string:
Wheel in the Clouds

[2260] Giant's Castle
Encounter: What are the Odds?
You acquire an item: plot hole
You acquire an item: chaos butterfly
running combat

Checking step #34, 'Beanstalk'.
Working on quest step Beanstalk.
Got 1 already.
Adventuring for string:
Wheel in the Clouds

The loop basically looked like:

[2261] Giant's Castle
Encounter: Goth Giant
Round 0: Crash_Test_Dummy_007 wins initiative!
running combat
Round 1: Crash_Test_Dummy_007 casts SAUCY SALVE!
You gain 11 hit points
Round 2: Crash_Test_Dummy_007 uses the turtle totem!
Round 2: goth giant takes 1 damage.
Round 3: Crash_Test_Dummy_007 uses the turtle totem!
Round 3: goth giant takes 1 damage.
Round 4: Crash_Test_Dummy_007 uses the turtle totem!
Round 4: Twinkle Twinkle Little Starfish floats behind your opponent, and begins to glow brightly. Starlight shines through your opponent, doing 47 damage, and pours into your body.
Round 4: goth giant takes 48 damage.
You gain 47 Mana Points
Encounter: Goth Giant
Round 0: Crash_Test_Dummy_007 loses initiative!
Combat!

You're fighting a Goth Giant
You twiddle your thumbs.

(select an item)8-ball (3)334 scroll (246)30669 scroll (165)33398 scroll (374)ancient spice (817)anti-anti-antidote (7)antique hand mirror (10)ball (11)barbed-wire fence (2)bargain flash powder (1)baseball (270)beer bomb (48)black pepper (55)bottle of alcohol (8)bronzed locust (26)bubbly potion (151)buckyball (5)cast (29)chaos butterfly (8488)chloroform rag (3)cloudy potion (153)cocktail napkin (19)communications windchimes (1)cursed cannonball (4)cursed dirty joke scroll (4)cursed voodoo skull (2)dark potion (149)depantsing bomb (1)disease (44)Doc Galaktik's Homeopathic Elixir (16)Doc Galaktik's Pungent Unguent (29)Doc Galaktik's Restorative Balm (3)Dyspepsi-Cola (2)effervescent potion (164)facsimile dictionary (3)fancy bath salts (49)fancy dress ball (1)fat stacks of cash (4)ferret bait (71)fetid feather (77)filthy poultice (57)fizzy potion (158)flaming feather (69)flaregun (36)flirtatious feather (35)floorboard cruft (5)frightful feather (58)frigid ninja stars (738)frozen feather (46)gas balloon (69)gauze garter (24)gob of wet hair (39)golden ring (40)green smoke bomb (17)grouchy restless spirit (8)gyroscope (6)hair spray (1)handful of sand (71)handful of sawdust (15)inkwell (8)killing feather (33)kite (12)Knob Goblin firecracker (6)leftovers of indeterminate origin (6)lewd playing card (2)mariachi G-string (29)meat vortex (363)milky potion (143)Miniborg beeper (1)Miniborg laser (1)Miniborg stomper (1)Miniborg strangler (1)molotov cocktail cocktail (21)murky potion (170)mylar scout drone (1)NG (1)ovoid leather thing (99)PADL Phone (1)patchouli incense stick (52)photoprotoneutron torpedo (186)plot hole (8469)poltergeist-in-the-jar-o (1)possessed top (3)powdered organs (859)procrastination potion (3780)pygmy blowgun (3)razor-sharp can lid (37)razor-tipped yo-yo (1)red pixel potion (4)robotronic egg (34)rocky raccoon (38)rogue swarmer (43)roofie (42)sake bomb (28)sausage bomb (6)sawblade fragment (53)scented massage oil (3)scroll of ancient forbidden unspeakable evil (1)seal tooth (4)smoky potion (150)sonar-in-a-biscuit (1903)spectre scepter (3)spices (6)spider web (375)stick of dynamite (2)stuffed alien blob (3)stuffed doppelshifter (4)stuffed gray blob (4)swirly potion (140)tattered scrap of paper (6)tequila grenade (24)The Big Book of Pirate Insults (2)Tom's of the Spanish Main Toothpaste (5)top (5)toy mercenary (1)toy soldier (1)tree-eating kite (6)tropical orchid (1)turtle totem (106)unstable laser battery (41)vial of patchouli oil (14)water pipe bomb (245)wussiness potion (53)yo-yo (2)
(select a skill)Chronic Indigestion (5 Mana Points)CLEESH (10 Mana Points)Transcendent Olfaction (40 Mana Points)Salsaball (1 Mana Point)Stream of Sauce (3 Mana Points)Saucy Salve (4 Mana Points)Saucestorm (12 Mana Points)Wave of Sauce (23 Mana Points)
Combat!

You're fighting a Goth Giant
You twiddle your thumbs.

(select an item)8-ball (3)334 scroll (246)30669 scroll (165)33398 scroll (374)ancient spice (817)anti-anti-antidote (7)antique hand mirror (10)ball (11)barbed-wire fence (2)bargain flash powder (1)baseball (270)beer bomb (48)black pepper (55)bottle of alcohol (8)bronzed locust (26)bubbly potion (151)buckyball (5)cast (29)chaos butterfly (8488)chloroform rag (3)cloudy potion (153)cocktail napkin (19)communications windchimes (1)cursed cannonball (4)cursed dirty joke scroll (4)cursed voodoo skull (2)dark potion (149)depantsing bomb (1)disease (44)Doc Galaktik's Homeopathic Elixir (16)Doc Galaktik's Pungent Unguent (29)Doc Galaktik's Restorative Balm (3)Dyspepsi-Cola (2)effervescent potion (164)facsimile dictionary (3)fancy bath salts (49)fancy dress ball (1)fat stacks of cash (4)ferret bait (71)fetid feather (77)filthy poultice (57)fizzy potion (158)flaming feather (69)flaregun (36)flirtatious feather (35)floorboard cruft (5)frightful feather (58)frigid ninja stars (738)frozen feather (46)gas balloon (69)gauze garter (24)gob of wet hair (39)golden ring (40)green smoke bomb (17)grouchy restless spirit (8)gyroscope (6)hair spray (1)handful of sand (71)handful of sawdust (15)inkwell (8)killing feather (33)kite (12)Knob Goblin firecracker (6)leftovers of indeterminate origin (6)lewd playing card (2)mariachi G-string (29)meat vortex (363)milky potion (143)Miniborg beeper (1)Miniborg laser (1)Miniborg stomper (1)Miniborg strangler (1)molotov cocktail cocktail (21)murky potion (170)mylar scout drone (1)NG (1)ovoid leather thing (99)PADL Phone (1)patchouli incense stick (52)photoprotoneutron torpedo (186)plot hole (8469)poltergeist-in-the-jar-o (1)possessed top (3)powdered organs (859)procrastination potion (3780)pygmy blowgun (3)razor-sharp can lid (37)razor-tipped yo-yo (1)red pixel potion (4)robotronic egg (34)rocky raccoon (38)rogue swarmer (43)roofie (42)sake bomb (28)sausage bomb (6)sawblade fragment (53)scented massage oil (3)scroll of ancient forbidden unspeakable evil (1)seal tooth (4)smoky potion (150)sonar-in-a-biscuit (1903)spectre scepter (3)spices (6)spider web (375)stick of dynamite (2)stuffed alien blob (3)stuffed doppelshifter (4)stuffed gray blob (4)swirly potion (140)tattered scrap of paper (6)tequila grenade (24)The Big Book of Pirate Insults (2)Tom's of the Spanish Main Toothpaste (5)top (5)toy mercenary (1)toy soldier (1)tree-eating kite (6)tropical orchid (1)turtle totem (106)unstable laser battery (41)vial of patchouli oil (14)water pipe bomb (245)wussiness potion (53)yo-yo (2)
(select a skill)Chronic Indigestion (5 Mana Points)CLEESH (10 Mana Points)Transcendent Olfaction (40 Mana Points)Salsaball (1 Mana Point)Stream of Sauce (3 Mana Points)Saucy Salve (4 Mana Points)Saucestorm (12 Mana Points)Wave of Sauce (23 Mana Points)
Checking step #34, 'Beanstalk'.
Working on quest step Beanstalk.
Got 1 already.
Using 1 enchanted bean...
Round 3: Crash_Test_Dummy_007 casts WAVE OF SAUCE!
Round 3: goth giant takes 77 damage.
Round 4: Crash_Test_Dummy_007 casts WAVE OF SAUCE!
Round 4: Twinkle Twinkle Little Starfish floats behind your opponent, and begins to glow brightly. Starlight shines through your opponent, doing 40 damage, and pours into your body.
Round 4: goth giant takes 119 damage.
You gain 40 Mana Points
You gain 291 Meat
You acquire an item: Warm Subject gift certificate
You gain 14 Strongness
You gain 15 Enchantedness
You gain 8 Chutzpah
Finished using 1 enchanted bean.
Got 1 already.
Adventuring for string:
Wheel in the Clouds

[2262] Giant's Castle
Encounter: Wheel in the Clouds in the Sky, Keep On Turning
Found adventure wheel in the clouds, proceeding.

Checking step #34, 'Beanstalk'.
Working on quest step Beanstalk.
Got 1 already.
Adventuring for string:
Wheel in the Clouds

My best guess is perhaps something from one of the 'Choice Adventures' was interfering?
 
Last edited:
Have you considered adapting the old maximize.ash for use with this script package? If adapted, I think its functionality might prove very useful (I'd try, but I'm pretty clueless when it comes to scripting)
 
@Raven: It's a known bug. Please post here in the bug so the developers know it's still a problem:
http://kolmafia.us/project.php?issueid=199
@darius: Yes, I've thought about adding outfit management, but it gets complicated fast. If you maximize your moxie, do you have enough strength to kill the monster in 30 turns? If you maximize item drops, maybe your stats drop so low you get beaten up. Etc.
 
Hrm... I guess I don't know enough about scripting to suggest any good ideas towards outfit management, but that would definitely go a long way towards optimization.

BTW, I keep getting "macguffin.ash could not be found (Ascend.ash, line 8)"
 
Back
Top