Shops: 批量操作, quantities, and what 一键全选 does

Bulk mode is not a multi-select with a quantity

Entering 批量操作 clears every selection and every count. Then:

There is no "tick them, then say how many" flow in the stock UI.

The quantity box only ever edits one line

The box under the list, and its + and −, write to a single "current item" pointer — whichever row you ticked last (ShopViewNew.OnNumInputValueChanged, ChangeBuyCount). Which produces three behaviours that look like bugs and are not:

Outside bulk mode there is always exactly one current line, which is why the box feels fine there.

Prices and what the shop knows

Shop stock is a table of rows — item, count, price, and the group they belong to — and a character is a merchant by carrying that group's id (ShopProto, NpcPrototype.shopID). Walking both tables answers "who sells this", which the game will otherwise only tell you by making you visit every stall. An item with no row in that table is not sold anywhere and has to be gathered, looted or crafted.

Sub-classes worth knowing

Food is C_USEABLE sub-class 4 and wine sub-class 6 — the same numeric slots as belt and necklace in the equipment enum, which is why the description switch appears to handle armour where it is handling dinner. The plain cooking water 清泉 sits in the item table beside 调料, 面粉 and 冰糖: grocery stock, not something drawn from a river. The famous-spring waters (谷帘泉, 惠山石泉, 兰溪水 …) are a separate tier used for tea and wine.