LoTROInterface CalcStat

07-19-2020, 01:29 PM
Giseldah
The Wary

Forum posts: 2
Skill output - Tactical Damage

Tactical Damage formula:

1) TDR:
- 1 per level (max 50)
- TDR from LI including rune of Enchantment

2) SkillMP:
- a skill defined multiplier value

- percentages from traits/LIs that add to the rating percentage

4) MultiP:
- percentages from traits/LIs that need to be multipied with all

Example Minstrel Cry of the Valar 130, 312343 Tactical Mastery etc.:

TDR = 50 + 1168.66(weapon LI) + 177(LI rune) = 1395.66

CalcStat(LvlBonusTacDmg,130) = 693.374

SkillMP = 5.4(Cry of the Valar)

CalcStat(TacDmgPratP,130,312343) = 107.44% -> /100 = 1.0744

AddP = 5%(red bonus trait Discordant Ballads) + 12%(yellow trait Of All Traits) = 17 -> /100 = 0.17

MultiP = 5%(Li title Light dmg) + 68.8%(Li legacy Light dmg) + 20%(red trait tree passive Light dmg) + 25%(red trait Discordant Cries) = 118.8% -> /100 = 1.188

->

SkillMaxTacDmg = (1395.66+693.374) * 5.4 * (1+1.0744+0.17) * (1+1.188)

SkillMaxTacDmg = 2089.034 * 5.4 * 2.2444 * 2.188 = ~55397.076

SkillMinTacDmg = 0.7 * SkillMaxTacDmg = ~ 38777.954

Tooltip: 38778 - 55397

Last edited by Giseldah : 07-30-2020 at 03:47 AM.

05-07-2020, 07:36 AM
Giseldah
The Wary

Forum posts: 2
Level XP

Next version will have calculation of Level Experience. I've spent well over a week on figuring out what's happening on various levels. Fortunately, I have something working now. Results will almost all be calculated (I don't like data tables) on the fly. A drawback is that it can take some calculation time, especially when going to high character levels > 1000, because of the way the numbers are calculated (level^2 calculations) Ofc, realistic levels are much faster.

I've made a mod for TitanBar which uses this and some more integration of CalcStat. In principle, the player tooltip information window code does not need to be updated anymore, whenever stats change with a new update. All you need is a current CalcStat (which is now integrated in Plugin Compendium).
Plugin Compendium has the option of Dependencies, so if I'm correct, it can automatically install CalcStat with the main plugin.
https://i.imgur.com/b0FhG2b.png

Last edited by Giseldah : 05-07-2020 at 07:42 AM.

04-27-2020, 12:19 PM
XFaern
The Wary

Forum posts: 3
Re: Re: Re: Re: Plugin Compendium support

Quote:
 Yes, indeed. Lunarwater has just done the addition and it seems to work well with current version.
Many thanks

04-26-2020, 04:20 AM
Giseldah
The Wary

Forum posts: 2
Version 1.4.1 looks alright for update 26.
I didn't check trait/skill/effect stats yet. It's always possible that some unannounced changes were made.

04-26-2020, 03:27 AM
Giseldah
The Wary

Forum posts: 2
Re: Re: Re: Plugin Compendium support

Quote:
 Inclusion in the Compendium feed is not dependent on number of downloads, it is only dependent on Lunarwater adding your plugin to her feed. You have to send her a PM or post a message in the Compendium download forum to ask her to include your plugin (it's not an automated process, she has to add plugins manually and doesn't always see new plugins). Of course, for it to work, your .plugincompendium file does have to be correct as well.
Yes, indeed. Lunarwater has just done the addition and it seems to work well with current version.

04-24-2020, 02:23 PM
Garan
The Undying

Forum posts: 341
Re: Re: Plugin Compendium support

Quote:
 It has Plugin Compendium support (I hope that I implemented it correctly), but I suspect that it's not included because it's not being downloaded enough (has not been in daily top 10).
Inclusion in the Compendium feed is not dependent on number of downloads, it is only dependent on Lunarwater adding your plugin to her feed. You have to send her a PM or post a message in the Compendium download forum to ask her to include your plugin (it's not an automated process, she has to add plugins manually and doesn't always see new plugins). Of course, for it to work, your .plugincompendium file does have to be correct as well.

Last edited by Garan : 04-24-2020 at 02:24 PM.

04-24-2020, 10:35 AM
Giseldah
The Wary

Forum posts: 2
Re: Plugin Compendium support

Quote:
 Would it be possible for you to add Plugin Compendium support to this? I use it to manage my plugins and while I have manually installed it and it works fine, I'd like the ability to update (and see that there's an update) through the Compendium program.
It has Plugin Compendium support (I hope that I implemented it correctly), but I suspect that it's not included because it's not being downloaded enough (has not been in daily top 10).

04-14-2020, 08:51 PM
XFaern
The Wary

Forum posts: 3
Plugin Compendium support

Would it be possible for you to add Plugin Compendium support to this? I use it to manage my plugins and while I have manually installed it and it works fine, I'd like the ability to update (and see that there's an update) through the Compendium program.

03-07-2020, 04:52 AM
Giseldah
The Wary

Forum posts: 2
v1.4 common progression extensions

One of the changes in coming new version 1.4 will be the use of common progression extensions for old style stats.

https://i.imgur.com/UapGWqi.png

Old style trait/skill stats (character level based) are usually linear from level 1 to 105 like value = level * 8.08 and this value can be rounded to whole numbers or left as is.

What happens above level 105 has been decided on with the Mordor expansion: the stats will progress to higher levels in one of multiple standardized patterns. See it as a quickfix, for lack of time for changing them all in more detail.

ProgExt calculations implements these patterns in the following way: it accepts the level 105 value by the \$N parameter and then builds a progression based on this value.

For example if we look at the ProgExtHighLinExpRnd definition we see a level 106-115 segment which is type T(linear interpolated) which is based on \$N (the level 105 value). P2 is start multiplier, so level 106 value will be 2 * the 105 value. P3 is end multiplier, so level 115 is 4 * 105 value. In-between values for 107-114 are linear calculated and then rounded to -1 decimals (10s).
Next segment is type A (for assignment) which transfers the calculation to the next building block ProgExtComLowRnd for the higher levels with \$N is the level 115 value.

ProgExtComLowRnd starts with a lvl116 segment which is of calculation type 'E' which means it's Exponential. It takes P1 (lvl115 value) as it's base and adds P2 in percent for the result, so lvl116 = 1.2 * lvl115 This result is then rounded to 0 decimals (whole number).

Next segment is based on this lvl116 value and each level in there gets an increase of 5.5%. Important to note is that each level's result gets rounded to P3's value 0 for decimals(whole number) and the next level is based on previous level's rounded value.

At level 121 we get another building block again which contains more 20%+5.5% patterns.

Note that fortunately more and more of these old stats are disappearing and replaced by 'normalized' stats which are based on the Standard Progression (StdProg). Many are still around though like all the Food Regeneration stats, Balance of Man b/p/e stats, LM Prepare for War tactical mastery etc.

Last edited by Giseldah : 03-07-2020 at 05:39 AM.

01-26-2020, 02:14 PM
Giseldah
The Wary

Forum posts: 2
LOTRO Ratings Calculator

The new (beta version 0.99) LOTRO Ratings Calculator is using 1.3.3p JavaScript version of CalcStat.
The proper location for calcstat.js is the js subdirectory in the root of that web-application.

12-20-2019, 07:07 AM
Giseldah
The Wary

Forum posts: 2
If you have a request for some script type then let me know.
Current system is flexible, but it's not suited for languages with strict type-casted variables.

Last edited by Giseldah : 12-21-2019 at 10:56 AM.

12-09-2019, 04:37 AM
Giseldah
The Wary

Forum posts: 2

Stat definition file statdata.csv:

You can view this comma separated values file with something like a spreadsheet application. Upload it to Google Sheets for example or use LibreOffice Calc, Microsoft Excel etc.

Compilation of statdata.csv:

Execute statdcmp.vbs (double click) to generate the CalcStat script file. This will contain the major calculation function.
Output version "Percentage calculations only" supports ratings<->percentages and rating penetration calculations and will do for all known Lotro plugins at this time.

Installation/use:

Lotro Plugins:
Extract the zip file to your Lotro Plugins directory. After, you should have a directory like "C:\Users\UserName\Documents\The Lord of the Rings Online\Plugins\Giseldah\CalcStat"
Plugins can import this library using the statement: import "Giseldah.CalcStat"
The directory already contains a "Percentage calculations only" version by default, so you don't need to compile statdata.csv if this is all you require.

OpenOffice/LibreOffice:
Compile statdata.csv with StarBasic as output script type. This will generate the CalcStat.bas file with the CalcStat function.
Inside the Calc spreadsheet application, create a new CalcStat macro module, either under "My macros & Dialogs" for use globally in any spreadsheet or create the module in a specific spreadsheet.
Copy the content of the CalcStat.bas file to this new module.

VB-script (Windows):
Compile statdata.csv with VB-script as output script type. This will generate the CalcStat.vbs file with the CalcStat function.
You can include CalcStat.vbs conveniently in a script job by using a WSF file (see https://en.wikipedia.org/wiki/Windows_Script_File).
See the vbs_example directory for an example script.

PHP:
Compile statdata.csv with PHP as output script type. This will generate the calcstat.php file.
You can include this file in your PHP enabled web pages and start using the CalcStat function for your calculations.

javascript:
Compile statdata.csv with JavaScript as output script type. This will generate the calcstat.js file.
You can include this file in your JavaScript enabled web pages and start using the CalcStat function for your calculations.

Last edited by Giseldah : 12-21-2019 at 10:55 AM.

11-29-2019, 06:37 AM
Giseldah
The Wary

Forum posts: 2
"AwardLvlToILvl" (Character Level to Item Level mapping as used for Mathom armour items, scaling leveling items) was changed again for levels > 120 and is incorrect in current version 1.1.1

11-18-2019, 07:38 AM
Giseldah
The Wary

Forum posts: 2
New compiler option version selection:

"Percentage calculations only" supports ratings->percentages, percentages->ratings and rating penetration calculations.

Resulting CalcStat function size will become smaller with the reduced number of stats. Search tree depth becomes smaller as well, so stat searches become slightly more efficient.

You can query version type with stat -Version which will return something like "1.1.1f" or "1.1.1p" (string type).

Last edited by Giseldah : 11-20-2019 at 02:18 AM.

11-01-2019, 03:20 AM
Giseldah
The Wary

Forum posts: 2
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:

@Name130#0.4

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}.

Examples:
@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.

Category Jump:
 Search this Category:

All times are GMT -5. The time now is 12:43 PM.

Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui