lotrointerface.com
Search Downloads


Go Back   LoTROInterface > LotRO Stand-Alone Plugins > Other

Category: OtherXpPredict
Interface Information
Download
How do I install this? (FAQ)
Name: XpPredict   Popular!
Author:
Date: 03-11-2013 01:26 PM
Size: 4.93 Kb
Version: 10
Rate File: 5 out of 5 with 1 votes  
Pictures
Click to enlarge 

Views: 0
Size: 15.61 Kb
Dimensions: 567 x 140
XpPredict
 
Description
XpPredict is a plugin that predicts the experience values for monster kills.

This plugin places a display above your target frame. (The position can be changed in the code.) As seen in the screenshot, the display will be of the form:
Code:
663 * 1.05 * 0.8 = 556 XP
1.01m 1.25p !normal
In this example, the base experience for a level 80 monster is 663. The plugin has identified the Vale-rider as a bonus normal ("!normal") that receives a 5% experience bonus. Since the Vale-rider is two levels lower than the character, the level multiplier is 0.8. Therefore, the predicted experience is 556 XP.

"1.01m" indicates that the Vale-rider's maximum morale is 101% of a normal level 80, and "1.25p" indicates that the Vale-rider's maximum power is 125% of a normal level 80.

The plugin does not account for experience buffs from enhanced XP, tomes, the Moors, Welcome Back Weekend, etc.


Known Issues:
  1. Sometimes the value from a kill is one less than predicted. Level 5, 7, 12 and 24 blues are examples. There are oddities in LoTRO's rounding behaviour.
  2. The multipliers for elite masters, nemeses and arch-nemeses are based on very few kills, with conflicting results.
  3. The plugin misclassifies some monsters. For example, a swarm might be identified as a normal if it has an unusual power multiplier.
  4. The base experience for level 87 and 88 monsters is projected, but should be correct.
  5. Locked Chests in Wódfen are weird.

Version History:
  • 10: initial release, numbered to match LoTRO update 10
File Statistics
User Rating:
5 out of 5 with 1 votes
Downloads: 16545
Views: 24729
Favorites: 6
Uploaded By:
 
Last Modified: N/A

View Pictures. Download Now! Post A Comment


Post A Reply
Author Comments Comment Options
Unread 07-18-2014, 09:10 PM  
DJPorterNZ
The Wary

Forum posts: 3
File comments: 6
Uploads: 0
U14 Update

Made some quick edits for the U14 update to allow for the level 100 mobs and NPCs, etc.

This isn't really a fork yet, more of a spoon, just to keep the plugin working (mostly) as intended. It is not yet complete, as many values are simply nil ATM or best guess placeholders. YMMV.

Unfortunately comments aren't long enough to hold the entire source, so have posted it at CodePad: http://codepad.org/iFFEgRjK.

NOTE: Found this post buried on the forums: https://www.lotro.com/forums/showthr...d-Power-Curves. Plugging those bits of code into CodePad an running them give some values for Morale and Power that will either be correct or close enough for a first look. Morale is here: http://codepad.org/thl6ATbw, and Power: http://codepad.org/8CkQsvqd. Still need to work out XP values...

Changes:
  • Changed DEBUG code to output target info (mobs) to Standard output (for logging)
  • Hijacked 'colour' value for DEBUG output
  • Added provision for level 96-100 mobs
  • Added 'best guess' values for 96-100 Morale & Power
  • Removed resource nodes deleted with U12 (Mallorn, Skarn-, etc.)
  • Added new resource nodes through U14
  • Ran around a lot in Eriador to see if I'd broken anything ;-)

Last edited by DJPorterNZ : 07-19-2014 at 04:51 PM.
DJPorterNZ is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-14-2013, 06:00 PM  
DJPorterNZ
The Wary

Forum posts: 3
File comments: 6
Uploads: 0
Just did a quicky edit to add lvl 92 thru 94 and 96 power mults and lvl 96 morale mult (Needs checking!!) to fix an error while running around the moors. Not so useful there, but will be useful when I'm back in the other zones...

Code:
local MonsterMorale = {
	   29.018537521362, 38.004516601562, 48.410224914551, 58.907806396484, 70.88191986084, --  1 to  5
	  104.47090148926, 121.94901275635, 138.52125549316, 156.71946716309, 176.62553405762, --  6 to 10
	  196.87619018555, 218.84564208984, 241.18002319336, 253.23902893066, 265.90097045898, -- 11 to 15
	  271.1960144043,  284.75582885742, 298.99362182617, 313.94329833984, 325,             -- 16 to 20
	  352,             381,             412,             445,             480,             -- 21 to 25
	  517,             556,             597,             640,             685,             -- 26 to 30
	  732,             782,             835,             891,             950,             -- 31 to 35
	 1012,            1077,            1145,            1216,            1290,             -- 36 to 40
	 1367,            1448,            1533,            1622,            1715,             -- 41 to 45
	 1812,            1913,            2018,            2127,            2240,             -- 46 to 50
	 2357,            2479,            2606,            2738,            2875,             -- 51 to 55
	 3017,            3164,            3316,            3473,            3635,             -- 56 to 60
	 3802,            3974,            4151,            4336,            4529,             -- 61 to 65
	 4730,            4940,            5159,            5387,            5625,             -- 66 to 70
	 5873,            6131,            6400,            6680,            6972,             -- 71 to 75
	 7276,            7593,            7923,            8267,            8625,             -- 76 to 80
	 9125,            9625,           10125,           10625,           11125,             -- 81 to 85
	11625,           12125,           12625,           13125,           13625,             -- 86 to 90
	14125,           14625,           15125,           15625,           16125,             -- 91 to 95
	16458,					 nil,             17625,             nil,              nil,            -- 96 to 100
}

local MonsterPower = {
	 49.5625,        54.25,           59.0625,         64,                69.0625,         --  1 to  5
	 74.25,          79.5625,         85,              90.5625,           96.25,           --  6 to 10
	102.0625,        108,             114.0625,        120.25,           126.5625,         -- 11 to 15
	133,             139.5625,        146.25,          153.0625,         160,              -- 16 to 20
	167.0625,        174.25,          181.5625,        189,              196.5625,         -- 21 to 25
	204.25,          212.0625,        220,             228.0625,         236.25,           -- 26 to 30
	244.5625,        253,             261.5625,        270.25,           279.0625,         -- 31 to 35
	288,             297.0625,        306.25,          315.5625,         325,              -- 36 to 40
	334.5625,        344.25,          354.0625,        364,              374.0625,         -- 41 to 45
	384.25,          394.5625,        405,             415.5625,         426.25,           -- 46 to 50
	436.75,          447.3125,        457.875,         468.4375,         479,              -- 51 to 55
	489.5625,        500.125,         510.6875,        521.25,           531.8125,         -- 56 to 60
	542.58477783203, 553.57092285156, 564.77514648438, 576.20159912109,  587.85461425781,  -- 61 to 65
	599.73870849609, 611.85821533203, 624.21783447266, 636.82214355469,  649.67590332031,  -- 66 to 70
	662.78405761719, 676.1513671875,  689.78302001953, 703.68402099609,  717.85961914062,  -- 71 to 75
	732.31512451172, 747.05603027344, 762.08776855469, 777.416015625,    793.04650878906,  -- 76 to 80
	809.04650878906, 825.04650878906, 842.04650878906, 859.04650878906,  876.04650878906,  -- 81 to 85
	894.04650878906, 912.04650878906, 931.04650878906, nil,              nil,              -- 86 to 90
	nil,             1011,             1033,            1056,            1080.04650878906, -- 91 to 95
	1105,						 nil,             1161,             nil,              nil,              -- 96 to 100
}
Not sure where to go for the XP predict for the end game levels as I'm nowhere near that lvl yet and the moors don't give xp.

EDIT: Also added lvl 98. All based on my best guesswork...

Last edited by DJPorterNZ : 12-14-2013 at 07:11 PM.
DJPorterNZ is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 03-30-2013, 03:59 AM  
DJPorterNZ
The Wary

Forum posts: 3
File comments: 6
Uploads: 0
Wow! Great add-on... not so much for what it does (even though that's okay), but this is the first add-on who's code I think I understand.

I'm working on a spreadsheet style 'Monster Manual' and have modified your 'if debug' code to this:

Code:
if debug then
		-- print (TargetLevel, TargetMorale, TargetPower)
		Turbine.Shell.WriteLine(MyTarget:GetName()..", "..mobtype..", "..TargetLevel..", "..round(TargetMorale)..", "..round(TargetPower))
	end
This just dumps the target info to chat which I then capture and post-process into a proper .csv file to import into a spread sheet.

Code:
### Chat Log: Morif (Mobs) 03/30 09:53 PM ###
Elusive Snow-beast, Normal, 43, 1533, 354
Large Snow-bear, Normal, 39, 1228, 316
Large Snow-bear, Normal, 40, 1303, 325
Snow-beast Hurler, Normal, 43, 1518, 354
Snow-lurker, Normal, 39, 1204, 316
Snow-lurker, Normal, 40, 1277, 325
Snow-mantle Bull, Signature, 39, 2456, 473
Snow-mantle Matron, Signature, 38, 2313, 459
Snow-mantle Matron, Signature, 39, 2456, 473
Snowy Lynx, Normal, 40, 1290, 325
Winter Fox, Trivial, 1, 1, 2
Thanks for the easy to understand code.

PS:

I also took the liberty of changing the strings a little in the TypeXp() and start of the function UpdateDisplay(). Just capitalisation to make it look a bit prettier (to me, at least). Feel free to use or ignore it

Code:
function TypeXp(powermult, moralemult)
	-- FIXME improve logic?
	-- defilers have 50% extra power and make things messy
	if powermult == 0.75 and moralemult <= 0.55 then
		return "Swarm", 0.5
	elseif powermult == 1.5 and moralemult <= 1.1 then
		return "Normal", 1
	elseif powermult == 2.25 and moralemult <= 2.2 then
		return "Signature", 1.2
	elseif powermult == 4.5 and moralemult <= 4.95 then
		return "Elite", 1.4
	end

	if powermult < 0.5 then
		return "Trivial", 0
	elseif powermult < 1 then
		if powermult < 0.625 then
			return "Swarm", 0.5
		else
			return "!Swarm", 0.525
		end
	elseif powermult < 1.5 then
		if powermult < 1.25 then
			return "Normal", 1
		else
			return "!Normal", 1.05
		end
	elseif powermult < 3 then
		if powermult < 1.875 then
			return "Signature", 1.2
		else
			return "!Signature", 1.26
		end
	elseif powermult < 5 then
		if powermult < 3.75 then
			return "Elite", 1.4
		else
			return "!Elite", 1.47
		end
	elseif powermult < 20 then
		if powermult < 6.25 then
			return "Elite Master", 1.5 -- or 2
		else
			return "!Elite Master", 1.575 -- or 2.1
		end
	elseif powermult < 40 then
		if powermult < 25 then
			return "Nemesis", 3.5
		else
			return "!Nemesis", 3.675
		end
	else
		if powermult < 50 then
			return "Arch-Nemesis", 7
		else
			return "!Arch-Nemesis", 7.35
		end
	end
end

-------------------------------------------------------------------------------
function UpdateDisplay()
	if not TargetLevel then
		local tier = ResourceTier[MyTarget:GetName()]

		if tier then
			XpLabel:SetText(string.format("Tier %d Node: %d XP", tier, tier * 5 + 15))
		else
			XpLabel:SetText("No Level")
		end
		return

	elseif TargetLevel == 0 then
		XpLabel:SetText("Level 0")
		return

	elseif not TargetPower then
		XpLabel:SetText("No Power")
		return

	elseif TargetPower == 0 then
		XpLabel:SetText(string.rep(".", tock))
		return
	end
DJPorterNZ is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 03-11-2013, 07:55 PM  
Rainith
The Wary

Forum posts: 0
File comments: 13
Uploads: 0
Any thought on adding the ability to detect the different XP boost buffs that you can have? Or adding the ability to add those in manually? And does it take into account rest xp (is that even possible to take into account)?

Otherwise, cool idea.
Rainith 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 03:06 AM.


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