Change shopping list behavior toward duplicate items


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

Lair Larrikin

Posts: 20

Joined: Sunday, 7th July 2019, 17:17

Post Saturday, 28th March 2020, 23:46

Change shopping list behavior toward duplicate items

If I'm in a shop and I add, say, for example, a box of beasts to my shopping list, and there's another box of beasts in the same shop, it adds *both* boxes of beasts to my shopping list at the same time. However, it only shows *one* when I look at the actual shopping list, so if I want to remember that two are available, I still have to keep track of that mentally or separately. Worse (in my opinion), if I buy one of the two boxes of beasts, the other one gets *removed* from the shopping list. Essentially, the shopping list behaves as if there can't possibly be more than one of a type of thing in a given shop.

I don't like this behavior at all, for a very simple reason: What if I'd been interested in perhaps purchasing both? If the shopping list simply treated every object separately, then the player would have full control over whether to add just one to the shopping list, or to add more than one. As it stands, I am effectively prohibited from choosing to add multiple items of the same type to the shopping list.

For this message the author Psymania has received thanks: 3
duvessa, petercordia, Sprucery

Shoals Surfer

Posts: 306

Joined: Monday, 12th September 2016, 16:25

Post Sunday, 29th March 2020, 03:09

Re: Change shopping list behavior toward duplicate items

We had a discussion about this and related behaviours (I think the deduplication in the shopping list is independent of the removal from the list on purchase) on IRC and FWIW I think:
  • When you list an item in a shop, duplicate items in the same shop are added to the list.
    • This behaviour is clearly wrong for non-consumables; it only doesn't annoy players more because it's pretty unlikely a shop will have duplicate non-consumable items which are also good enough to buy.
    • It's arguably right for consumables (by which I mean I like it and Psymania doesn't) and ideally could be controlled with an option.
  • When you buy an item from a shop, duplicate items which are on your shopping list are removed from it.
    • This behaviour when buying a duplicate consumable is clearly wrong.
    • The behaviour when buying a duplicate non-consumable is probably also wrong. After all, why did the player _list_ two plate armours if they didn't want two plate armours? (The answer now is "because of the silly behaviour when listing", but suppose that was changed.)
  • Duplicate items in the same shop on your shopping list are hidden from you (this is bad) and the total price shown to you does not reflect hidden duplicates (this is really bad).
Ascension reports with too many words since 2016.

For this message the author damerell has received thanks:
Psymania

Lair Larrikin

Posts: 20

Joined: Sunday, 7th July 2019, 17:17

Post Sunday, 29th March 2020, 06:25

Re: Change shopping list behavior toward duplicate items

damerell wrote:When you buy an item from a shop, duplicate items which are on your shopping list are removed from it.
This behaviour when buying a duplicate consumable is clearly wrong.


FWIW, this much appears to me to be a bug. The code that removes purchased items from the shopping list has an if() around it with commentary explaining that the if()'s purpose is to prevent the removal from the shopping list of items that still have duplicates available. I'm seeing if I can't find out why it isn't doing what it sounds like it's intended to do.

Swamp Slogger

Posts: 169

Joined: Tuesday, 25th October 2011, 00:06

Post Thursday, 16th April 2020, 14:21

Re: Change shopping list behavior toward duplicate items

There is much better approach which would solve the problem: all stackable items of the same type in a shop should be combined into a single position, and one should be able to buy any number of items in that stack, the same way one is able to drop any number of items. (Of course shops shouldn't stack items that don't stack in inventory: 2 +0 broad axes).
If you spot a grammar mistake in my post I will appreciate if you PM it.

Zot Zealot

Posts: 986

Joined: Tuesday, 4th January 2011, 15:03

Post Friday, 17th April 2020, 10:28

Re: Change shopping list behavior toward duplicate items

Wands stack in the inventory, but it would be a little strange ( and a small buff) to be able to buy charges individually. Not that I would mind it.

Ziggurat Zagger

Posts: 4406

Joined: Friday, 8th May 2015, 17:51

Post Friday, 17th April 2020, 13:01

Re: Change shopping list behavior toward duplicate items

sanka wrote:Wands stack in the inventory, but it would be a little strange ( and a small buff) to be able to buy charges individually. Not that I would mind it.


Not necessarily. There could be a discount for buying something in large quantities :)
Also "20% discount if you buy the item without leaving the floor". Or "50% discount if you also give me a potion of heal wounds along with gold" etc. Unlimited possibilities like IRL.
Underestimated: cleaving, Deep Elf, Formicid, Vehumet, EV
Overestimated: AC, GDS
Twin account of Sandman25

Lair Larrikin

Posts: 20

Joined: Sunday, 7th July 2019, 17:17

Post Friday, 17th April 2020, 20:05

Re: Change shopping list behavior toward duplicate items

VeryAngryFelid wrote:Or "50% discount if you also give me a potion of heal wounds along with gold" etc.


"Sure, I'll give you two oxen, a spare wagon yoke, and a wand of paralysis (16) in exchange for 5 potions of heal wounds, a phial of floods, and 4 boxes of bullets. What do you say?"

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 5 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.