Not secret. It's based on one of the oldest mechanics in UO: tying stats to skills.
Quote:STAT_STR=80 // You will tend toward these stat vals if you use this skill a lot.
BONUS_STATS=10 // What percent of the skill success is based on stat levels. = 10%
BONUS_STR=80 // % of each stat toward success at skill
So STAT_* values are the rate at which using the skill increases the relevant stat.
BONUS_ values are the bonus to the skill you get from the relevant stat. Despite the text saying 'percent' these seem to be weights that just happened to use a 100 scale.
"SKILL_STAT" does not appear in later versions of Sphere. BONUS_STAT does and is the total bonus from all stats put together.
Code:
BONUS_STR=40
BONUS_DEX=60
BONUS_INT=0
BONUS_STATS=50
This means the skill gets up to 5.0% bonus**, derived more from Dex than Str.
When you click "Show Real Values" the client GUI hides the bonus from stats described here.
Now the one problem with the whole system, you might have noticed there is no function for a scripter to pull the current 'unreal' value including bonuses from stats.
I wrote this to do so, now it was written around 55i or something so you may need to alter it but it shows you the basic formula.
Code:
[FUNCTION SKILLMOD]
FLOAT.SKILLMODCALC=<fval (<STR>*<serv.SKILL.<ARGS>.bonus_str>)+(<DEX>*<serv.SKILL.<ARGS>.bonus_dex>)+(<INT>*<serv.SKILL.<ARGS>.bonus_int>)>
FLOAT.SKILLMODCALC *= <serv.SKILL.<ARGS>.bonus_stats>
FLOAT.SKILLMODCALC /= 1000
RETURN <eval <FLOAT.SKILLMODCALC>/1000000>
**Rather if 100 were the actual maximum for each stat you would get up to a 5.0% bonus. If a stat can go higher the maximum will increase proportionately.