OCD Inventory control

Fluxxdog

Active member
So... Just as a curiosity more than anything...

With KoL's new closet setup, it's easy to empty everything out of the closet. But... batch_open() and batch_close() don't really work anymore since you can only put 1 item in at a time now. If you have 2000 or so items in your closet, it used to take about 400 hits to KoL to empty your closet and put everything back after OCD finished. Now, it takes 1 hit to empty and 2000 to get them back in.

The main issue is, of course, PvP. If you're not in PvP then you closet isn't that important. If you are, everything that you would normally keep would get shoved in your closet if it can be stolen. (Other than toast. I like giving people a chance at that trophy ^^)

So my question is, I guess, two fold.
First, what would it take to make OCD work with the closet properly so all the stuff that's you want malled or what not can get handled?
Second, would it be possible to create a Keep (Closet if PvP) option for handling items?
 

Bale

Minion
First, I thought it does work with the closet properly. You didn't report an problem in that post to dissuade me.

Second, I'm not sure what you want "Keep" to do. All you did was to express frustration that it takes so many hits to move things into the closet.

Please tell me the problem you are trying to solve. While you're at it, please tell me if you have an idea for solving that problem. The two things are different.
 

lostcalpolydude

Developer
Staff member
KoL only allows 1 at a time transferring to or from the closet (except for remove all, maybe once per day?), so batching does nothing.
 

Bale

Minion
I figured he was only mentioning that because I left the batch commands in the script. That's on purpose so that if KoL (and then KoLmafia ever re-implements the feature, my script will start batching them again without my needing to change anything.
 

Fluxxdog

Active member
First, I thought it does work with the closet properly.
Wait, you're saying you didn't set up OCD to disable using the closet and then switch it back? I read from old posts that you basically ball-busted the closet and thought that was what you meant. OCD temporarily sets "autoSatisfyWithCloset" to false (line 808), run through my lists, then set it back to true when it's all done (line 817). Is that not what it's supposed to do?
Second, I'm not sure what you want "Keep" to do.
What I was asking for was a second Keep, but if your hippy stone is broken, put it in the Closet instead.

The reason for a second is some things you want to keep on hand. I want to keep toast on hand all the time (so people can get a shot at the trophy) and anti-anti-antidote and Knob Goblin seltzer in case of emergency.
I figured he was only mentioning that because I left the batch commands in the script.
Yeah, I have the same kind of batches with a logout script to make sure my inventory is tidied up, but it's unlikely to change in the foreseeable future. I was just really hoping there might be a way to save a couple thousand server hits/day from using OCD.
 
Last edited:

Bale

Minion
I set closet to false because I was running into issues with trying to remove familiar items from unequipped familiars and things like that. The reason was purely to make KoLmafia's behavior more easily predictable for all users without needing to fiddle with many special cases of inventory manipulation. If this script is doing something other than what you would expect, please let me know.

What I was asking for was a second Keep, but if your hippy stone is broken, put it in the Closet instead.

The reason for a second is some things you want to keep on hand. I want to keep toast on hand all the time (so people can get a shot at the trophy) and anti-anti-antidote and Knob Goblin seltzer in case of emergency.Yeah, I have the same kind of batches with a logout script to make sure my inventory is tidied up, but it's unlikely to change in the foreseeable future.

I think I understand. It sounds troublesome and boring to implement that though so I'm not likely to do this. Sorry. It's a time and effort vs personal interest problem.


I was just really hoping there might be a way to save a couple thousand server hits/day from using OCD.

Back when the Closet revamp happened, I reported this as undesired behaviour that increased server hits and closeting time. My report was acknowledged, but apparently it is really low on the list of stuff to fix. Perhaps if you also reported this as a problem something might eventually happen.

Reporting this as a problem is the only thing that might cause CDM to make it possible. Perhaps "a couple of thousand server hits/day" might matter to someone. I rather doubt it is that many though.
 

Fluxxdog

Active member
I set closet to false because I was running into issues with trying to remove familiar items from unequipped familiars and things like that.
I read through the parts where you were looking at item v. available. Funny enough, that led me to the unequip_familiars() function which is never called, as well as terraium_amount(). It seems like you planned to just unequip terrarium familiars originally, but handling of the terrarium itself is lacking. I put in a FReq for much improved handling. Hopefully we'll get at least functions equivalent to closet handling.

There was also a compound bug some time back that would throw mafia off by showing a terrarium with the item equipped even after it was unequipped. (See here for the report.) Veracity implemented a workaround for retrieve_item(),

BTW, noticed that camp_amount() is missing Little Geneticist DNA-Splicing Lab and snow machine.
I think I understand. It sounds troublesome and boring to implement that though so I'm not likely to do this. Sorry. It's a time and effort vs personal interest problem.
I understand. Worse case scenario, you say no. Thanks for thinking about it ^^
Back when the Closet revamp happened, I reported this as undesired behaviour that increased server hits and closeting time. My report was acknowledged, but apparently it is really low on the list of stuff to fix. Perhaps if you also reported this as a problem something might eventually happen.

Reporting this as a problem is the only thing that might cause CDM to make it possible. Perhaps "a couple of thousand server hits/day" might matter to someone. I rather doubt it is that many though.
It's 2053. There are a lot of items I keep at least one of, and that's a lot. Being able to emtpy the closet all at once saves a lot of time and hits, but then I have to put back everything that left over, which is almost always everything.

The catch to it all is it's everything that I could do by hand, just sped up. However, I only have to do that many because of closet limitations in the script I choose to use.

It's one thing to hunt down the issues I have, but I would like to help if possible.
 

Bale

Minion
I read through the parts where you were looking at item v. available. Funny enough, that led me to the unequip_familiars() function which is never called, as well as terraium_amount(). It seems like you planned to just unequip terrarium familiars originally, but handling of the terrarium itself is lacking.

Dang orphaned code. I'm glad you found that. I meant to delete that when I stopped using it. I gave up on needing that when I cut the gordian cord by disabling autosatify with closet.

BTW, noticed that camp_amount() is missing Little Geneticist DNA-Splicing Lab and snow machine.I understand.

OH! Thank you! I completely forgot about that!

Worse case scenario, you say no. Thanks for thinking about it ^^It's 2053. There are a lot of items I keep at least one of, and that's a lot. Being able to emtpy the closet all at once saves a lot of time and hits, but then I have to put back everything that left over, which is almost always everything.

The catch to it all is it's everything that I could do by hand, just sped up. However, I only have to do that many because of closet limitations in the script I choose to use..

Whoa. That is a lot of server hits. I guess I'll have to think again about making it work for you...
 

LordAo

New member
Hey there, Bale.
Any idea why "red and green rain stick" doesn't have a "use" option, since it's a potion? I even added it as a KEEP and then edited the database file to USE but it still won't actually use it when it run the script. A minor thing, but maybe you have insight?

Cheers.
 
My guess is it hasn't been implemented into KoLMafia. And if it has, you have to make sure your version is up to date.

On a side note, why would you want it to use it? There isn't much point to have a random -10 ML buff.
 
Last edited:

Lxndr

Member
FEATURE REQUEST:

Could the Add Default button either tell you what it's going to do, or at least tell you what it's done, its current behaviour isn't satisfying my OCD as much as it could! :p

was going to post this particular feature request. What was done with it? "Add default" is still just being sneaky and submitting its stuff without letting me know what its things are.
 

LordAo

New member
Because I'm terrible at remembering to use all of my effect items every day. I don't want it to run at breakfast, because I may want to use it later. But if I haven't used it yet, I want to get my buff since I can dismiss it if I decide I don't want it.
 
is there any way I can configure the script so the default behavior for when you add an item to the "Mall" category it sets it up so you automatically keep a specified number of them and mail the rest?
 

fronobulax

Developer
Staff member
is there any way I can configure the script so the default behavior for when you add an item to the "Mall" category it sets it up so you automatically keep a specified number of them and mail the rest?

I don't think this is a current capability. I have approximated the effect by opening the text file as a spreadsheet, filtering on MALL items and then setting the quantity column (in mass) to the desired value. In my case I'm usually setting zeros to ones.
 

msimmons

New member
My apologies if this has already been asked/mentioned but 128 pages is a lot to go through :p

Is there a way to "If current mall price is at minimum, autosale?" Basically I don't know off hand what items are "junk" and what is worth malling. If there is a good way at going about determining that or via script as I mentioned, please let me know.

Thanks!
 

fronobulax

Developer
Staff member
My apologies if this has already been asked/mentioned but 128 pages is a lot to go through :p

Is there a way to "If current mall price is at minimum, autosale?" Basically I don't know off hand what items are "junk" and what is worth malling. If there is a good way at going about determining that or via script as I mentioned, please let me know.

Thanks!

That is not always the best strategy because some stuff actually moves at minimum. My solution was to have OCD mall sell anyway and then periodically run ManageStore. That will autosell things at mall minimum with a low sales volume compared to what is in your store. It also logs those things in case you do want to edit your OCD preferences accordingly.
 

msimmons

New member
That is not always the best strategy because some stuff actually moves at minimum. My solution was to have OCD mall sell anyway and then periodically run ManageStore. That will autosell things at mall minimum with a low sales volume compared to what is in your store. It also logs those things in case you do want to edit your OCD preferences accordingly.

That is perfect! Thank you for that (I also had an issue with my store getting full of "garbage" so you seem to have fixed that as well :D )!
 

Mattematical

New member
Sorry if this has already been discussed - is there any default list of items that can be sold safely and whatnot? I'm relatively new to the game, but have managed to accumulate a huge amount of random items. I have no idea what to sell, keep, etc...
 
Top