Pascal's Wager Wiki

Combat in Pascal's Wager is a third-person action system built around stamina-limited attacks, guarding, parrying and dodging. Underneath, a hidden poise / weakness system decides when enemies stagger and can be executed. Every hit drains several gauges at once, not just health. This page is the hub: it explains what one hit does and links to the detailed pages.

Combat pages#

TopicWhat it covers
Damage formula#Step by step: an attack hitThe exact damage calculation, step by step, with worked examples
Damage types and resistancesPhysical, Fire, Poison, Arcane, Dark and Pierce, and how resistance works
Critical hitsCrit rate, crit damage, crit resistance, guaranteed crits
Poise and staggerPoise (toughness): when attacks interrupt and stagger
Weakness and executionThe weakness gauge, the weakened state and executions
BackstabBack attacks and backstabs
Parry and counterCounter attacks, parries ("hit-hand"), projectile reflection and beat-backs
GuardingBlocking, guard values and guard break
StaminaStamina costs and regeneration
RageRage gain and rage skills
DodgingDodges and invincibility
DifficultyCasual and Normal in the story, plus Hard in Arcade
Status effectsBleed, Poison, Burn, Stun and the other statuses
SanityThe sanity gauge and the two stages it causes: Abnormal state (70% or less) and Lunatic state (50% or less)
Character stats / AttributesWhere Attack, Defence, Crit and the other stats come from
Shields and protectionSkill shields and trophy shields, which absorb damage before health

Combat resources#

Gauge (property id)Who has itDrained byPage
Health (5)EveryoneDamageDamage formula
Stamina (11, internally "Energy")Heroes and enemiesAttacks, dodges, blocking hitsStamina
Rage (16)HeroesRage skills; gained by landing hitsRage
Power (12)HeroesSome hero skills; gained by hitsCharacter stats
Poise (13, "Toughness")EveryoneEach hit's poise damagePoise and stagger
Weakness (17)EveryoneEach hit's weakness damage; empty means weakened and executableWeakness and execution
Sanity (8)HeroesCertain enemy moves, Marred enemies, dealing damageSanity

What a single hit does#

Each move row in SkillData carries one value per gauge. When a hit lands (and is not fully blocked), all of them are applied together:

EffectColumnTerrence light attack 1First club enemy, light attack 1
Health damageBaseRate / Attack80% of attack + 61100% of attack + 133
Poise damage to the targetToughnessSub1251
Weakness damage to the targetWeaknessSub1027
Guard break valueGuardBreak4050
Rage gained by the attackerRageAdd30
Power gained by the attackerPowerAdd00
Sanity removed from the targetSanSub00
Rage the target gains, with the right talentRageAddHit27
Power the target gains, with the right talentPowerAddHit414

Then the hit gets one of these outcomes (details on the linked pages):

OutcomeDamagePoise damageNotes
Normal hitFullFullSee Damage formula
Critical hit×(1 + Crit damage)FullCritical hits
Weak-point hit×2 (model dependent)×(1 + WeakToughnessMultiplier)Weakness damage also ×(1 + WeakWeaknessMultiplier)
Hit from behind×1.25 or ×2 (move dependent)FullGoes through guards; Backstab
Blocked from the frontReduced or 0, by guard vs guard break0 (weakness damage still applies)Costs the blocker stamina; Guarding#How a blocked hit is resolved
Parried / deflected from the frontReduced or 00Parry and counter

Hidden mechanics#

  • Every hit drains your sanity a little. In story mode (not in the Dark Forest), landing damage on an enemy costs you sanity in proportion to the share of its health you remove, scaled by a per-enemy SanDamage (4 for the first enemies, so about 4 sanity for a full kill). The rule is in Sanity#Damage costs sanity (campaign); the "Devout" talent that cuts it by 15% is in Sanity talents and trophies.
  • Blocked and parried hits do no poise damage from the front, but they still deal their full weakness damage, so blocking a long string wears down the weakness gauge. Only hits from behind keep their poise damage through a guard. A failed block sets the defender's poise to 0 straight away (see Guarding#How a blocked hit is resolved).
  • Your companions are untouchable in the story. Outside the maze, team members other than your own hero lose no health or sanity to any hit (see Damage formula#9. Rounding, shields and death).
  • Long-range hits lose their side effects too. Moves with a distance falloff (such as Viola's shots, 3 to 15 m) scale rage gain, power gain, poise, weakness and sanity damage by the same falloff factor. The curve and the minimum hit beyond the maximum range are in Damage formula#3. Defence factor; the Rage side is in Rage.
  • Rage on low health is 30%, not 50%. Trophies such as Raw Gem Amulet, Brass Mask and Flamel's Ring (logic type 125, +40%, +55% or +70% by tier) raise rage gain when your health is at or below 30%. Their internal test name says 50%, but the code and the English description both use 30%. See Rage.
  • Being hit only fills your Rage with a talent. The damage code gives the target RageAddHit rage only if the target has a "rage when hit" talent such as Terrence's "Revenge" (+50% of RageAddHit; the talent has one level only; see Rage). Likewise, power when hit needs Norwood's "Absorbing Griminess" (inferred: no other code path was found that grants it).
  • "Loneliness Whisper" halves, it does not roll. Its description talks about a reduced chance of losing sanity. The code simply halves the sanity damage (SanSub) of every hit you take while you carry it.
  • Combo hits. From the 4th consecutive hit on the same target (combo counter above 3), talents of the "combo weakness" type add extra weakness damage. See Weakness and execution#What drains Resilience.
  • Boss time challenge "perfect" runs. In the boss time-challenge mode (Obsession Challenge; inferred), any health damage to you (from enemies or traps) marks the run as not perfect.

Sources#

  • HeroTalent hero 10001 TalentPos 413 (Revenge: StoneLevel 2, one stone, Value 500, ValueAdd 500): one level only.
  • reference/lua_src/luascript/logic/player/animalbase.lua:16697-16792 (CalculateDamage, sanity drain on dealing damage, boss challenge, CalculateTrickDamage, CalculateStatusDamage)
  • reference/lua_src/luascript/logic/playervalue/animalbase_value.lua:2109-2200 (per-hit values, distance falloff), :2376-2390 (no poise damage when blocked, combo weakness), :2496-2607 (back/block/parry outcomes), :2709-2799 (rage, power and sanity effects, HPHalfRageAdd at 30%, ResistSubSan halving)
  • reference/lua_src/luascript/structdata/ms_itemdata.lua and es_trophydata.lua rows 67007-69512 (LogicParam 400, 550 and 700 for the three tiers); logic/battle/battledata.lua:18-22 (difficulty ids; GameText UI_COMMON_GAMEMODE_HARDCORE = "Hard")
  • animalbase_value.lua:976-990 (team members immune in story mode), :2406-2425 (weakness through blocks); logic/player/animalbase.lua:7465-7485 (failed block zeroes poise)
  • reference/lua_src/gamedata/playerdefine/animalbase_define.lua:73 (SkillTouchHitComboMin = 3)
  • reference/lua_src/luascript/structdata/ms_herodata.lua:18-61 (property ids), structdata/ms_herotalent.lua (types 5, 14, 26, 92, 94)
  • es_skilldata.lua rows 10001/1/1 and 20001/1/1 (RageAdd, PowerAdd, SanSub, ToughnessSub, WeaknessSub, RageAddHit, PowerAddHit, GuardBreak)
  • es_herotalent.lua rows 11402/12402/13402/14402/15402 (Devout), 11405 (Revenge), 14206 (Absorbing Griminess)
  • es_trophydata.lua rows 60027 (Loneliness Whisper), 67007, 67011, 67012 (LogicType 125, LogicParam 400), 67072; GameTextData.TrophyData 67007, 60027
  • es_storymonster.lua SanDamage column (StoryId 1, StoryMonsterId 1001 = 4)
Categories:Combat