Skill Statistics

Deviant

Deviant

Frost Gate Guardian

Join Date: Jul 2005

Austin, Tx

The Furies

Me/Mo

While a lot of information is available on skills, one peice of information that is lacking is the affect each attribute level has on a skill. What I'm trying to accomplish is to first define all of the affected attributes from 0-16, and then determine the formula associated to get that result. As this information is compiled, it will be made available to everyone. In particular, my hope is that it will be useful to sites hosting skill databases, and programmers of applications such as character builders.

If you are interested in helping, I'm looking for two types of volunteers:

1) People who can gather the stats for each attribute level on a skill.
2) People who can help determine the formula used.

If you would like to participate, please use to following link to see where we are at, and what information we need. Please send any information to [email protected] in plain text or rich text formats, or post them on this thread.

How to calculate a formula:

Primarily, we're looking for people who are good at math, but to a degree it requries playing around with numbers.

1) Determine the change. First, you need to determine what the changed values are for each attribute point. In this example, I'll use Chaos Storm. One of the values that is affected is as follows from 0-12:

5, 6, 6, 7, 7, 8, 9, 9 , 10, 10, 11, 12, 12

It changes for each point:

-> 1 0 1 0 1 1 0 1 0 1 1 0

This represents an increase of one point every 3 out of 5 times.

2) Determining the formula. I know it's 3/5, so I make it simple:

$n / 5 = 1/5 and * 3 for the 3/1 of it.

3) More formula information. Rounding, ceiling and floor values. There are three ways you can handle the fractions. You can either round it (.5 and higher is up), or you can use ceiling and floor value. Ceiling values mean if there is any fraction it is automatically rounded up. Floor values are for all fractions rounded down (dropped basically).

When to use each:

* In this example, I used round, because the increase follows the numbers:

round(($n / 5) * 3, 0)

The ", 0" is used to make it round to a full number (as opposed to .1 or .01).

* Take the floor and ceiling functions. In this example the progression goes:

10, 15, 21, 26, 32, 37, 43, 48 , 54, 59, 65, 70, 76

-> 5 6 5 6 5 6 5 6 5 6

So, it always increase 5, and then every other time it increases an additional point. So, what I need to do is automatically multiple $n by 5, but then take $n / 2 and only round up on the evens.

floor($n * 5 + ($n / 2))

If the first value would have been a 6 increase instead of 5, I would have used ceiling.

Elementalist
Mesmer
Monk
Necromancer
Ranger
Warrior

Calimar

Frost Gate Guardian

Join Date: Jun 2005

Silver Limon

E/Me

contact me at [email protected] with data, I'll get you the formula if there's one. Or try to =)
I've been thinking to do the same but lack the time to collect all the data.

arredondo

arredondo

Wilds Pathfinder

Join Date: May 2005

Great idea, but add a 17 attribute column to all the classes, and add 17, 18, and 19 attribute columns to the Necro page. Some weapon mods give a bonus of +1 to attributes (20% chance or less), and the Necro skill Awaken the Blood gives a +2 to Curses and Blood skills for a long period of time.

Also consider a comments column to briefly label each number's significance with a single word. For instance, Mesmer's Hex Breaker at 0 is 60,10. The comment would be "Time, Damage" which explains that it lasts 60 seconds and causes 10 damage when triggered. If you're pressed for space, consider that to probably 95% of the intended audience, a brief comment would be more useful than listing the formula after all the numbers are in.

Cranky

Ascalonian Squire

Join Date: Jul 2005

W/Mo

But the problem with added a 17,18,19 collumn is that the skills themselves do not show you the values, and thus must be determined experimentally. Seems pointless to me. But if you're really that curious, I think you could just use the formula if you wanted to know an estimate.

arredondo

arredondo

Wilds Pathfinder

Join Date: May 2005

If finding out 17, 18, and 19 values is pointless then the entire project is pointless (which it is not). Many people already max out their lines at 16 for various classes, and I've found myself a few times wondering how much AtB and weapon/foci modifiers would help my character at these extended values. 100% info is always better than 95% info.

With that said, a lot of experimentation could be fun. I'll try and get some data for the Mesmer line when I get some time. For the 17 attribute, get a PvP made character with a +1 Weapon and a +1 Focus item (both 20% chance), then conduct controlled tests. It's not too difficult.

Deviant

Deviant

Frost Gate Guardian

Join Date: Jul 2005

Austin, Tx

The Furies

Me/Mo

Well, the primary idea behind calculating up to 16 is to get a large sampling of the rate of increase. Some skills I've noticed go in a cycle of 8. So, you need the full 16 to get an accurate formula. Once you have the formula, you could apply an attribute level of 17, 18, 19, etc, and get an accurate number.

theclam

Jungle Guide

Join Date: May 2005

Don't all skills work the exact same way? I am almost completely sure that the formula is the same:
Code:
AttLvl*((TwelveNum-ZeroNum)/12)+ZeroNum=N Attlvl=The level of your Attribute TwelveNum=What duration/damage/healing/etc the skill has at Attribute level 12 ZeroNum=What duration/damage/healing/etc the skill has at Attribute level 0 N=What duration/damage/healing/etc the skill has when the Attribute level is equal to Attlvl
What I don't know is how rounding works with it. Is it always rounded up or down or to the nearest integer? Does rounding work the same for every skill? Is N the only rounded variable or is there rounding somewhere else in the equation.

EDIT:
I tested this out with Troll Unguent with the actual results and my formula
Code:
Lvl-actual-expected
lvl0-3-3
lvl1-3-3.5
lvl2-4-4
lvl3-4-4.5
lvl4-5-5
lvl5-5-5.5
lvl6-6-6
lvl7-6-6.5
lvl8-7-7
lvl9-7-7.5
lvl10-8-8
lvl11-8-8.5
lvl12-9-9
lvl13-9-9.5
lvl14-10-10
lvl15-10-10.5
lvl16-10-11
It appears that, in this case, it's rounded down.  However, lvl16 should be at 11 if my formula holds true.  Still, that could be because health regeneration is capped at +10 or maybe Troll Unguent is capped at +10.

Now I'll try Quickening Zephyr:
Code:
Spirit Level
Lvl-actual-expected
lvl0-1-1
lvl1-2-1.58
lvl2-2-2.17
lvl3-3-2.75
lvl4-3-3.33
lvl5-4-3.92
lvl6-5-4.5
lvl7-5-5.08
lvl8-6-5.67
lvl9-6-6.25
lvl10-7-6.83
lvl11-8-7.42
lvl12-8-8
lvl13-9-8.58
lvl14-9-9.17
lvl15-10-9.75
lvl16-11-10.33
Spirit Duration
lvl0-30-30
lvl1-38-38
lvl2-46-46
lvl3-54-54
lvl4-62-62
lvl5-70-70
lvl6-78-78
lvl7-86-86
lvl8-94-94
lvl9-102-102
lvl10-110-110
lvl11-118-118
lvl12-126-126
lvl13-134-134
lvl14-142-142
lvl15-150-150
lvl16-158-158
It appears that my formula is correct, at least in these three variables.  However, the rounding is strange.  Troll Unguent is rounded down from .5 to 0, every single time.  This could be rounding down every time or rounding to the nearest integer (but down at .5).  Quickening Zephyr is rounded the nearest integer, but unlike Troll Unguent, it is rounded up at .5.  I'm guessing that rounding is always to the nearest integer, but Troll Unguent was programmed in a strange fashion.  If someone wants to crunch some more numbers, they can, but I'm too lazy to do any more.
                

Deviant

Deviant

Frost Gate Guardian

Join Date: Jul 2005

Austin, Tx

The Furies

Me/Mo

Someone included a generic formula on the same post on TGH:

((value @ attrib 12) - (value @ attrib 0) / 12 ) * attrib level + (value @ attrib 0)

I'm certainly willing to verify that with each skill, once all the attribute levels for each skill are done.

Rajamic

Wilds Pathfinder

Join Date: May 2005

IA

Chronicles of Heroes [CoH]

R/Me

Part of the problem here is that you are assuming that the formulas they use all result in integer values at 0 and 12. That is not necessarily the case.

For example, if Troll is 3.15 at attribute 0, and increases by .49 each attribute level, you will get the correct numbers if you round down (I found this with educated guesses and trial and error). You could come up with plenty of other formulas that would work with just slightly different numbers.

With Quickening Zephyr's level, the increase can be seen more easily. Every 5 attribute levels, it increases 3 points, so .6 points per attribute level. With this pattern, the X.0 is right after the point where there is only one attribute level with a given value (such as level 1, level 6, level 11 all have X.0). This means that level 0 is at X.0 - .6, or Y.4. So attribute 0 value is 1.4, and it increases by .6 each level, again rounding the result down.

As for the rounding, assuming I am right about using decimals, how you round in irrelavant, just stay consistant about it. If you want to round to the nearest, just add 0.5 to the attribute zero number. If you want to round up, add another 0.49 to the zero number on top of that 0.5.


The problem with this? Well, you need to know all the values in order to test it, so it won't help you find much of anything. Could be useful if writing a utility program for skills and character setups, though.