New Content - Implemented Mall Upgrade on September 13, 2013

Veracity

Developer
Staff member
Well, it seemed odd to me, since your Meat total can change seemingly randomly as you adventure or do other things that refresh the charpane, if something happened to sell in your store since the last time it refreshed. So, what you are describing is having your charpane refresh and then, before it refreshes again, an expensive item sells in your store AND you go look at your store logs.

I assume I am just underestimating how often that happens, since I can't remember it ever happening to me. Of course, I never look at my store logs; when I look at my store contents and notice that such-and-such a thing sold, I don't particularly care who bought it, so I never look at the logs.
 

Ensiferum

Member
I really dont expect my Meat to change after a skill use. I did, however, expect to see an updated amount after a store log as that's what KoLmafia did just until few days ago.

I had not adventured or done anything that would update my character pane after stocking the said expensive item in the mall. Few minutes later I did a search to see if anyone already undercut it, and since it was no longer in the mall I did my usual store log check - to see who bought it (I'm curious like that), and to get an updated meat amount.

That's what I've learned expect from the said action in KoLmafia in the 2 years I've been using it, so I don't understand why are you confused by my thinking just because something changed quietly. ;)
 

Veracity

Developer
Staff member
I am confused because KoLmafia did not "change quietly". As lost explained, KoL "changed quietly".
 

fronobulax

Developer
Staff member
At the risk of repeating something...

r12758

I opened the Store Manager, went to the Remove Tab, highlighted everything and then tried to Take All (or however the button is labelled). The gCLI showed the expected activity but as near as I could tell everything was still in my store. Operator error? Impatience because everyone but me knows this is not yet fixed or what?

Thank you.
 

lostcalpolydude

Developer
Staff member
It was already mentioned in this thread (maybe not that part of the GUI, but the "take all" stuff in general), but it's fixed in 12763.
 

lostcalpolydude

Developer
Staff member
Relay browser handling, any proper handling while in-run (the response is simply "You acquire an item" when making a purchase, so that will have to avoid the normal processing somehow).
 

Bale

Minion
The Store Managers -> Removals tab: Still has problems with the buttons.
  • The "Take One" button, takes all.
  • The "Take All" button, does not work at all.
 

Veracity

Developer
Staff member
Relay browser handling, any proper handling while in-run (the response is simply "You acquire an item" when making a purchase, so that will have to avoid the normal processing somehow).
The things you mentioned should be complete as of revision 12879.

Another thing that is not complete is stocking your store from Hagnk's and pulling from your store from Hagnk's in-run. I have another thread that I created to deal with that specific issue.

On the other hand, something mentioned here that is not implemented and is not in another thread is this:

The solution for now is to use take_shop($item, shop_amount($item)).
We have "shop take" (which is take 1) and "shop take all" (which is take all), and take_shop( item) (which is "take all") and take_shop( item, boolean) (which is take one or take all, depending on the boolean).

We should have:

shop take ITEM
shop take ITEM N
shop take ITEM all

take_shop( ITEM) -> shop take ITEM all
take_shop( ITEM, N ) -> shop take ITEM N

So this thread is not done yet. It needs work in textui/command/ShopCommand.java and textui/RuntimeLibrary.java
 

Veracity

Developer
Staff member
You are correct. I was being sloppy - partly because I do not intend to be the one who implements this. But I am glad you set the record straight for whoever it is who will do it. ;)

Note that I also propose that we remove take_shop( item, boolean), since it is a kludge.

take_shop( item ) -> take all
take_shop( 1, item ) -> take 1
take_shop( n, item ) -> take n

We can leave the old one for backwards compatibility - or let people update to the new way of doing things.
 
Last edited:

heeheehee

Developer
Staff member
That wasn't too bad.

See attached; removes the ASH command take_shop(item, boolean) and adds the ASH command take_shop(int, item). Modifies the CLI command so "shop take N item" actually works.
 

Attachments

  • take_shop.patch
    2.9 KB · Views: 20

Bale

Minion
It's rather improper to argue against backwards compatibility, but I've never liked the ugly take_shop(item, boolean) hack and I'd be glad to see it go.
 

Winterbay

Active member
There appears to be a cosmetic display bug related to this. When I click the button to take things out of my shop it asked me how many (prefilled with all) and I took all. The item went away from the shop, showed up in my session result and appeared in my inventory, but the text in the CLI stated:
Removing ND from store...
0 ND removed from your store.

Which was not true since it actually removed 69 of them.
 

Veracity

Developer
Staff member
Revision 12899 should fix that, as well as logging adding and removing items in your session log correctly.
 

Veracity

Developer
Staff member
OK, I dealt with take_shop in a non-backwards compatible way in revision 12905.

Change to CLI "shop take" command:

shop take dry noodles -> take 1 dry noodles
shop take 5 dry noodles -> take 5 dry noodles
shop take all dry noodles -> take all dry noodles

The only addition is the middle one; previously you could take 1 or all. The parsing is simple minded, so if you want to take a single 334 scroll, you have to use "shop take 1 334 scroll" rather than "shop take 334 scroll".

Obsolete ASH functions:

take_shop( item ) -> shop take item
take_shop( item, false ) -> shop take item
take_shop( item, true ) -> shop take all item

Replaced by:

take_shop( item ) -> shop take all ¶XXX
take_shop( num, item ) -> shop take num ¶XXX

¶XXX is the itemId of the item. That's the standard way for ASH to call the CLI with an itemId, so it doesn't have to worry about simple item name parsing or the sort that causes trouble with the "334 scroll". :)

In any case, the new ash functions let you take 1, N, or all of an item.

And with that, I think this New Content is done.
 
Top