Shop: Difference between revisions

Capitalize "Safe Zone" as a proper term throughout
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)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
<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>
<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.


The track that plays in the shop normally is the first variant of [https://phlogiston.bandcamp.com/track/mochi-yasan Mochi Yasan]. In the [[World 3|underwater]] shop, the second variant plays.
The track that plays in the shop normally is the first variant of [https://phlogiston.bandcamp.com/track/mochi-yasan Mochi Yasan]. In the [[World 3|underwater]] shop, the second variant plays.
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].