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.
Because you didn't specify an "after cap" value. Change the 0 to the right of the exp cap to what you want it to be worth after capping.
Setting an Expertise cap for a blood tank does not seem to work. I set a minimum of 2550 hit and exp ( with the hit and exp soft cap option , atleast is enabled ) , but after it has reforged my gear to the hit cap , it doesnt start go over to the exp cap , and instead goes for what i have prioritsed the highest after getting my caps ( which is mastery and parry/dodge ). here is a screenshot of the situation: http://tinyurl.com/927vqw2
Below is the error that continues to pop up when ever I enter the game. For all intent and purpose the addon is not functional once this error occurs
ReforgeLite\ReforgeLite.lua line 167: attempt to index field '?' (a nil value) Debug: [C]: ? ReforgeLite\ReforgeLite.lua:167: UpgradeDB() ReforgeLite\ReforgeLite.lua:1702: ?() ReforgeLite\ReforgeLite.lua:1667: 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 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 UpdatePriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:276 RemovePriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:238 AddPriorityItem = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:170 UpdateItems = <function> defined @Interface\AddOns\ReforgeLite\ReforgeLite.lua:1240 itemSlots = <table> { } CapUpdater = <function> defined @Interface\AddOns\ReforgeLite\TaskUI.lua:130 DoReforgeUpdate = <function> defined @Interface\AddOns\ReforgeLit AddOns: Swatter, v5.14.5335 (KowariOnCrutches) ACP, v3.4 AutoRepair, v Bartender4, v4.5.5 BlizzBuffsFacade, v5.0.4 ButtonFacade, v5.0.387 Clique, vv50001-1.0.1 ColorPickerPlus, v DBMCore, v InlineAura, vv1.8.8 InlineAuraDefaults, vv1.8.8 LibSharedMedia30, v3.0-74 Mapster, v1.5.1 Masque, v5.0.387 MasqueEntropy, v5.0.75 MasqueLiteStep, v5.0.63 MasqueRenaitre, vv5.0.2 MikScrollingBattleText, v5.7.123 MoveAnything, v13.2.1 OmniCC, v5.0.4 OneBag3, vv3.4.7 Postal, v3.5.0 Prat30, v3.5.1 Prat30Libraries, v Quartz, v3.1.1 ReforgeLite, v1.19 BlizRuntimeLib_enUS v5.0.5.50001 <us> (ck=275)
When I click the reforger NPC, I get the error below and the ReforgeLite window does not open.
1x ReforgeLite\ReforgeLite-v1.19.lua:1248: attempt to index field "texture" (a nil value)
ReforgeLite\ReforgeLite-v1.19.lua:1248: in function "UpdateItems"
ReforgeLite\ReforgeLite-v1.19.lua:1676: in function <ReforgeLite\ReforgeLite.lua:1665>
<in C code>
<string>:"TURNORACTION":4: in function <string>:"TURNORACTION":1
Locals:
self = <unnamed> {
0 = <userdata>
capPresets = <table> {}
close = <unnamed> {}
CreateOptionList = <func> @..\ReforgeLite.lua:918
itemTable = <unnamed> {}
UpdatePriorityPreset = <func> @..\TaskUI.lua:260
GetMeleeHitBonus = <func> @..\Presets.lua:16
IsReforgeMatching = <func> @..\ReforgeLite.lua:1477
InitPresets = <func> @..\Presets.lua:539
MovePriorityItem = <func> @..\TaskUI.lua:248
GetCapScore = <func> @..\ReforgeLite.lua:394
CapAllows = <func> @..\ReforgeEngine.lua:198
UpdateStatWeightList = <func> @..\TaskUI.lua:136
ChooseReforgeClassic = <func> @..\ReforgeEngine.lua:460
dbkey = "Desdichado - Runetotem"
GetItemReforgeOptions = <func> @..\ReforgeEngine.lua:309
itemStats = <table> {}
AddCapPoint = <func> @..\TaskUI.lua:30
reforgeTable = <table> {}
spiritBonus = 1.03
SetUpHooks = <func> @..\ReforgeLite.lua:1652
FinalizeReforge = <func> @..\ReforgeEngine.lua:162
Compute = <func> @..\ReforgeEngine.lua:587
ADDON_LOADED = <func> @..\ReforgeLite.lua:1700
leftGrip = <unnamed> {}
CreateCategory = <func> @..\ReforgeLite.lua:500
GetReforgeID = <func> @..\ReforgeLite.lua:1235
InitReforgeClassic = <func> @..\ReforgeEngine.lua:343
DebugMethod = <func> @..\ReforgeEngine.lua:650
presetDelMenu = ReforgeLitePresetDelMenu {}
initialized = true
tankingStats = <table> {}
itemData = <table> {}
GetMethodPenalty = <func> @..\ReforgeEngine.lua:88
MoveScroll = <func> @..\ReforgeLite.lua:650
SetScroll = <func> @..\ReforgeLite.lua:634
GetNeededMeleeHit = <func> @..\Presets.lua:29
UpdateWindowSize = <func> @..\ReforgeLite.lua:389
GetFrameY = <func> @..\ReforgeLite.lua:593
title = <unnamed> {}
UpdateCapPoints = <func> @..\TaskUI.lua:105
IsMethodValid = <func> @..\ReforgeEngine.lua:114
OnCommand = <func> @..\ReforgeLite.lua:1725
ReorderCapPoint = <func> @..\TaskUI.lua:86
methodPresetMenu = ReforgeLiteMethodPresetMenu {}
RemovePriorityItem = <func> @..\TaskUI.lua:238
presetMenu = ReforgeLitePresetMenu {}
DoReforge = <func> @..\ReforgeLite.lua:1613
GetMethodScore = <func> @..\ReforgeEngine.lua:81
db = <table> {}
CreateFrame = <func> @..\ReforgeLite.lua:688
WeightsToPrio = <func> @..\TaskUI.lua:649
REFORGE_TABLE_BASE = 112
PrioToWeights = <func> @..\TaskUI.lua:580
OnTooltipSetItem = <func> @..\ReforgeLite.lua:1633
GetNeededExpertiseSoft = <func> @..\Presets.lua:53
SetAnchor = <func> @..\ReforgeLite.lua:577
UpdateTask = <func> @..\TaskUI.lua:314
IsItemLocked = <func> @..\ReforgeEngine.lua:209
UpdatePriorities = <func> @Interface
Because expertise gives Hit to casters now so it does it to help you reach hit cap.
sugest my mage to reforge haste into expertise lol .....
You probably have a sword equipped which increases your expertise by 1% which increases your hit. Folks, you should check out http://www.icy-veins.com and learn your class before posting.
For my human warlock the addon suggests 4826 as spellhit cap, but that should be 5100.
Addon works perfectly with all of my characters, except for my Prot Warrior. The addon will not load with the /command or automatically with the opening of the reforge window. When typing in the /command, the game does not respond to it, but does not say "Type /help for a listing of a few commands" so it is registering that something SHOULD be responding to the command, but is not actually doing anything with it.
I have uninstalled and reinstalled entirely, deleted the WTF lua files and every other possibility I can think of for this.
4x integer overflow attempting to store -29002220709
<in C code>
ReforgeLite\ReforgeLite-v1.19.lua:628: in function <ReforgeLite\ReforgeLite.lua:616>
ReforgeLite\ReforgeLite-v1.19.lua:1210: in function "RefreshMethodStats"
ReforgeLite\ReforgeLite-v1.19.lua:1183: in function "UpdateMethodCategory"
ReforgeLite\ReforgeLite-v1.19.lua:999: in function "CreateOptionList"
ReforgeLite\ReforgeLite-v1.19.lua:833: in function "CreateFrame"
ReforgeLite\ReforgeLite-v1.19.lua:1674: in function <ReforgeLite\ReforgeLite.lua:1665>
<in C code>
<string>:"TURNORACTION":4: in function <string>:"TURNORACTION":1
Locals:
text = <unnamed> {
align = "CENTER"
offsY = 0
offsX = 0
0 = <userdata>
}
value = 232224453933
cur = 261226674642
override = -29002220709
percent = nil
(*temporary) = <func> =[C]:-1
(*temporary) = <unnamed> {
align = "CENTER"
offsY = 0
offsX = 0
0 = <userdata>
}
@KRinSk
Please send me a debug log (at the bottom of settings) so I can have a look at what's causing it.
I am wondering why this addon is suggesting my elemental shaman to reforge spirit into dodge?!
Get overcap hit rating when try to reforge my warlock to at least 5100 hit and at least 4750 haste. Addon make 5100 hit raitng (as he wrote in table) and reforge some stats to expertise. So i get about 17% hit in charecter tooltip. How to resolve this?
p.s.: Make this after many pushes button calculate. He make it whith out expertise. It`s my first great problem with greatest addon.
Check if your items are actually reforged the way it suggests. There was meant to be a system that doesn't waste gold reforging items that won't change anything (e.g. reforging hit into spirit for a hybrid caster does pretty much nothing), but it seems to be having false positives now.
You can click on every check box in the result window - most of them shouldn't be clickable, but some might get unchecked, allowing you to reforge correctly.
There's some bug with expertise cap for Hunters, I manually set at least 2550 exp and hit and end up undercapped even though addons says reforge will result more than 2550 exp...
It should do that already. In fact, it looks at your current hit chance minus what you got from hit rating, and considers that to be your base hit. So it should already include the 1% converted from expertise.
Actually, on a second thought, there might be an issue if it only gives you spell hit, and doesn't affect melee hit. What class are you?
Would like to request for addon to recognize troll racial 1% expertise, other than that have loved this addon since I first discovered it a year or more ago.
Troll Hunter, it does 2550 for hit and expertise, I just manually change expertise to 2350 so reforges to 7.5% exactly (or close to)
Still a bug where it only reforges half of my gear and gets stuck, and won't reforge anything else, so I have to do it manually.
A debug log will be helpful, it should only reforge into expertise if that is needed to reach the hit cap.
Just loaded up the warlock (Affliction) preset and double checked my gear. Everything is reforged the way it suggests, but despite having Expertise with a weight of 0 the mod is suggesting I reforge a few pieces into expertise, resulting in me being over 1% over hit cap. I had to manually limit expertise to at most 0 in order to stop this.