Stat Calculation (normalized stats)

From Lotro-Wiki.com
Jump to navigation Jump to search

Introduction

Game statistics, or "stats," are fundamental to the progression and combat system in Lord of the Rings Online. Over its long history, LOTRO has seen several significant overhauls to its stat system, evolving from a simple linear progression to a more complex, segmented, and ultimately normalized approach.

Initially, a singular linear stat progression was used. Linear means that with each character level gained, stats in traits or effects increase by a fixed amount. Likewise on gear, item levels drive item stats in the same way.

With the Rise of Isengard expansion, it became apparent that the original linear formulas were insufficient for levels beyond 75. New, steeper linear formulas were introduced to ensure characters continued to scale appropriately at higher levels.

The Mordor expansion marked a major shift with the introduction of a Standard Progression, or "normalized stats". This system moved to a series of linear segments, connected at "graph points" corresponding to expansion start and end levels. This allowed for more precise balancing of player power within specific content tiers.

The Update 37 stat squish further refined the Standard Progression by extending this segmented graph point system to older, lower-level expansions. This unified the stat framework across the entire game.

From Mordor onwards, the starting stat value of a new expansion segment isn't the same as the end of the previous one. This creates a deliberate "gap" or steeper difficulty curve at the start of new content. This design boosts difficulty at the beginning of an expansion, heavily incentivizing players to acquire and use the new gear available in that region to overcome the increased challenge.

Standard Progression

Within the Standard Progression system, the graph point start/end values within an expansion segment are relative to the end point of the previous expansion in a percentual rise. This means that the increase in stats from one expansion to the next is not a flat amount, but rather a percentage of the previous expansion's end-game values. For example, if the previous expansion ended with 10000 Mitigation rating, the next might start with +20% of that, or 12000.

This percentual rise, when applied across multiple expansions, naturally leads to an overall exponential growth in stat values throughout the game. While each segment is linear, the connection points between segments, with their percentage-based increases, compound over time. This exponential growth, if left unchecked, can lead to extremely large and unwieldy stat numbers. This inherent exponential growth is a primary reason why future stat squishes are likely to be necessary in LOTRO. These squishes periodically reduce all stat values by a significant factor, bringing them back down to more manageable numbers and allowing the exponential growth cycle to continue without reaching extreme magnitudes.

Progression Schemes

Inside the game we can identify 4 standard progressions: Health, Energy, Percentage Ratings & Damage. Each progression uses their own percentage settings for each expansion. The progressions take a base value as input and derive all point values from there. Health, Energy & Damage have all a fixed base value as shown below. Multiple base values exist for ratings.
Any point values taken from these progression schemes need to be Progression Rounded. Percentual rises are always versus the rounded value of the end point in the previous expansion.

Point Index Player Level Standard Progression Expansion
Health Energy Percentage Ratings Damage
1 1 base(4) base(2) base base(2) Shadows of Angmar
2 50 7.5x(30) 2x(4) 10x 10x(20)
  Mines of Moria
3 60 +33% +33% +50% +33%
  Siege of Mirkwood
4 65 +25% +25% +33.3% +9.5%
  Rise of Isengard
5 75 +50% +50% +50% +33%
  Riders of Rohan
6 85 +50% +50% +50% +33%
  Helm’s Deep
7 95 +33% +33% +44.5% +33%
  The Paths of the Dead
8 100 +50% +31.5% +39% +25%
  The Battle of Pelennor Fields
9 105 +33.3% +33.3% +33% +25%
10 106 +10% +10% +10% +10% Mordor
11 115 +50% +50% +50% +33%
12 116 +15% +15% +15% +10% Where Dragons Dwell
13 120 +25% +25% +25% +25%
14 121 +15% +15% +15% +10% Minas Morgul
15 130 +50% +50% +50% +33%
16 131 +15% +15% +15% +10% Gundabad
17 140 +100% +100% +100% +50%
18 141 +15% +15% +30% +10% Umbar
19 150 +100% +100% +120.5% +50%
20 151 +0% +0% +0% +10% Future expansion
21 160 +100% +100% +100% +50%

Progression Rounding

Values which are generated by the Standard Progressions need to be rounded in a special way. In this rounding type the number of rounding decimals are depending on the value itself. The result is that the number of significant decimals are always 2 or 3.

Decimal Count = 2 - Round( Log10( Raw Value ) )

As you can see, it's 2 minus the rounded base10 logarithm of the raw point value.

For example:

3111 -> Log10(3111) ~ 3.4929 -> Round(3.4929) = 3 -> 2-3 = -1 -> Round(3111,-1) = 3110 (3 significant digits)
3222 -> Log10(3222) ~ 3.5081 -> Round(3.5081) = 4 -> 2-4 = -2 -> Round(3222,-2) = 3200 (2 significant digits)

In CalcStat Expressions you can use the rounding function RoundProg, with just the raw value as parameter.

Stat Group Base Values

Stat Group Involved Stats Standard Progression Base Value
Health Max Morale, ICMR, NCMR, Vitality Health 4
Energy Max Power, ICPR, NCPR, Fate Energy 2
Damage Weapon / Tactical / Monster DPS Damage 2
Main stats Agility, Might, Will Ratings 1.75
Ratings Standard Ratings 200
Ratings Extra Critical Rating/Critical Hit Chance, Mastery/Outgoing Damage, Resistance Ratings 300
Partial Avoidances Partial Avoidance Chance/Mitigation Ratings 350
Devastating Hit chance Ratings 400
Outgoing Healing Ratings 450
Critical Magnitude Ratings 600

Calculation example Main stats

For example cLvl65:

+33.3% -> 1.333 x 26.3 = 35.0579 -> RoundProg(35.0579) = 35

Mordor segment:

106: +10% -> 1.1 x 214 = 235.4 -> RoundProg(235.4) = 235
115: +50% -> 1.5 x 214 = 321   -> RoundProg(321)   = 320
Point Index Player Level Std.Prog. Ratings Raw value Prog. Rounded Expansion
1 1 base 1.75 1.75 Shadows of Angmar
2 50 10x 17.5 17.5
  Mines of Moria
3 60 +50% 26.25 26.3
  Siege of Mirkwood
4 65 +33.3% 35.0579 35
  Rise of Isengard
5 75 +50% 52.5 53
  Riders of Rohan
6 85 +50% 79.5 80
  Helm’s Deep
7 95 +44.5% 115.6 116
  The Paths of the Dead
8 100 +39% 161.24 161
  The Battle of Pelennor Fields
9 105 +33% 214.13 214
10 106 +10% 235.4 235 Mordor
11 115 +50% 321 320
12 116 +15% 368 370 Where Dragons Dwell
13 120 +25% 400 400
14 121 +15% 460 460 Minas Morgul
15 130 +50% 600 600
16 131 +15% 690 690 Gundabad
17 140 +100% 1,200 1,200
18 141 +30% 1,560 1,560 Umbar
19 150 +120.5% 2,646 2,650
20 151 +0% 2,650 2,650 Future expansion
21 160 +100% 5,300 5,300

Progression Techniques

Inheritance

In LOTRO stat calculations, Standard Progressions are used as base for stat calculations, but often this happens with a twist. Points (level,value) can be removed or added.

In case a point is removed then it simply disappears from the graph and the remaining points will be used for further calculation.

In case of an addition, the new point's value is derived from the parent progression with Linear Interpolation using surrounding points. The new point's value is not rounded.

For example, Main stats are using an extra cLvl25 point. In Stat Group Base Values you can find that the stat's base progression is the Standard Progression for Percentage Ratings with the base value being 1.75, so we have our parent progression there. Inheritance is as follows (only focusing on the first few points):

Parent Progression Inherited Progression Expansion
Point Index Player Level Prog. Values Point Index Player Level Prog. Values
1 1 1.75 1 1 1.75 Shadows of Angmar
2 25 9.4642857
2 50 17.5 3 50 17.5

In CalcStat Expressions you can use the interpolation function GraphVal, with as parameter the desired level of the new point's value and all the points in the parent progression.

{{#invoke:CalcStat|calc|GraphVal(25,   1, 1.75,   50, 17.5)|||%'.0.7f|NoAdj}}

9.4642857

Level Mapping

See also