ItemValue r64016, updated standalone libraries, USEng client/server, WoW 2.3.3 live. Change some options in Waterfall (nothing major, just a few clicks/unclicks) and the following error occurs:
ItemValue-r64016\\ItemValue.lua:797: attempt to index local 'self' (a nil value)\nItemValue-r64016\\ItemValue.lua:401: in function `setFunc'\nWaterfall-1.0-56985 (Waterfall-1.0):2512: in function `ToggleChecked'\nWaterfall-1.0-56985 (Waterfall-1.0):2419: in function <...AddOns\\Waterfall-1.0\\Waterfall-1.0\\Waterfall-1.0.lua:2416>
But then I realized that CR_SPELLHIT is only for the current item. (the formula is a bit more complicated as I included spellcrit from INT, and such, but you got the idea what I wanted to do)
Is it possible to get some item values out of this addon, without doing any configuration. I need a standard number and just want a sensible default (i don't want to tweak anything), but it seems to do nothing unless you somehow configure it (and i haven't figured out how, even though i tried for quite some time now).
I have modified hacked the formula module to evaluate gear based on the character's whole equipment. For every formula, and you can define a base equipment set (equip it and press the button in the config window).
The value of an item is the following: the result of the formula using the bonuses of that item and all the items from the base set (except the item in the same equip location), substracting the result of the formula without that item (meaning: empty equip slot of that item, other slots are filled with the base items). The result is: "what that item would add to the gear".
I have uploaded it as an attachement. Feel free to put in on SVN/Curse/Wowinterface, embed it to ItemValue, etc. (Just name me as author :) )
short QnA:
Q: Why should I use a formula like that?
A: For instance, when you have zero spellhit so far, you (should) want it badly. When you already maxed that out, it is worth nothing to you. Another example is the case of spell haste: Having higher +spelldamage, haste worth more.
Q: Why setting a base equipment, not using the current one.
A: I'm a shaman. I currently have 4 sets of gear: spellcast, melee, heal and pvp. I can't always change equipment to see if that caster bracer is an upgrade to my elemental gear or not. This way I can set up the pewpew formulas to use my elemental gear as a basis.
Q: Your code sucks! It uses more memory than Firefox 2 and eats half my FPS.
A: I know. Please tell me how to make it better. (It's not that bad tho)
Q: Can you give me an example?
A: Average heal per sec of a rank 12 Healing Wave of a 8/0/53 shaman:
(2285+(HEAL+INT*1.1*0.30)*0.86)*1.1*(1+0.5*(SPELLCRIT+0.1))/(2.5/(1+CR_SPELLHASTE/1570))
Explanation:
2285 is the average healing from base spell
Assuming raid enviroment, +10% to INT (blessing of kings)
30% of INT goes to +heal (Nature's Blessing talent)
HW12 gets 86% of +heal bonus
10% bonus to all heals(Purification talent)
crit is a +50% to heals
base crit is 5%, +5% from Tidal Mastery talent
divided by the cast time after haste gives HPS
Edit1: The example formula has a few bugs (spellcrit calculation is wrong here), so don't just blindly copy-paste.
Edit2: Removed the attachement as Thexod included in the mod (and also wrote a code way more efficient than mine).
xbeeps:
You'll have to do some amount of configuring (/iv, /iv gui or fubar plugin), to create a Set and fill in some data (stat values for StatSet, Spell Name for the DrDamage Set, etc).
lrdx:
Thanks for the codebase, I have included it and heavily optimized my/your Formula, now it should use almost as little mem/cpu as the StatSet (garbage went down from 4MiB+ to 49KiB after using BestItems -> Head).
I modified the logic a bit:
It now calculates just the value of your equipment with the new item instead of the currently equipped, the delta value you were calculating can be displayed using the built-in delta function.
xbeeps:
You'll have to do some amount of configuring (/iv, /iv gui or fubar plugin), to create a Set and fill in some data (stat values for StatSet, Spell Name for the DrDamage Set, etc).
That's why it is no use, I was not just going to use it for myself - it was supposed to be used guild-wide, but since it will have to be accompanied with a complicated explanation of usage, resulting in high probability of misconfiguration, it's just to much hassle to bother. Luckily i found a much much better alternative (http://be.imba.hu).
http://be.imba.hu/ is pretty cool, yes, but it's something completely different.
It is a more complete approach to give hints on how to optimize the pve performance of selectable characters, where ItemValue focuses on giving direct ingame advice on which items to choose and how to socket them to gain the most benefit (according to your settings).
Thanks for the codebase, I have included it and heavily optimized my/your Formula, now it should use almost as little mem/cpu as the StatSet (garbage went down from 4MiB+ to 49KiB after using BestItems -> Head).
Yeah, the efficiency of the version I uploaded here was actually a crime to WoW, I figured it out the hard way: I have created 6 sets with it, and I had a 5+ sec freeze every time I mouse-overed a non-cached item :)
I have just updated my mods and saw you added it, tested out immediately and works like a charm! Thank you.
ItemValue_DrDamage now does some basic calculation so estimate the benefit of Spellhaste Rating. I left the other values untouched (it still displayes the benefit per cast), but now the benefit from spellhaste is added in the form of how much it would increase the damage if the cast time would stay the same (1570 haste rating => 100% haste => 50% less casttime is displayed as a 50% damage increase per cast). GCD is handled with 2.4 values (GCD will be lowered by haste rating, minimum is 1sec).
Additionally it should now correctly handle Healing spells.
Oops. 100% haste means 100% more dps, and it now gets correctly displayed as 100% more damage.
Instant spells with cooldown (~ instant DOTs) are a bit problematic with this approach, but at least they are gaining some benefit of spellhaste.
You forgot to change the AceLocale in line 9 of Class_FullEquipmentBasedFormula.lua to ItemValue, it's still ItemValue_FullEquipmentBasedFormula. I have just removed my version, that's why I did not encountered that error yet :)
Since the March 30th update of ItemValue I get the following error when mousing over any item, and of course all the ItemValue tooltip information fails to ever load:
For this posting I disabled all my addons except ItemValue and Swatter (which makes copying the error easier). Somehow I doubt it's an incompatibility with Swatter. Occurs on first display of *any* tooltip after a ReloadUI, after which it just doesn't try to do anything with tooltips until the next reload/error.
I love the idea of automatically plugging DrDamage values in, so I downloaded both ItemValue and ItemValue_DrDamage from files.wowace.com today. However, I can't for the life of me seem to get DrDamage as an option to create new sets - doesn't show in FuBar plugin, and manually entering /ibonus sets new DrDamage gives an error. However, both ItemValue and ItemValue_DrDamage show under /ace list all as loaded.
I love the idea of automatically plugging DrDamage values in, so I downloaded both ItemValue and ItemValue_DrDamage from files.wowace.com today. However, I can't for the life of me seem to get DrDamage as an option to create new sets - doesn't show in FuBar plugin, and manually entering /ibonus sets new DrDamage gives an error. However, both ItemValue and ItemValue_DrDamage show under /ace list all as loaded.
ItemValue-r64016\\ItemValue.lua:797: attempt to index local 'self' (a nil value)\nItemValue-r64016\\ItemValue.lua:401: in function `setFunc'\nWaterfall-1.0-56985 (Waterfall-1.0):2512: in function `ToggleChecked'\nWaterfall-1.0-56985 (Waterfall-1.0):2419: in function <...AddOns\\Waterfall-1.0\\Waterfall-1.0\\Waterfall-1.0.lua:2416>
The scenario is this: I want to create a DPS-like formula. It includes spellhit, like But then I realized that CR_SPELLHIT is only for the current item. (the formula is a bit more complicated as I included spellcrit from INT, and such, but you got the idea what I wanted to do)
The value of an item is the following: the result of the formula using the bonuses of that item and all the items from the base set (except the item in the same equip location), substracting the result of the formula without that item (meaning: empty equip slot of that item, other slots are filled with the base items). The result is: "what that item would add to the gear".
I have uploaded it as an attachement. Feel free to put in on SVN/Curse/Wowinterface, embed it to ItemValue, etc. (Just name me as author :) )
short QnA:
Q: Why should I use a formula like that?
A: For instance, when you have zero spellhit so far, you (should) want it badly. When you already maxed that out, it is worth nothing to you. Another example is the case of spell haste: Having higher +spelldamage, haste worth more.
Q: Why setting a base equipment, not using the current one.
A: I'm a shaman. I currently have 4 sets of gear: spellcast, melee, heal and pvp. I can't always change equipment to see if that caster bracer is an upgrade to my elemental gear or not. This way I can set up the pewpew formulas to use my elemental gear as a basis.
Q: Your code sucks! It uses more memory than Firefox 2 and eats half my FPS.
A: I know. Please tell me how to make it better. (It's not that bad tho)
Q: Can you give me an example?
A: Average heal per sec of a rank 12 Healing Wave of a 8/0/53 shaman:
(2285+(HEAL+INT*1.1*0.30)*0.86)*1.1*(1+0.5*(SPELLCRIT+0.1))/(2.5/(1+CR_SPELLHASTE/1570))
Explanation:
Edit1: The example formula has a few bugs (spellcrit calculation is wrong here), so don't just blindly copy-paste.
Edit2: Removed the attachement as Thexod included in the mod (and also wrote a code way more efficient than mine).
Thanks, fixed now.
xbeeps:
You'll have to do some amount of configuring (/iv, /iv gui or fubar plugin), to create a Set and fill in some data (stat values for StatSet, Spell Name for the DrDamage Set, etc).
lrdx:
Thanks for the codebase, I have included it and heavily optimized my/your Formula, now it should use almost as little mem/cpu as the StatSet (garbage went down from 4MiB+ to 49KiB after using BestItems -> Head).
I modified the logic a bit:
It now calculates just the value of your equipment with the new item instead of the currently equipped, the delta value you were calculating can be displayed using the built-in delta function.
That's why it is no use, I was not just going to use it for myself - it was supposed to be used guild-wide, but since it will have to be accompanied with a complicated explanation of usage, resulting in high probability of misconfiguration, it's just to much hassle to bother. Luckily i found a much much better alternative (http://be.imba.hu).
It is a more complete approach to give hints on how to optimize the pve performance of selectable characters, where ItemValue focuses on giving direct ingame advice on which items to choose and how to socket them to gain the most benefit (according to your settings).
Yeah, the efficiency of the version I uploaded here was actually a crime to WoW, I figured it out the hard way: I have created 6 sets with it, and I had a 5+ sec freeze every time I mouse-overed a non-cached item :)
I have just updated my mods and saw you added it, tested out immediately and works like a charm! Thank you.
Gagorian fixed that one already.
Farook:
Thanks, I committed your update.
ItemValue_DrDamage now does some basic calculation so estimate the benefit of Spellhaste Rating. I left the other values untouched (it still displayes the benefit per cast), but now the benefit from spellhaste is added in the form of how much it would increase the damage if the cast time would stay the same (1570 haste rating => 100% haste => 50% less casttime is displayed as a 50% damage increase per cast). GCD is handled with 2.4 values (GCD will be lowered by haste rating, minimum is 1sec).
Additionally it should now correctly handle Healing spells.
Maybie I am misunderstanding something, but 50% casttime means double dps, not 150%
Instant spells with cooldown (~ instant DOTs) are a bit problematic with this approach, but at least they are gaining some benefit of spellhaste.
Progress on the AceConfig-3.0 GUI:
should read
Cheers
Taalas
Date: 2008-04-02 10:49:25
ID: 51
Error occured in: Global
Count: 6
Message: ..\AddOns\ItemValue\ItemValue.lua line 1512:
Usage: GetItemGem("name"|"itemlink", index)
Debug:
[C]: ?
[C]: GetItemGem()
ItemValue\ItemValue.lua:1512: RegisterNewJewel()
ItemValue\ItemValue.lua:1698:
ItemValue\ItemValue.lua:1684
ItemValue\ItemValue.lua:1705: ApplyItemModifications()
ItemValue\ItemValue.lua:1630: GetTooltipText()
ItemValue\ItemValue.lua:1584: handler()
...ddOns\ItemValue\Libs\TipHooker-1.0\TipHooker-1.0.lua:193:
...ddOns\ItemValue\Libs\TipHooker-1.0\TipHooker-1.0.lua:187
[C]: SetInventoryItem()
..\FrameXML\PaperDollFrame.lua:1213: PaperDollItemSlotButton_OnEnter()
[string "*:OnEnter"]:1:
[string "*:OnEnter"]:1
AddOns:
ItemValue, vr65381
Swatter, v5.0.PRE.2995
For this posting I disabled all my addons except ItemValue and Swatter (which makes copying the error easier). Somehow I doubt it's an incompatibility with Swatter. Occurs on first display of *any* tooltip after a ReloadUI, after which it just doesn't try to do anything with tooltips until the next reload/error.
What am I doing wrong?
Do you have StatLogicLib installed?