Yes, correct.
The Act Parts (=Level) is always horizontal and the actual value is always the leftmost column.
For Bodybuilding and Willpower, you can see that the allowed values are between -10 and +10.
You can look into the file Data\Public\(Main or Shared)\Stats\Generated\Structure\Modifiers.txt and see that when put as boost on a weapon or armor, Willpower e.g. is a "Penalty Qualifier". You can look up what that is in Data\Public\(Main or Shared)\Stats\Generated\Structure\Base\ValueLists.txt.
A Penalty Qualifiers can have values between -10 and 10 and the special value "None" which I ignored for the spreadsheet (because it speaks for itself ;-)
If you use values outside the ones defined, the outcome is definitely not what you want. I tried that once but don't remember what was the result exactly but it's not what one might think.
You also find the defined "Act Parts" in ValueList.txt which I extended to 30 for the data collection because otherwise, it would not have been doable. The "Act Part" goes from 0 through 20 by default and is what makes the game's 'soft cap'. That means that you will not get any drops above item level 20 although you can level above that. Only with crafting, items with levels above 20 can be made.
(The reason I did not extend it above 25 in the XC_Bags mod is that for each additional Act Part, stats [and links] for all weapons, armors and shields have to be added.)
I have never experimented with extending other values ... like the above mentioned "Penalty Qualifier".
Since your work is a save game editor for the regular game and not some mod, all values above Act Part 20 are more theoretical than really of importance. What's important is, that you should stay within the bounds defined by ValueLists.txt when editing stuff.
(Players have to live with the fact that they can never really have an item with e.g. +3 to Willpower. I don't know if that was possible in a savegame because there, an item has already dropped. But most likely, the original value is stored there and the result is calculated again on load.)
If I'd be good enough in math, I'd have figured out the formulas Larian uses to calculate the final stats by looking at the numbers. But I'm not ;-) All I know is that the 'Act Part' and the 'Value' must be in them and that it's most likely linear stuff not some non linear functions because that would take too much computing power to calculate. (Calculating e.g. 'SIN(x) + COS(y)' takes more cpu cycles than something simple like '1 / (x + y)' and program speed is always important.)
Last edited by FrauBlake; 10/05/18 01:30 PM.