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.

What an Adapter Does

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.

Built-in Adapters at a Glance

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.

Where Currency Definitions Come From

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:

Quick entry: Shop Settings > Currency & Pricing > Open Currency Definitions, or Game Settings > Module Settings > Stylish Shop > Currency Definitions. Both open the same library dialog.

Mixing Sheet Currencies and Library Virtual Currencies

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.

Smartphone Widget Banking