Bug - Fixed Mall acquisition loop

Ezandora

Member
r17512:

"acquire 2 bricko brick" in the GCLI without any brickos in inventory causes mafia to enter a buy loop. It seems to not notice they're in inventory:
Code:
> closet put * bricko brick

Placing items into closet...
Requests complete.

> acquire 2 bricko brick

Searching for "BRICKO brick"...
Search complete.
Purchasing BRICKO brick (2 @ 175)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
KoLmafia declares world peace.

> ash $item[bricko brick].item_amount()

Returned: 0

> refresh inventory

Updating inventory...
Requests complete.

> ash $item[bricko brick].item_amount()

Returned: 8

> closet put * bricko brick

> closet put * bricko ooze

> acquire bricko ooze

Verifying ingredients for BRICKO ooze (1)...
Searching for "BRICKO brick"...
Search complete.
Purchasing BRICKO brick (2 @ 175)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
KoLmafia declares world peace.

> ash $item[bricko brick].item_amount()

Returned: 0

> refresh inventory

Updating inventory...
Requests complete.

> ash $item[bricko brick].item_amount()

Returned: 8

> closet put * bricko brick

Placing items into closet...
Requests complete.

> acquire bricko brick

Searching for "BRICKO brick"...
Search complete.
Purchasing BRICKO brick (1 @ 175)...
Purchases complete.

> ash $item[bricko brick].item_amount()

Returned: 1
"acquire 1 bricko brick" works correctly.

This isn't consistent across items; twinkly wad works:
Code:
> acquire 2 twinkly wad

Searching for "twinkly wad"...
Search complete.
Purchasing twinkly wad (2 @ 187)...
Purchases complete.
Divine champagne popper does not:
Code:
> acquire 2 divine champagne popper

Searching for "divine champagne popper"...
Search complete.
Purchasing divine champagne popper (2 @ 3,500)...
Purchasing divine champagne popper (1 @ 4,200)...
KoLmafia declares world peace.

Another example:
Code:
Verifying ingredients for BRICKO ooze (1)...
Using cached search results for BRICKO brick...
Purchasing BRICKO brick (2 @ 175)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 180)...
Purchasing BRICKO brick (2 @ 195)...
Purchasing BRICKO brick (2 @ 200)...
Purchasing BRICKO brick (2 @ 200)...
Purchasing BRICKO brick (2 @ 200)...
Purchasing BRICKO brick (2 @ 200)...
Purchasing BRICKO brick (2 @ 205)...
Purchasing BRICKO brick (2 @ 220)...
Purchasing BRICKO brick (2 @ 245)...
Purchasing BRICKO brick (2 @ 247)...
Purchasing BRICKO brick (2 @ 249)...
Purchasing BRICKO brick (2 @ 250)...
Purchasing BRICKO brick (2 @ 250)...
Purchasing BRICKO brick (2 @ 275)...
Purchasing BRICKO brick (2 @ 280)...
Purchasing BRICKO brick (2 @ 280)...
Purchasing BRICKO brick (2 @ 290)...
Purchasing BRICKO brick (2 @ 293)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 300)...
Purchasing BRICKO brick (2 @ 325)...
Purchasing BRICKO brick (2 @ 350)...
Purchasing BRICKO brick (2 @ 350)...
Purchasing BRICKO brick (2 @ 350)...
Purchasing BRICKO brick (2 @ 350)...
Purchasing BRICKO brick (2 @ 375)...
Purchasing BRICKO brick (2 @ 400)...
Purchasing BRICKO brick (2 @ 400)...
Purchasing BRICKO brick (2 @ 400)...
Purchasing BRICKO brick (2 @ 415)...
Purchasing BRICKO brick (2 @ 450)...
Purchasing BRICKO brick (2 @ 475)...
Purchasing BRICKO brick (2 @ 499)...
Purchasing BRICKO brick (2 @ 499)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 500)...
Purchasing BRICKO brick (2 @ 545)...
 

Random Thief

New member
Hey. Another late data point. r17507. I know this was fixed faster than I could create a forum account. That is truly appreciated. Things happen and now I know to closet my meat.

I just wanted to add that my autoBuyPriceLimit was 20000 in case that had any effect on the changes made. So while repeatable, it was *gulp* not inexpensive.

> buy 39 leathery bat skin; create 39 bat ass jacket

Searching for "leathery bat skin"...
Search complete.
Purchasing leathery bat skin (2 @ 1,229)...
Purchasing leathery bat skin (39 @ 1,335)...
Purchasing leathery bat skin (39 @ 1,375)...
Purchasing leathery bat skin (39 @ 1,415)...
Purchasing leathery bat skin (39 @ 1,477)...
Purchasing leathery bat skin (39 @ 1,497)...
Purchasing leathery bat skin (39 @ 1,498)...
Purchasing leathery bat skin (5 @ 1,500)...
Purchasing leathery bat skin (39 @ 1,541)...
Purchasing leathery bat skin (39 @ 1,542)...
Purchasing leathery bat skin (39 @ 1,542)...
Purchasing leathery bat skin (39 @ 1,542)...
Purchasing leathery bat skin (6 @ 1,550)...
Purchasing leathery bat skin (1 @ 1,550)...
Purchasing leathery bat skin (38 @ 1,582)...
Purchasing leathery bat skin (10 @ 1,582)...
Purchasing leathery bat skin (7 @ 1,601)...
Purchasing leathery bat skin (16 @ 1,622)...
Purchasing leathery bat skin (6 @ 1,622)...
Purchasing leathery bat skin (38 @ 1,623)...
Purchasing leathery bat skin (37 @ 1,643)...
Purchasing leathery bat skin (38 @ 1,685)...
Purchasing leathery bat skin (38 @ 1,700)...
Purchasing leathery bat skin (38 @ 1,800)...
Purchasing leathery bat skin (10 @ 1,900)...
Purchasing leathery bat skin (38 @ 2,000)...
Purchasing leathery bat skin (38 @ 2,000)...
Purchasing leathery bat skin (38 @ 2,000)...
Purchasing leathery bat skin (22 @ 2,000)...
Purchasing leathery bat skin (20 @ 2,000)...
Purchasing leathery bat skin (10 @ 2,000)...
Purchasing leathery bat skin (9 @ 2,080)...
Purchasing leathery bat skin (12 @ 2,198)...
Purchasing leathery bat skin (22 @ 2,650)...
Purchasing leathery bat skin (31 @ 3,000)...
Purchasing leathery bat skin (15 @ 3,000)...
Purchasing leathery bat skin (5 @ 4,500)...
Purchasing leathery bat skin (38 @ 5,000)...
Purchasing leathery bat skin (8 @ 9,000)...
Purchasing leathery bat skin (38 @ 10,000)...
Purchasing leathery bat skin (30 @ 10,000)...
Purchasing leathery bat skin (27 @ 10,000)...
Purchasing leathery bat skin (12 @ 10,000)...
Purchasing leathery bat skin (8 @ 10,000)...
Purchasing leathery bat skin (1 @ 10,000)...
Purchasing leathery bat skin (1 @ 11,000)...
Purchasing leathery bat skin (36 @ 21,023)...
Purchasing leathery bat skin (36 @ 99,999)...
Purchasing leathery bat skin (2 @ 55,378,008)...
Desired purchase quantity not reached (wanted 39, got 3)
Verifying ingredients for bat-ass leather jacket (39)...
Putting on Travoltan trousers...
Equipment changed.
Purchasing shirt kit (39 @ 90)...
You spent 3,510 Meat
You acquire shirt kit (39)
Purchases complete.
Creating bat-ass leather jacket (39)...
Creation failed, no results detected.
 

Veracity

Developer
Staff member
Holy mackerel. Your auto buy price limit was 20,000 but it sure looks like it exceeded that. I am so sorry.

I will investigate how that could have happened.

Take solace, at least, in that this will not happen again. I am sorry again.
 

Veracity

Developer
Staff member
Ah. Your "autoBuyPriceLimit" applies to AUTOmated buying. So:

acquire 39 leathery bat skin

will try to get 39 of that item into inventory. It will pull from storage, closet (if enabled), will buy from mall (if enabled) - and will spend no more than 20,000 each.

create 39 bat ass jacket

will "acquire" all the ingredients and then create them. Same thing.

buy 39 leathery bat skin

is not AUTOmated acquisition. You are saying, efectively, "buy 39 of them in the mall, whether or not I have any available elsewhere, and price is no object."

Want to limit your expenditure?

buy 39 leathery bat skin @2000

will not spend more than 2,000 Meat per item.
 

Random Thief

New member
Thank you for following up and letting me know about the safer way to go about this in the future. I figured I was going about it a risky way and the perfect storm happened. Time to update a few aliases.

And now I understand acquire vs. create vs. buy.

Update: I have been made whole. Several people have reached out and I'm back where I started. Thank you.
 
Last edited:
Top