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.
Everytime I finish reforging and then hit calculator it changes what it wants to reforge. EVen if I hit calculate many many times before reforging.
am I using this wrong or is it a bug?
I also wasted tons of gold like others : /
Since there is some precision loss, the process is slightly randomized (without precision loss the algorithm would run out of memory). The difference between different options should be fairly small, and if you click it several times it will remember the best option so far, so eventually it will stop changing if you want to find the truly optimal reforge.
If the stats after reforge don't match the ones it promised, then it is a bug and I'll look into that.
I'm getting an error that won't open reforgelite when I go to the reforger or do /reforge, which is strange because I got this error literally five minutes after I just used it:
Message: integer overflow attempting to store 119200447220
Time: 09/27/13 15:48:13
Count: 1
Stack: (tail call): ?
[C]: ?
[C]: in function `format'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:645: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:633>
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1185: in function `RefreshMethodStats'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1170: in function `UpdateMethodCategory'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1016: in function `CreateOptionList'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:850: in function `CreateFrame'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1649: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:1640>
[C]: in function `TurnOrActionStop'
[string "TURNORACTION"]:4: in function <[string "TURNORACTION"]:1>
Locals: (*temporary) = "up"
(*temporary) = 0
(*temporary) = -1
(*temporary) = 0
(*temporary) = <function> defined =[C]:-1
Most recent update of this addon no longer works. Wasted at least 2-3k gold trying to reforge for soft haste cap, it constantly miscalculates and always comes up under what's needed, I just reforged to go way over the haste cap for now. But just a fair warning for people looking to use this.
Any ETA on the update? Been using Reforgelite for a long time now and would like to keep using it... but these incorrect reforges are taking the piss out of me (and my gold).
@Rivxyz
Maybe I can help you, but what should I do?
@limyle
I know, I haven't updated it for new items yet; however, I can't get the upgrade IDs for those items as I don't have an asian client, so it might take some more time.
i would not use this. it is broken and it will take all of your gold as it did me. so plz find a diffrent one. would hate for it to do the same to you
Calm down please, I have a fix ready for new items but can't release it without testing, which will happen tomorrow hopefully (not that easy without a subscription).
will this also be able to get hit cap while using Purified Bindings of Immerseus the %spirit is spazing out the addon for spriest
I love this addon, but there's a MAJOR flaw that it has. After reforging your gear, you can press calculate and reforge 10+ times before it reforges perfecty. I would reforge, press calculate again, and then reforge again. I did this MANY times (wasting the gold of course was my fault) until I got the thing to say +0. You need to add a button that simulates reforging the gear over and over until it hits the perfect reforge. I understand that this would be a memory hog but it would be worth it to save gold.
This addon is a life-saver but hasn't been working correctly with SoO gear. Can't wait for the next patch.
@Iroared:
Hi, it's not working for asia 25 raid items, i.e. 561 iLv ones. Can you pls fix for that.
There's something funky going on with gear from Siege of Orgrimmar. I'm getting incorrect values every single time I reforge. The addon could for examble say I'd end up with 2548 expertise after a reforge but in reality, I'd get 2670.
I think this addon is having some issues properly reforges H/H WF pieces. The results it spits out for me do not equal the ones I get after I reforge.
Upgraded or not? I haven't updated it with upgrade data for new items, but should have it this week.
If you don't mind me asking, what happened to all the set to options? After hit/expertise all of the other ones dissapear, so I can't set specific points to reach anymore.
You can't have more than two caps, read the FAQ.
Hi! i like the add-on! one problem. I cant delete the "resuslts" presets i have. i get an error that pops up.
I've pasted it into the reply. maybe you can help me out?
Date: 2013-09-15 17:44:22
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\ReforgeLite\Presets.lua line 720:
attempt to index field 'customMethodPresets' (a nil value)
Debug:
ReforgeLite\Presets.lua:720: func()
..\FrameXML\UIDropDownMenu.lua:710: UIDropDownMenuButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
Locals:
(*temporary) = nil
(*temporary) = "hero"
(*temporary) = "attempt to index field 'customMethodPresets' (a nil value)"
self = <unnamed> {
PrioToWeights = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:610
itemTable = <unnamed> {
}
CapUpdater = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:130
IsReforgeMatching = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1452
InitPresets = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:576
MovePriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:249
GetCapScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:411
CapAllows = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:205
UpdateTask = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:333
dbkey = "Draec - Dalaran"
ReorderCapPoint = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:86
UpgradeDB = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:129
methodImportMenu = ReforgeLiteMethodImportMenu {
}
WeightsToPrio = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:679
importFuncs = <table> {
}
debugButton = ReforgeLiteDebugButton {
}
db = <table> {
}
initialized = true
presets = <table> {
}
deletePresetButton = ReforgeLiteDeletePresetButton {
}
statWeightsCategory = <unnamed> {
}
GetNeededMeleeHit = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:30
UpdateMethodCategory = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1059
pawnButton = ReforgeLiteImportButton {
}
IsMethodValid = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:114
OnCommand = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1700
presetMenu = ReforgeLitePresetMenu {
}
UpdatePriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:277
GetMethodScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:81
CreateFrame = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:705
SetAnchor = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:594
IsItemLocked = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:216
deleteMethodPresetButton = ReforgeLiteDeleteMethodPresetButton {
}
pdb = <table> {
}
AddPriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:170
RunImport = <function> defined @Interface\AddOns\ReforgeLite\Parsers.lua:113
itemSlots = <table> {
}
methodOverride = <table> {
}
STATS = <table> {
}
methodPresetDelMenu = ReforgeLiteMethodPresetDelMenu {
}
ParsePawnString = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:432
UpdateMethodStats = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:133
methodStats = <unnamed> {
}
SetStatWeights = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:360
GetConversion = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:37
scrollBarShown = false
RemoveCapPoint = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:77
GetExpertiseBonus = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:22
MakeReforgeOption = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:226
settingsCategory = <unnamed> {
}
UpdateContentSize = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1205
methodImportButton = ReforgeLiteImportMethodButton {
}
capPresets = <table> {
}
close = <unnamed> {
}
QueueUpdate = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1259
UpdatePriorityPreset = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:261
methodPresetMenu = ReforgeLiteMethodPresetMenu {
}
UpdateCapPreset = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:93
UpdateStatWeightList = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:136
ParseWowReforge = <function> defined @Interface\AddOns\ReforgeLite\Parsers.lua:38
isWeights = ReforgeLiteWidget4 {
}
itemStats = <table> {
}
AddCapPoint = <function> defin
AddOns:
Swatter, v5.18.5433 (PassionatePhascogale)
ACP, v3.4.4
AucAdvanced, v5.18.5433 (PassionatePhascogale)
AucFilterBasic, v5.18.5433 (PassionatePhascogale)
AucFilterOutlier, v5.18.5433.5347(5.18/embedded)
AucMatchUndercut, v5.18.5433.5364(5.18/embedded)
AucStatHistogram, v5.18.5433 (PassionatePhascogale)
AucStatiLevel, v5.18.5433 (PassionatePhascogale)
AucStatPurchased, v5.18.5433 (PassionatePhascogale)
AucStatSales, v5.18.5433.5376(5.18/embedded)
AucStatSimple, v5.18.5433 (PassionatePhascogale)
AucStatStdDev, v5.18.5433 (PassionatePhascogale)
AucStatWOWEcon, v5.18.5433.5323(5.18/embedded)
AucUtilAHWindowControl, v5.18.5433.5347(5.18/embedded)
AucUtilAppraiser, v5.18.5433.5427(5.18/embedded)
AucUtilAskPrice, v5.18.5433.5347(5.18/embedded)
AucUtilAutoMagic, v5.18.5433.5415(5.18/embedded)
AucUtilCompactUI, v5.18.5433.5427(5.18/embedded)
AucUtilEasyBuyout, v5.18.5433.5427(5.18/embedded)
AucUtilFixAH, v5.18.5433 (PassionatePhascogale)
AucUtilItemSuggest, v5.18.5433.5417(5.18/embedded)
AucUtilPriceLevel, v5.18.5433.5427(5.18/embedded)
AucUtilScanButton, v5.18.5433.5403(5.18/embedded)
AucUtilScanFinish, v5.18.5433.5347(5.18/embedded)
AucUtilScanProgress, v5.18.5433.4979(5.18/embedded)
AucUtilScanStart, v5.18.5433.5347(5.18/embedded)
AucUtilSearchUI, v5.18.5433.5373(5.18/embedded)
AucUtilSimpleAuction, v5.18.5433.5415(5.18/embedded)
AucUtilVendMarkup, v5.18.5433.4828(5.18/embedded)
Babylonian, v5.1.DEV.332(/embedded)
BagBrother, v
Bagnon, v5.4.2
Bartender4, v4.5.13
BeanCounter, v5.18.5433 (PassionatePhascogale)
Configator, v5.1.DEV.344(/embedded)
DBMCore, v
DebugLib, v5.1.DEV.337(/embedded)
Enchantrix, v5.18.5433 (PassionatePhascogale)
EnchantrixBarker, v5.18.5433 (PassionatePhascogale)
Gatherer, v4.4.0
GTFO, v4.23.8
Informant, v5.18.5433 (PassionatePhascogale)
LibExtraTip, v5.12.DEV.355(/embedded)
MacroToolkit, vv5.4.0.0
MikScrollingBattleText, v5.7.131
NugComboBar, v
Omen, v3.1.8
OmniCC, v5.4.0
Postal, v3.5.1
Recount, v
ReforgeLite, v1.33
SlideBar, v5.18.5433 (PassionatePhascogale)
Stubby, v5.18.5433 (PassionatePhascogale)
TellMeWhen, v6.2.5
TipHelper, v5.12.DEV.351(/embedded)
WoWDBProfiler, v
XPerl, v3.7.3
XPerlArcaneBar, v
XPerlParty, v
XPerlPartyPet, v
XPerlPlayer, v
XPerlPlayerBuffs, v
XPerlPlayerPet, v
XPerlRaidAdmin, v
XPerlRaidFrames, v
XPerlRaidHelper, v
XPerlRaidMonitor, v
XPerlRaidPets, v
XPerlTarget, v
XPerlTargetTarget, v
BlizRuntimeLib_enUS v5.4.0.50400 <us>
(ck=9f4)