Stats

Stats have a variety of effects on a variety of systems. They are set on character creation then can be augmented occasionally through training.

Physical Strength
Contributes linearly to damage if over 17:

damage = (weapon damage) + min(0, physical strength - 17)

Mental Strength
Contributes to Magic gained from Training:

magic bonus = min(0, floor((mental strength-13)/2))

Constitution
Contributes to Life gained from training:

life bonus = min(0, floor((constitution-10)/2))

Also contributes to chance to gain a stat from Training:

chance% = (level*3) + (constitution-10) %

Charisma
Affects shopping and training prices.

Shop Prices
Curiously, a higher charisma counter-intuitively increases weapon and armor shop prices (maybe a bug):

cost = cost * (1 + ((charisma-10)/100))

This means a charisma of:
 * 10: no effect on cost
 * 20: multiply costs by 1.1 (increases!)
 * 3: multiply costs by 0.93 (decreases!)

Training Costs
A higher charisma reduces training prices:

cost = cost * (1 - ((charisma-10)/100))

This means a charisma of:
 * 10: no effect on cost
 * 20: multiply costs by 0.9
 * 3: multiply costs by 1.07

Character Creation
During character creation, the game runs through the following algorithm:
 * 1) Generate a number between 3 and 13 for each stat
 * 2) Apply Race adjustments (only for Elf and Corintir):
 * 3) For Elf:
 * 4) Add 2 to mental strength
 * 5) Add 1 to charisma
 * 6) Remove 1 from physical strength
 * 7) Remove 2 from constitution
 * 8) For Corintir
 * 9) Add 2 to physical strength
 * 10) Add 1 to constitution
 * 11) Remove 1 from dexterity
 * 12) Remove 2 from charisma
 * 13) Sum up all the stats. If the total is greater than or equal to 74 (average of 12.333 in each stat) then proceed to the next step. Otherwise, keep performing the following adjustments until the sum is greater than 67:
 * 14) Pick a random stat, add a number between 1 and 2 to it
 * 15) Pick another stat at random, add a number between 1 and 3 to it
 * 16) Clamp each stat between 3 and 20