OoT-Randomizer icon indicating copy to clipboard operation
OoT-Randomizer copied to clipboard

Generate fewer refill special deals above market price

Open fenhl opened this issue 8 months ago • 2 comments

This adds a new check when placing items where if the item is placed in a special deal location and that location's price is at or above the item's market price, the price is rerolled once and the lower of the two values is used.

The idea is to counterbalance the limited usefulness of refill special deals (due to being one-time purchases), and to help reduce rupee farming a bit. It's done on a random basis rather than always picking a price below market for the following reasons:

  • The occasional scam can be funny and for non-rupee refills sometimes even useful depending on item placements
  • To not affect balancing too much
  • Doing it this way makes it easier to follow the “Shopsanity Prices” setting

The “market price” of an item is defined as follows:

  • For rupees, the value of the rupee itself.
  • For refills that are also available as repeatable purchases in shops (or from business scrubs), the lowest available price.
  • Other items don't have defined market prices, so they're not affected by this change. This is both to avoid issues with logic and since finding consensus “market prices” for major items seems difficult.

Closes #1987.

Testing

~~This has not yet been tested. A good way to test this might be to use ootrstats to categorize item prices and compare the price distributions on Dev and this branch.~~ See https://github.com/OoTRandomizer/OoT-Randomizer/pull/2418#issuecomment-3367928880.

fenhl avatar May 16 '25 09:05 fenhl