View Single Post
  #28  
Old 09-26-2015, 12:30 PM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

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
Reply With Quote