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#
FV2PriceTableEntrymaps oneItemIdandCurrencyIdpair to buy and sell prices in minor units.FV2PriceTableRegionalOverrideadjusts one price entry for aRegionIdwith explicit buy/sell prices or a regional multiplier.FV2PriceTableQuoteRequestselects item, currency, region, buy/sell kind, quantity, and optional dynamic/regional pricing.FV2PriceTableQuotereturns base, regional, dynamic, unit, and total prices, plus flags showing whether regional or dynamic pricing was applied.FV2PriceTableValidationResultvalidates item/currency uniqueness, catalog currency ids, dynamic multiplier bounds, regional override references, and buy/sell price sanity.
Authoring Rules#
- A price table entry is unique by
ItemIdplusCurrencyId. - Buy and sell prices are stored in currency minor units.
- Sell price cannot exceed buy price when both buy and sell are enabled.
- Price tables validate
CurrencyIdvalues againstCurrencyDefinition.V2. - Dynamic pricing uses demand, supply, and event multipliers with optional min/max clamps.
- Regional pricing can either replace buy/sell prices directly or apply a regional multiplier.
- 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