Stylish Shop talks to each game system through a small piece of code called a system adapter. The adapter tells the module where the system stores currency, item prices, damage, AC, weight, and rarity. This chapter lists the adapters that ship with the module, explains how virtual currencies and Smartphone Widget banking layer on top of them, and shows what to do when your system has no built-in adapter.
| Responsibility | Detail |
|---|---|
| Register currency definitions | Reports the system's coins (gp, sp, cp, credit, ...) with their ids, exchange rates, and symbols. Actual definitions come from the GlitchSmith Library's system preset. |
| Read and write sheet balances | Tells the module which actor path holds each currency's balance (e.g. system.currency.gp). |
| Extract item prices | Reads the item document's price field (e.g. system.price with a value and a denomination). |
| Extract display stats | Maps damage, AC, weight, and hardness to system fields so the shop detail panel shows them. |
| Recommend display stat paths | The Display Stats dialog uses the adapter to suggest labels and paths per item type. |
The right adapter is selected automatically when the world boots, based on game.system.id. Use game.modules.get("stylish-shop").api.getRegisteredSystemIds() to see every available id. Unknown systems fall back to the custom adapter.
| System ID | Game system | Currency (sheet path) | Item price path | Notes |
|---|---|---|---|---|
dnd5e |
D&D 5e | gp / sp / cp / pp / ep (system.currency.gp etc.) |
system.price (value + denomination) |
Standard 5e exchange rates. 1 cp is the base unit. |
pf1 |
Pathfinder 1e | gp / sp / cp / pp | system.price |
1 cp is the base unit. |
pf2e |
Pathfinder 2e | gp / sp / cp / pp | system.price |
PF2e's coin object shape is preserved. |
sf2e |
Starfinder 2e | Same as PF2e | system.price |
Reuses the PF2e adapter (Starfinder 2e is PF2e-derived). |
daggerheart |
Daggerheart | Daggerheart currencies | System-defined price field | Daggerheart's native currency model. |
sfrpg |
Starfinder 1e | credit / UPB (system.currency.credit, system.currency.upb) |
system.price |
Credit is the base unit. |
shadowrun5e |
Shadowrun 5e | nuyen (system.nuyen) |
system.technology.cost |
Damage from system.action.damage.value, armor from system.armor.value. |
projectfu |
Fabula Ultima (Project FU) | zenit (system.resources.zenit.value) |
system.cost.value |
Damage from system.damage.value, defense / shield from system.def.value. |
swade |
Savage Worlds Adventure Edition | single currency (system.details.currency) |
system.price |
SWADE's currency name is a configurable sheet field. Rename it once in the GlitchSmith Library currency dialog. Damage from system.damage (e.g. Str+d6), armor from system.armor, parry from system.parry. |
wfrp4e |
Warhammer Fantasy Roleplay 4e | WFRP coins (gold/silver/brass etc.) | Price field + denomination | Handles WFRP's multi-coin split. |
custom |
Unknown system fallback | None (define via library) | None (use Item Price Paths) | Works once you define currencies in the library and register Item Price Paths. |
glitchsmith-lib |
Library virtual currency adapter | Library-defined virtual currencies | — | Used automatically when only virtual currencies are involved. |
The damage / AC / weight values for each adapter come from standard system fields, so as long as the sheet is filled in normally the shop detail panel picks them up without extra configuration.
Stylish Shop does not define currencies. It pulls them from the GlitchSmith Library.
| Kind | Source | How it's chosen |
|---|---|---|
| Sheet currency (system preset) | A preset the library ships with for each system (e.g. dnd5e → gp/sp/cp/pp/ep). | Registered automatically when the system is recognized. Names and symbols can be renamed in the library dialog. |
| Virtual currency | Defined by the GM in the library's Currency Definitions dialog. | Shared across every GlitchSmith module. Stored in the library; the system sheet is not touched. |
Common renames:
Currency → campaign-appropriate name like Dollars, Gold Ducats, or Credits.Quick entry: Shop Settings > Currency & Pricing > Open Currency Definitions, or Game Settings > Module Settings > Stylish Shop > Currency Definitions. Both open the same library dialog.
To accept both in a single shop, turn on Allow GlitchSmith Library Virtual Currencies (useGlitchsmithLib) in Shop Settings > Currency & Pricing.
| Option state | Accepted currencies | Unit dropdown |
|---|---|---|
| Off (default) | Sheet currency only (e.g. D&D 5e's gp/sp/cp/pp/ep). | Sheet currencies only. |
| On | Sheet currency + library virtual currencies. | All units, mix freely per item. |
Virtual-priced items are paid out in virtual currency, sheet-priced items in sheet currency. A price that mixes the two (e.g. 5gp 10credit) is allowed in the string parser; the payment flow checks both balances.
To edit virtual currency balances across players, use Game Settings > Module Settings > Stylish Shop > Players' Wallets. Sheet currency is not edited there — that's an actor-sheet job.