# [EQ2] Formulas (ToV expansion)

edited January 2014
Note: I have to apologize.  The first week ToV launched I fixed this post, but IE11 didn't save it and I never noticed.  I normally do this in word and then paste into the post, but I didn't save the file last time so I had to redo it from scratch.

Primary Ability Damage Bonus - I did manage to get the formula from a dev before he got moved off of to EQN, but only for the values past value 1200.  Prior to that, is another line estimation:

if (stat < 1200) {
return 60 * stat / 1200;
}
return ((Math.log(stat)/Math.LN2)*0.28 - 1.2 - 1) * 100;

DPS Mod Damage Bonus – This is basically the old Multi-Attack formula:

if (stat <= 600) {
bonus = Math.floor(stat / 100)*100 + (stat % 100);
} else if (stat > 600 && stat < 1000) {
bonus = 700 + ((stat - 600) * 100 / 400);
} else if (stat >= 1000 && stat < 1600) {
bonus = 800 + ((stat - 1000) * 100 / 600);
} else if (stat > 1600 && stat < 2300) {
bonus = 900 + ((stat - 1600) * 100 / 700);
} else if (stat >= 2300){
bonus = 1000;
}

Attack Speed Bonus - This is a fairly limited line estimation as this bonus hard caps at 125 (at 200 haste):

if (stat <= 100) {
bonus = stat;
} else if (stat <= 200) {
bonus = (stat - 100) / 4 + 100;
} else {
bonus = 125;
}

Haste Overcap to Flurry Bonus – This has updated since CoE.

if (stat > 200 && stat < 300) {
bonus = (stat - 200) * 6.8 / 100;
} else if (stat < 500) {
bonus = (stat - 300) * 6.6 / 200 + 6.8;
} else if (stat < 700) {
bonus = (stat - 500) * 6.2 / 200 + 13.4;
} else if (stat < 900) {
bonus = (stat - 700) * 6 / 200 + 19.6;
} else if (stat < 1200) {
bonus = (stat - 900) * 5.8 / 300 + 25.6;
} else if (stat >= 1200) {
bonus = 31.4
}

• edited December 2013
(continued)

Multi-Attack Chance – This is the original DPS Mod formula:

if (stat <= 100) {
bonus = stat;
} else if (stat < 200) {
bonus = (stat - 100) / 4 + 100;
} else if (stat >= 200 && stat <= 299) {
bonus = (stat - 200) * 10 / 100 + 125;
} else if (stat >= 300 && stat <= 499) {
bonus = (stat - 300) * 10 / 200 + 135;
} else if (stat >= 500 && stat <= 699) {
bonus = (stat - 500) * 10 / 200 + 145;
} else if (stat >= 700 && stat <= 899) {
bonus = (stat - 700) * 10 / 200 + 155;
} else if (stat >= 900 && stat <= 1199) {
bonus = (stat - 900) * 10 / 300 + 165;
} else if (stat >= 1200) {
bonus = 175;
}

Casting Speed Overcap to Doublecast Bonus - This is another line estimation:

if (stat > 100 && stat < 200) {
bonus = (stat - 100) * 7.5 / 100;
} else if (stat >= 200 && stat < 800) {
bonus = (stat - 200) * 7.5 / 200;
} else if (stat >= 800 && stat < 1100) {
bonus = (stat - 800) * 7.5 / 300 + 30;
} else if (stat >= 1100) {
bonus = 37.5;
}
• (continued)

Weapon Skills Overcap Minimum Damage Bonus - This includes crushing, piercing, slashing, ranged, focus, and disruption. This bonus reduces the variance between min and max damage, but the max damage will not change, only the min damage.

overCap = stat - (5 * character.type.level);
if (overCap == 0) {
bonus = 0;
} else if (overCap < 1000) {
bonus = overCap / 100 * 2;
} else if (overCap < 2500) {
bonus = (overCap - 1000) / 300 * 2 + 20;
} else if (overCap < 5000) {
bonus = (overCap - 2500) / 500 * 2 + 30;
} else {
bonus = 40;
}