New Content - Implemented Two Crazy Random Summer

Magus_Prime

Well-known member
With r19455 something isn't being reset properly after ascending. I finished my final TCRS run and ascended into a normal run. Booze sizes were listed correctly in the consumption pane list but once en-queued the size changed to that of the last TCRS run.

Logging out. closing KoLmafia, and logging in again fixed the issue.
 

Veracity

Developer
Staff member
I can't reproduce that. I did this:

I added a "tcrs test" subcommand which can be used whether or not you are in a tcrs run.

tcrs test CLASS, SIGN - load + apply specified class/sign
tcrs test reset - reset back to non-TCRS data

Those are the equivalent of what you get when you log in (or ascend into) a TCRS run, and what you get when you free the king in a TCRS run.
You said you ascended into a normal run, so, you not only freed the king, you ascended.

- On a multi, I had an "Afternoon Delight" in inventory - a size 4 booze.
- I had the Item Manager open: and could see it in the Booze panel
- tcrs test Accordion Thief, Blender
--> Afternoon Delight is now a size 3 booze
--> I enqueued one, and it was a size 3 booze in the queue
--> I dequeued it
- tcrs test reset
--> Afternoon Delight is now a size 4 booze
--> I enqueued it and it is a size 4 booze in the queue
- tcrs test Accordion Thief, Blender
--> Afternoon Delight is a size 3 booze in the Booze panel
--> Afternoon Delight is still a size 4 booze in the queue
--> I dequed and requeued it
--> Afternoon Delight is a size 3 booze in the queue
- tcrs test reset
--> Afternoon Delight is a size 4 booze in the Booze panel
--> Afternoon Delight is a size 3 booze in the queue
--> I dequeued and requeued it
--> Afternoon Delight is a size 4 booze in the queue.

That is a known issue which is not specific to TCRS: the Booze (and Food and Spleen) panels point to the global "usables" list of Concoctions and when you do something which affects size or adventure range (like casting Ode), those update immediately, but the queues point to their own objects which do not get updated.

You can reproduce that in any old path (or in aftercore) this way:
- Go to booze panel
- uncheck "per drunk"
- find a booze you have two of. queue one.
- cast Ode
--> The booze on the lower panel's adventure total will go up, because of Ode
--> The queued booze on the upper panel's adventure total will NOT go up.
--> dequeue and requeue and they will be in sync again.

But you not only freed the king, you ascended. You didn't have anything in the "queue". And considering this code in ConcoctionDatabase.push():

Code:
		queue.add( new QueuedConcoction( c, quantity, ingredients, meat, pulls, tome, stills, extrudes, advs, free ) );
I cannot begin to imagine how "once en-queued the size changed to that of the last TCRS run".
The argument named "c" is exactly the concoction displayed in the lower panel.
We make a new QueuedConcoction every time.

Which makes me why we have that "queued concoction does not update when concoction it is based on updates" thing at all.
Seems likely to be related to what you saw, even though I can't reproduce it.
 

Magus_Prime

Well-known member
I'm willing to do another TCRS run when I finish my current run. Assuming that it happens again what additional information would be helpful in pinning down the problem? Enabling debug logging?
 

Veracity

Developer
Staff member
I'm willing to do a TCRS run too, if only to drink another 45 or 60 teas to improve my PVP mini.

Unfortunately, this is not an issue with which requests are made or not made - which would go in the DEBUG log.
You said that the boozes in the lower Booze panel had the correct sizes.
You said that when you queued one, when it was in the upper panel, it had the wrong size.
Is that correct?

Let me think about what debug info would be helpful.
 

Magus_Prime

Well-known member
If my memory of yesterday is correct the problem was with the information in the little tab at the top of the queue window. The one that states "# Drunk Queued".

I added and removed things from the queue window several times to double-check what I was seeing as the contents of the window didn't match the number in the tab.
 

Veracity

Developer
Staff member
This is reproducible using the "tcrs test Accordion Thief, Blender" and "tcrs test reset" technique I tried before.
Revision 19460.
 

MCroft

Developer
Staff member
TCRS stored data files not matching existing items

So, I regenerated the Disco Bandit Vole and there seem to be some differences. using svnversion 19507.
I deleted my local files and did a 10110 item derivation, then I moved my local files to ".bak" and diffed each file. The cafe files were identical, but there were some differences in the main file, and not just the missing items.

Some things are just descriptive differences, but some seem to indicate that the effects are different.

There are 34 changed and 64 new items in the diff file.

eg:
< 6054 vacuum-sealed boiled anodized blinking Taco Dan's Taco Stand Chillacious Churro 0 Effect: "Can Has Cyborger", Effect Duration: 34
---
> 6054 pickled quadruple-galvanized Taco Dan's Taco Stand Chillacious Churro 0 Effect: "Biologically Shocked", Effect Duration: 24
 

Attachments

  • TCRS_Disco_Bandit_Vole.txt
    606.8 KB · Views: 17
  • TCRS_Disco_Bandit_Vole.diff
    11.2 KB · Views: 5

taltamir

Member
There is apparently a thing where mafia finds a bunch of "unrecognized items" in my correspondence kmail tab. Specifically daily affirmations and affirmation cookies that have 2crs names even when I am no longer in 2crs. Things like
Code:
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
It doesn't actually cause any harm, and is only a temporary issue since correspondences are only kept for a limited time before being auto deleted. And you can also manually delete them too (which I just did, and it stopped giving me the above).

I can't really think of a good mechanical solution to this (at least not one that is not unreasonably tedious).
Anyone else has an idea for a method that could cleanly handle this? Or is it better to just let it be?
 

Darzil

Developer
I think it is related to the sender being in 2CRS, as I haven't yet done that path at all, and I get such items sent.
 

fronobulax

Developer
Staff member
I think it is related to the sender being in 2CRS, as I haven't yet done that path at all, and I get such items sent.

I have seen this with fortune teller items. The "sending" character was in TCRS and the "receiving" character has never ascended.
 

Saklad5

Member
There is apparently a thing where mafia finds a bunch of "unrecognized items" in my correspondence kmail tab. Specifically daily affirmations and affirmation cookies that have 2crs names even when I am no longer in 2crs. Things like
Code:
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
It doesn't actually cause any harm, and is only a temporary issue since correspondences are only kept for a limited time before being auto deleted. And you can also manually delete them too (which I just did, and it stopped giving me the above).

I can't really think of a good mechanical solution to this (at least not one that is not unreasonably tedious).
Anyone else has an idea for a method that could cleanly handle this? Or is it better to just let it be?
That's a bug with KoL, not KoLmafia. As such, I think the correct way to handle this is to get TPTB to fix it.
 

Veracity

Developer
Staff member
I don't think it is necessarily a bug in KoL.

Here is an item I extracted from a kmail:

Code:
<table class="item" style="float: none" rel="id=5899&s=0&q=0&d=0&g=0&t=1&n=1&m=0&p=0&u=u"><tr><td><img src="https://s3.amazonaws.com/images.kingdomofloathing.com/itemimages/analjar_full.gif" alt="jar of psychoses (The Captain of the Gourd)" title="jar of psychoses (The Captain of the Gourd)" class=hand onClick='descitem(710562556)' ></td><td valign=center class=effect>You acquire an item: <b>jar of psychoses (The Captain of the Gourd)</b></td></tr></table>
Notice that it has a "rel" string and an item descid. We can extract the item id accurately using either of them.

The issue is that ResultProcessor.processResults creates a list of items using those relstrings, which precisely identify the item by itemid, and then ResultProcessor.processItem looks through the response text picking up each item and matching it against the item from the preprocessed list. It "matches" by comparing item name.

Not sure why that is necessary.

If it doesn't match, it falls back to trying to process the item by looking up the item name - which is the TCRS name, in this case - which results in the message you saw.

I wonder what would happen if we simply didn't check the item name and assumed that we are always processing the items from the list in the same order they came in from the parsed results.
 

Veracity

Developer
Staff member
Lets try it out. Revision 19564 will assume that all items parsed by relstring come in the same order as all items parsed by "result text".
 
Last edited:
It seems there might be a regresssion here. The bug in which you get this seems to have cropped back up in 20192. I have already deleted the correspondence to make it work but I can share that piece of the logs

recognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: dry wet mirror Daily Affirmation: Be a Mind Master
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: non-corrupted cyan bouncing upside-down Daily Affirmation: Adapt to Change Eventually
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: boiled green Daily Affirmation: Work For Hours a Week
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: corrupted tumbling Daily Affirmation: Be Superficially interested
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
Unrecognized item found: small rotten Affirmation Cookie
Unrecognized item found: ionized Daily Affirmation: Keep Free Hate in your Heart
 
Top