Bargaining is the central risk/reward mechanic of Simple Shop Sim. Every time a customer steps up to the counter you are offered the chance to push for a higher price — or play it safe and sell at face value. Getting the call right separates a thriving shop from one that slowly bleeds cash.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mukybaby/Simple-Shop-Sim/llms.txt
Use this file to discover all available pages before exploring further.
How bargaining works
After a customer is popped from the queue and their desired item is shown, the game prompts:- Enter
Yto attempt a bargain. - Enter
nto skip bargaining — however, see the warning below about a source-code bug that affects this choice.
Y, the game generates a random float between 0 and 100 (chance = random.uniform(0, 100)). This is compared against the customer’s hidden bargain threshold (customer.bargin):
customer.bargin <= chance, the bargain succeeds. Otherwise it fails.
Outcomes
| Outcome | Condition | Price effect | Customer buys? |
|---|---|---|---|
| Success | customer.bargin <= random(0, 100) | Price increased by 90% (price += price * 0.9) | No — customer was already removed from queue and leaves without purchasing |
| Failure | customer.bargin > random(0, 100) | Price decreased by 10% (price -= price * 0.1) | Yes — customer buys automatically at the discounted price |
Skip (n) | Player enters n | No change | No — see bug note below |
Bargain strategy
The customer’s bargain threshold is never shown to you, making every attempt a gamble. However, understanding the distribution helps:- The threshold is drawn from
random.uniform(0, 100), so values are spread evenly across the full range. - A customer with a low threshold (e.g., 5) requires
chance >= 5to succeed — that is a 95% success rate; these customers are easy to bargain with. - A customer with a high threshold (e.g., 95) requires
chance >= 95to succeed — only a 5% chance; these are very hard to bargain with successfully. - Because the threshold is hidden, you cannot distinguish the two cases before committing.
When not to bargain
Due to then input bug described above, the only safe choices at the bargain prompt are Y (attempt a bargain) or any input that you accept losing the sale on. Consider the trade-offs carefully:
- Attempting a bargain always risks a failed outcome. Failure closes the sale at -10%, which is usually acceptable.
- A successful bargain raises the item price by 90% and the current customer leaves without buying. This benefits future customers who want the same item — if they can afford the new price.
- If the item price is already near a customer’s budget limit, a successful bargain (90% increase) will push the price beyond what most customers can afford, potentially killing multiple future sales.
Because of the walrus-operator bug, there is no in-game way to silently skip a bargain and guarantee the current customer buys at face value. Entering
Y is the only input that actually triggers a defined code path (bargain attempt). Any other input, including n, falls through to “Invalid choice” and the customer leaves without purchasing.