Rating to percentage formula
Introduction
Many character stats generate ratings. Examples of these ratings are Critical Hit, Physical Mastery, Resistance and Mitigations. Ratings are converted to percentages for having a chance at something (scoring a critical hit or parrying an opponent's attack, etc.) or as an enhancement factor (increasing your weapons damage or decreasing the amount of damage received).
Curved graph
The formulas which the game is using for these conversions, do not result in a linear graph. Instead of a straight rating to percentage calculation, by multiplication of a factor, it's using curved graphs like in the figure above. This has the following properties which are considered an advantage:
- low stats are "boosted". good for starting players.
- advanced players with good gear are at the top of the curve and get relatively less from any more advancements. they need to work hard to reach the maximum (if this is possible).
Player level
The input parameter for these graphs is not only the rating(R). To provide a continuing challenge to the player, another parameter is involved: character level(L). Together they form the input combination R/L. This means that whenever a player levels up:
- L in R/L increases. Consequently, R/L decreases and then because of that the output of the formula decreases: lower percentage.
- a player needs to increase his rating to keep the same percentage, thus providing the challenge of getting better gear with better stats.
The figure above shows the required rating for a constant R/L of 70 while levelling up.
Formulas
The following formulas assume an opponent on the same level as yourself (the same is assumed with the percentages in your character panel).
Basic
The first equation(1) above represents the formula in it's most basic form, which is responsible for a curved graph. You can see a constant K in there which functions the same way like a coefficient in linear functions. From (1) which has the least operations we can derive (2) with the least variables and also can calculate equations for the other variables: if you know 2 variables then you can calculate the 3rd.
Lotro Basic
Like explained in Player level, Lotro is using the input R/L for the formula and the result is a percentage(p). So lets substitute these(2)in the basic formula(1). With this we get (3) and then (4). The resulting percentage(p) is between 0 and 1, so for example 0.15 means 15%. Note:
- Due to the nature of these formulas, the resulting percentage here can never reach a full 1(100%).
- Because of this, ratings which only use this single basic formula are limited to result below 100%.
- A rating of 0 or a level of 0 are defined to result in a percentage of 0.
Like before we can reshape the equation to formulas calculating, in this case, K(7) or R/L(8). By substitution of P=100*p in (1-p)/p or p/(1-p), you can get (100-P)/P and P/(100-P).
Lotro Segment
Probably started from raising the level cap above 50, which I guess happened with the Moria expansion, a way was introduced to get a stronger curve in the graphs. A second segment was put on top of the first old curve, using the same formula but with a displacement vector. The K of this segment was 2 times higher than the one before, resulting in a lower slope. This technique of composing a graph using curve segments as building blocks is still in use today.
With adding a displacement possibility, we arrive at the most useful end shape of the formula.
And these derived formulas may be handy.
Rating calculations
How to calculate a percentage out of a rating?
If you want to calculate a percentage (like it appears in your character panel) then you need some information.
- Rating(R)
- Level(L)
- Graph segment information. Per segment you need at the least 2 out of these 3 (the third can be calculated):
- height of the segment (y-axis). let's call it dp or dP (dp*100).
- width of the segment (x-axis). let's call this dRL.
- curve constant K
Calculating a percentage out of a rating example
Suppose you have this information:
- The rating is 13500 and your level is 94.
- You have these segments:
- 1) dP1 = 15%, K1 = 1190/3
- 2) dP2 = 5%, K2 = 2380/3
- 3) dP3 = 5%, K3 = 4760/3
From this you can:
- Calculate your R/L which is the input parameter: 13500/94~=143.617
- Calculate all missing segment information which is needed for the segment formulas:
- 1) with dRL1=(dP1/(100-dP1))*K1 you get dRL1=(15/85)*(1190/3)=(3/17)*(1190/3)=1190/17=70, first segment starts at (0,0): X01=0 and Y01=0
- 2) with dRL2=(dP2/(100-dP2))*K2 you get dRL2=(5/95)*(2380/3)=(1/19)*(2380/3)= 2380/57, second segment starts after where first ends (dRL1,dp1): X02=70 and Y02=0.15
- 3) with dRL3=(dP3/(100-dP3))*K3 you get dRL3=(5/95)*(4760/3)=(1/19)*(4760/3)= 4760/57, third segment starts after where second ends (dRL1+dRL2,dp1+dp2): X03=70+2380/57~=111.754 and Y03=0.15+0.05=0.2
- Check in which segment your R/L(143.617) is: segment1? no (until X02=70) segment2? no (until X03=111.754) so it must be in segment3.
- Fill in the formula with the found segment: p = 0.2+1/(1+(4760/3)/(143.617-111.754)) = 0.2197 -> P ~= 22.0%
How to calculate the needed rating for a percentage cap?
It's possible to calculate a rating based on your level and knowing the percentage cap. You'll need this:
- Cap percentage
- Graph segment information. Per segment you need at the least 2 out of these 3 (the third can be calculated):
- height of the segment (y-axis). let's call it dp or dP (dp*100).
- width of the segment (x-axis). let's call this dRL.
- curve constant K
Calculating the needed rating to reach a certain (capped) percentage example
Suppose you have this information:
- The cap percentage is 22% and your level is 94.
- You have these segments:
- 1) dP1 = 15%, K1 = 1190/3, dRL=70, X0=0, Y0=0
- 2) dP2 = 5%, K2 = 2380/3, dRL=2380/57, X0=70, Y0=0.15
- 3) dP3 = 5%, K3 = 4760/3, dRL=4760/57, X0=70+2380/57, Y0=0.2
From this you can:
- Find the segment with the target percentage. 22% is in segment 3 (starting from Y0=0.2)
- We can use the derived formula R/L = X0+((p-Y0)/(1-(p-Y0)))*K
- Fill in this formula with the found segment: R/L = (70+2380/57)+((0.22-0.2)/(1-(0.22-0.2)))*(4760/3) and simplify:
- R/L = (70*57+2380)/57 + (0.02/(1-0.02))*(4760/3)
- R/L = 6370/57 + (1/(50-1))*(4760/3)
- R/L = 6370/57 + 4760/147
- R/L = (6370*147)/(57*147) + (4760*57)/(147*57)
- R/L = 1207710/8379 = 19170/133
- We now have the equation R/L = 19170/133 which can be transformed to this rating calculation formula: R = (19170/133) * L
- R = (19170/133) * L will give you the correct needed rating at any level(L). For L=94: (19170/133) * 94 ~= 13549
Ratings Graph Data
Ratings Graph Data (Curved)
This table shows:
- the known segment information for every rating with curved graphs (current U18).
- information about caps, both intermediate and end, which are always at segment boundaries.
- required ratings at end level (105) for reaching caps/segment boundaries versus on level opponents.
- required ratings at end level (105) for reaching caps/segments boundaries in Tier 2 raids/instances versus level+3 mobs (L = mob's level is used for Mitigations, character's level is used elsewhere) with taking in account T2 mob penetration debuffs.
Percentage | Rating | Seg # | dP | K | dRL | Cumulative P | Cap up to Level | Cumulative Req. Rating Lvl105 | Cumulative Req. T2 vs Lvl108 mobs | Last Checked |
---|---|---|---|---|---|---|---|---|---|---|
Critical Hit | Critical Rating | 1 | 15 | 1190/3 | 70 | 15 | 50 | 7350 | U12.2 | |
2 | 5 | 794.8 | 794.8/19 | 20 | 84 | 11743 | U12.2 | |||
3 | 5 | 1075.2 | 1075.2/19 | 25 | ∞ | 17685 | U12.2 | |||
Devastating Hit | Critical Rating | 1 | 10 | 1330 | 1330/9 | 10 | ∞ | 15517 | ||
Critical & Devastating Hit Magnitude | Critical Rating | 1 | - | 300 | - | <100 | ∞ | |||
Finesse | Finesse | 1 | - | 1190/3 | - | <100 | ∞ | U18b3 | ||
Tactical Outgoing Healing | Tactical Mastery | 1 | 30 | 1190/3 | 170 | 30 | 50 | 17850 | ||
2 | 20 | 2380/3 | 595/3 | 50 | 38675 | |||||
3 | 20 | 1190 | 297.5 | 70 | ∞ | 69913 | ||||
Resistance | Resistance | 1 | 30 | 1190/3 | 170 | 30 | 50 | 17850 | 27570 | U18b3 |
2 | 20 | 2380/3 | 595/3 | 50 | ∞ | 38675 | 48395 | U18b3 | ||
Critical Defence | Critical Defence | 1 | - | 100 | - | <100 | ∞ | |||
Incoming Healing | Incoming Healing | 1 | 15 | 1190/3 | 70 | 15 | 7350 | U18b3 | ||
2 | 10 | 2380/3 | 2380/27 | 25 | ∞ | 16606 | U18b3 | |||
Block, Parry & Evade | Block, Parry & Evade | 1 | 13 | 499.95 | 43329/580 | 13 | ∞ | 7845 | 12165 | U18b1 |
Partially Block, Partially Parry & Partially Evade | Block, Parry & Evade | 1 | 15 | 396.66 | 59499/850 | 15 | 50 | 7350 | 11670 | U18b1 |
2 | 2 | 991.66 | 49583/2450 | 17 | 84 | 9475 | 13795 | U18b1 | ||
3 | 3 | 1050 | 3150/97 | 20 | 95 | 12885 | 17205 | U18b1 | ||
4 | 15 | 1200 | 3600/17 | 35 | ∞ | 35120 | 39440 | U18b1 | ||
Partial Block Mitigation, Partial Parry Mitigation & Partial Evade Mitigation | Block, Parry & Evade | 1 | 50 | 396.66 | 396.66 | 60* | ∞ | 41650 | 45970 | U18b1 |
Physical Mitigation, Orc-craft Mitigation, Fell-wrought Mitigation & Tactical Mitigation: | Physical Mitigation, Orc-craft Mitigation, Fell-wrought Mitigation & Tactical Mitigation | |||||||||
Light Armour | 1 | 20 | 150 | 37.5 | 20 | 1 | 3938 | 11340 | ||
2 | 20 | 350 | 87.5 | 40 | ∞ | 13125 | 20790 | |||
Medium Armour | 1 | 20 | 149.9175 | 59967/1600 | 20 | 1 | 3936 | 11338 | U18b1 | |
2 | 30 | 253.003 | 759009/7000 | 50 | ∞ | 15321 | 23049 | U18b1 | ||
Heavy Armour | 1 | 10 | 5697/38 | 633/38 | 10 | 1 | 1750 | 9090 | U18b1 | |
2 | 50 | 5697/38 | 5697/38 | 60 | ∞ | 17491 | 25281 | U18b1 |
(*) 50% + 10% base mitigation
Ratings Graph Data (Linear)
This table shows:
- the known level segment information for every rating with linear graphs (current U18).
- required ratings at end of level segments (Lvl Seg End) for reaching caps
Linear graph formula: Percentage = Factor * Rating/1000 + Constant
Percentage | Rating | Lvl Seg Start | Lvl Seg End | Factor | Constant | Cap Perc. | Req. Cap Rating at Seg End | Last Checked |
---|---|---|---|---|---|---|---|---|
Physical Melee-, Physical Ranged- & Tactical Offence Damage | Physical Mastery & Tactical Mastery | 1 | 20 | 14.6 | - | 40 | 2740 | U18b3 |
21 | 30 | 24.2-0.48*Lvl | - | 40 | 4082 | U18b3 | ||
31 | 40 | 17-0.24*Lvl | - | 40 | 5406 | U18b3 | ||
41 | 50 | 13.4-0.15*Lvl | - | 40 | 6780 | U18b3 | ||
51 | 60 | 11.4-0.11*Lvl | - | 200 | 41667 | U18b3 | ||
61 | 70 | 10.2-0.09*Lvl | - | 200 | 51283 | U18b3 | ||
71 | 80 | 7.4-0.05*Lvl | - | 200 | 58824 | U18b3 | ||
81 | 90 | 6.6-0.04*Lvl | - | 200 | 66667 | U18b3 | ||
91 | 100 | 5.7-0.03*Lvl | - | 200 | 74075 | U18b3 | ||
101 | 105 | 2.7 | - | 400 | 148149 | U18b3 |
Graph of the Factor (by Character Level) used for Physical Mastery & Tactical Mastery:
Rating Graphs
Critical Rating
Finesse Rating
Mastery (Physical/Tactical) Ratings
Resistance Rating
Critical Defence Rating
Incoming Healing Rating
Avoidance (Block/Parry/Evade) Ratings
Mitigation (Physical/Tactical) Ratings
Note: The effect of Mitigation penetration, as exists in T2/T3 instances and skirmishes, is not shown in this graph. See the Ratings Graph Data (Curved) table above for the correct T2 rating values.