Bug - Fixed Unsupported choice on demon summoning

syrinxlui

Member
Hi,

Whenever I try to summon Preternatural Greed mafia gives me an unsupported choice error (though it does give me preternatural greed). When I click to continue in the relay browser I just go to the main page. I don't know if something changed in KoL. I've had this error at least with revisions 16393, 16425, and 16428. I can't remember if I had the error before that or not. I'm using the "summon Tar'xentar" command in an ash script. Here's the gcli output:

Summoning Tar'xentar...
Unsupported choice adventure #922
choice 1: (secret choice)
Click here to continue in the relay browser.

You acquire an effect: Preternatural Greed (30)

Thanks for taking a look.

SyrinxLui
 

zarqon

Well-known member
I got around this with a

set choiceAdventure922 = 1

for all characters, but perhaps adding it to defaults would fix this for everyone.
 

lostcalpolydude

Developer
Staff member
That doesn't actually fix the issue. It gets rid of the abort, but then mafia fails to actually use the summoning chamber.

I don't understand why anything fails with choiceAdventure922 not set.
 

zarqon

Well-known member
Yes I only got around the abort. When the abort occurred, the summon still appeared to have worked, so I didn't confirm post-choice-setting results. Apologies for any confusion.
 

PeKaJe

Member
OK, this is pretty bad ... summoning now fails and consumes your summoning ingredients. I've attached a debug log showing how the game counts this as a failed summoning and then doesn't register the subsequent summoning request. It also includes a correct manual summoning. Losing those ingredients in the Bad Moon I just finished was ... not fun :p

If it's the default value setting doing this, how will it be rolled back for people who have used versions since r16433?
 

Attachments

  • DEBUG_20151110.txt
    77.2 KB · Views: 35

lostcalpolydude

Developer
Staff member
I grabbed a debug log a few days ago, it just didn't bring me any closer to understanding how to fix it.

Are ingredients actually consumed, or is does mafia just think they are?

The setting can be cleared in the demon summoning code, so that isn't too big of an issue.
 

lostcalpolydude

Developer
Staff member
16452 removes choiceAdventure922 from defaults, and clears the setting value before summoning a demon.

Since I've stared at this a bit without figuring anything out already, and I'm not actually using the demon summon for pvp, I probably won't be the one to fix the initial issue.
 

Veracity

Developer
Staff member
Code:
> summon 11

Summoning Bazfoo Durxen...

class net.sourceforge.kolmafia.request.PlaceRequest
Requesting: http://www.kingdomofloathing.com/place.php?whichplace=manor4&action=manor4_chamber
Retrieved: http://www.kingdomofloathing.com/place.php?whichplace=manor4&action=manor4_chamber
Field: Location = [choice.php?forceoption=0]

class net.sourceforge.kolmafia.request.PasswordHashRequest
Requesting: http://www.kingdomofloathing.com/choice.php?forceoption=0
Retrieved: http://www.kingdomofloathing.com/choice.php?forceoption=0

class net.sourceforge.kolmafia.request.PasswordHashRequest
Requesting: http://www.kingdomofloathing.com/choice.php?whichchoice=922&option=1&pwd
Retrieved: http://www.kingdomofloathing.com/choice.php?whichchoice=922&option=1&pwd

-> This is a failed summon, since no demon name was specified. It consumes the ingredients.

class net.sourceforge.kolmafia.request.SummoningChamberRequest
Requesting: http://www.kingdomofloathing.com/choice.php?whichchoice=922&option=1&demonname=Bazfoo+Durxen
Retrieved: http://www.kingdomofloathing.com/choice.php?whichchoice=922&option=1&demonname=Bazfoo+Durxen

-> Whoops!  You're not actually in a choice adventure.
It looks like, perhaps, PlaceRequest follows the redirect to choice.php&forceoption=0, and then, for some reason, we decide to automate the choice.

I'll have to look at the "summon" command to see what it thinks it is doing and to figure out what changed.
 

Veracity

Developer
Staff member
What changed was that we moved from going to the summoning chamber with a GenericRequest (which automatically followed the redirect to choice.php?forceoption=0) to doing it with a PlaceRequest (which did not). When we processed the redirect, since we did not follow it, we did the default thing for a redirect to choice.php: we tried to automate it.

The solution was to use the PlaceRequest constructor that let us specify to follow the redirect.

Revision 16473.
 
Top