Post by sneazy on Sept 12, 2018 14:31:37 GMT -5
The aging code does not act the way I expected so taking a closer look.
age_stat_table is in constants.c
code for age adjustment is with the rerolls/rolls in immortal.c
The table is representing percentages with whole numbers so 600 is 60%, 1000 is 100%, and 1200 is 120%.
The tables at first seem innocent enough - if you are in the 8/20th segment of your life you get 97.5% of your strength roll.
Sounds like it would not hurt but what is really happening is you will be penalized at least -1 if you are not 100% or better (only agility has the bonuses 120% and 110%).
Wisdom reaches 100% at the end of your char's life so you will always have a -1 age penalty to wisdom! Crazy.
Some numbers below. There is no age where you can avoid a penalty on at least one stat.
Seems very punishing to get such a large penalty for a 20 year old human.
age_stat_table is in constants.c
code for age adjustment is with the rerolls/rolls in immortal.c
The table is representing percentages with whole numbers so 600 is 60%, 1000 is 100%, and 1200 is 120%.
The tables at first seem innocent enough - if you are in the 8/20th segment of your life you get 97.5% of your strength roll.
Sounds like it would not hurt but what is really happening is you will be penalized at least -1 if you are not 100% or better (only agility has the bonuses 120% and 110%).
Wisdom reaches 100% at the end of your char's life so you will always have a -1 age penalty to wisdom! Crazy.
Some numbers below. There is no age where you can avoid a penalty on at least one stat.
Assume human max age 68
age str% end% agi% wis% (only 100% near death)
3 10-13 60 75 120
4 14-16 80 85 110
5 17-20 85 95 100
6 21-23 90 100 100
7 24-27 95 100 100
8 28-30 97.5 100 98.7
9 31-33 100 100 97.5
10 34-37 100 100 96.7
11 38-40 97.5 100 95
Extreme example: roll 18, if age penalty is 99.9%
Code goes:
18 x 999 = 17,982
17,982/1000 = 17.982 but it is put into an int so becomes 17
So even 99.9% gives a -1 penalty.
This example of running the 2016 code shows how the percent penalty hurts higher rolls more:
Mon Sep 10 09:53:09 2018: (point): [1003] Bopy (Bop): "point allanak"
Mon Sep 10 09:53:09 2018: Rerolling Bopy (Bop) - Human Warrior; Age 20
Mon Sep 10 09:53:09 2018: Attribute Range Roll Guild Mod Age Mod Final (Text)
Mon Sep 10 09:53:09 2018: strength 10-19 11 1 -2 10 (below average)
Mon Sep 10 09:53:09 2018: agility 10-19 14 0 0 14 (good)
Mon Sep 10 09:53:09 2018: wisdom 8-20 11 -1 -1 9 (below average)
Mon Sep 10 09:53:09 2018: endurance 10-19 14 1 -1 14 (good)
Mon Sep 10 10:00:47 2018: (reroll): [1004] Bopy (Bop): "reroll self"
Mon Sep 10 10:00:47 2018: Rerolling Bopy (Bop) - Human Warrior; Age 20
Mon Sep 10 10:00:47 2018: Attribute Range Roll Guild Mod Age Mod Final (Text)
Mon Sep 10 10:00:47 2018: strength 10-19 14 1 -3 12 (average)
Mon Sep 10 10:00:47 2018: agility 10-19 18 0 0 18 (exceptional)
Mon Sep 10 10:00:47 2018: wisdom 8-20 14 -1 -1 12 (above average)
Mon Sep 10 10:00:47 2018: endurance 10-19 11 1 -1 11 (below average)
strength 11 roll
11 x 850 = 9,350
9,340 / 1000 = 9.35 becomes 9. Add 1 for warrior mod and final is 10 strength (age penalty is -2).
strength 14 roll
14 x 850 = 11,900
11,900 / 1000 = 11.9 becomes 11. Add 1 for warrior mod and final is 12 strength (age penalty is -3).
Seems very punishing to get such a large penalty for a 20 year old human.