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

Tipmon

Member
I think the script aborted because it couldn't get a 20 pound familiar, not because using the pool table failed.

Nope, I just went in and manually used 1 of the several green snowcones (I think it was green, whatever color is the one for +5 fam weight) and just started the script back up and it did it just fine.

EDIT: I didn't even have to buy it, I had like 4 in my inventory.
 

lostcalpolydude

Developer
Staff member
Nope, I just went in and manually used 1 of the several green snowcones (I think it was green, whatever color is the one for +5 fam weight) and just started the script back up and it did it just fine.

EDIT: I didn't even have to buy it, I had like 4 in my inventory.

If the script relies on mafia getting your familiar to 20 pounds, then mafia is intentionally not using that item. Perhaps it has a few hardcoded things it will also try, like the pool table. Otherwise mafia might do something like use a powdered toad horn, and I doubt anyone wants that.
 

roippi

Developer
Aside: has there been any call for a version of maximize() that returns a int[item] map of suggested consumables? I'm confident this is the sort of thing that has been discussed ad nauseum before, too lazy to do a search right now.
 

Winterbay

Active member
Aside: has there been any call for a version of maximize() that returns a int[item] map of suggested consumables? I'm confident this is the sort of thing that has been discussed ad nauseum before, too lazy to do a search right now.

I believe so yes. Would be nice to be able to access the suggestions for items and skills in some way.
 

Cone_of_Cold

New member
Is the island quest supposed to be done manually or am I doing something wrong with the script (not unlikely since I just started mafia two weeks ago and have no idea what I'm doing)? I have a multi that I've neglected, he's level 16 SC with no ascensions and no quests completed past level 8. I figured I'd just use this script on him once a day to at least advance him, if slowly.

The level 9 quest was fine; it aborted at every A-Boo clue adventure and twin peak manor adventure, but that's no big deal. Macguffin quest was really smooth; I think it managed to do the whole thing completely automated. Then I got to the island and a few things happened:

  • After defeating Ed the Undying but before receiving the island quest from the council, the script immediately assumed the next quest was the lair, and it promptly aborted when it found that there was no lair.
  • After obtaining rock band fliers, the script attempted to do obtain the insect queen heart. However, instead of trying to get scent glands, it began a loop of repeatedly adventuring in the hatchling chamber and using the fliers for all 30 rounds of combat.
  • When retrieving yossarian's tools, the script autoattacked and killed all gremlins right away instead of waiting for them to reveal a tool and then using the magnet.

I ended up completing those three sidequests manually, and then the script was able to pick up and do lobsterfrogmen and start fighting the war (at which point I ran out of adventures).

Anyway, I've been dying for an automated ascension script for those days when I don't have the time or the energy to play more than one account's worth of adventures, so even with any potential bugs I'll take bumcheekcend.ash over nothing. :p
 

Theraze

Active member
Is this the part where we suggest using WHAM or another custom combat script rather than just using Auto-Attack-with-weapon? :)
 
Is the island quest supposed to be done manually or am I doing something wrong with the script (not unlikely since I just started mafia two weeks ago and have no idea what I'm doing)? I have a multi that I've neglected, he's level 16 SC with no ascensions and no quests completed past level 8. I figured I'd just use this script on him once a day to at least advance him, if slowly.

Did you put the relay script in your relay folder, and configure the settings for how to run the war? That might have something to do with the odd behavior.
 

Crowther

Active member
Aside: has there been any call for a version of maximize() that returns a int[item] map of suggested consumables? I'm confident this is the sort of thing that has been discussed ad nauseum before, too lazy to do a search right now.
With prices too! I decided to add my own stuff to the maximize code once about six months ago and gave up. That code's the most convoluted I've seen in mafia. It has to deal with so many strange special cases inside KoL itself. I know some work has been done since then to clean things up, but unless someone can improve KoL, it's always going to be pretty messy.
 

roippi

Developer
Once you have an $item you can just check its price yourself, no need to provide that in the data structure. In fact there's really no need to provide the int either since you can check inventory quantities, etc.
 

Winterbay

Active member
Is the island quest supposed to be done manually or am I doing something wrong with the script (not unlikely since I just started mafia two weeks ago and have no idea what I'm doing)? I have a multi that I've neglected, he's level 16 SC with no ascensions and no quests completed past level 8. I figured I'd just use this script on him once a day to at least advance him, if slowly.

The level 9 quest was fine; it aborted at every A-Boo clue adventure and twin peak manor adventure, but that's no big deal. Macguffin quest was really smooth; I think it managed to do the whole thing completely automated. Then I got to the island and a few things happened:

  • After defeating Ed the Undying but before receiving the island quest from the council, the script immediately assumed the next quest was the lair, and it promptly aborted when it found that there was no lair.
  • After obtaining rock band fliers, the script attempted to do obtain the insect queen heart. However, instead of trying to get scent glands, it began a loop of repeatedly adventuring in the hatchling chamber and using the fliers for all 30 rounds of combat.
  • When retrieving yossarian's tools, the script autoattacked and killed all gremlins right away instead of waiting for them to reveal a tool and then using the magnet.

I ended up completing those three sidequests manually, and then the script was able to pick up and do lobsterfrogmen and start fighting the war (at which point I ran out of adventures).

Anyway, I've been dying for an automated ascension script for those days when I don't have the time or the energy to play more than one account's worth of adventures, so even with any potential bugs I'll take bumcheekcend.ash over nothing. :p

1) Why did it abort at all a-boo clues?
2) The Twin Peak is expected for a non-ascended character I think. There are just too many ways to increase the different stats that may cost loads, but it will try some things before giving up. There will be some optimization made soon though.
3) It should only be able to do that if your quest log does not contain "Make War, Not... Oh, Wait". Was this somehow lacking?
4) You are obviously (since you are a non-ascended character) in what the script feels is Casual mode. Thus it will go do the side missions, it should however only flyer once per fight.
5) The script uses your 0MP-skill to stasis with, as a level 16 SC it may be that it actually does too much damage to be able to stasis properly.
 

xKiv

Active member
Once you have an $item you can just check its price yourself, no need to provide that in the data structure. In fact there's really no need to provide the int either since you can check inventory quantities, etc.

I think the problem with that whole approach is: one line of maximizer's suggestion is not necessarily one item. Some are commands other than use (like going to island arena, or casting buffs), others are using several items (trivia master), others are using one of several items (anything from oyster eggs or $containers of $gemstone juices). You would need something better than int[item] anyway ... (and that's not even going into "I want to be maximized for X turns, give me appropriate amounts of items/casts for long enough buffs)
 

Winterbay

Active member
I think the problem with that whole approach is: one line of maximizer's suggestion is not necessarily one item. Some are commands other than use (like going to island arena, or casting buffs), others are using several items (trivia master), others are using one of several items (anything from oyster eggs or $containers of $gemstone juices). You would need something better than int[item] anyway ... (and that's not even going into "I want to be maximized for X turns, give me appropriate amounts of items/casts for long enough buffs)

Yes, it may be better to return an int[string] map or similar in the same way as get_goals return a string-map and then leave it up to the scripter to parse the result out.
 

roippi

Developer
(and that's not even going into "I want to be maximized for X turns, give me appropriate amounts of items/casts for long enough buffs)

Eh? Does the maximizer even do that?

Anyway I was thinking about returning a record that has at the minimum int[$item] int[$skill] and int[$string]. Int being, in all cases, the thing's score. $strings[] being for everything that doesn't fit into $items[] and $skills[].

This method is better and worse than just returning a int[$string] map - better in that it diminishes the parsing burden on the scripter, worse in that some data is lost. "acquire & use 1 jug of porquoise juice" would, for example, become {$item[jug of porquoise juice], score} so the acquire bit is lost, as is the usually unimportant quantity. It might just be for the best (also in terms of maintainability) if we just went with int[string] and let scripters deal with it.
 

roippi

Developer
Discussion about maximizer stuff split into new feature request thread, chat about it there if you have more to say.
 

Cone_of_Cold

New member
1) Why did it abort at all a-boo clues?
2) The Twin Peak is expected for a non-ascended character I think. There are just too many ways to increase the different stats that may cost loads, but it will try some things before giving up. There will be some optimization made soon though.
3) It should only be able to do that if your quest log does not contain "Make War, Not... Oh, Wait". Was this somehow lacking?
4) You are obviously (since you are a non-ascended character) in what the script feels is Casual mode. Thus it will go do the side missions, it should however only flyer once per fight.
5) The script uses your 0MP-skill to stasis with, as a level 16 SC it may be that it actually does too much damage to be able to stasis properly.

1) It aborted at all A-Boo clues because it was an "unrecognized noncombat" or something like that.
2) Understandable.
3) My quest log did not contain "Make War, Not...Oh Wait" because the bot never visited the council after completing the macguffin quest. After the script tried to do the lair and aborted, I manually visited the council to turn in the macguffin, receive my confetti, and start the island war.
4) I mean I figured it shouldn't have done what I described, but it did. Adventure in the hatchling chamber, use fliers round 1 thru 31, combat ends, attempt again. I'm not using WHAM (or any other combat script); perhaps that's the problem as Theraze suggested?
5) Again, I'm not using WHAM or any other combat script, so maybe that's the issue, but the script was indeed autoattacking those gremlins on the jump and 1shotting them, I'm looking at the log right now.

Another thing it did that I forgot to mention is that during the macguffin quest, when gaudy keys were needed, and the Cap'm Caronch quest was already finished, instead of adventuring in the poop deck to unlock belowdecks and acquire gaudy keys, the script got into an infinite loop of creating and selling 1 meat paste.

Would it be helpful if I upload the session log for that day so you can see the things I'm talking about? It might not even be problems with the script as much as problems with my settings or whatever, like I said.

EDIT: Today's a new day and I resumed with the script. Now it managed to finish the filthworms just fine, it did the dooks and fought the whole war with no problems. The script aborts at Wisniewski saying it doesn't yet support killing the boss as a myst or muscle class, did that manually. Then, once again, it jumped straight to the lair, failing to check the council first to receive the war medal and open the lair first, so it promptly aborted. Received quest manually and resumed script, but it aborted upon seeing Gate of the Dead, saying the script can't get a Marzipan Skull. Purchased a skull from the mall and resumed script, then it aborted at the DoD gate. Bought and used some boxen from the mall, then it tried to do the Giant Castle Map quest and aborted when it realized it didn't have the items needed (poetry journal, needle, furry fur).

EDIT: Last day, finishing the tower; I had ~150 white pixels in inventory, but the script aborted at trying to make the digital key. Does it know it needs to click through the crackpot mystic's dialogue to craft things? With all the keys, finished the entryway and the hedge maze fine...tower was OK, got stuck in an infinite loop against a Bronze Chef at tower level 4 (spend adventure -> need leftovers -> no leftovers -> run away -> adventure again). All no problems, aborted when it needed a 20lb familiar but that's expected behavior, I got the necessary goods then it finished up fine.
 
Last edited:
One thing that's annoying every time Otori does any sort of major event is that the Otori account itself doesn't have the ability to send out much in the way of interesting gift packages, due to its non-existent ascensions. This isn't a project that anyone would be willing to invest anything that binds on use, so the lack of familiars makes me think ZS or Boris are going to be the best options, though it doesn't matter really. For a zero skill account to gather ascensions without any relevant Mr. gear, or even a slimeling, which would be the best option? I was thinking Boris with WHAM, and just making a script that ran ascend, then ran eatdrink when it was out of turns, then ran ascend again. Speed isn't a priority here, I'm just looking for as hands off as possible.
 
I tried to run the script, but I get this:

> call scripts\bumcheekascend v0.52.ash

Unable to invoke scripts\bumcheekascend

First time here!
 
Top