Fighting Game · Guides & deep dives

V2 Price Table System

prices in minor units.

3sections1 minread

On this page

PriceTable.V2 defines reusable item pricing for economy systems. It is currency-aware, supports buy and sell prices per item, can apply dynamic pricing modifiers, and can override or scale prices for regional catalogs.

Runtime Surface#

  • FV2PriceTableEntry maps one ItemId and CurrencyId pair to buy and sell prices in minor units.
  • FV2PriceTableRegionalOverride adjusts one price entry for a RegionId with explicit buy/sell prices or a regional multiplier.
  • FV2PriceTableQuoteRequest selects item, currency, region, buy/sell kind, quantity, and optional dynamic/regional pricing.
  • FV2PriceTableQuote returns base, regional, dynamic, unit, and total prices, plus flags showing whether regional or dynamic pricing was applied.
  • FV2PriceTableValidationResult validates item/currency uniqueness, catalog currency ids, dynamic multiplier bounds, regional override references, and buy/sell price sanity.

Authoring Rules#

  1. A price table entry is unique by ItemId plus CurrencyId.
  2. Buy and sell prices are stored in currency minor units.
  3. Sell price cannot exceed buy price when both buy and sell are enabled.
  4. Price tables validate CurrencyId values against CurrencyDefinition.V2.
  5. Dynamic pricing uses demand, supply, and event multipliers with optional min/max clamps.
  6. Regional pricing can either replace buy/sell prices directly or apply a regional multiplier.
  7. Quotes multiply resolved unit price by quantity after regional and dynamic adjustments.

Validation Commands#

Run these checks when touching price table behavior:

bash
python3 V2/ue/Tools/check-v2-price-table.py
python3 V2/ue/Tools/check-v2-currency-definition.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/Economy/PriceTable_V2_Contract.json
python3 -m json.tool V2/ue/Build/Horde/v2-buildgraph-job.json
python3 V2/tools/validate-v2-docs.py