The cost system does not follow the vanilla curve.
Darkhax opened this issue ยท 1 comments
When disenchanting an item, the amount of experience added and removed makes use of levels. While this isn't much of an issue, it can be abused to generate experience.
How to exploit
- Find a low level enchantment to apply to your item, then use some form of EXP storage to store exp, until you have exactly the level required to enchant your item.
- Enchant your item using the exact amount of exp levels.
- Retrieve all of your stored experience from the storage.
- Disenchant your item, to gain the experience back.
- You get more exp then what you had before.
How it works
Experience levels are not equal, there is a curve used to calculate how much experience is required to go to the next level. If the player were to gain one level from disenchanting, the amount of EXP added by that level will be much less if the player is level 3, then it would have been if they were level 49
Formulas
C is used as a constant variable for the current level
E is used as a constant variable for the amount of exp required.
E = 2 * C + 7 at levels 0 -> 16
E = 5 * C - 38 at levels 17 -> 31
E = 9 * C - 158 at levels 32+
T is used as a constant variable for the total amount of experience to reach a level.
L is used as a constant variable for the level being calculated for.
T = L^2 + 6 * L at levels 0 -> 16
T = 2,5 * L^2 - 40.5 * L + 360 at levels 17 -> 31
T = 4.5 * L^2 - 162.5 * L + 2220 at level 32+.
I believe we should create some methods in bookshelf to handle the above formulas.