Shop: Difference between revisions

Style: no em dashes; Shop keeps only shop-scoped pity info
Verify shoplifting/hostile-shopkeeper trivia against the actual object code instead of citing TCRF; drop the version-specific byte offset (doesn't match our data.win)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div class="dw-thumb"><span class="dw-sprite" data-sprite="grid/shop.png"></span><div class="dw-thumb__cap">The sign that appears when the shop spawns.</div></div>
<div class="dw-thumb"><span class="dw-sprite" data-sprite="logo/idle_0.png"></span><div class="dw-thumb__cap">The shopkeeper.</div></div>
<div class="dw-thumb"><span class="dw-sprite" data-sprite="shop/case.png"></span><div class="dw-thumb__cap">A display case, one of three on the counter.</div></div>
The '''shop''' appears randomly like other [[Safe Zone|safe zones]] - unless you have the [[Member's Card]] [[Upgrades|upgrade]], in which case it appears at the start of every floor.
The '''shop''' appears randomly like other [[Safe Zone|safe zones]] - unless you have the [[Member's Card]] [[Upgrades|upgrade]], in which case it appears at the start of every floor.


Line 4: Line 8:


The three display cases are stocked in tiers: the first case holds only the cheapest consumables, while the priciest, [[Energy Drink]] and [[Curry]], only ever appear in the third. When the player is at 2 HP or less, the first case is guaranteed to hold a [[Rice Ball]].
The three display cases are stocked in tiers: the first case holds only the cheapest consumables, while the priciest, [[Energy Drink]] and [[Curry]], only ever appear in the third. When the player is at 2 HP or less, the first case is guaranteed to hold a [[Rice Ball]].
== Low-HP pity ==
When the player is at 2 HP or less, the shop quietly softens the odds: the '''first display case is guaranteed to stock a [[Rice Ball]]''' (normally it is a coin flip between Rice Ball and [[Battery]]).


== Items ==
== Items ==
Line 19: Line 19:
<div class="dw-grid__tile">[[Curry|<span class="dw-sprite" data-sprite="items/curry.png"></span><span class="dw-grid__label">Curry</span>]]</div>
<div class="dw-grid__tile">[[Curry|<span class="dw-sprite" data-sprite="items/curry.png"></span><span class="dw-grid__label">Curry</span>]]</div>
</div>
</div>
== Trivia ==
* It is possible to jump over the counter. The shopkeeper will glare at the player until they return to the other side. Jumping from too close to the counter starts a transaction instead, and the shopkeeper will say something whether or not the player has the gems.
* In an earlier build of the game, the player could destroy the item cases. Doing so would anger the shopkeeper and cause them to attack. Fumoto removed the feature because he [https://twitter.com/moppin_/status/658926722675556352 couldn't make it work] "in terms of balance and fun".
** The mechanism survives in the shipped code: each display case (<code>shop_case</code>) has 1,000,000 hit points and no collision handler for player bullets, so it can't be shot down in normal play; destroying one anyway sets <code>global.criminal</code>, which spawns a hostile <code>shopKeeperEnemy</code>.
** The hostile shopkeeper has 600 HP and a death sequence, but nothing in its code ever damages it, making it invincible in practice. Its melee hit does 2 damage and its ranged staff attack does 8; it activates as soon as the player gets within 96px of a shop entrance — before they've even entered the [[Safe Zone]] — and stays active for the rest of the stage.
* Attempting to purchase an item without enough gems, the shopkeeper says "TOO POOR!"
* Attempting to purchase an item the player has already bought, the shopkeeper responds with "WHAT", "HUH", or "?".
* The shopkeeper's look is [https://twitter.com/moppin_/status/1178600581117558784 based on jizo statues]; at one point during development, jizo statues [https://twitter.com/moppin_/status/493241474784317441 took the shopkeeper's place].