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.
Hi;
First of all, if you have issues, it would be best to e-mail me, because I check it way more often than this page.
Anyway, apparently it doesn't get the exp cap right for hunters with ranged exp bonuses, I'll fix that.
Also will be fixing some lua errors I found.
I've always used default presets but recently I simmed my char for the first stime. I have trouble putting my simmed weights into Reforge lite and would appreciate some hints. For my caster results were: Int 2.84 SP 2.36 Crit 0.99 Haste 1.0 and MAstery 0.90. ADvanced options allow me to change Crit, Haste and Mastery values, but where do I put in Int and SP? They're all relative to each other if I understand well.
there is no way how you can increse/decrease Int or SP by reforging :)
Oh I get it now - the values for crit, haste and mastery are only relative between them and are for the addon to adjust the three remaining stats by optimizing them around my Int and SP which are unchangeable:) Thanks for clarifying:)
Is it possible to add third caps?
I tried to add a haste cap besides exp's and hit's on normal mode, but it doesn't work.
In advanced mode you actually can't add third capped-stats.
in version 1.19 i was unable to reforge my affliction warlock properly. i set hit manual cap at 5000 and whatever i did, i always came up with about +300-500 expertise. in previous version 1.17 reforging work fine, no attempt to add expertise.
ps: i know that expertise equal to hit, but idea is i want to be below hit cap. proposed reforge make me a way above hit cap.
Could it be because hit weight after cap is still higher than other stats?
Please send me the debug log, I'll look into it.
here is a debug log: i try to have 4590 hit and 4198 haste
data = {
initial = {
1 = 280
2 = 0
3 = 0
4 = 380
5 = 325
6 = 330
7 = 0
8 = 300
}
method = {
items = {
1 = {
dst = 6
stats = {
1 = 0
2 = 0
3 = 0
4 = 523
5 = 0
6 = 0
7 = 0
8 = 406
}
src = 8
}
2 = {
dst = 7
stats = {
1 = 0
2 = 0
3 = 0
4 = 502
5 = 445
6 = 0
7 = 0
8 = 0
}
src = 5
}
3 = {
dst = 8
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 450
6 = 470
7 = 0
8 = 0
}
src = 5
}
4 = {
dst = 6
stats = {
1 = 0
2 = 0
3 = 0
4 = 426
5 = 0
6 = 0
7 = 0
8 = 426
}
src = 4
}
5 = {
dst = 4
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 0
6 = 686
7 = 0
8 = 474
}
src = 6
}
6 = {
dst = 6
stats = {
1 = 0
2 = 0
3 = 0
4 = 405
5 = 0
6 = 0
7 = 0
8 = 438
}
src = 4
}
7 = {
dst = 8
stats = {
1 = 0
2 = 0
3 = 0
4 = 532
5 = 0
6 = 650
7 = 0
8 = 0
}
src = 4
}
8 = {
stats = {
1 = 0
2 = 0
3 = 0
4 = 342
5 = 0
6 = 0
7 = 0
8 = 533
}
}
9 = {
dst = 8
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 636
6 = 429
7 = 0
8 = 0
}
src = 5
}
10 = {
dst = 8
stats = {
1 = 0
2 = 0
3 = 0
4 = 478
5 = 0
6 = 518
7 = 0
8 = 0
}
src = 6
}
11 = {
dst = 7
stats = {
1 = 0
2 = 0
3 = 0
4 = 485
5 = 0
6 = 0
7 = 0
8 = 323
}
src = 8
}
12 = {
dst = 8
stats = {
1 = 0
2 = 0
3 = 0
4 = 432
5 = 0
6 = 415
7 = 0
8 = 0
}
src = 4
}
13 = {
dst = 6
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 0
6 = 0
7 = 0
8 = 751
}
src = 8
}
14 = {
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 0
6 = 0
7 = 0
8 = 0
}
}
15 = {
stats = {
1 = 0
2 = 0
3 = 0
4 = 0
5 = 0
6 = 238
7 = 0
8 = 268
}
}
16 = {
dst = 6
stats = {
1 = 0
2 = 0
3 = 0
4 = 377
5 = 0
6 = 0
7 = 0
8 = 377
}
src = 4
}
}
}
conv = {
s2h = 0
s2e = 0
e2h = 1
}
weights = {
1 = 0
2 = 0
3 = 0
4 = 180
5 = 120
6 = 140
7 = 0
8 = 160
}
cheat = 17
caps = {
1 = {
points = {
1 = {
value = 4590
preset = 1
method = 1
after = 0
}
}
stat = 4
init = 4882
}
2 = {
points = {
1 = {
value = 4198
preset = 1
method = 1
after = 0
}
}
stat = 6
init = 3736
}
}
}
method = {
items = {
1 = {
dst = 6
src = 8
amount = 162
reforge = 55
}
2 = {
dst = 7
src = 5
amount = 178
reforge = 34
}
3 = {
dst = 8
src = 5
amount = 180
reforge = 35
}
4 = {
dst = 6
src = 4
amount = 170
reforge = 26
}
5 = {
dst = 4
src = 6
amount = 274
reforge = 39
}
6 = {
dst = 6
src = 4
amount = 162
reforge = 26
}
7 = {
dst = 8
src = 4
amount = 212
reforge = 28
}
8 = {
}
9 = {
dst = 8
src = 5
amount = 254
reforge = 35
}
10 = {
dst = 8
src = 6
amount = 207
reforge = 42
}
11 = {
dst = 7
src = 8
amount = 129
reforge = 56
}
12 = {
dst = 8
src = 4
amount = 172
reforge = 28
}
13 = {
dst = 6
src = 8
amount = 300
reforge = 55
}
14 = {
}
15 = {
}
16 = {
dst = 6
src = 4
amount = 150
reforge = 26
}
}
stats = {
1 = 280
2 = 0
3 = 0
4 = 4597
5 = 1244
6 = 4199
7 = 307
8 = 4730
}
}
Doing the same on my warlock. Optimizes to precisely 5100 hit, but also sets 615 Expertise. Post-cap value was set at 0, expertise's base value was set to 0, and no cap was set for Expertise (wasn't even selected).
Debug output: http://pastebin.com/SshyjPGq
If you enable lua errors, you should get an error message saying what exactly happened.
One reason could be a corrupted config file, try deleting WTF/Accounts/<name>/SavedVariables/ReforgeLite.lua
seems it happened to me since last week, cant use RFL by typing the command and clicking the RFM npc. I tried reinstall the addon its still not working. help!help!help! I need somebody
error on initial load up of RFL
Message: Interface\AddOns\ReforgeLite\ReforgeLite.lua:167: attempt to index field '?' (a nil value)
Time: 10/29/12 22:11:02
Count: 1
Stack: Interface\AddOns\ReforgeLite\ReforgeLite.lua:167: in function `UpgradeDB'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1702: in function `?'
Interface\AddOns\ReforgeLite\ReforgeLite.lua:1667: in function <Interface\AddOns\ReforgeLite\ReforgeLite.lua:1665>
Locals: self = <unnamed> {
0 = <userdata>
capPresets = <table> {
}
CreateOptionList = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:918
UpdatePriorityPreset = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:260
GetMeleeHitBonus = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:16
IsReforgeMatching = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1477
InitPresets = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:539
MovePriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:248
GetCapScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:394
CapAllows = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:198
UpdateStatWeightList = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:136
ChooseReforgeClassic = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:460
dbkey = "Frozenclam - Proudmoore"
GetItemReforgeOptions = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:309
itemStats = <table> {
}
AddCapPoint = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:30
reforgeTable = <table> {
}
spiritBonus = 1
SetUpHooks = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1652
FinalizeReforge = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:162
Compute = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:587
ADDON_LOADED = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1700
CreateCategory = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:500
GetReforgeID = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1235
InitReforgeClassic = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:343
DebugMethod = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:650
initialized = false
tankingStats = <table> {
}
GetMethodPenalty = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:88
MoveScroll = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:650
SetScroll = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:634
GetNeededMeleeHit = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:29
GetFrameY = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:593
UpdateCapPoints = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:105
IsMethodValid = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:114
OnCommand = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1725
DoReforge = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1613
GetMethodScore = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:81
CreateFrame = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:688
WeightsToPrio = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:649
REFORGE_TABLE_BASE = 112
PrioToWeights = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:580
OnTooltipSetItem = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1633
GetNeededExpertiseSoft = <function> defined @Interface\AddOns\ReforgeLite\Presets.lua:53
SetAnchor = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:577
UpdateTask = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:314
IsItemLocked = <function> defined @Interface\AddOns\ReforgeLite\ReforgeEngine.lua:209
UpdatePriorities = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:299
UpdatePrio
Hi there,
I'd like to use three capped stats on my hunter. Hit and exp ofc, but also haste following the EJ Marksmanship guide. Unfortunately this is not possible in the current build, so I asked myself if you consider more capped stats for any upcoming update or not. I like this addon much, but if you stick to two capped stats, I'd switch to another addon.
k.
it's come a long way from where it was in cata, but it's great now worked perfectly for me.
Expertise cap broken in the latest version for me too.
I just wanna thumbs up the newest version of ReforgeLite. It's blazing fast and it one-upped AskMrRobot on my latest reforge.
im having a issue where the system is trying to reforge for expertise cap on my affliction warlock
Cuz you probably need hit. expertise = hit for casters now. Class changes you don't know about =/= addon errors
Maybe I'm confused about how Crack Shot works, but it gives you 1% exp with ranged weapons. I'm assuming this transfers to your pets. If that is true, shouldn't ReforgeLite put less points into exp for Dwarf Hunters?
Good point, the addon only checks your melee exp when figuring out caps, I'll fix that.