Feature - Rejected Mafia and Just the Best Anapests

Status
Not open for further replies.
I asked Mafia to obtain me a 64735 scroll. To my surprise this was taking a while. When I finally stopped it I found that I had 12! in my inventory. My guess is that Mafia could not properly parse the output from Just the Best Anapests, or that the text was too vague. Either way, perhaps Mafia should produce a warning when you have a goal and Just the Best Anapests that Mafia may not properly discern when the goal is met?
 

Cool12309

Member
Basically, it would take a very long time to handle all edge cases of anapests/staph/sword/cats/whatever, so the simple answer is "don't do that."
 

Ethelred

Member
Basically, it would take a very long time to handle all edge cases of anapests/staph/sword/cats/whatever, so the simple answer is "don't do that."

Also, since the effect is easily shruggable, just set your mood to uneffect it anytime you start to adventure with it active.
 

fronobulax

Developer
Staff member
The problem of mafia not always recognizing results when text mangling items and effects are present is well known and unlikely to be fixed and that is superficially why this is now rejected. But it seems to me that the request was not a request to properly parse mangled results but a request for some kind of warning or status indicator when mangled results were expected.

I'm not sure how I would do that and I'm not sure it would be worth the Implementation Effort but it might be worth some discussion. I can, for example, imagine mafia maintaining an internal state - isMangled which would be updated when effects were gained or lost and selected equipment added or removed. ismangled might appear as a pseudo-effect on the character pane in the relay browser or it might cause the default color of the auto adventure begin button to be yellow or it could trigger a warning much like between battle scripts that fail or...
 

lostcalpolydude

Developer
Staff member
My thoughts are either to do nothing to support those effects, or to make it impossible to adventure (automated or relay browser) with them active to ensure that no one has the option of running into these issues (in the case of anapests it would be auto-shrugged with no way to disable that behavior). The latter option seems a bit extreme, but it still seems favorable to implementing anything like what this thread asks for.

I suppose having a popup box every time someone starts automated adventuring (I'm not sure how that would work, codewise), and a warning page before every adventure in the relay browser, could be the way to go.
 
Making it impossible to adventure is indeed extreme, especially if one is in the relay browser specifically to see the flavor text. The biggest issue I can think of with a warning is that it could get annoying if it comes up every adventure in the relay browser for somebody wanting the flavor text, so if warnings occurred in the relay browser perhaps resolution options should be "Bail out", "Adventure anyway (once)", "Adventure anyway (this session)". Alternately such warnings could be controlled (and disabled) by an option.

Regarding warnings being worth it, it would eliminate this surprising behavior for this case, and seems like it should be fairly straightforward. Checking for the sources that can alter the text seems like a couple of lists, and then just hooking that into the before-adventure stuff. Granted, I don't know the code so it's probably at least 10 times as hard. But it certainly would be more tractable than parsing all the flavor text possibilities. (This is compounded by some ambiguous text substitution. I don't even know how I'd approach the problem, which is why I jumped to warnings in the request.)
 

Darzil

Developer
Putting in a once a session warning in relay browser doesn't sounds that difficult, we have a number of other warnings like that.

What would we want to trigger it? Anapests, Sword behind Inappropriate Prepositions, Staph, Haiku State of Mind ? Must be many other things.
 

lostcalpolydude

Developer
Staff member
A relay browser warning also wouldn't have helped Morgoth with automated adventuring. We don't even have any warnings for that yet, so it will require adding code somewhere new. I think KoLAdventure.prepareToAdventure() is the place to add that, I'm not sure though.
 

Theraze

Active member
If you're adventuring in the relay browser, you know what you got and you're doing it on purpose. If you're automated adventuring, a relay browser warning doesn't help.

Do we want to put warnings for haiku, can haz, the hom staff, and any other text mangling effect? I think this is best left alone.
 

fronobulax

Developer
Staff member
The initial report was a case where KoLmafia failed to recognize a goal was achieved during automatic adventuring because of text mangling. I can make a case that the failure is an undesirable KoLmafia feature. I am in agreement with not fixing that because it is a lot of effort for a niche case and a user who really needs KoLmafia to perform can make the necessary choices so that the text is not mangled. Because the root problem is a KoLmafia feature I have no issues with reminding the user they are about to adventure under circumstances where the feature might be triggered.

The comments about this being unnecessary in the relay browser seem correct. I am not sure I want to have a pop up before automated adventuring but that might be the way to go. I would also consider a new preference, doNotAllowAutoAdventuringWhileTextMangled that defaults to true and would not allow autoadventuring with text mangling effects active. The definition of a being mangled could be limited to those effects where KoLmafia does not support making sense of the altered text.

Implementing this could be reasonable. The harder parts would be detecting the situations where a mangling effect gets added or lost.
 

Veracity

Developer
Staff member
I put a lot of effort into making KoLmafia do a good job with Anapests and Haiku text mangling. In particular, recognizing items that are obtained using the image (which will have a link on it with the descid, so you can look at the description), rel string (which will have the item number), etc. that KoL provides for them. If there is something funky about feeding scrolls into the adding machine - my guess would be that KoL does NOT bother to put the generated output into an Anapest - I'm curious to see it. Which would mean, a DEBUG log, rather than just an anecdote - even if its one of Just The Best Anecdotes. :)

Considering the amount of work I already put into supporting this, I'd prefer to see if we can fix it, rather than popping up an alert that says "KoLmafia does a shitty job of recognizing dropped items under Anapests, so your goal might not work."
 

Veracity

Developer
Staff member
For the record, I don't see a good way to make this work correctly.

- I got Just The Best Anapests
- I fought a rampaging adding machine
- I funkslung a pair of 334 scrolls. It said this:

(image of 334 scroll)
You used a thing from your bag, and something happened, I guess!
I can't give you much detail, I must confess.

(image of 334 scroll)
Activating an item caused something to happen!
What? I don't know. I guess you caught me napping.

And nothing else. It did not say that I got a 668 scroll.

I'll write a KoL bug report about this, although I am sure it will be ignored.
 

Veracity

Developer
Staff member
Good old Gemelli responded to my bug report.

This is a known issue -- it's on our list of things to look at. Someday.
I won't hold my breath waiting for "someday" to arrive.
 

Bale

Minion
The way Gemelli responded, I suspect he's not holding his breath either. I've never seen him add "Someday." at the end.
 
Sorry, forgot to check the thread for a couple of days.

If you're wanting a list of things that Anapests confuses Mafia about, it also seemed to not recognize getting a monster in the Rain-Doh black box. I'd give you a debug log of that, but I'm in a hardcore run right now.
 
Possibly related?: Not from the Anapests effect itself, but just adventuring in Clumsiness Grove, olfacted a Sorrowful Hickory - but Mafia's skill casting window lists the previous olfacted monster (it was long expired, and the count of turns left showing matched the turns used in the grove post-olfaction). Or is this a new bug? Also, it looks like the bounty item may not be being tracked (but I only saw that in Guide, so that may have been something else).
 

Darzil

Developer
Bounty item can't be tracked as there is no text relating to it, I put in a bug report on that the first day they were available as a bounty. I have always said I'll look at it when they add text.

Am looking at the skill thing. There is some fairly limited options in Anapest and Haiku for skill and familiar action success, so should be able to do more checking.
 

Darzil

Developer
It's not quite as elegant as I'd like, but r14701 adds success checks for many skills and items. I've tested some. They aren't quite as straightforward as I'd hoped. For example, a banish that kills a monster has a different message to one that just ends the fight, but sometimes has both. Hopefully I've used the right checks, but many of them have been guesses.

I can't check for pocket crumbs items dropping, as there is no text or image on the screen when this happens.
 

xKiv

Active member
Do we (and if not, do we want to) recognize successfull free runaways with anapests? (and, more importantly, in the plains of Dis, where I can't just shrug an effect). Not recognizing them throws off mafia's idea of how many free runaways I have available from my boots/how usedup is my GAP.
 
Status
Not open for further replies.
Top