Opened 6 years ago

Last modified 4 years ago

#1315 confirmed bug

Shopkeeps overpay for partial ID'd =Mouse

Reported by: pampl Owned by:
Milestone: Future Keywords: stores id
Cc:

Description

I just sold a =Mouse (without the to-dam penalty known) for 3000 gold, then bought it back for 150. Shopkeepers should have some idea about the mixed-bag egos and pay less for them than they normally would.

Change History (4)

comment:1 Changed 6 years ago by magnate

  • Keywords stores id added; =Mouse, selling removed
  • Milestone changed from Triage to 3.3.0
  • Status changed from new to confirmed

This is actually tricky, as we have no heuristic to determine how much a shopkeeper should know about an item: it's either based on o->flags or o->known_flags, there is nothing else. I guess we could base it on k->flags, i.e. assume the shopkeeper knows all the base item stats but not ego/artifact properties.

takkaria's new tval refactor will provide us with an opportunity to have a tval-specific flag for MIXED, so that shopkeepers get a little more info about these items. Though in fact we could add such an object flag without any changes to tval handling ...

comment:2 Changed 6 years ago by takkaria

I think your suggestion of having the shopkeeper assume the base item kind is a better plan than adding an object flag. You'd want to find the "worst possible item" as base, e.g. for every random value for the base object, run MAXIMISE and MINIMISE and take the lowest value, and then on top of that copy stuff the player knows about the item. It's a bit of work but it should work for any similar situations in the future.

comment:3 Changed 6 years ago by magnate

  • Milestone changed from 3.3.0 to Future

Punting in accordance with new milestone policy (that any other milestone is only set once someone is actually working on the ticket).

comment:4 Changed 4 years ago by takkaria

  • Milestone changed from Future to 3.5.0

Assigning still-open bugs from Future to 3.5 for fixing.

Note: See TracTickets for help on using tickets.