Bug Is it a bug or a feature that Mafia remakes an equipped ice bucket over rollover?

lolli

New member
I had this happen two runs ago, but didn't think to unequip my day 1 ice bucket so mafia spent 3 ice harvests to craft me another. Is this intentional, or is there some way to turn it off?
 

Veracity

Developer
Staff member
What exactly did you do that led to that? Please show us your session log that culminated in that happening.
 

Bale

Minion
Session log will probably be interesting. I'd bet that he did something to restore his Backup outfit from yesterday without having previously saved a new Backup outfit. I wonder what caused that.
 

Darzil

Developer
It reminds me a little of an issue I had (which led to me disabling a bit of Bale's post ascension logic). I have a logout script that saves my current outfit, then puts on my best +adv/pvp items, and a login script that puts the saves outfit back on*. Bale's newlife would run the login script on ascension, leading to it attempting to obtain the equipment that I had on when I last logged out. I can see that I'd have issues if I start wearing the equipment that vanishes overnight, as the login script might try to build it. Fortunately I don't plan to make the equipment any time soon, and my only issues were a red failure message each ascension (til I disabled running the login script).

* And other stuff, like transforming cheese equipment and handling halos if necessary.

Edit - I think I'll add code to remove the winter equipment stuff into my logout script before saving the outfit, just in case I ever do.
 
Last edited:

lostcalpolydude

Developer
Staff member
It seems like the code to retrieve items in an outfit you are equipping needs to be limited to just checking the closet and maybe the stash, rather than using the more generic retrieve function. That would preserve the purpose of grabbing things hidden in the closet for pvp.
 

Veracity

Developer
Staff member
I'd also check Storage, if you are out of Ronin. My approach to protecting stuff from PVP is to simply leave the large bulk of it in Storage.
 

lolli

New member
It happened while mafia was running breakfast things. Would just not letting mafia breakfast in run prevent it from happening again?


Visiting Mr. Klaw "Skill" Crane Game in clan rumpus room
Visiting Mr. Klaw "Skill" Crane Game in clan rumpus room
You acquire an item: stuffed stinky gravy fairy
Visiting Mr. Klaw "Skill" Crane Game in clan rumpus room

Visiting Crimbo Tree in clan VIP lounge

Visiting Deluxe Mr. Klaw "Skill" Crane Game in clan VIP lounge

Visiting Deluxe Mr. Klaw "Skill" Crane Game in clan VIP lounge

Visiting Deluxe Mr. Klaw "Skill" Crane Game in clan VIP lounge

Visiting Looking Glass in clan VIP lounge
You acquire an item: "DRINK ME" potion

swimming pool screwaround

Doing handstand in clan VIP swimming pool

Diving for treasure in clan VIP swimming pool

Getting out of clan VIP swimming pool

Harvesting your garden
You acquire snow berries (3)
You acquire ice harvest (3)
You acquire an item: snow berries
You acquire an item: ice harvest

Visiting Jackass Plumber

cast 1 Advanced Cocktailcrafting
You acquire an item: coconut shell
You acquire an item: coconut shell
You acquire an item: coconut shell
You acquire an item: coconut shell
You acquire an item: little paper umbrella

cast 1 Advanced Saucecrafting
You acquire scrumptious reagent (5)

cast 1 Pastamastery
You acquire dry noodles (5)

cast 1 Summon Crimbo Candy
You acquire an item: Crimbo fudge
You acquire an item: Crimbo candied pecan
You acquire an item: Crimbo peppermint bark

cast 1 Lunch Break
You acquire an item: sack lunch

cast 1 Summon Tasteful Items
You acquire an item: flavored foot massage oil
You acquire an item: stick-on eyebrow piercing
You acquire an item: personalized coffee mug
You acquire an item: blue plasma ball
You acquire an item: cheap studded belt

cast 1 Summon Alice's Army Cards
You acquire an item: Pack of Alice's Army Cards
You acquire an item: Ye Wizard's Shack snack voucher

cast 1 Summon Geeky Gifts
You acquire an item: 37x37x37 puzzle cube
You acquire an item: magicberry tablets
You acquire an item: old-school calculator watch
You acquire an item: Microplushie: Hippylase

Trade 3 ice harvest
You acquire an item: ice bucket

equip off-hand ice bucket
 

fronobulax

Developer
Staff member
It seems like the code to retrieve items in an outfit you are equipping needs to be limited to just checking the closet and maybe the stash, rather than using the more generic retrieve function. That would preserve the purpose of grabbing things hidden in the closet for pvp.

At some point something changed (KoL, my settings, KoLmafia? Dunno) and KoLmafia would start buying outfit pieces and using them to equip an outfit. This, in my mind, was a change from from KoLmafia just telling me it couldn't equip the outfit. I liked the old behavior because I have a well stocked display case and manual procedures for completing an outfit from it. For me the core issue is that the autoSatisfy and allowed to buy settings are not fine enough. In general if it is a custom outfit then I don't want anything purchased to complete it. But if it is a game defined outfit or something to eat or drink then I want KoLmafia to buy thing, subject to limits. What makes outfits different for me is that they are generally defined with things I own at the time of definition and the vast majority of items in the outfit are not consumable. So I wonder if the way ahead is to define "consumable" as an attribute of equipment and different settings for what happens consumable and unconsumable equipment are missing from an outfit.
 

Veracity

Developer
Staff member
I liked the old behavior because I have a well stocked display case and manual procedures for completing an outfit from it.
You are the only person I have ever heard of who uses his display case like this. Everybody else uses storage or closet for temporary storage and the display case is for, well, putting things on display, not as a (more difficult to access) closet alternative. There is a reason that we don't have "autoSatisfyWithDisplay" as an "acquire" option.

What makes outfits different for me is that they are generally defined with things I own at the time of definition and the vast majority of items in the outfit are not consumable.
This is the distinction. If you troubled to save a custom outfit with specific set of pieces, if you then dispose of some of those pieces and try to equip the outfit again, is it unreasonable to expect that you want to equip the whole outfit again? Apparently so, considering the recent call for "partial" outfits - which I have only run into because I lack the stats to equip an outfit I had saved as different class/level of character. And, yes - when I have stuck some of my "Useless Softcore Only" IOTMs into my display case and wanted them, many ascensions later, for some aftercore activity. :)

The "this piece of equipment will disappear at rollover" is New Content which doesn't play nice with our existing mechanisms, as this bug report shows.
 

lostcalpolydude

Developer
Staff member
13512 makes mafia only grab outfit pieces from your closet, storage (even though I forgot to mention that part in the commit message), or clan stash, controlled by those settings.

If you troubled to save a custom outfit with specific set of pieces, if you then dispose of some of those pieces and try to equip the outfit again, is it unreasonable to expect that you want to equip the whole outfit again?
If some of those pieces are fairly expensive and you assumed you had all the pieces, then finding out you need to spend the meat (again, possibly, if you sold the item) is a good reason to change your mind about putting on that equipment.
 
Last edited:

adeyke

Member
Thanks for that change. Recently, there was apparently a problem with loading my inventory (my Internet connection isn't always reliable, so it might have been due to that), and Mafia thought I was missing some items. So when I put on my outfit, it first decided to spend my spare lucres buying a new bounty hunter outfit, then noticed that the IotM in the outfit was outside my price range and aborted. This should eliminate such lucre-wasting in the future.
 

fronobulax

Developer
Staff member
You are the only person I have ever heard of who uses his display case like this. Everybody else uses storage or closet for temporary storage and the display case is for, well, putting things on display, not as a (more difficult to access) closet alternative. There is a reason that we don't have "autoSatisfyWithDisplay" as an "acquire" option.

Unique is just one of the many things I have been called.

Background - Back when JickenWings was maintaining the DC database (and presumably the same now that it is at Coldfront, although I don't know) it was updated from KoL once every 24 hours. So an item "counted" for those leaderboards if it was in the DC when they did the update. So I developed scripts that pulled things I only had one of from the DC and returned them on logout. Thus I could use things but also get credit for having them in the collection.

These scripts developed over time and at one point I had outfits defined for things I didn't do frequently, such as fight Frosty in Hobopolis. What I used to do was just try and equip the outfit and then run my pull script if equipping it failed. Now I just run the pull script because mafia (used to?) try and buy things that I was missing and that was burning through meat that I had better things to do with besides wait until some other collector (or idiot?) purchased the excess item from me in the mall.

I do recall it took a few posts before I stopped asking for autoSatsifyWithDisplayCase but the level of resistance was such that I developed workarounds and now I agree that it is pointless to implement.
 

lostcalpolydude

Developer
Staff member
Looking at the code, I can't think of any state that mafia might think your character is in, combined with any state your character could actually be in, where mafia would decide to craft an item to equip. I equipped an ice bucket this rollover and added a breakpoint to InventoryManager.retrieveItem( final AdventureResult item, final boolean isAutomated ) (line 340) to watch the calls there when I logged in. It was never called for the ice bucket, and mafia didn't make one when I logged in (and I made sure to have 3 ice harvests in inventory). I don't even know what to test for this now.
 

Winterbay

Active member
Perhaps Lolli could start a debuglog before logging in and then stop it after the creation is finished to see what happened?
 

fronobulax

Developer
Staff member
Is the bucket defined in any outfit that might be manipulated during rollover?

Was a failure mode where KoLmafia's inventory is wrong considered?

Is KoLmafia shut down - in the sense of not running on the host computer - over rollover or is it just running, but idle?
 

fronobulax

Developer
Staff member
lolli says she closes mafia during rollover.

I asked the question because as an anal techie who is sometimes drafted for customer facing help desk duty as punishment for my sins, I have encountered numerous users who say they have "closed" something and what they mean is the window on the screen is no longer open or visible. But that does not mean the program has shutdown, in the sense I was asking - not using any CPU or memory, all file handles closed and not visible as a running process in Windows Task manager. I also did not see anything in lolli's four posts to date that addressed the issue either way.

As for the inventory being wrong failure mode "I can't think of any state that mafia might think your character is in, combined with any state your character could actually be in," didn't tell me enough about what you were thinking to understand that the question as unnecessary :)
 
Last edited:

lolli

New member
I also did not see anything in lolli's four posts to date that addressed the issue either way.

I did not say it in one of the posts, but yes, I exit mafia completely for rollover (and in fact, any time I might want to log out)

I removed garden harvesting from breakfasting, hopefully that solves the immediate problem. I would track down if it is some setting of mine causing the problem, or something else, but I'd prefer not to in run.
 

Razorsoup

Member
I had an ice nine equiped over rollover and mafia tried to recreate one today. So now I am going to wildly speculate on what could cause this. Is it possible that when mafia logs in, it sees the ice nine has "broken" and tries to re-equip it based on this setting?
KoLmafia - breakable option.png

Mine tried to recreate the ice nine while doing the breakfast items this morning.
 
Top