ReforgeLite
Overview
ReforgeLite is a lightweight reforging calculator that helps you figure out the optimal strategy to reforge your gear given your stat weights and caps without leaving the game.
The addon now has its own project page, located at http://www.rivsoft.net/projects/reforgelite/
Downloads are still only available through Curse page.
What to do if you're not happy with the results
The quickest way to get response is to e-mail me directly at [email protected]
Please describe your problem, and, most importantly, attach a debug log that you can find by scrolling to the bottom of the main UI window (the "Debug" button inside settings section).
How to use it
To open the addon window, type /reforge or talk to the reforging master. On the left half of the window you can see your current item stats for reference.
On the right side you can set up stat weights/caps, or select an existing preset (presets are regularly updated from http://www.noxxic.com, which in turn gets its information from Elitist Jerks).
In the simplified mode, you can specify the stat priority, along with up to two capped stats (each capped stats can have an arbitrary number of breakpoints). If you want more control, you can go into advanced mode and enter the exact stats specific for your gear, obtained from a tool such as SimulationCraft.
Behind the hood, simplified mode sets the lowest stat to a weight of 100, and each next stat adds 20. When you switch between the two modes, ReforgeLite converts your current weights to the other format.
When you're done setting up weights/caps, press Calculate. The calculations are fairly memory/time intensive, so ReforgeLite might trade some precision for speed, though the losses should be minimal. You can press the Calculate button a few times if you want to try getting a better result, the output will always display the best result so far.
Once the calculation finishes, you will see a section with your stats after reforging, and the difference from your current stats. Click on the Show button to see which items should be reforged.
If the reforging UI is open, you can click on the Reforge button to automatically reforge all items in the selected way. Do not interfere in the process (clicking the cancel button or closing the reforging UI is fine). Caution: I'm only human, so while I try my best, I can not guarantee that this process is absolutely bug free, so its recommended to watch over the process. If you leave to make some tea and come back to find it spending thousands of gold reforging your boots over and over again, don't tell me I didn't warn you.
FAQ: The results seem incorrect. I'm getting too much/too little hit/expertise/etc.
First of all, with Mists of Pandaria, expertise now affects spell hit, so it is not uncommon for casters to reforge into some expertise (on items that already have hit) to reach the cap, especially at lower gear levels. Note that ReforgeLite directly adds your expertise rating to hit rating, which is not the way it is displayed in the game, but it is more convenient when verifying the result.
Also, keep in mind that ReforgeLite uses your currently active spec to decide which stat conversions are in place, so if you're a Paladin trying to reforge your Protection gear while in Holy spec, you will likely get very little hit because it thinks you get enough from expertise.
If you are still not satisfied with the results, feel free to e-mail me (at [email protected]) with a brief description of the problem and a debug log (found at the bottom of the scrollable arera, in the options category).
FAQ: I'm using certain items for my off-spec and I don't want their reforge changed.
Simply click on an item icon in the large stats table, this will lock the item's reforge.
FAQ: More caps?
This is a very popular demand, and I'm sorry to tell you that it is not possible with the algorithm I'm currently using. I'm fairly sure the only other way to go is a brute force approach, which is simply way too slow to work in a Lua environment. There are plenty of external tools that employ it, such as http://www.wowreforge.com. I will be adding an import option in the near future to make it easier to use their results.
FAQ: Decimal weights?
You might notice that you can't enter anything besides digits in the weight boxes. This was done for simplicity's sake, and it does not limit you at all - you can multiply all your weights by a 100 (or whatever you prefer) to make them integers, and that would not affect the result at all.
FAQ: My reforge/results window isn't showing up. What do?
There are a few possible reasons.
First, ensure that the addon is enabled (and not marked as outdated if you haven't checked the box to load out-of-date addons). If the addon isn't loaded, you should get an error when trying to type /reforge in chat.
Second, try enabling Lua errors in the game options. If this causes error messages to show up when you try to open the reforge window, then send me the text of the error and I'll figure something out.
Third, it is possible that you accidentally moved the window off-screen. The easiest way to fix this is by deleting the addon config file located at <game folder>/WTF/Account/<your account>/SavedVariables/ReforgeLite.lua - this should reset the addon settings to default (make sure you're in game when doing that, or the file will simply reappear). This will also delete your custom weight and reforge presets - if you want to avoid that, you can try editing the said file, by changing the values of variables "windowX", "windowY", "methodWindowX" and "methodWindowY". Values such as 100 for X and 500 for Y should make the window(s) visible at least.
expertise is like lepersy for unholy. it is by far the worst stat, worth only .99 compared to haste and crit wihich are 1.8something each if im not mistaken and mastery at 1.5ish
True, but its still nice to have 100% chance to hit with strikes.
This is a great addon, but there is a problem. (sorry for the lack of information or errors as it doesnt create any and i have no idea how to exactly replicate) So I use this addon every time I get a new piece of gear and every so often it will reforge and unforge one piece in an infinite loop and drains my gold really really fast (this last time happened about 30 minutes ago and lost 1.2k gold....) until I close the reforge window. Any suggestions would be helpful.
Sorry about that =(
Do you remember what item it was, and what was the suggested reforge? It [i]might[/i] happen if you don't recalculate after switching gear (e.g. it suggested reforging your chestpiece crit->mastery, then you change chestpiece to one with haste+mastery, and the reforge doesn't make sense anymore). I'm not sure though, I thought in this case it should just stop when it doesn't find a suitable reforge. Maybe it started happening again due to how reforging window was changed.
Just wanted to post in here that this addon is great! Thanks Iroared for all the hard work! Best addon ever IMO!
As a warrior testing out the newest version (1.09.2) with all my earlier calulations outside of reforgelite I should be at the total of 102.55% avodiance however reforge lite only shows 100.55%. This makes me believe that you are currently not accounting for people being nightelves for the 2% increase miss. Since that is the exact value I'm missing from all my other calculations.
That could be the case. Is it actually increased miss, and not dodge? In that case the addon will not detect that, I'll fix that asap.
When I load weights from a Pawn profile (not a Pawn string directly), most of the fields are blank. I think it has to do with the number of decimal places saved in Pawn. Here's the string i fed to Pawn:
I'll look into it, I don't use pawn myself so no idea what could be the reason.
Mine is working for most of the classes i've bothered to try, but with my main, Enhancement Shaman, the preset stat weights seem wrong, it has crit higher than mastery and keeps trying to dump my mastery to crit. I don't know of any changes to shaman that would make crit better than mastery at any time atm.
True, it should have been mastery >> crit, not the other way around. 1.09.2 should fix it.
Yeah this is not working on my warrior but works for all my other classes :(
I tried, it works fine for me. Are you using 1.09.1 (not 1.09)? Did you try deleting settings as suggested in one of my posts below? I'll upload 1.09.2 anyway, it should fix the error without needing to reset settings.
Does it still not work on warrior? I'll test tomorrow and update if needed =\
Wasn't working on a warrior, i clearned the saved variables and it started working again.
Works on everythig for me but my warrior tried fresh install deleted saved variables folder and still get this error message on login
Date: 2011-12-01 08:58:42
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\ReforgeLite\ReforgeLite.lua line 997:
attempt to index field '?' (a nil value)
Debug:
[C]: ?
ReforgeLite\ReforgeLite.lua:997: UpdateCapPreset()
ReforgeLite\ReforgeLite.lua:1013: UpdateCapPoints()
ReforgeLite\ReforgeLite.lua:1296: CreateOptionList()
ReforgeLite\ReforgeLite.lua:834: CreateFrame()
ReforgeLite\ReforgeLite.lua:2236: ?()
ReforgeLite\ReforgeLite.lua:2199:
ReforgeLite\ReforgeLite.lua:2197
anyone know how to fix I would be most greatful. This is prob my favourite addon keep up great work.
Doesnt seem to be working for me...
Error message i keep getting
Message: Interface\AddOns\ReforgeLite\ReforgeLite.lua:997: attempt to index field '?' (a nil value)
Time: 11/30/11 16:13:11
Count: 1
Stack: Interface\AddOns\ReforgeLite\ReforgeLite.lua:997: in function `UpdateCapPreset'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1013: in function `UpdateCapPoints'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1296: in function `CreateOptionList'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:834: in function `CreateFrame'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:2236: in function `?'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:2199: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:2197>
Locals: self = <unnamed> {
0 = <userdata>
capPresets = <table> {
}
close = <unnamed> {
}
QueueUpdate = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1827
itemTable = <unnamed> {
}
CapUpdater = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1074
IsReforgeMatching = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2017
InitPresets = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:799
DiminishStat = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:88
UpdateCapPreset = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:994
CapAllows = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:250
UpdateStatWeightList = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1080
ChooseReforgeClassic = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:486
dbkey = "Raffa - Argent Dawn"
GetItemReforgeOptions = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:322
itemStats = <table> {
}
AddCapPoint = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:923
reforgeTable = <table> {
}
ReorderCapPoint = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:979
SetUpHooks = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2184
FinalizeReforge = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:213
Compute = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:969
UpdateMethodChecks = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2061
leftGrip = <unnamed> {
}
statCaps = <unnamed> {
}
statWeights = <unnamed> {
}
CreateOptionList = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1189
convertSpirit = <unnamed> {
}
CreateCategory = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:502
GetReforgeID = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1720
InitReforgeClassic = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:403
DebugMethod = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:1039
statTotals = <table> {
}
deletePresetButton = ReforgeLiteDeletePresetButton {
}
presetDelMenu = ReforgeLitePresetDelMenu {
}
OnTooltipSetItem = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2165
savePresetButton = ReforgeLiteSavePresetButton {
}
tankingStats = <table> {
}
itemData = <table> {
}
presetsButton = ReforgeLiteWidget1 {
}
scrollBar = ReforgeLiteScrollBar {
}
content = <unnamed> {
}
scrollBg = <unnamed> {
}
statWeightsCategory = <unnamed> {
}
scrollFrame = <unnamed> {
}
MoveScroll = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:652
ChooseReforgeS2H = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:659
SetScroll = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:636
RestoreStoredMethod = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1709
OnEvent = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2197
GetNeededMeleeHit = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:61
scrollValue = 0
UpdateMethodCategory = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1508
pawnButton = ReforgeLiteDeletePr
Works on all but my warrior, go figure :)
Yup! Clean install of v1.09.1 fixed issues. Thanks mate!
There's some issue addon have with warriors indeed, pops when reloging to warrior straight away:
Date: 2011-11-29 14:27:01
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\ReforgeLite\ReforgeLite.lua line 997:
attempt to index field '?' (a nil value)
Debug:
[C]: ?
ReforgeLite\ReforgeLite.lua:997: UpdateCapPreset()
ReforgeLite\ReforgeLite.lua:1013: UpdateCapPoints()
ReforgeLite\ReforgeLite.lua:1296: CreateOptionList()
ReforgeLite\ReforgeLite.lua:834: CreateFrame()
ReforgeLite\ReforgeLite.lua:2236: ?()
ReforgeLite\ReforgeLite.lua:2199:
ReforgeLite\ReforgeLite.lua:2197