As you can clearly see from this grainy photo, the buttons are now available to use (geeze, why is that photo so crappy?).
I had to revise my plan slightly. The SHOP > HOLD activity now adds a QTY to the HOLD cart, while subtracting a QTY from the SHOP cart if there’s an element in there. Vice versa when selling from HOLD > SHOP. The deal behind this is that when it comes time for checkout, each cart will modify it’s “parent”. The SHOP cart will add it’s number to the shop’s actual inventory, and the HOLD cart will add it’s number to the player’s cargo hold inventory.
The values displayed are calculated based on the “hidden”, actual value in each bucket. The shop has an inventory, and when the player wants to buy a quantity, he’s putting the quantity into the HOLD bucket for eventual transfer to his hold. The quantity of the shop displayed is the shop’s actual quantity minus the amount in the HOLD bucket.
In the end, the player will be able to abandon the cart, which will blow away all of the CART quantities for both SHOP and HOLD carts. The displayed values will return to their original values, and the player can leave the shop without losing or gaining anything. Alternatively, he can complete the transaction, trading items in the HOLD cart from the shop to the cargo hold, and items in the SHOP cart from the hold to the shop.
Why the convolution? I wanted to allow the user to abandon the transaction, or complete the transaction, and not have to worry about storing ad hoc original values and resetting or modifying at the end. Also, players should be able to move multiple goods in multiple directions, and then have the entire transaction go through with just a single button press.
So next up is the actual completion of the transaction, or the option to abandon the cart. After that, I figured I’d move on to NPC merchants. Pricing is still on hold, because there’ll be many factors which influence pricing, such as the player’s bargaining skills, station, sector, faction, and galactic events, and of course supply and demand.