Pascal's Wager Wiki

Stun is the game's crowd-control status: while it is active the victim is locked in a "freeze" hit pose and cannot act. In the base game only enemies, one trick and one trap inflict it on the player; no hero move stuns, and the Stun Crystal throwable does not stun either (it only deals heavy weakness damage). There are six stun rows in the status table. They differ only in duration, how fast they build up, and whether they show an icon. It is one of the Status effects.

Overview#

  • Effect. Each frame the stun is active, the code puts the victim into the Freeze hit state. This only happens if the victim is not already in a different hit reaction, or if it is already frozen. The stun does no damage of its own.
  • Build-up. Most stuns need several hits. Each hit adds a fixed percentage to a hidden gauge, and the stun starts when the gauge reaches 100%. Until then the gauge drains a fixed amount per second.
  • Duration. It counts from the moment the gauge fills (the timer actually starts 0.1 s later, so a 5 s stun lasts about 5.1 s). Hitting the victim again with the same stun while it is active resets the timer to full.
  • Icon. Two variants are hidden (IsShow 0): they freeze you without showing a status icon.

Stun variants#

IDDesigner labelDurationBuild-up per hitDrainShownInflicted by
10010无表现通用晕眩 (generic stun, no visuals)5 s100% (one hit)7%/shiddenTwo-Faced Man (双面人, model 20037): both gaze attacks (SkillData 1461, 1462). Also trick 10031, the small colossus ground burst (Traps and tricks)
10028无表现通用晕眩7 s100% (one hit)7%/shiddenFused Sprenger: transformation wail (SkillData 1397); Terror Obsession (model 20045): its stun move (SkillData 1677)
10032敲钟哥通用晕眩1 (bell man stun 1)5 s40% (3 hits)8%/s after 0.1 syesFrollo: bell strike (SkillData 1292)
10033敲钟哥通用晕眩25 s30% (4 hits)8%/s after 0.1 syesFrollo: four-hit bell combo, bell throws, upward and sweeping swings, jump attacks; the Noblewoman enemy (女贵族, model 20025): staff light/heavy attacks, normal and transformed (20 SkillData rows in total)
10081敲钟哥通用晕眩35 s100% (one hit)8%/s after 0.1 syesFrollo: swung-bell toll (SkillData 1284)
10112敲钟哥通用晕眩2 / 黑精王眩晕 (Black Sprite King stun)5 s70% (2 hits)8%/s after 0.1 syesTrap 10008 (TrapData row 8), used in the Treasure Thieves fight (the Black Sprite King)

The "hits to stun" column assumes the hits land before the gauge drains. With an 8%/s drain after a 0.1 s delay, a single 30% hit fades after about 3.9 s, so Frollo's follow-up hit must land inside that window to stack.

Hidden mechanics#

  • Blocking does not stop stun build-up. When a hit lands, the game skips its status only if the hit was blocked or parried and the status row has GuardEnable set. Every stun has GuardEnable = 0. So guarding Frollo's bell combo still fills your stun gauge, even though it stops the damage. See Guarding, Parry and counter and the general rule in Status effects#Resistance and immunity.
  • No resistance. The gauge gain is the raw StackAddPer value. No stat, resistance or difficulty setting reduces it (Status effects#Resistance and immunity).
  • Getting hit breaks the stun. When a victim leaves the Freeze state for any other hit reaction (a flinch, knockback, launch and so on), the game clears every stun on it at once. A follow-up attack therefore ends your stun early, though you still take that attack.
  • One stun at a time. All six stuns are in the same family (StatusType 109). A stun with a different ID replaces the current one. If your current stun is already active, the new stun's build-up does not keep you frozen: the active stun is removed and the new one starts as an empty gauge with that hit's build-up. For example, Frollo's toll (10081) freezes you, and if a regular swing (10033) then lands, the freeze ends and you are left with a 30% gauge (the swing's hit reaction would end the stun anyway).
  • A half-built gauge carries over. If a different stun in the same family lands while the current one is still only a gauge (not yet frozen), the old gauge is moved onto the new stun and the new hit's build-up is added to it (AddStatus keeps GetStack() of the replaced status). Only an active stun loses its gauge (activation zeroes it).
  • Repeat stuns reset the timer. The same stun landing again while active resets its duration to full (IsRefresh 1). The trap stun 10112 is the exception: it has ExcludeOther 1, so further applications are ignored while it is active.
  • The drain delay counts from the first hit. The short delay before the gauge starts draining (0.1 s for Frollo's stuns) is set when the gauge is created. Later hits do not restart it.
  • Debuff rules apply. Stuns are flagged as debuffs. While Slightly Sweet Roots' Debuff Immunity is active (10068, 30 s; 10123, 300 s for the + version), no stun can be applied, and eating the roots removes a current stun. See Shields and protection#Other protection.
  • Invincibility does not cancel a stun. Norwood's 1.5 s counter invincibility blocks damage but does not touch status logic (inferred: the stun code never checks it; compare Status effects).

Sources#

  • reference/lua_src/gamedata/structdata/exportdata/es_statusdata.lua, StatusData rows with StatusId 10010, 10028, 10032, 10033, 10081, 10112 (Time, StackAddPer, StackSubPer, StackSubDelay, IsRefresh, ExcludeOther, IsDebuffer, IsShow, StatusType, GuardEnable).
  • SkillData rows 1461, 1462 (HeroId 20037), 1397 (20034), 1677 (20045), 1292, 1275-1285 (20028), 1183, 1184, 1188, 1189 (20025): StatusId1. TrapData row 8 (TrapId 10008): StatusId1 10112. TrickData 10031 (StatusId1 10010, Damage_1..4 900-1575); WeaponData ItemId 30006 (Stun Crystal, StatusId1 0, WeaknessSub 50).
  • luascript/logic/status/status105.lua:11-19: forces the Freeze hit state.
  • luascript/logic/status/statusbase.lua:5-52, 81-99, 209-232, 461-496: drain delay, refresh, build-up and expiry.
  • luascript/logic/player/animalbase.lua:5248-5351 (AddStatus: family replacement, ExcludeOther, debuff immunity), 7506-7527 (statuses on hit; blocked hits keep the status unless GuardEnable > 0), 7920-7934 (OnHitReset: leaving Freeze clears all stuns), 5597-5621 (debuff cleanse).
Categories:Status effects