Preparing for release
A KoLmafia script to complete all quests, at once or piecemeal
Brought to you by:
zarqon
I think OQ is about ready for release! Complete quest automation will not be present in the initial release as I think that will take a while. Besides, there are already several ascension scripts floating around for those who want to completely automate. But OQ's relay script fills a role currently not occupied by any script, so I think it would be good to put it out there.
There are a few remaining issues I want to resolve before release:
By making this ticket I'm hoping to provide a sort of progress report / timeline for release, as well as some impetus to that end. If anyone can think of any further issues that should be resolved before release, please post them here!
w00t!
My testing chars are working on their own agenda but if you need a specific run to test/check, let me know and I can abandon and ascend.
Aside from the fun of helping test, my best reason for using QQ is it will pull in softcore as needed. That might be something to highlight in the feature announcement or to make parameter controlled.
You need to think about support. People who don't have SF accouts won't bother to report here.
Help would be good.
I only use past and future to get debug information for you. I do use the quest chains menu often enough that I will give it screen space if available, but a one button toggle would be acceptable.
I tried the bounty recently and the bounty target was not olfacted. If I am doing a bounty I want to clear on the trail before starting, adventure and olfact the bounty monster, get the lucre and then clear on the trail. If on the trail runs out before the bounty then cast it again. Is there a setting I am not setting?
I don't typically let OQ do the steel organ because there are tasks that are not relavent and I don't know which ones to mentally ignore. I think there are tasks for all of the musician items but not all are needed.
Pretty cool that OQ is in the home stretch.
I think by the time I get the flags/UI stuff sorted, I'll have tested the last Nemesis quest, so aside from general use, no further testing is needed. But thanks for the offer. And thanks again for all your help in reporting issues thus far.
I pretty much never play softcore, so that's a good reminder to be clear that if you have pulls available, since OQ mostly calls ZLib's
obtain(), it will pull the specified items. I don't think I could parameter-control that since it's a library function -- but I could perhaps make your allowed pulls visible somewhere (maybe even editable) so you can see/control what OQ will do that way.Support will be both here and in the usual kolmafia.us thread.
Bounty: I'll check out the olfaction issue. I think other than testing the quest a couple times I haven't bothered with bounty hunting since before the revamp.
Steel organ: I don't think there are any irrelevant tasks? Some of the musician items have other items as satisfied conditions, so if you get one item two steps disappear. I usually get the 5 bus passes first, after which I've got the other items I need. I am considering adding a task for consuming your steel item.
And, w00t!
I'll start another report for the steel.
I like the OQ pulling when it needs but that is something I know people will complain about. I'm in favor of documentation in BIG BOLD LETTERS rather than try and accommadate someone who doesn't want OQ to pull. Doing SC without obsessing, I find I have more pulls than I really need. Typically I have pulls left to get +adv gear, food and drink, and items that will be needed later (such as war outfit pulls around level 9 or 10) . If I don't want OQ to pull I just do things manually.
I have a character that wants +90 lucre so if you think you have addressed olfaction (or told me why it is not benefical) I can use OQ to test.
Aftercore. I noticed I had not done the Prisioner 37 quest so I figured I'd let OQ do it. I did. It left me at a free step because I had turned off autofree. I turned it on. It finished the quest and several others that AFAIK were NOT selected for OQ. I can glean some details if you need them (trigger cafebabe 20200815 so I can recall) but it seems like the free step was only checking inventory and not quest enabled in OQ chanin and inventory. It may be possible that the quests were enabled and there were eyesight or GUI issues preventing me from knowing that but...
I guess that should be part of the tooltip/documentation for OQ_autofree: setting it to true means OQ will perform free steps regardless of whether they are part of a selected chain. The steps flagged 'free' have been carefully curated -- so far as I'm' aware none of the steps cost meat or items or adventures, and none prevent other steps from being available or have other opportunity costs.
Also, you would probably know this better than I do at the moment: does OQ respect your user-configured pull limits? Like if you have set 2 pulls as available for use and it needs 3 of an item, does it pull 2 and then adventure for the 3rd? I haven't played SC in so long I kinda forget how that part of obtain() works.
Looks like I can also add
to the list! This looks fairly straightforward though -- add some daily-adventurable zones and flag unavailable quests.
Since I've locally added some basic CLI help documentation, the following issues reman pre-release:
Not much left! The script flags thing is the biggest issue that remains.
Random comments. I think AutoFree is adding enabling things in the quest chains that I didn't want enabled. This is a brand new Standard run so I may be getting residuals from a previous low key run. Similarily I have accepted quests at the KoL level that I would be willing to ignore. Not sure if it is a logic error or a consequence of starting a new run with AF set after a low key run. Now that I understand you need to be hydrated to get the page drops if the goal is pages then ignore other preferences and stay hydrated. If pages are not a goal then using a setting is fine although now that I understand the mechanism my use case for not being hydrated is pretty niche. I thought autoSatisfyWithStorage only applied after Ronin but maybe I misread comments in code. I think there is support for reserving pulls and not using a pull if it would cut into the reserve. I also confess I like OQ precisely because I don't worry about pulls. I do manual pulls but I usually find myself at the end of a day with pulls left and so manually pull what I want to use tomorrow. Not sure what kind of Gray Goo support I want but not sure I will be doing another Gray Goo run so...
Figured out the autoFree stuff and you might want to think about the quest chains UI a bit.
The immediate cause was that Low Key and Kingdom of Exp were both listed in my QQ chanis list, but there was nothing displayed. I solved the problem by displaying all of the unavailable chains, toggling everything off, saving chains (which didn't really clear the preference as I expected) selecting the chains I wanted, saving and collapsing the unavailable. I thnik autoFree was just checking enabled and not anabled and available.
I want two things. One is the ability to weed out stuff from my QQ chains that might be present but is not relavent. I can do that by looking at what is Unavailable so that is alreeady there.
The second is that autoFree executed tasks that were associated with chains I did not know were enabled because they didn't show up in the GUI. So I think af should only execute for tasks that are actually available and selected. I hope Iam making sense.
The autofree setting, as mentioned above and in the tooltip in the GUI, performs any available [free] steps regardless of which quest chains you have selected. The idea being that since many quests overlap you may complete steps for other unselected quests along the way as you complete your selected quests. It doesn't hurt anything to have quests active that you're not intending to complete (except the Artist quest, which adds turn-consuming adventures to the zones and is therefore not [free]), and turning in a completed quest, especially if you weren't aware it was complete, is usually desirable. I'm not likely to limit this feature in the manner you suggest, given that it is quite easily disabled.
I agree that hiding selected but unavailable quests is confusing. Showing all selected quests regardless of 'Hide unvailable' is still on the to-do list for the chains menu. Perhaps I should consider it an obstacle for release.
Reasons why I don't like accepted quests that I have no intention of finishing:
In the relay bowser the quest list pushes other information, more useful to me, to the bottom of the pane, thus requiring scrolling. My screen ha a lot less space than your screens :-)
When debuggng OQ, a quest that mafia thought was started but did not show up in OQ triggered a search for why. Lately that has been because something was not selected in OQ but there was a time when OQ bugs were discovered.
That said, I can live with your preferences for autoFree because it can be turned off :-)
Long ago there was some discussion about KoLmafia auto accepting quests. The feature request was rejected. One of the things that you didn't mention above was that aceppting the babbys quest added extra adventures to three zones and the argument is that if you wanted to go to those zones for some othe reason having the quest accepted raised turn count.
It is your call about when to release. Can you deal with other voices besides mine? :-) That said, as far as a display goes selected and unavailable needs special treatment. Perhaps a different highlight color or displaying the chain with a strikethrough? Might als need to make a distinction between selected because the user highlighted it and selected because a parent was selected. Not sure how to to that but I think there are chains that are selected and unavaialble that will eventually become available so...
Thank you.
I'll stick this here, Standard, Sauceror. Started War. Doing Orchard. I useq OQ to get and use the glands. At the moment I have used the guard's gland and should be able to get the heart. But OQ is not showing me the queen task but is instead showing me the get the hatchling gland task. (12600).
Chaining backwards the queen task 12612 is waiting for 12608. It's like something did not realize the gland had been found and used and the effect was active. I completed the quest in one turn manually. At the moment OQ is not shoing me the task to turn it in but I think that is because I just started the war and don't have a Frat Outfit so the battlefiled needs to be cleared. In any event this could be a barrier to releae.