TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/angelballay/pes6_game_physics_mod/llms.txt
Use this file to discover all available pages before exploring further.
DistanceBoostTable is a 4 × 5 matrix — four distance brackets by five inertia bands — that provides additional boost on top of the flat base boost. Two independent tables are held in g_passConfig: lowBoostTable is applied when the pass EDI is strictly below ediThresholdLow (the LOW path), and midBoostTable is applied when EDI is at or above ediThresholdLow but still below ediThresholdIgnore (the MID path). Every cell in both tables is independently tunable, letting you dial in a different correction for, say, a short pass from a stationary ball versus a long first-time pass from a fast-moving ball.
Struct Definition
PassPowerConfig:
Distance Brackets
distSimple is the game’s discrete grid distance between passer and receiver positions. The four brackets collapse that grid into four boost tiers:
| Bracket field | distSimple range | Description |
|---|---|---|
dist0_2 | 0 – 2 | Very short pass — same zone or immediately adjacent. |
dist3_4 | 3 – 4 | Short-to-medium pass — one or two grid zones away. |
dist5_6 | 5 – 6 | Medium pass — meaningful distance but not a long ball. |
dist7_plus | 7 and above | Long pass — full switch, deep through ball, or clearance. |
Lookup Functions
TheGetLowDistanceExtra and GetMidDistanceExtra functions in PassPower.cpp select the correct cell using a simple cascade:
baseLowBoost or baseMidBoost) has already been applied. The table extra and the base boost are always summed; the table cannot reduce the base.
Default lowBoostTable
Applied when EDI <ediThresholdLow (0x5800 / 22528).
| Distance | BALL_ZERO | BALL_VERY_LOW | BALL_LOW_MID | BALL_CARRY | BALL_HIGH |
|---|---|---|---|---|---|
| 0–2 | 0 | 0 | 0 | 0 | 0 |
| 3–4 | 0x0100 (256) | 0x0200 (512) | 0x0180 (384) | 0x0100 (256) | 0x0180 (384) |
| 5–6 | 0x0280 (640) | 0x0480 (1152) | 0x0380 (896) | 0x0200 (512) | 0x0380 (896) |
| 7+ | 0x0700 (1792) | 0x0B00 (2816) | 0x0900 (2304) | 0x0500 (1280) | 0x0700 (1792) |
dist0_2is all zeros — very short passes in the LOW range only receivebaseLowBoostand any applicable rescue; they do not get an additional table extra.BALL_VERY_LOWcarries the highest extras across all distance brackets because a near-dead ball contributes the least to the kick and the game under-powers these passes the most.BALL_CARRYreceives the smallest non-zero extras; the ball’s own momentum is already contributing, so less correction is needed.
Default midBoostTable
Applied when EDI ≥ediThresholdLow (0x5800) and < ediThresholdIgnore (0x6400).
| Distance | BALL_ZERO | BALL_VERY_LOW | BALL_LOW_MID | BALL_CARRY | BALL_HIGH |
|---|---|---|---|---|---|
| 0–2 | 0 | 0 | 0 | 0 | 0 |
| 3–4 | 0 | 0 | 0 | 0 | 0 |
| 5–6 | 0x0100 (256) | 0x0200 (512) | 0x0180 (384) | 0x0100 (256) | 0x0180 (384) |
| 7+ | 0x0280 (640) | 0x0500 (1280) | 0x0400 (1024) | 0x0200 (512) | 0x0380 (896) |
- Both
dist0_2anddist3_4are entirely zero — mid-range EDI passes at short distance already have adequate power; the flatbaseMidBoostalone is sufficient. - The mid table extras are uniformly smaller than their
lowBoostTablecounterparts because mid-range passes are already stronger and need gentler correction. BALL_VERY_LOWatdist7_plusstill receives the largest mid-table extra (0x0500) for the same reason as in the low table.
Fine-Tune Pass
After all table boosts and rescue paths are applied,ApplyDistance3To6FineTune() adds an extra 5% of the total boost applied so far, but only for passes in the dist3_4 and dist5_6 brackets:
The fine-tune pass is applied after all table and rescue boosts but before the global
ediMaxCap clamp. It does not run on no-context passes, and it is intentionally excluded from dist0_2 (too short to need it) and dist7_plus (long passes are already given large table extras). The awkward-short rescue re-applies its awkwardShortPostEdiMax or awkwardShortRealLongPostEdiMax cap after this fine-tune to prevent the 5% from pushing EDI above the rescue’s own ceiling.Tuning Guide
Long passes still feel weak (dist7_plus)
Long passes still feel weak (dist7_plus)
Increase the
dist7_plus row values in lowBoostTable. Start with the BALL_ZERO and BALL_VERY_LOW columns, which have the most impact on dead-ball long passes. For example, raising BALL_VERY_LOW from 0x0B00 to 0x0D00 adds 512 more units to every low-EDI long pass from a near-stationary ball.BALL_VERY_LOW passes feel over-boosted
BALL_VERY_LOW passes feel over-boosted
Reduce the
BALL_VERY_LOW column (index 1) across the affected distance rows. If the problem is specifically on medium passes, lower dist5_6[1] in lowBoostTable first. If it affects short passes, check dist3_4[1] and also noContextLowBaseBoost[1] (which applies when no pass context is available).Short passes are too weak on the LOW path
Short passes are too weak on the LOW path
The
dist0_2 row is intentionally all zeros — very short passes only get baseLowBoost. To add a table extra for those passes, set non-zero values in lowBoostTable.dist0_2. Be conservative: dist0_2 covers passes where the receiver is nearly at the passer’s feet, so even small values have a large relative impact.MID path passes feel flat at all distances
MID path passes feel flat at all distances
Increase
baseMidBoost for a uniform lift, or increase individual rows in midBoostTable for distance-specific corrections. The mid table intentionally has zero entries for dist0_2 and dist3_4 — if you want mid-path short passes to receive extra, add small values to those rows.