11-02-2016, 11:18 PM
The demo doesn't have meditation, Swunk, otherwise I would likely take data directly from it.
I've known that mana regen is slower here than on UO Second Age, and it's genuinely what I consider to be accurate.
The formula we use for meditation is this:
This formula is known to be accurate, and here is what the output looks like (sorry about the ugly formatting):
Now keep in mind that game "ticks" happen every 0.25s, which means meditation is checked at (in seconds)
0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5
100 med, 90 int gives a rate of 1.11s. So what do we do with this value? It's closer to 1.0s so we should round it down, right? Well, no. UO generally doesn't round values, it just executes the action on the next game tick. This is the case for everything else, why shouldn't it be the case for meditation?
The difference seems to be that UO Second Age is rounding their values down, whereas we're not rounding ours at all. So what we get is:
0.25s: do nothing
0.5s: do nothing
0.75s: do nothing
1.0s: UOSA rounded down, so add 1 mana here.
1.11s: There is no tick here, but UOLL is ready to add the mana on the next tick
1.25s: UOLL adds 1 mana
This means on UOLL the only way to reach the maximum threshold for mana regen is to have 100str, 100 int. It also means you should have at least 91 intelligence if you don't want to drop down a med bracket when you are feebleminded.
I've known that mana regen is slower here than on UO Second Age, and it's genuinely what I consider to be accurate.
The formula we use for meditation is this:
Code:
double medPoints = (from.Int + from.Skills[SkillName.Meditation].Value)*0.5;
double rate = 7.0 - (239*medPoints/2400) + (19*medPoints*medPoints/48000);
This formula is known to be accurate, and here is what the output looks like (sorry about the ugly formatting):
Now keep in mind that game "ticks" happen every 0.25s, which means meditation is checked at (in seconds)
0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5
100 med, 90 int gives a rate of 1.11s. So what do we do with this value? It's closer to 1.0s so we should round it down, right? Well, no. UO generally doesn't round values, it just executes the action on the next game tick. This is the case for everything else, why shouldn't it be the case for meditation?
The difference seems to be that UO Second Age is rounding their values down, whereas we're not rounding ours at all. So what we get is:
0.25s: do nothing
0.5s: do nothing
0.75s: do nothing
1.0s: UOSA rounded down, so add 1 mana here.
1.11s: There is no tick here, but UOLL is ready to add the mana on the next tick
1.25s: UOLL adds 1 mana
This means on UOLL the only way to reach the maximum threshold for mana regen is to have 100str, 100 int. It also means you should have at least 91 intelligence if you don't want to drop down a med bracket when you are feebleminded.