wrldwzrd89's PandamoniumQuest.ash - automated steel organ

Thanks go to icon315 for making this script originally, and to Bale for debugging the original script.

I've fixed it up for modern KoLmafia builds, and moved distribution to SVN :D

To install this, you need a recent daily build and the following command copy-pasted into your gCLI:

Code:
svn checkout svn://svn.code.sf.net/p/wrldwzrd89-mafia-scripts/code/trunk/pandamonium-quest/

What this does: It'll go find the various items needed to complete the quest in Pandamonium, solve the puzzles, perhaps changing your gear to maximize success, and finish with a steel organ item.
 
Nit - it thinks it is done when it is almost done. gCLI below. It thought it was done and stopped. I re-ran and it turned everything in and got the steel item. I'd prefer it didn't stop if it had what it needed to get the steel item. Thank you.

All items gathered
Taking items to the Moaning Panda Square

Visiting Moaning Panda Square in Pandamonium
Taking items to the Moaning Panda Square

Visiting Moaning Panda Square in Pandamonium
You acquire an item: Azazel's tutu
Quest done!
Requests complete.

> call scripts\PandamoniumQuest.ash

Starting the Quest
Conditions list cleared.

Talking to Sven Golly at the Hey Deze Arena
Trying to get stuff for musicians
Maximizing...
32 combinations checked, best score 335.00
Putting on observational glasses...
Equipment changed.
Maximizing...
32 combinations checked, best score 0.00
Giving gin-soaked blotter paper to Bognort
Giving gin-soaked blotter paper to Bognort
Giving booze-soaked cherry to Flargwurm
Giving booze-soaked cherry to Flargwurm
Giving sponge cake to Jim
Giving sponge cake to Jim
Giving beer-scented teddy bear to Stinkface
Giving beer-scented teddy bear to Stinkface
You acquire an item: Azazel's unicorn
Arena done

Visiting Azazel's Temple in Pandamonium
You acquire an item: steel margarita
Quest done!
 
Found the cause of the problem. What was happening was that the script was checking for missing options, which is the correct thing to do, UNLESS the text "You should probably go talk to the some of the band" is present when you go visit Sven. In this case, all the options will be missing, so it'll mark the Arena as done when it really isn't, thus leading to the script not finishing the quest. Fixed in r6.
 
Sorry to hear it. Best of life in your current endeavours. Or luck. Or whatever happens in that "real world" show on MTV.
 
I am no longer going to maintain this script, as I am no longer playing KOL effective today.

Sorry to hear that. Best of luck in whatever endeavor has replaced KoL for you (although I have to say I have my current day job because of KoL) and thank you for your efforts.
 
I am no longer going to maintain this script, as I am no longer playing KOL effective today.

Sorry to hear that, you will be missed. To be practical for a moment, I have a request.

Since you are not going to be updating this script and a number of KoL players find it quite useful, could you give my sourceforge account admin access so I can handle it if the script ever needs an update? On sourceforge my account is balefull [sic].
 
You know, scratch that. I'm back on KoL regularly now but haven't logged into Sourceforge in ages. Don't remember how I set up my SVN thing either... I need to get back into the swing of things so I can start updating this again!
 
You never did give me commit access to the sourceForge repository, but I'm happier not to need it since you're back.
 
I just noticed something... sometimes the way the script maximizes things for quest speed causes you to be unable to hit the monsters because it gives you the wrong type of weapon for your class. This should no longer occur in r8.
 
Thank you for this script. I found a pretty serious bug.

During bad moon as a seal clubber (no perm skills), I ran out of meat while this script was running which got it caught in an infinite loop of repeating this
Code:
[COLOR=red]Autorecovery failed.[/COLOR]

Desired purchase      quantity not reached (wanted 1, got 0)
[COLOR=red]You need 1      more Doc Galaktik's Homeopathic Elixir to continue.[/COLOR]
[COLOR=red]Autorecovery      failed.

[/COLOR]
 
So I just downloaded this script so I could start automating the steel organ quest in aftercore on my multis, and modified it a bit to work better for me, and to correspond a bit better to the game state in 2020. I thought I'd share the changes with anyone interested. They're not enough for me to bother with making an SVN to host it or push request to the original script, (wrldwzrd89 hasn't logged into KoL since August 2016, and his profile says he's retired from game) unless someone shows demand for that. (My changes don't address taltamir's infinite autorecovery bug report above.)

What specifically changed is:
  • Line 99: exclude broken champagne bottle from maximization (this isn't where you want to spend your daily bottle charges, and the item part of the maximizer string almost guarantees the bottle will be equipped if it's available); alter maximizer string to weight combat modifiers more heavily than +items (otherwise, it puts +item in pretty much every slot when hunting for a NC), and cap -combat modifier (Since depending on toys, nowadays it's possible to soft-cap -combat in aftercore pretty readily);
  • Line 131: add a line to maximize for +combat when hunting observational glasses, does same things as the -combat line above;
  • Line 156: maximize for +item (ignoring +/-combat) when hunting bus passes and imp airs;
  • Line 158-160 & 166-168: mallbuy imp air and bus passes if we need them, have mall access, and they're cheap enough (<1500 meat each).
  • Line 175: don't get stuck in what looks like an infinite loop of trying to complete the tutu quest if you have more than 10 imp air or 10 bus passes when you go to finish that quest. Not positive this is really an infinite loop, since I haven't tested it, but it looks to me like it would, since it keeps visiting the square if you still have imp air and bus passes, and once you've completed the quest, imp air and bus passes don't go down, and the added conditional (have 0 tutus) won't hurt anything.
Overall, it looks like the script was originally written with in-run use in mind; I modified it to make it more aftercore-centric, although several of the changes should improve things in run as well.

It could still use work--e.g., max price for the imp air and bus passes is hard coded (and not even in a friendly variable at the top of the script), and it always buys 5 imp air and bus pass if you need some, even if you already have a few--but it's good enough for me for now. If there's demand, I guess I can polish it a bit more and make an SVN, but I don't know how much use this script sees.

EDIT: I've been thinking a bit more about taltamir's issue above, and I think the correct thing would be to replace the while() { adventure(1) } loops with setting conditions, and then adventure(min(my_adventures(), 40)), or something like that. It wouldn't solve the autorecovery problem entirely, but it would make it not-an-infinite-loop, as after trying to adventure in both zones, it would just hit the end of the script. It would also bail out if either zone is taking way too many adventures for some reason, which would be safer. Also, recovering automatically when your mafia autorecovery settings fail is certainly beyond the scope of the script. That said, it's not particularly high-priority for me. If I finish the personal aftercore script I'm working on (which is turning out to be quite the undertaking), I might look into it. For now, the script as-is is good enough for me.
 

Attachments

Last edited:
Back
Top