This chapter covers every path that decides "how much does this item cost?" It explains where currencies are defined, the three places you can set an item price, how multi-currency price strings work, how change-making is computed at checkout, and what to do when your game system has no built-in adapter.
GMs decide currencies and pricing rules. Players just see the final price at the shop. Item prices can be edited on the item sheet, in the shop's category list, or both.
Stylish Shop does not define currencies itself. It reads them from the GlitchSmith Library's Currency Definitions dialog and uses them shop-wide. Every GlitchSmith module (Shop, Smartphone Widget, etc.) shares the same definitions.
| From | What opens |
|---|---|
| Game Settings > Module Settings > Stylish Shop > Currency Definitions | The GlitchSmith Library currency dialog. |
| Shop Settings > Currency & Pricing > Open Currency Definitions | Same dialog. |
| Game Settings > Module Settings > GlitchSmith Library > currency menus | Same dialog from the library side. |
| Kind | Stored on | Examples |
|---|---|---|
| Sheet currency | The actor sheet's system currency fields. Defined by the system. | D&D 5e's gp/sp/cp, PF2e's pp/gp/sp/cp, SFRPG's credit/upb, SWADE's currency. |
| Virtual currency | The library's own key-value store on the actor. System-agnostic. | Campaign tokens, custom currencies, reputation points. |
A shop accepts virtual currencies only when Allow GlitchSmith Library Virtual Currencies is enabled in Currency & Pricing. Off means sheet currencies only.
| Field | Role |
|---|---|
id |
Internal identifier. Used as the unit in price strings (5gp). |
name |
Human-readable name. |
abbreviation |
Short label shown next to prices. |
symbol |
Optional separate symbol. May be used in place of the abbreviation. |
exchangeRate |
Rate against the base unit. The smallest unit is 1. D&D 5e uses cp=1, sp=10, gp=100. |
systemId |
Which adapter the currency belongs to (dnd5e, pf2e, glitchsmith-lib, etc.). |
The currency with the smallest exchange rate is the base unit. Price strings without a unit are interpreted in that unit.
When the module looks up an item's price, it checks these sources in order. The first hit wins.
overridePriceSpec or overridePrice).flags.stylish-shop.priceSpec).system.price on a D&D 5e item).Two extra multipliers are applied on top of whatever value is found: