I'm trying to replace the `CheckIncreaseSkill` equation in `zone\client.cpp( ~2268 )`. After a bit of testing, I found something that will only require changing one line. I don't like the coefficients for some skills. The solution I found mitigates a bit of my distaste for them.
To be replaced:
Code:
int32 Chance = 10 + chancemodi + ((252 - skillval) / 20);
I would like some assistance with properly writing the new equation. Below is my attempt to describe it:
Quote:
I had to graph this as a function of x - f(x) - otherwise I would have done it differently.
Instead of y = x^3 it needed to be x = y^3, I think. It's been many years since I've done any of this.
c = chancemodi
x = skillval
This is directly from the graphing program: (-root(3, 9.61x)1.5 + 22)
The best I can do to write it out: <-root(3, ((|15 + c|^1.1) * 0.4 + 1.75) * x ) * 1.5 + 22 + (2c/3)>
The parts <(-root(3,>, <(|15 + c|^1.1)> I do not know how to write out in C++
|
This is as far as I got:
Code:
int32 Chance = 22 + (chancemodi * 1.5) + 1.5 * (-root (3, (((abs(15 + chancemodi))^1.1 * 0.4 + 1.75) * skillval)))
or
int32 Chance = 22 + (chancemodi * 1.5) + 1.5 * (-cube root of (((abs(15 + chancemodi))^1.1) * 0.4 + 1.75) * skillval))
If you are interested in seeing it graphed with a few comparisons to current skill increase rates:
http://prntscr.com/8kpm36