Pascal's Wager Wiki

Leveling in Pascal's Wager does not use experience from kills. Enemies and the world drop bone items, and you spend them in the Dedication tab of an altar to raise your Altar Level. Every level up grants one attribute point (see Attributes) and nothing else. The level is the same for every hero, and it caps at 99.

Overview#

  • Kills never give experience directly. The experience bar only moves when you "dedicate" bones at an altar.
  • Four bone items carry experience: Bone Fragment, Big Bone, Fractured Body and Filthy Core.
  • The game calls the level "Altar Level" (see the level cap message and the New Journey confirmation text). Save slots record the level of the default hero (Terrence).
  • Talents are not bought with levels. They use Immundus stones (see Talents and Immundus).

Experience items#

ItemExperience per itemSell price (Bone Fragments)Stack capDedication slot appears after first drop of (inferred)
Bone Fragment25not sellable (it is the currency)9,999itself
Big Bone20079,999itself and Bone Fragment
Fractured Body1,250459,999it and every smaller bone
Filthy Core7,5002609,999it and every smaller bone

Three other items (Anthozoan Bones, Dominator Crystal, Spectre Mushroom) sit in the same code list but carry 0 experience and are not shown in the Dedication tab, which lists only the four above. Spectre Mushroom is the Dark Mist (maze) coin type. See Currencies.

The Dedication tab shows a bone only after its quest flag is set. The four flags (quest ids 12019 to 12022) are labelled in the data as the first drop of each bone in order, so each slot appears after you first receive that bone. That a bigger bone also unlocks the smaller ones is inferred, not confirmed.

Bone Fragments double as the main shop currency, so every purchase you make is also experience you did not gain. See Merchants.

The experience curve#

The table HeroExp lists 500 rows, but only rows 1 to 99 matter because the cap is 99. Each row holds the experience needed to climb into that level, and your experience bar resets to 0 at every level up.

Level upExperience neededTotal so farBone FragmentsBig BonesFractured BodiesFilthy Cores
1 -> 2125125510.10.02
2 -> 32754001120.20.04
3 -> 44508501830.40.06
4 -> 56501,5002640.50.09
9 -> 101,6507,7506691.30.22
19 -> 203,65035,250146192.90.49
29 -> 305,65082,750226294.50.75
49 -> 509,650237,750386497.71.29
69 -> 7013,650472,7505466910.91.82
89 -> 9017,650787,7507068914.12.35
98 -> 9919,450955,6007789815.62.59

The "items" columns show how many of that bone alone would pay for that single level up.

Formula (derived from the table): the cost of leaving level L is 125 at L=1, 275 at L=2, and 200 x L - 150 for every level from 3 to 98. The running total to reach level L is 100 x L^2 - 250 x L + 250 for L of 3 or more. Reaching level 99 costs 955,600 experience, which is about 38,200 Bone Fragments, 4,780 Big Bones, 765 Fractured Bodies or 128 Filthy Cores.

Spending bones (Dedication)#

You spend bones in the Dedication tab of an altar; the pause menu greys the tab out. The steps and the hold-to-repeat speeds (which depend on the frame-rate setting) are in Dedication#Doing it and Dedication#Hold to repeat. What matters for the level:

  • One press spends one item. Excess experience carries over: one Filthy Core can cross several levels, and the leftover stays on the bar.
  • Each level crossed adds one attribute point to each hero and shows the attribute-point notice (Attributes#Spending points).
  • A hold tick spends up to six items (at most two Filthy Cores). Only at level 98 does the game cap the count to the items needed to finish level 99 (playerinfoctrl.lua:7592-7602); at lower levels a tick that crosses the cap throws away the surplus (inferred).

How experience is gained#

SourceDetails
Enemy dropsEach enemy points to a drop group for its area, and one weighted row is rolled (Drops and loot#How a group is rolled). The four numbered columns in each row are the four journeys (journey 4 and above use the last one, see New Game Plus loot and shops). In journey 1, 26 groups can give Bone Fragments (1 to 50 per drop) and 19 can give Big Bones (up to 8); in journey 4, 24 groups give up to 80 Bone Fragments and 23 give Big Bones.
World pickupsOne-off items placed in the map: in journey 1 there are 11 Bone Fragment piles totalling 1,076, 58 Big Bone pickups totalling 126, 16 Fractured Body pickups totalling 41 and 5 Filthy Core pickups totalling 5.
SellingSpare bones, trophies and other items sell for Bone Fragments at merchants. A Big Bone sells for 7 fragments.
DoublingThe Potion of Wealth (Consumables) doubles every bone pickup for 10 minutes (600 s).
TalentsThe drop code lets talents of the "drop rate" kind add 5 or 10 weight points (ProbAdd1 / ProbAdd2) to rows of a chosen item type. The Lucky Madness talents in the talent report name trophies, materials and elixirs, not bones (inferred). See Talents.

The fixed world pickups of journey 1 add up to about 140,850 experience (1,076 x 25 + 126 x 200 + 41 x 1,250 + 5 x 7,500), roughly a seventh of the 955,600 needed for level 99. The rest has to come from enemy drops, shop trades and later loops, which have larger pickup totals (journey 4: 165 Big Bones, 103 Fractured Bodies, 8 Filthy Cores). Enemies come back whenever you rest at an altar.

The drop groups that name Fractured Bodies (3 groups: 40099, 50099, 60099) and Filthy Cores (2 groups: 70099, 90099) have a quantity of 0 in every journey and a weight of 100, and the drop code discards rolls of 0, so they give nothing. No other table points at these groups. Those two bones come from world pickups.

Death and lost bones#

When your whole party is defeated the game takes a random 25% to 35% of your Bone Fragments only, rounded down, with a 30% chance of one extra when a fraction was left. Big Bones, Fractured Bodies and Filthy Cores are never lost. The rule, a worked table and everything else a wipe does are in Death and respawn#When the whole team falls. The expected loss is about 30% of your stack, and the death screen shows the number lost.

What matters for experience:

  • Unless you wear the World-Devouring Promise trophy, the lost Bone Fragments are gone. With it, a Heggie-guarded pile holding exactly what you lost is created and walking into it returns the whole amount (Death and respawn#The Heggie stash). Pickups of the pile are not doubled by the Potion of Wealth.
  • The pile is created at the hero's footprint position, which the movement code refreshes every frame while the hero stands on the ground and is not dying or falling (logic/player/animalbase.lua:15189-15194). That is the last spot where you stood before the fatal hit, so the trophy text ("where you stand") is right; the code does not show how the position is used when the respawn point is in another area (unverified).
  • Heggie piles are session-only: the save routine skips them, so quitting the game removes the pile. A second death before you retrieve a pile deletes the old one and creates a new one, if you had any fragments left to lose.

Other ways to lose Bone Fragments#

Blowing the Broken Bronze Whistle (return to the nearest Carriage or to the Mist Camp in the maze) runs the same loss routine, but no pile is created, so those fragments are simply spent. The prompt says "some" Bone Fragments; the actual amount is again 25 to 35%, so the whistle is expensive late in the game. The loss is skipped in Arcade mode. The Bone Whistle works differently: it is used up (one whistle per trip, shop price field 50) and takes no fragments. See Consumables.

Hidden mechanics#

  • One shared level. Spending bones levels up every hero in the save, including heroes you have not unlocked yet. The code adds the same experience to every entry in the hero list. Heroes cannot be levelled separately, so choosing a different team never changes your level. Attribute points are tracked per hero, but each hero earns the same number.
  • Experience resets on each level. The bar always runs from 0 to the next row of HeroExp. Experience is never cumulative inside the save data.
  • Attribute respec. Resetting attributes (see Attributes) sets every hero's free points to level minus 1 and clears all spent points. It runs through a dialog option that consumes one Starry Honey Wine. The dialog is the Gravedigger's in Katib (Gravedigger). Merchants in several areas sell the wine for Big Bones, and the price rises with each journey (40, 60, 80, 100 Big Bones in Edith, TransactionData 41001; 30 to 140 elsewhere, see Chapter merchants). One Dominator Crystal merchant (TransactionData 10039) sells it for 8 crystals from journey 2 (Key items). The code resets every hero, although the prompt says "Character".
  • Per-attribute cap. Attribute values cannot exceed 99 even if you have spare points.
  • Dead rows. The experience table has 500 rows, but the game refuses levels above 99. Row 100 holds 0 experience (row 101 holds 19,850, continuing the line), which looks like a data slip; it is unreachable because the game stops at level 99.
  • Health Potion refill. Dying or resting also refills the Health Potion charges of every hero to their maximum (Terrence 3, the other playable heroes 2, plus any talent bonus; HeroData HpAddNum). See Altars#Recovery (resting).
  • Both heroes must fall. The penalty only applies when no other hero in your party is alive. If your second hero survives, the game swaps to them and takes nothing (Death and respawn#When one hero falls).
  • New Game Plus keeps levels. The restart routine removes only items flagged "GamePlusRemove" and resets story progress. Hero levels, experience, attribute points and bones are kept, and the confirm text lists "Achieved Altar Level" among what you keep. See New Game Plus#What carries over and what is removed.
  • Challenge and Arcade presets. Starting a challenge hero (challenge menu) or an Arcade hero calls a routine that sets every hero's level to the preset HeroLevel of that challenge or Arcade hero, gives the chosen hero the preset attribute list and (unless told not to) maxes that hero's talents. Whether this preset replaces your main save or lives in a separate run is not shown in the code I read (unverified). See Obsession Challenge and Arcade mode.
  • Level-up tutorial. The first time you reach level 2 a special tutorial pops up.

Trivia#

  • The code contains a branch for a demo build that hands out stacks of bones (20 Big Bones, 10 Fractured Bodies and 5 Filthy Cores, plus an item the code names ItemID_ExpAdd) when a story loads. It is not active in the Steam version.
  • Experience items cannot be "used" from the bag. Their only use is the Dedication tab.

Sources#

  • luascript/structdata/ms_heroexp.lua:5-25 (LvMax = 500, per-level lookup) and gamedata/structdata/exportdata/es_heroexp.lua, table HeroExp rows 1-500 (kit/tables/HeroExp.jsonl). Row 100 has Exp 0.
  • luascript/structdata/ms_herodata.lua:15-17 (AttributeMax 7, AttributeValueMax 99, HeroLevelMax 99).
  • luascript/ui/controller/playerinfoctrl.lua:10547-10612 (UseHeroExpItem, level-up loop, tutorial at level 2), :7564-7620 (Dedication confirm, repeat caps, Filthy Core capped at 2 per tick, the level 98 clamp at :7592-7602), :9710-9760 (hold-to-repeat), :7868-7900 (which bones are listed, quest ids 12019-12022).
  • luascript/structdata/fs_herolist.lua:7-16, 146-150 (all enabled heroes exist from the start) and structdata/fs_herodata.lua:143-154, 471-476.
  • luascript/structdata/ms_itemdata.lua:121-160 (exp item list, ExpItemMax 4, death drop 0.25 / 0.35 / 0.3, TeleportUseExpItem 26001).
  • Table ItemData: rows for item ids 40001-40004 (Param1 25, 200, 1250, 7500; Price 7, 45, 260), 20011 (Potion of Wealth, StatusId1 10069), 20029 (Starry Honey Wine), 26001, 26002. Table StatusData id 10069 (LogicType 113, Time 600) and 10094 (LogicType 119, Time 300, maze coins).
  • luascript/controller/controllerstorymode.lua:1839-1895 (HostPlayerDead, HostPlayerDeadDrop), :4595-4612 (double pickup with ExpAdd), :1944-2047 (HostPlayerReborn, Heggie pile spawn), :10212-10230 (Transfer / whistle), :9172 (ResetAttribute action), :5481-5484 (ResetAllAttributePoints calls FS_HeroList:RestAllHeroAttribute, structdata/fs_herolist.lua:151-155, so every hero is reset).
  • luascript/controller/controllermain.lua:3211-3223 (IsSecondaryHostPlayerDead) and :2095-2112 (Restart for New Game Plus); structdata/fs_itemlist.lua:137-150.
  • luascript/structdata/fs_savestory.lua:266-282, 2310, 2344-2370 (Heggie pile not saved, kept through reborn) and :1962-1980 (loop selects drop slot).
  • Table TrophyData, the four rows with LogicType 131 GetDeathDropItem (ItemId 60091, 60291, 60391, 60491); table ItemDropData row DropId 99998 (Heggie replacement item 20008).
  • Table StoryQuest QuestId 12019-12022 (dedication slot flags), 52601, 55045-55047 (reset attributes: check wine, delete wine, animation), table StoryDialog ids 51310, 52310, 53310; table TransactionData ids 10039, 41001, 51001, 61001, 71001, 93002 (wine prices; Price_N is chosen by loop in structdata/ms_transactiondata.lua:33).
  • luascript/ui/controller/exchangectrl.lua:470-482, 738-752, 896-898 (selling gives Bone Fragments, sell price = item Price).
  • Tables ItemDropData and StoryItem (fixed pickups and drop groups), analysed in build/wiki/scripts/leveling/drops2.py and pickups.py; results in build/wiki/data/leveling/. Drop roll: controllerstorymode.lua:5355-5410; loop columns: ms_storyitemdrop.lua:33-45.
  • GameText: UI_LEVEL_MAX, UI_CONFIRM_RESTART_GAME, UI_TELEPORT_USE_EXP_ITEM, UI_TELEPORT_USE_EXP_ITEM_Maze, UI_PLAYERINFO_LACK_OF_EXPITEM, UI_RESET_ATTRIBUTE_POINT.
  • Second-pass check: HeroExp rows (the cost to leave level L is row L+1 because GetHeroRequireExp(level + 1) is used, playerinfoctrl.lua:10574), item values, drop-group and pickup counts, death penalty maths, hold-to-repeat thresholds, potion counts (table HeroData HpAddNum), fs_userdata.lua:70-106 and fs_herolist.lua:156-170 (challenge preset).
  • luascript/logic/player/animalbase.lua:15189-15194: moveFootprintPosition is set every frame while the hero stands on ground that is not too steep and is not dying, falling, flying, on a stair or on an elevator; controllerstorymode.lua:2033-2038 creates the Heggie pile at GetFootprintPos() after the respawn move. Where the position lands when the respawn is in another area is not traced (unverified).
  • Cross-checks: kit/tables/StoryDialog / StoryQuest for the Gravedigger respec (see Gravedigger), TransactionData 41001 (Edith, 40 / 60 / 80 / 100 Big Bones) and 10039 (8 Dominator Crystals, item 40021), ItemData 40001-40004 (NumMax 9999).
  • Inferred: that selling bones is allowed for items with MainType Exp and Price above -1 (condition at exchangectrl.lua:752); that bone doubling does not apply to Heggie piles (first branch of the pickup code skips it).