New Content - Implemented Choice Adventure changes because of hot dog unlockers

Veracity

Developer
Staff member
I never automate turns. Perhaps somebody who does would be interested in doing further work on those three choices.

Edit: To elaborate: I expect you really want this:

- set the choice to find the semi-rare
- tell KoLmafia to adventure (forever) in the location.
- when you find that choice adventure, if the semirare is there, take it. If not, take the "it is not there" choice.
- in either case, AFTER taking that decision, treat the choice like an autostop - abort automation. Which, if you are doing it from a script, will return from the "adventure" command and move on.

So, what you really want is for specific choice adventures to be an autostop - or not, depending on a setting of some sort.

Or, perhaps, you want to set "jar of frostigkraut" as a goal and as soon as KoLmafia hits that choice, get it (if available) and thereby satisfy the condition - or if the choice is not there, take the other choice and also satisfy the condition. Again, that will stop automating that location as soon as you end up having no goals set.

Or perhaps something else. In any case, you want brand new behavior in KoLmafia.

If you can explicate exactly how you want to use it, perhaps you could make a new Feature Request to ask for it. For now, I believe that what I submitted is fine: you get correct spoilers, and you won't infinitely loop trying to take a choice which is not there.
 
Last edited:

Veracity

Developer
Staff member
Like this:

Code:
string encounter = get_property( "lastEncounter" );

if ( encounter == "the remains of a jilted mistress" ||
     encounter == "Skull, Skull, Skull" ||
     encounter == "Duffel on the Double" ) {
    abort();
 }
Obviously, you could refine it to stop immediately if you acquire Engorged Sausages, but that's the general idea.
 

zarqon

Well-known member
If you don't want to make an afterAdventureScript, you can also automate this pretty easily. This command works from the CLI:

ash import "zlib.ash"; while (my_adventures() > 0 and get_property("lastEncounter") != "Skull, Skull, Skull") obtain(1,"choiceadv",$location[the defiled nook])

You could also copy that into an ASH script, perhaps with a parameter for the location and a corresponding switch for the encounter name.
 
Top