[Bug/Improvement] Upgrade-station and gemstones massive boost

Created by: Ghmmy

Describe the bug If you apply a gemstone to an item and then upgrade it using a station. the added modifier will also scale, which may cause the scaling of the modifiers to increase a LOT. (+1 HP gemstone applies to an item with a 25% HP boost in an upgrade station will increase the added HP of the gemstone as well, which shouldnt be the case)

To Reproduce Steps to reproduce the behavior:

  1. Create an item with a health modifier (for example +2 HP)
  2. Create an upgrade-template that increases the health of an item when upgraded (for example 25%)
  3. Create a health-gemstone (for example +1 HP)
  4. Apply the gemstone to the item
  5. Upgrade the item using the station
  6. The gemstone's health-modifier will also scale with 25% per level, which can cause the item to gain a MASSIVE boost

Expected behavior I expected the upgrade to only affect the base-stats of the item and not the gemstone as well Current formula: (base + gemstone) * scale^level Expected formula: (base * scale^level) + gemstone The gemstone should be excluded from the scaling of the item

- Example: 2 HP base, 1HP gemstone, scales with 25% per level. with a cap of level 10: Current: (2 + 1) * 1.25^10 = 28 HP Without Gem: (2 + 0) * 1.25^10 = 18.5 HP Expected: 2 * 1.25^10 +1 = 19.5 HP Difference between current and expected: 28 - 19.5 = 8.5HP. This can affect gameplay in a huge way since it allows players to obtain GOD items if they apply gemstones before upgrading it.

If this was intended behaviour, it would be nice to see a toggle function in the config for it.

Screenshots Default armorpiece: image

Level 10 armorpiece (no gemstone) (+25% HP per level): image

Level 10 armorpiece (with gemstone) (+25% HP per level): image

There is a 9.7 HP difference between the 2 pieces. if you multiply that by 4 (a full set of them) will result around a 40HP boost, which is a lot for just a +1HP health gemstone

Server info:

  • Spigot Build & Version: 1.15.2
  • Plugin Version: 5.4.2

Additional context none

Assignee Loading
Time tracking Loading