Search Downloads

Go Back   LoTROInterface > LotRO Libraries

Category: LotRO LibrariesCalcStat
Interface Information
How do I install this? (FAQ)
Name: CalcStat   Updated this week!   Popular!
Date: 11-09-2019 04:40 AM
Size: 29.84 Kb
Version: 1.0.15
Rate File: 5 out of 5 with 1 votes  
Click to enlarge 

Views: 0
Size: 173.60 Kb
Dimensions: 1488 x 781
Simplicity in it's use and flexibility because of a stat definition table.
This package contains the type of functions which are also used in my spreadsheet LotroPlan for most of the calculations like calculating rating percentages from ratings, item stats from item levels (armour values for instance), LI title stats from I,II,III etc.

The included VisualBasic script compiles statdata.csv which results in the CalcStat.lua file (option 2) with the major calculation function (other output formats, Star Basic and VB-script, are available, but no support functions are included in this package. send me a message.). Statdata.csv contains currently ~2000 entries (an entry is one stat calculation segment). You can most conveniently view the .csv with a spreadsheet application.

version 1.0.1:
- fixed a bug in Roman number decoding for LI titles.

version 1.0.2:
- fixed a bug in Roman number decoding for LI titles reprisal.
- added comments to the calculation function support file CalcSsup.lua

version 1.0.3:
- implemented a binary search tree for the stats lookup. tree height/depth is 10 at the moment (max capacity 2^10=1024 stats).

version 1.0.4:
- added more comments to statdata.csv
- some stats were added or changed(made current with BR U23.2p2) see post below.

version 1.0.5:
- added TpenArmour, TpenResist and TpenBPE with the new penetration calculations. N=tier, so like CalcStat("TpenArmour",120,3) for Tier 3.
- added T2penArmour which is the same as the old T2penMit stat (reused in the game). Other old stats T2penResist etc are also still available. Old pen stats are used in older instances (instances without T3).

version 1.0.6:
added some basics like:
- all character class base stat tables
- hope/dread percentages
- stat tome main values: CalcStat("TomeMain",nil,"XVIII")
- stat tome total values (adds up all up to rank): CalcStat("TomeTotal",nil,"XX")
new calculation type 'D'(ata lookup table) for values of which I can't find a good formula fit for

version 1.0.7:
- added virtue stats. Like some other stats, virtue stats come in 3 strengths - L(ow), M(edium) and H(igh). Example: CalcStat("VirtMoraleH",20)

version 1.0.8:
- added new virtue system stats. example: CalcStat("VirtCompassion",60,"PhyMit") gives Physical Mitigation Rating rank 60 Compassion or CalcStat("VirtZeal",49,"VPTacMas") gives Virtue Passive Tactical Mastery Rating rank 49 Zeal.
- VRnkToILvl: virtue rank to item level mapping

version 1.0.9:
- VRnkCap: virtue rank overall cap (60)
- VRnkLvlCap: virtue rank character level based cap
- VirtRnkCost: virtue xp cost single rank
- VirtRnkCostTot: total virtue xp cost to reach rank from 0

version 1.0.10:
24.2 captain stat changes
- Blade-brother: CptBladeCritDef, CptBladePhyMas, CptBladeTacMas
- Shield-brother: CptShieldCritDef, CptShieldPhyMas, CptShieldTacMas
- Song-brother: CptSongCritDef, CptSongPhyMas, CptSongTacMas
- IDOME: CptIDOMEMain, CptIDOMEVitality
- Cry of Vengeance: CptCoVMain, CptCoVVitality, CptCoVPhyMit, CptCoVAttDurP
- Tactic: Relentless Attack: CptRelentlessCritHit, CptRelentlessPhyMas, CptRelentlessTacMas
- Tactic: On Guard: CptOnGuardParry
- Defending: CptDefendingArmour

version 1.0.11:
solves an issue with finding stats which have digits in the statname

version 1.0.12:
Changes (based on Bullroarer Update 24.3 - Preview #1):
- adjusted percentage/rating calculations for levels 1-99, because of new roundings in cap rating progressions, which caused percentages for Light & Medium mitigations to be slightly higher than before.
- adjusted percentage/rating calculation for levels 101-104, because I detected a bump in cap rating progressions at levels 101 & 102 (lvl101=1.1*lvl100, lvl102=oddity like lvl76).
- added 25% extra bonus percentage to Partial Evade Mitigation at Level 1 (PartEvadeMitPBonus)

version 1.0.13 (became 1.0.14 by mistake):
In this version I've implemented a standard progression (StdProg) from which most most of the stats are now calculated more or less directly. This is in preparation for stat changes (and so standard/normal progression change) which next expansion will bring with a level cap change, item level changes etc. No real changes in percentage calculation, except under the hood things like mentioned. Some stats changes:
- Battle & Warding lore scrolls stats.
- Max morale and power scroll Morale.
- Stats scaling by character level as used on Shield of the Hammerhand, High-Elf earrings and racial traits.

version 1.0.14b:
Contains changes for U25 preview #3 on BR. Not to be used on live servers.

version 1.0.15:
Contains all updates for U25.
Archive List (Old Versions)
File Name
29.63 Kb
11-01-2019 02:48 AM
29.24 Kb
10-13-2019 12:53 PM
29.90 Kb
09-21-2019 08:50 AM
29.88 Kb
08-24-2019 01:22 AM
29.89 Kb
08-05-2019 09:42 AM
29.57 Kb
06-16-2019 07:25 AM
29.40 Kb
06-15-2019 08:05 AM
32.70 Kb
12-18-2018 03:02 PM
31.97 Kb
12-16-2018 11:00 AM
23.16 Kb
12-14-2018 06:07 AM
21.18 Kb
12-07-2018 09:04 AM
18.16 Kb
12-05-2018 10:20 AM
16.98 Kb
12-03-2018 04:52 AM
15.48 Kb
12-02-2018 04:33 PM
15.52 Kb
12-02-2018 01:36 PM
File Statistics
User Rating:
5 out of 5 with 1 votes
Downloads: 1789
Views: 7860
Favorites: 2
Uploaded By:
Last Modified: N/A

View Pictures. Download Now! Post A Comment

Post A Reply
Author Comments Comment Options
Unread 11-01-2019, 03:20 AM  
The Wary
Giseldah's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 7
Uploads: 3
Pseudo code in definitions

Some small explanation of the stat data definitions:

Value = CalcStat( string Name, number L, number N | string C )

L(evel) and N(umeral) can be used directly in formulas as can some support functions in combination with C.

To keep definitions shorter, and so more readable, I've developed some pseudocode:

@Name{L}#{N} or @Name{L}#{C}

This is the same as above.

{} is not needed if the passed values are digits or a dot:


Default for N is 1, so only @Name130 is the same as @Name130#1.

@Name130# means that you pass along L=130 and the current context N.

@Name#0.4 means that you pass current context L and N=0.4.

@Name# means that you pass current context L and N.

@Name means that you only pass current context L

No short code for passing C is provided at the moment, other then explicit #{C}.

@Block#1.2 - returns 1.2 points of current L (item)Block rating, where L is assumed to be the item level in this case.
@PhyMasT#0.8 - returns 0.8 points of current L (Trait/skill)Physical Mastery rating, where L is assumed to be the character level (see notes).
@CritHit{@LvlToILvl}# - @LvlToILvl assumes current L=character level and translates this to an item level. the resulting item level is then passed as L to @CritHit along with current N and this returns the (item)Critical Rating.

Last edited by Giseldah : 11-01-2019 at 04:12 AM.
Giseldah is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-07-2018, 09:19 AM  
The Wary
Giseldah's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 7
Uploads: 3

These stats were changed:

CPTCRITDEF - Captain critical defence rating passive
DWARFENDURVITALITY - Dwarf racial trait skill Dwarf Endurance Vitality
GRDCRITDEF - Guardian critical defence rating passive
GRDPROTECTIONAVOID - Guardian trait skill Protection b/p/e ratings
GRDTENDERIZECRITHIT - Guardian trait Tenderize Critical hit rating
GRDWARDTACTTACMIT - Guardian trait Guardian's Ward Tactics Tactical Mitigation
LMHEARTYDIETMORALE - Lore-master trait Hearty Diet Morale
RACIALMAIN - racial traits main stat
SHIELDBRAWLERBLOCK - Dwarf racial trait Shield-brawler Block rating
Giseldah is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-02-2018, 03:58 PM  
The Wary
Giseldah's Avatar
Interface Author - Click to view interfaces

Forum posts: 0
File comments: 7
Uploads: 3
Some usage examples

Just a few of the many calculations:

Tactical Offence Damage percentage (+0.0002 to make it like in the character window) =

Resistance percentage from rating including T2 penetration =
CalcStat("ResistPRatP",PlayerLevel,Rating+CalcStat ("T2PenResist",MobLevel))+0.0002

Full Evade percentage cap =

Required Evade rating for percentage =

Mithrin Vitality essence value (ilvl 372) =

Armour value for ilvl 380 medium head gear purple =

Captain's In Defence of Middle-Earth main stats buff =

Critical Defence on item =

Knowledge of Eldar Days III LI title Tactical Mastery Rating =

Last edited by Giseldah : 12-02-2018 at 04:30 PM.
Giseldah is offline Report comment to moderator   Reply With Quote Reply With Quote
Post A Reply

Category Jump:
Search this Category:

All times are GMT -5. The time now is 07:36 PM.

Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | VGInterface | LoTROInterface | MMOInterface | Swtorui