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.
Got an error
Message: Interface\AddOns\ReforgeLite\ReforgeLite.lua:948: attempt to index field '?' (a nil value)
Time: 03/10/12 22:53:58
Count: 1
Stack: Interface\AddOns\ReforgeLite\ReforgeLite.lua:948: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:947>
Interface\AddOns\ReforgeLite\GUI.lua:67: in function <Interface\AddOns\ReforgeLite\GUI.lua:63>
[C]: in function `Hide'
Interface\AddOns\ReforgeLite\GUI.lua:49: in function `Recycle'
Interface\AddOns\ReforgeLite\GUI.lua:413: in function `DeleteRow'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:975: in function `RemoveCapPoint'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:936: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:935>
Locals: val = 1905
(*temporary) = nil
(*temporary) = 1
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
self = <unnamed> {
0 = <userdata>
itemTable = <unnamed> {
}
GetMeleeHitBonus = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:52
IsReforgeMatching = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2022
InitPresets = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:801
GetCapScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:396
CapAllows = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:276
ChooseReforgeClassic = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:512
dbkey = "Incinerater - Firetree"
GetNeededSpellHit = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:69
UpgradeDB = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:122
methodReset = ReforgeLiteMethodResetButton {
}
ADDON_LOADED = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2234
ComputeReforgeCore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:932
debugButton = ReforgeLiteDebugButton {
}
db = <table> {
}
OnTooltipSetItem = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:2170
presets = <table> {
}
deletePresetButton = ReforgeLiteDeletePresetButton {
}
statWeightsCategory = <unnamed> {
}
GetNeededMeleeHit = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:61
UpdateMethodCategory = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1513
pawnButton = ReforgeLiteDeletePresetButton {
}
UpdateWindowSize = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:391
presetMenu = ReforgeLitePresetMenu {
}
GetMethodScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:93
CreateFrame = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:692
SetTankingModel = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1022
SetAnchor = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:581
IsItemLocked = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:287
pdb = <table> {
}
itemSlots = <table> {
}
statWeights = <unnamed> {
}
STATS = <table> {
}
ParsePawnString = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:420
UpdateMethodStats = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:184
methodStats = <unnamed> {
}
SetStatWeights = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1030
scrollBarShown = true
RemoveCapPoint = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:972
GetExpertiseBonus = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:58
MakeReforgeOption = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:297
UpdateBuffs = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1161
settingsCategory = <unnamed> {
}
ChooseReforgeTank = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:861
UpdateContentSize = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1720
capPresets = <table> {
}
close = <unnamed> {
}
CreateOptionList = <function> defined @Interface
literally the most usefull addon ive used to date, with the exception of DBM perhaps.
unfortunately, since this last server restart it hasn't been able to run, as in won't even show up as if i havent even downloaded the addon. trying uninstalling and reisntalling many times but to no success. i realize its more of a technical problem but... any help?
Did you check the „Load out of date addons” from the Addons window before logging in with your char ?
Any chance this is going to be updated so that the only choioces for rogues arent teir 11 and 12?
Currently its tier 12 and 13 isn't it? If not, then I must have forgotten to update it. Besides, other classes have just one preset, so its not like you're in disadvantage.
For some reason the addon is telling me to reforge me gear to 103.88% yet surely this is a waste of stats & it should be aiming for 102.4%???
Hmmm - I have solved it, but I had to set the crit block stat weight to 0 - dunno if this is a bug but it works & I'm happy now!! Awesome addon (once I got the avoidance cap right)
When in my Protection Paladin spec, ReforgeLite is reforging my stuff into spirit when I set block chance weight higher than dodge/parry.
@Pelf: yes, thanks, I noticed that. Should be easy to fix, just didn't see it as something serious)
@KyrosKrane: that's interesting, I'm not sure how I could fix that.. for now, I just let it run until it crashes, then catch the error. I really don't understand why blizzard can't sandbox addons properly to prevent client crashes.
@InfernoGuy87: sure, I usually update the presets every time I release a new version. Meanwhile, you could create your own preset or tweak the Presets.lua if you can understand what's going on in there.
@michaelselehov: unfortunately, its not possible to keep track of more than two non-linear stats with the approach I'm using, so you'll have to work around it. You could either manually reforge a few items with hit/exp, lock them (by clicking them in the big table on the left) and let the addon reforge the other items for avoidance cap; or you could enforce hit/exp caps while maximizing mastery, this will leave you with less dodge/parry, so it depends on what you're trying to reach.
@nefariouslover: I'm pretty sure they should be included in CTC calculation in the small list on the right, as long as you're using a tanking preset.
Hellow!
I know there are more topics about this and i tried all the solutions, but it didn't work. So i hope you can help me. It's about my elemental shammy and hitcap. It supposed to be at 17% but im at 21% atm and can't get it down. It says the following:
Spirit to hit: 100%
Spirit: 0
Dodge: 0
Parry: 0
Hit: 200
Crit: 80
Haste: 140
Expertise: 0
Mastery: 120
At least Spellhit cap 1640
Can you help me with this?
Greets, Sandra
Hi,
The only things I can think of: make sure the last value is 0 in "At least"-"Spell hit cap"-"1640"-"0", and check if you're using too much spirit gear - it can be possible that even after reforging everything out of spirit/hit you end up above the cap.
If that doesn't help, you could send me the debug info so I can take a look.
(Posting this here as well as on Curse, as I'm not sure where the proper place is for issue reports.)
It appears that the Debug button isn't actually inside the Settings collapsible region.
It appears that the Debug button isn't actually inside the Settings collapsible region.
When I hit the reforge button my mind exploded....what an amazing addon.
First of all, very nice, good job.
Second thing - the addon shows no points change after calculations done, shows change -130 to hit and +130 expertise [ thats what i need ], however he does not show any changes when i click "show". So how can I really know what numbers are going to be changed after i reforge? Becouse of that I cant calcuate proper exp and hit cap, cuz the numbers aint working.
The small table above the "Show" button should contain the stats after reforging, and how much they differ from your current stats.
Hi, quick little question/comment. On my BM hunter the preset wants to set mastery above haset when in fact mastery is still the worst stat for hunter. is there a way for me to set it up as the lowest stat?
Sure, just change the value to something lower. I'm not an expert on all classes so I might have misread/mistyped some presets.
is there some way that I can input stats the addon dosent find like the dogue trinket from spine Resolve of Undying gives 880 dogue but the addon dosent take that into account, is there some way to fix that?
other then that I love this addon made my life so much better :) thanks
It should take stacking trinkets into account, but you will only see the difference in the CTC info to the right of the small table (as long as you're using a tanking preset).