Pascal's Wager Wiki

Merchants are the characters who trade items for the game's bone Currencies. Most of them are small Black Sprites standing beside the path in each chapter; the Carriage has its own vendor, Viola and Norwood run private collections, Benita blesses potions instead of selling, and the Dark Mist safe house has one more Black Sprite. All shop data lives in one table with 218 rows grouped into 22 stock lists, and every row holds four versions of itself, one for each New Game Plus journey. This page explains how shops work and what the game never tells you about stock, prices and selling; the stock itself is split over Chapter merchants, Carriage supplies, Viola's collection, Norwood's sundries and Safe house shop.

The vendors#

VendorWhereStock listPays withPage
Black Sprites, 1 to 3 per chapterHeggem, Adamina, Exilium, Edith, Katib, Blessedland, Karst Cave1040, 1042, 2009, 3003, 3004, 4096, 4097, 5116-5118, 6093, 6094, 7056, 7057Bone Fragment, Big Bone, Fractured Body, Filthy CoreChapter merchants
Black Sprites (DLC)Ichthyosauria9135-9138Bone Fragment, Big Bone, Fractured BodyChapter merchants
Carriage vendorThe Carriage99601Bone Fragment, Big BoneCarriage supplies
ViolaCarriage and Karst Cave1902Dominator CrystalViola's collection
NorwoodCarriage and Karst Cave1903Anthozoan BonesNorwood's sundries
BenitaCarriage and Karst Cavenone (blessing service)Bone Fragmentsee Blessing below
Safe house Black SpriteDark Mist safe house499001Spectre MushroomSafe house shop

The monster id of a stall is also its stock list id: row MonsterId 1040 is "the stall of the sprite numbered 1040". The only deviation is Katib, where list 5118 is sold by the sprite numbered 5127 (see Chapter merchants).

Opening a shop#

You talk to the character, pick "Trade" in the dialog menu, and the game opens an Exchange panel. The kind of panel is set by the TransactionType of the dialog:

TypePanelUsed byTabs
1NormalBlack Sprites, Carriage vendorBuy and Sell
2ViolaViolaBuy and Sell (sell fixed-stat trophies)
3NorwoodNorwoodBuy and Sell (sell fixed-stat trophies)
4BenitaBenitaBlessing only
5Secretno dialog in the data uses itBuy list only, no tabs
6MazeSafe house Black SpriteBuy and Sell (sell random-property trophies)

Viola and Norwood also show their own currency counter, and the first time you open each of their panels a short tutorial pops up.

Buying#

A row is shown in a shop when all of these hold:

  • Its stock list (MonsterId) is the one named by the dialog you opened.
  • Its item in the current journey is not 0. Some rows are empty in journey 1 and filled later (Viola's four consumables).
  • In Story mode, ALL quests in its ShowQuestId list are complete and NONE of the quests in its HideQuestId list is (one completed hide quest is enough to hide the row). Quest lists are separated by ;. Outside Story mode this check is skipped.
  • If it has DLCSwitch 1 you must own the Dark Mist DLC.
  • Its remaining stock is above 0 (stock -1 means unlimited).

Rows are listed in TransactionId order, not by price. When you press Buy, the game checks, in this order:

  1. Do you have enough of the payment currency for price x quantity?
  2. Would your bag exceed the item's stack limit? (Elixirs stack to 10, materials to 99, throwables to 10, and so on.) You get a "reached the maximum" message.
  3. For trophies (and Dream Chests), is your trophy bag full? The cap is 600 trophies.

Only then are the item and the price exchanged and the stock reduced.

Selling#

Every shop's second tab is the sell tab. Selling is always paid in Bone Fragments (Spectre Mushrooms in the safe house), at a flat price taken from the item's Price column. There are no haggling or journey effects on selling.

PanelWhat can be soldPayout
NormalMaterials (item main type 7) and the bone currencies (main type 4) that have a price: crafting scraps, herbs, spores and so on at 1 to 10 each; Big Bone 7; Fractured Body 45; Filthy Core 260. Formulas, documents, trophy boxes, consumables, Immundus and stones (Raw Stone, Blackwater parts) are not listed.Bone Fragments x price
Viola, NorwoodFixed-stat trophies with a price (76 trophy rows, base price 4 to 40)Bone Fragments, ceil(Price x (1 + (Level - 1) x 0.1))
MazeRandom-property trophies (246 rows, base price 10 / 12 / 14 / 16 / 18 / 20 for levels 1 to 6)Spectre Mushrooms, same formula

The trophy formula uses the level of your own copy, so an enhanced trophy sells for more. A locked trophy cannot be sold. Trophies sold at Viola's or Norwood's are not paid in their own currencies: you can never earn Dominator Crystals or Anthozoan Bones by selling.

The gap between buying and selling is wide. The Carriage vendor sells Heggem Mushroom for 8 Bone Fragments in journey 1 but buys it back for 2, and Big Bone, which the second stalls take as currency, is worth only 7 Bone Fragments on the sell tab.

Blessing (Benita)#

Benita does not sell anything. Her panel starts on the sell tab with the label "Bless" and lists every blessable consumable in your bag (12 elixirs and powders, 15, 25 or 30 Bone Fragments each). The Bone Fragments are always spent; each potion succeeds with a 40% chance (70% / 100% with her talent Elixir Research, which counts even when she is not in your party), and a failure returns the plain potion. Twenty successes on one potion, or a 5% jackpot roll in a batch with a success, hand over that potion's Formula. The costs, the jackpot rule and the maths are owned by Blessing; the formulas by Alchemy#Where the formulas really come from.

Stock, restocking and New Game Plus#

Each row has four sets of numbers (ItemId_1..4, Price_1..4, Num_1..4, IsRefresh_1..4, ShowQuestId_1..4, HideQuestId_1..4). The game picks the column for the save's journey, and journeys above 4 reuse column 4. Arcade mode always uses column 1. Prices rise with every journey (median x1.5, x2.2, x3.25 in journeys 2, 3, 4; the exact steps are hand-set per row, see Chapter merchants#How prices and stock change per journey). Some rows also change the item itself: Throwing Knife becomes Huge Fang, Chipped Immundus becomes Blackwater Debris, and trophies sold are one level higher. See Chapter merchants for the full per-row tables.

What happens to stock you have bought:

  • Counters only exist after your first purchase. The save keeps a counter per row id (transaction_num) that is created when you buy something from a limited row. Rows with stock -1 are unlimited; their counter is written (as a negative number) but never read.
  • Restock. Only rows with IsRefresh 1 refill, and only back to their full stock. The only refillable rows in the data are Elixir of Sanity (stalls 1040, 2009, 3003, 4096, 5117, 6093, 7056) and Elixir of Hallucination (3003, 4096, 5117, 6093, 7056), 5 each.
  • When the refill happens. The refill is part of the player-respawn routine. It runs when you rest at an altar (the "worshipping rest" command), when the whole party is dead and you respawn, and when a non-new save is loaded into a stage. Dying therefore restocks your elixirs as well. (The load case is inferred from where the routine is called.)
  • New Game Plus. When a new journey (or an Arcade run) starts, all counters of rows with NotReset 0 are deleted, which restores full stock for everything you bought. Rows with NotReset 1 keep their counter: all ten alchemy Formulas sold by chapter stalls, Viola's six trophies, the Dark Mist DLC items at the Carriage vendor and everything in the safe house.

Hidden mechanics#

  • No discounts exist. The Katib, Karst Cave and Ichthyosauria sprites claim they can offer "a good discount", but the prices are plain table numbers. The Exchange panel code uses the row's price as it is, with no discount, talent or difficulty term in it; the only shop-related talent effect I found is Benita's blessing chance.
  • A stall can run out on the first visit. Immundus is limited per row (1 to 5 per stall). Buy everything in a chapter while you are there if you plan to play only one journey; the stock returns with the next New Game Plus journey, at higher prices.
  • Dying and resting are free restocks. Because the respawn routine refills elixirs, you can empty a stall of Sanity and Hallucination elixirs, rest, and buy 5 more.
  • Formula rows are forever. Once bought, a formula (such as Powder of Defence or Wildfire) is never offered again, even in later journeys. The same goes for Viola's six trophies.
  • Contracts move Norwood and Viola's shelves. Three Broken Slates and three Ancient Relics in the story unlock new rows. Those quests are permanent, so Norwood's tier carries over into New Game Plus.
  • The whale oil is DLC-only and boss-gated. See Carriage supplies#hm-the-whale-oils-are-only-for-dlc-owners.
  • Stall copies don't share stock. Ichthyosauria's three identical stalls (9136-9138) each have their own counters. The two Heggem stalls and the pairs of stalls in the other chapters are different lists.
  • A gap in the Ichthyosauria rows. Row id 93008 does not exist in the data (ids run 93001 to 93011 with that one gap), so the DLC stall 9135 has ten rows, not eleven.

Trivia#

  • The same Black Sprite model also appears as a treasure-carrying enemy that runs away from the player (see the enemy data for hero 20003).
  • The panel type "Secret" (5) exists in the code but no dialog in the data uses it.

Sources#

  • ES_TransactionData (gamedata/structdata/exportdata/es_transactiondata.lua, 218 rows; row ids 10001 to 4990013; first row at line 29, last row 4990013 at line 7407). MonsterId = stock list, NotReset, DLCSwitch, and the _1.._4 journey columns.
  • MS_TransactionData (structdata/ms_transactiondata.lua:8-62): Init, SetLoop, IsNeedRefresh, GetNumMax, IsNeedReset.
  • FS_SaveStory (structdata/fs_savestory.lua): SetLoop and GetLogicLoop 1956-1978, Restart 1252 (calls RestartTransaction at 1304), ArcadeRestart 1333 (1394), RestartTransaction / GetTransactionNum / RefreshTransactionNum 3419-3448, save field transaction_num 432-436.
  • Restock trigger: ControllerStoryMode:HostPlayerReborn (controller/controllerstorymode.lua:1966-1991, RefreshTransactionNum at 1991), called from lines 1222, 1516 and 1961; rest and death calls in logic/player/animalbase.lua:13068-13078 and 13495-13505.
  • Exchange panel: ui/controller/exchangectrl.lua types 11-26, Open 592-697, buy click 225-290, bless click 322-440, LoadSellItem 726-960, LoadBlessItem 963+, LoadBuyItem 1139-1366, GetOnSellItemVirtualList 1521-1551, CheckDLCSwitch and IsMonsterPermit 1553-1580, GetBuyItemRemainNum 1583-1597. Dialog opener ui/controller/dialogctrl.lua:1280-1300.
  • Constants: MS_ItemData.MainType 47-56, ItemID_ExpAddList 121-129, TrophyCapacity 157, BlessProbability 161, BlessGetFormulaTimes 162 (structdata/ms_itemdata.lua); BattleData.GameLoopMax = 4 (logic/battle/battledata.lua:45); IapData.GetEnterMaze (sdk/iapdata.lua:445-453).
  • ES_StoryDialog Type 6 rows (41 of them) and their TransactionType; ES_StoryMonster HeroId 20003 rows; ES_ItemData (Price, IsBless, BlessPrice, Param1), ES_TrophyData (Price, RandomProperty, Level); tutorial texts 1043, 1065, 1994-1996.
Categories:Items and shops