Every damaging move in Pascal's Wager has an attack type and a defence type. The attack type picks which of the attacker's attack stats is used. The defence type picks which of the target's resistance stats reduces the hit. There are six of each, plus an "Other" value (0) that means none. This page lists them and explains how much a resistance actually protects you; the full calculation is on Damage formula#Step by step: an attack hit.
The six types#
| Id | Damage type | Attacker's stat (property id, UI name) | Target's resistance (property id, UI name) |
|---|---|---|---|
| 1 | Physical | PhysicDamage (1, "Attack") | PhysicResist (10, "Defence") |
| 2 | Fire | FireDamage (19, "Element Damage") | FireResist (23, "Element Res") |
| 3 | Poison | PoisonDamage (20, "Posion Damage", sic) | PoisonResist (24, "Poison Res") |
| 4 | Arcane | ArcaneDamage (21, "Arcane Damage") | ArcaneResist (25, "Arcane Res") |
| 5 | Dark | DarkDamage (22, "Shadow Damage") | DarkResist (26, "Shadow Res") |
| 6 | Pierce | PierceDamage (31, untranslated) | PierceResist (32, untranslated) |
| 0 | Other | none | none: defence is ignored |
The attack type and defence type are separate columns (AttackType, DefenceType) on every move. Almost always they match. The exception is moves with a Physical attack and an "Other" defence type, which ignore the target's defence completely: 201 enemy move rows and 36 move rows of the playable heroes (mostly guard, dodge and similar actions).
Who uses which type#
| Attacker | Physical | Fire | Poison | Arcane | Dark | Pierce |
|---|---|---|---|---|---|---|
| Terrence, Viola, Benita, Norwood, Jerold, Elena (all damaging moves) | all | — | — | — | — | — |
| The First Messenger (10006) | 27 rows | — | — | — | 39 rows | — |
| Enemies and bosses (all move rows) | 970 (201 of them with no defence type) | 80 | 34 | 32 | 92 | — |
| Thrown weapons | — | Fire Jar, Fireworks Barrel, Soul River Water, Ebbinghaus's essence | — | Stun Crystal | Blinding smoke (30007) | Throwing Knife, Huge Fang, Poison Awl, Wildfire (30003) |
The playable heroes' attack stats for Fire, Poison, Arcane, Dark and Pierce are all 0: no attribute raises them (HeroPropertyData has no weights for those properties on heroes 10001-10005 and 10007; only The First Messenger, 10006, gets Fire/Poison/Arcane/Dark attack, all from the same first attribute that drives its Physical attack). A thrown Fire Jar or Throwing Knife therefore deals exactly its flat power (Param1: 200 for the Fire Jar, 180 for the Throwing Knife, 250 for the Huge Fang and Poison Awl, 40 for the status-throwables). The defence step then reduces it.
How resistance reduces damage#
Resistance is not a percentage. The game compares the attack value with the resistance value:
| attack ÷ resistance | ≤ 1 | 2 | 3 | 5 | 10 | 20 |
|---|---|---|---|---|---|---|
| Damage taken (% of attack) | 30% | 36.7% | 43.3% | 56.7% | 90% | 95% |
(The formula is in Damage formula#3. Defence factor; a resistance of 0 lets the full attack through.)
What this means in practice:
- Against enemies, resistance matters most when your attack value is close to it. Once your attack is ten times their resistance, they barely resist at all.
- Your own resistance protects you most against weak hits. Against a huge hit (more than 10× your resistance) it barely helps, and it can never reduce a hit below 30%.
- Traps use a different formula:
1 − res / (res + 100), so 100 resistance halves trap damage regardless of the trap's power (Damage formula#Traps and hazards).
Typical resistance values#
Heroes at their starting attributes (computed from the attribute tables):
| Hero | Physical defence | Fire/Poison/Arcane/Dark | Pierce |
|---|---|---|---|
| Terrence | 63 | 50 | 260 |
| Viola | 39 | 54 | 252 |
| Benita | 43 | 58 | 297 |
| Norwood | 59 | 32 | 247 |
| Jerold | 52 | 55 | 285 |
| Elena | 86 | 63 | 412 |
Enemies: on the first journey, most enemies have elemental resistances equal to their Physical defence. Their Pierce resistance is typically about 5.6 times their Physical defence (median of all placements), which is why throwing knives fall off so quickly. Notable exceptions (first-cycle values at each placement's own listed level, so not all are level 1):
| Enemy (model) | Physical | Fire | Poison | Arcane | Dark | Note |
|---|---|---|---|---|---|---|
| Poison Fiend (20005, 毒怪) | 47 | 47 | 265 | 47 | 47 | Poison-resistant |
| Fire-Lighter (20036, 点火人) | 92 | 515 | 103 | 103 | 103 | Fire-resistant |
| Two-Faced Man (20037, 双面人) | 117 | 655 | 170 | 170 | 170 | Fire-resistant |
| Fused Sprenger (20034) | 127 | 147 | 88 | 147 | 147 | Weaker to poison |
| Jenny of Exilium (20022) | 106 | 73 | 123 | 123 | 123 | Weaker to fire |
| Edith (20027) | 3680 | 1550 | 1550 | 1550 | 1550 | Physical defence far above everything else |
| Proxy Higgins (20040) | 156 | 180 | 180 | 180 | 180 | Stage 2, the real fight (306 in stage 3). The 10,155 of stage 1 is only the walking intro, see Proxy Higgins#Stats |
| The First Fallen: Handel (20053), Guderian the Guardian (20054) | ~200 | ~420 | ~420 | ~420 | ~420 | Elemental resistance double the physical one |
Because heroes deal only Physical damage with their weapons, the elemental columns mostly matter for thrown weapons. Edith's very high Physical number (3,680) means most hits sit at the 30% floor until your attack catches up. Proxy Higgins is not like that: his 10,155 applies only to the stage 1 walk, and in the fight his defence is 156 (stage 2) or 306 (stage 3).
Ways to change resistances#
- Trophy properties: Defence (10), Element Res (23, which only protects against Fire), Poison, Arcane and Shadow Res (24-26). See Random trophy properties.
- Conditional trophies (only while you are the one being hit):
| Trigger | Physical defence | Elemental resistances (Fire/Poison/Arcane/Dark) |
|---|---|---|
| Health full | Strong Spirit Casket (+450%) | Seal of the Pious (+450%) |
| Health ≤ 50% | Brass Ring of Handel (+7.5%), The Rose (+15%) | logic type 126 (used only by a cut test trophy) |
| Abnormal sanity | Poison Arrowleaf, Pagan Icon, Executioner's Gloves (+12.5%) | Mist Bracer, Stag Rings (+12.5%) |
- Lunatic states (see Abnormal state#Effects by hero and Lunatic state): Norwood loses 50% of his Fire/Poison/Arcane/Dark resistance; Jerold loses 50% of his Dark resistance. Traps halve Norwood's lowered elemental resistance a second time (25% of normal; see Damage formula).
- Marcion Puzzle Ball makes you completely immune to Pierce-type hits (the hit is cancelled before any calculation) and to Pierce-type status effects. No enemy move in the skill table is Pierce-type, so in practice it protects against Pierce-type statuses such as the Marcion poison mist its description mentions (inferred).
Hidden mechanics#
- "Element Res" is really Fire resistance. The stat the menus call "Element Res" (and "Element Damage" for attack), named "Elemental resistance" (元素抗性) on trophy properties, is property 23. The damage code reads property 23 only for Fire damage, and Poison, Arcane and Dark each have their own property (24-26). The conditional trophies above, on the other hand, really do cover all four elements.
- Attack type and defence type are independent. A move can use one stat for attack and another resistance for defence. In the shipped data they only differ for "Physical attack / no defence" moves, which ignore the target's defence. 201 enemy move rows do this.
- No trophy can give you an elemental or Pierce attack. Random trophy properties only roll Attack, crit, HP, defence, the four resistances and the race bonuses (types 1, 2, 4, 5, 8, 10, 11, 15, 23-26, 35-37), never properties 19-22 or 31. Thrown weapons therefore always hit for their flat power, and race bonuses never apply to them.
- Resistance is read from the current maximum, rounded up. The defence value includes buffs, debuffs and lunatic-state changes, is rounded up and can't go below 0. When you are hit, the conditional trophies then multiply it.
- Status damage ignores resistances. Bleed, Poison, Burn and other damage-over-time effects deal fixed damage and never go through this calculation. See Status effects#Damage over time formula.
Sources#
reference/lua_src/luascript/structdata/ms_skilldata.lua:9-26(DefenceType, AttackType enums),structdata/ms_herodata.lua:18-61(property ids); UI names from GameTextUI_PLAYERINFO_PROPERTY_TYPEreference/lua_src/luascript/logic/playervalue/animalbase_value.lua:1714-1766(attack stat per type),:1800-1840(resistance per type),:2136-2142(PierceMuteki),logic/status/statusbase.lua:250-290(PierceMuteki for statuses),:2244-2295(conditional trophy defences),:2301-2318(ratio formula),:1946(trap formula),:410-444(lunatic resistance changes)reference/lua_src/gamedata/playerdefine/hero10004_define.lua:53,hero10005_define.lua:167es_skilldata.lua: AttackType/DefenceType counts over all 1958 rows (re-counted in build/wiki/scripts/verify_damage/v3.py and v4.py)es_skilldata.lua: the 237 rows with AttackType 1 and DefenceType 0 split into 201 enemy and 36 hero rows (build/wiki/pass/scripts/combat/c6.py)es_weapondata.luarows 30001-30013; English names from GameTextData.WeaponDataes_heropropertydata.lua(no weights for properties 19-22, 31 on heroes 10001-10007)es_trophydata.luaLogicType 115/118/122/123/126/127/128 rows (60028, 60062, 60065, 60081, 60086, 67008-67010, 67014, 67015, 67073);es_trophyrandomproperty.luaPropertyType 10, 23-26es_trophyrandomproperty.luaPropertyType set (scripts/refute_damage/check3.py);animalbase_value.lua:302-330(GetPropertyMax),:1925-1935(trap halving for Norwood)ES_StoryMonsterProperty_id 437 to 439 (story 6, monster 6001: grade 2 zeros, grade 1 +9999 to Defence, Poise and Resilience, grade 3 +150), _id 255 (Edith, all zeros).- Enemy resistances:
es_storymonster.lua+es_enemyattributedata.lua+es_storymonsterproperty.lua(computed in build/wiki/data/combat/enemy_stats.json, journey 1 values)