New Content - Implemented Dungeon Fist: Finish from Memory

Bale

Minion
June 18 - Once you've gotten a perfect score on Dungeon Fist, you should now get a button to auto-finish it.

There's a new button "Finish from Memory"

Once that button appears, mafia should remove the "Go to Goal" button since it does the same thing in several dozen extra server hits and we wouldn't want anyone to hit it by accident.
 
Last edited:

Veracity

Developer
Staff member
Does that mean that it remembers if you have ever gotten a perfect score and gives you the button at the start of the next and every subsequent game?
 

guyy

Member
Appears under "Quit" as "Finish from Memory", the option=5 option, right on the first screen (choice #486). Clicking it ends the adventure and you instantly get 30 tickets. It says you "log another high score" but it skips the initial-entering screen and doesn't actually log a high score(?).
 

Bale

Minion
Appears under "Quit" as "Finish from Memory", the option=5 option, right on the first screen (choice #486). Clicking it ends the adventure and you instantly get 30 tickets. It says you "log another high score" but it skips the initial-entering screen and doesn't actually log a high score(?).

It did ask me for my initials. I guess the leaderboard for the day was clogged before you got there.

Another mafia feature added to KoL!

That's a win for both KoLmafia and KoL.
 
So now if I want to automate dungeon fist, I just need to set choiceadv 486 to option 5? How do you get to dungeon fist within mafia, though? I had been using an ash script, I didn't realize mafia had baked in the solution at some point.
 

guyy

Member
There's apparently a Dungeon Fist automater in Mafia, but I don't know what the "proper" way to use it is. It seems to spontaneously activate if you run a script while in Dungeon Fist. But now, once you've gotten a perfect score, all you should need is:

Code:
visit_url("arcade.php?action=game&whichgame=3&pwd="+my_hash());
visit_url("choice.php?whichchoice=486&option=5&pwd="+my_hash());

I still haven't seen the inital-entering thing, even with the highscore page blank. Weird...
 

Veracity

Developer
Staff member
OK, revision 13202 does this:

- eliminates "go to goal" button if "Finish from Memory" is present
- "choice-goal" automates the current choice. For Dungeon Fist, that calls the built-in solver. Now, however, the solver looks for a "Finish from Memory" button, and, if present, uses that to complete the game.

Interesting fact: the "Finish from Memory" button is available even after you've started the game. If you "Go West" (which is the correct first move), there are the demons - and "Finish from Memory" is available as option 4. "choice-goal" will pick option 4, in that case; it looks at the responseText and picks the correct choice.

Untested question: does KoL give you a "Finish from Memory" option even if you've taken a wrong move somewhere? If so, does it give you 30 tickets, or as many as you would have gotten, or, what? I'm not curious enough to spend the token and the turns to test this. :)

So, the simplest Dungeon Fist ASH script is now this:

visit_url( "arcade.php?action=game&whichgame=3&pwd" );
visit_url( "choice.php?forceoption=0" );
cli_execute( "choice-goal" );

If a character who has not played the game before runs this script, "choice-goal" will invoke the built-in script.
For a character who has played the game before, "choice-goal" will "Finish from Memory".
No need to set choiceoption486 to anything.
 

nema

New member
That script doesn't work for me. The hover URL for dungeon fist in the game grid caused me to adjust the above script line 1 to:

visit_url( "place.php?whichplace=arcade&action=arcade_fist&pwd" );

which did consume a token and 5 adventures. But still did not finish from memory and did not yield any game grid tickets.
 

Veracity

Developer
Staff member
Yes. That is a replacement for the first line. You obviously need to have the second and third lines, too.

Code:
visit_url( "place.php?whichplace=arcade&action=arcade_fist&pwd", false );
visit_url( "choice.php?forceoption=0" );
cli_execute( "choice-goal" );
I did those three lines (actually, the following in the gCLI)

Code:
ashq visit_url( "place.php?whichplace=arcade&action=arcade_fist&pwd", false );
ashq visit_url( "choice.php?forceoption=0" );
choice-goal
and my session log says this:

Code:
[612447] Dungeon Fist!
Action: Finish from Memory
You acquire Game Grid ticket (30)
 

nema

New member
I used the first bit of code from above and indeed it worked fine.

Not sure what the problem was. Anyway, thanks for the addition of false suggestion. Solved it.
 
Top