DIVINITY: ORIGINAL SIN ENHANCED EDITION — PERCEPTION SYSTEM RESEARCH SUMMARY
HOW PERCEPTION DETECTION WORKS
Each hidden object stores two key values: MinPerception (the minimum perception stat required to reveal it) and MinDistance (the maximum distance in engine units at which detection can occur). Both conditions must be met simultaneously for the object to reveal itself.
The game passively checks every party member's perception every 0.2 seconds. As long as one party member meets the required perception threshold and is close enough to the object, it will be revealed automatically.
NOTE: Sight almost certainly affects MinDistance, I just have not rummaged through the game files yet to 100% confirm how the two interact on a game engine level. However, this is far less important than knowing the MinPerception values.
THE THREE-DIFFICULTY THRESHOLD SYSTEM
The game files contain three separate perception variables per object: MinPerception, MinPerceptionCasual, and MinPerceptionHardcore. These map to Classic, Explorer, and Tactician/Honor Mode, respectively. However, this system was never fully implemented — across the entire game, only a handful of objects in The Prison Garden of Stone King (Hiberheim) have non-zero values in the Casual and Hardcore variables. Every other object in the game has those variables set to 0, meaning the runtime formula is what actually governs the difficulty scaling for perception checks for 99% of the game.
DIFFICULTY AND PERCEPTION THRESHOLDS
Difficulty does not modify the player's perception stat directly. Instead, I believe the engine applies a modifier to the effective threshold (MinPerception) at runtime. Through in-game testing, I have theorized the following formula:
Explorer: Classic threshold − 2 (MinPerception - 2) with a floor of 5 perception***
The minimum required perception on any difficulty appears to be 5 — confirmed through testing with [Perception Debuff Potions]. Objects with a Classic threshold of 6 or lower will therefore require 5 perception on Explorer rather than the formula result. (If MinPerception for a hidden object = 6, then on Explorer difficulty 6 - 2 = 4, but the hidden object still requires a perception of 5 to uncover — giving evidence that there may be a perception floor of 5)
Classic: Raw MinPerception value from game files
Tactician / Honor Mode: Classic threshold + 2 (MinPerception + 2)
The Tactician modifier may occasionally be +1 rather than +2 for certain objects based on the raw data found in The Prison Garden of Stone King (Hiberheim), but +2 seems to be the dominant pattern; I have not tested enough hidden objects on Tactician to guarantee this.
WHERE THE DATA IS STORED
Hidden object data is stored in LSB/LSF binary files inside the game's PAK archives. After unpacking with LSLib and converting to LSX format, the data is found in two locations per area:
Mods\Main\Levels\[AreaName]\Items\ — level instance items
Mods\Main\Globals\[AreaName]\Items\ — persistent global items
The MinPerception values are NOT stored in Public\Main\RootTemplates or Public\Main\Stats. The difficulty modifier logic is hardcoded in the game engine, I believe, because I have yet been able to find any raw data files containing a perception/difficulty formula.
COORDINATE SYSTEM
Engine world coordinates map almost 1:1 to in-game coordinates:
Engine X → In-game X
Engine Z → In-game Y
Engine Y is the vertical height axis
This was confirmed with two data points: the Tiny Pearl at engine (287, 84) mapping to in-game (291, 82), and the Hatchet at engine (250, 65) mapping to in-game (250, 67). Small discrepancies of a few units are normal due to camera positioning when reading coordinates while in-game.
NOTABLE OUTLIERS
MinPerception = 50 in Cyseal at (453, 140) — almost certainly a developer/scripted object, unreachable through normal gameplay
MinPerception = 0 — always visible regardless of perception stat, found across many areas
MinPerception = 1 — effectively always visible with minimum perception, found in Cyseal
WHY DOES ANY OF THIS MATTER?
The wiki for this game is a mess — DOS Classic and Enhanced Edition information are tangled together throughout the site, leaving it barebones and unreliable at best. The situation is even worse when it comes to information on hidden objects and items; scattered across Steam, Reddit, and Larian forum posts are vague, anecdotal answers along the lines of "I found the treasure and had X perception... I think." with nothing offering precise, reproducible data. My goal is to compile a comprehensive list of EVERY hidden object, item, and trap found in the game and document the exact perception level required to detect each one, across all three difficulty settings. However, this is a tedious undertaking, and before I jump in, I need feedback.
After cataloguing 500+ (there still might be more) hidden objects, items, and traps found in the game files, I can hypothesize the highest perception requirement needed on each difficulty:
Explorer: 13
Classic: 15
Tactician/Honor Mode: 17
In your experience playing the game, does this ring true, and does my theorized perception formula seem accurate, or do I need to dig deeper into the game files still?