Correct builder item level scaling
This commit is contained in:
@@ -79,6 +79,12 @@ rawMinimum(level) = hiddenMinimum × gearMultiplier(level)
|
||||
rawMaximum(level) = hiddenMaximum × gearMultiplier(level)
|
||||
```
|
||||
|
||||
ISAC gear `base_health` and `base_armor` endpoints are these hidden,
|
||||
level-independent bases. Builder base survivability therefore uses the direct
|
||||
multiplier form above rather than treating those endpoints as observations at
|
||||
the row's legacy reference level. Rolled Attributes and shared core profiles
|
||||
retain their separately defined reference semantics.
|
||||
|
||||
Given an unrounded range recorded at a known reference level:
|
||||
|
||||
```text
|
||||
@@ -150,6 +156,16 @@ targetRaw =
|
||||
/ weaponMultiplier(referenceLevel)
|
||||
```
|
||||
|
||||
Per-weapon damage endpoints in ISAC are hidden base ranges, not observations at
|
||||
the shared core profile's reference level. Calculate weapon damage directly:
|
||||
|
||||
```text
|
||||
damageRaw(level) = storedDamageBase × weaponMultiplier(level)
|
||||
```
|
||||
|
||||
Firepower, Toughness, and Engineering remain shared reference-level
|
||||
observations and continue to use the ratio form.
|
||||
|
||||
SHD.build stores the reference level associated with each weapon-tier range.
|
||||
Builder calculations use that recorded observation level in the ratio above.
|
||||
The curve's level-1 origin does not imply that every stored range was observed
|
||||
|
||||
Reference in New Issue
Block a user