You are currently in a fight.

Veracity

Developer
Staff member
I had not considered greasemonkey scripts, since I do not use greasemonkey myself, but slyz is exactly right. KoLmafia handles any request coming from the browser via a RelayRequest - and greasemonkey runs in your browser.

I saw a flood of RelayRequests for charsheet.php and trophy.php. If you are not running a relay script which does visit_url to go to those pages, those requests are coming from your browser. If you are not typing them, then it would be greasemonkey.

If your greasemonkey scripts hit those pages whenever they think a fight is over, say, and they erroneously believe that the fight is over when the macro aborts in the middle, that would explain everything.

If you want to verify that the requests are actually coming from the browser, go to the General/Extra Debugging panel in Preferences and do the following:

- UNCHECK "Show decorated responses in the debug log" (you have it on. it can be helpful, but not for this; it just doubles the size of your debug log)
- CHECK "Verbosely log communication between KoLmafia and browser".

With that last one, if we see "From browser GET trophy.php", say, that will be proof that the request to trophy.php is coming from your browser - your greasemonkey script.

And if it is, as it appears, incorrectly operating greasemonkey scripts which are submitting requests in the middle of fights that aborted because of a macro, your solution is to disable the scripts; there is nothing that KoLmafia can do to make greasemonkey scripts not submit bad requests - or to work around the bad requests that they submit, since there is no way for KoLmafia to tell the difference between browser requests from greasemonkey scripts or those from your own mouse clicks.
 
Cool, that actually made sense to me. I've disabled the greasemonkey script and changed the debug pref. to see if there's another script getting in the way. Will update in a couple of days.
Thanks for the help both of you!
 
Top