Pascal's Wager Wiki

Blind (designer label 致盲, status 10077) is the status applied by the Blinding Smoke throwable. It has no effect of its own: it is a marker that the regular enemy AI checks. A blinded enemy forgets who it was fighting and cannot pick a new target until the status runs out. It is one of the Status effects and is applied by one of the throwables.

Overview#

PropertyValue
Status ID10077 (AnimalBase_Define.StatusIdBlind)
Duration7 s
Build-up100% per hit (instant)
Shown on HUDNo (hidden)
Re-applyingResets the 7 s timer (IsRefresh 1)
Debuff flag0 (see Hidden mechanics)

Blinding Smoke (item 30007, WeaponData row 7) is a thrown bullet. It flies up to 30 units, you can carry at most 10, and a hit also deals 12 toughness and 10 weakness damage to the target (see Poise and stagger).

What blindness does to enemies#

  1. It drops your aggro at once. The first time the AI sees the Blind status on itself, it goes straight into its "target lost" branch, as though you had escaped. Then it starts heading back toward its spawn area (inferred from the branch, which sets the "away from spawn point" position state).
  2. It cannot find a new target. While blind, the shared target search returns nothing before it ever checks sight or hearing. Sprinting or attacking nearby will not pull a blind enemy back for the 7 s. There is one exception: the search skips its sight and hearing checks entirely (and so never reaches the blind test) for enemies whose behaviour mode is Attack or BossRoomMode, and for bosses during a boss fight. Such an enemy re-acquires its target immediately.
  3. Then everything returns to normal. When the status ends, the enemy detects targets normally again.

Who it does not work on#

  • Bosses and boss-room enemies (inferred). The boss behaviour tree (StoryModelBoss) never checks for Blind; it is used for bosses and for any enemy in BossRoomMode. Only the regular-enemy and team behaviour trees do. A boss that is already fighting you keeps its target.
  • Sanity monsters. Hallucination enemies that appear when your sanity is low pick their player target before the blindness check, so the smoke never stops them. See Sanity.
  • Heroes. No player-side code reads status 10077, so even if Blind were applied to a hero it would do nothing (inferred).

Lured and other markers in the same family#

Blind shares family 111 with two other marker statuses and with the trophy Death Ward. A new member of the family replaces whichever one is active.

IDNameDurationSourceWhat the code does with it
10077Blind7 sBlinding SmokeRegular enemies lose and cannot reacquire their target
10105Lured (Soul River water, 浸灵河水)4.5 sTrap 10007 (TrapData row 7)Regular enemies, never bosses, walk to the lure point
10106Ebbinghaus mark (艾宾浩斯圣露)1 sEbbinghaus's Essence (item 30011) and the chant move of The First Fallen: Handel (SkillData 1810)Ends Handel's frenzy mode
10025Death Ward (免死)until usedTrophies, re-applied at altar restsGives a hero a death ward (Shields and protection#Death wards)

Because they share a family, throwing Blinding Smoke at an enemy that is walking to a Soul River lure cancels the lure, and the reverse is also true. The Death Ward only sits on heroes and Blind only matters on regular enemies, so the two never meet in practice (inferred).

Hidden mechanics#

  • Blind is not flagged as a debuff (IsDebuffer 0), so Debuff Immunity does not stop it from being applied.
  • The AI reacts to the start of blindness only. It keeps an internal "was blind" flag, so re-throwing smoke on an enemy that is still blind only extends the timer. It does not trigger a second retreat.
  • A blinded enemy that is mid-attack still finishes that attack. The lose-target check waits until the enemy is not using a skill (inferred from the IsSkilling check on the same branch).

Sources#

  • StatusData rows with StatusId 10077, 10105, 10106, 10025 (es_statusdata.lua): Time, StackAddPer, IsShow, IsRefresh, IsDebuffer, StatusType 111 (10025 is a death ward, LogicType 110, in the same family).
  • WeaponData row 7 (es_weapondata.lua, ItemId 30007): StatusId1 10077, FlyDistance 30, NumMax 10, ToughnessSub 12, WeaknessSub 10. WeaponData row 10 (ItemId 30011): StatusId1 10106. TrapData row 7: StatusId1 10105. SkillData row 1810 (HeroId 20053): StatusId1 10106.
  • gamedata/playerdefine/animalbase_define.lua:222-227: status id constants.
  • luascript/logic/ai/brainstorymode.lua:150-161 (tree choice), 277-305, 448, 1176-1186, 1337: blind and lure checks in the enemy/team trees; StoryModelBoss begins at line 2162 and has no blind check.
  • luascript/common/gameai.lua:612-670: target search; isNoNeedFind shortcut (Attack / BossRoomMode / boss mode) and the sanity-monster shortcut both return a target before the blind test at line 668.
  • luascript/logic/player/hero20053.lua:207: Handel's frenzy cleared by 10106.
  • luascript/logic/player/animalbase.lua:5248-5351: family replacement in AddStatus.
Categories:Status effects