From b358dfe3565e556734eb60c36d4f4d53ed13396c Mon Sep 17 00:00:00 2001 From: Elour Date: Sat, 30 Mar 2019 10:44:35 -0700 Subject: [PATCH] Prevent over-capped powerups Higher than possible RE chance can lead to powerups created outside the possible realm. With the formula: ( ( (skillMod * rand(randomRollMin, 1.25f) ) / 100) + rand(1.0f, 1.25f)) * power; skillMod is a possible max of 169: 100 level 90 10 expertise 5 arm 11 pup 11 pup 11 pup 4 wep 4 chest 3 shirt 10 tool 169 total rolling the max for both randoms (1.25 and 1.25), we end up with ( ( (169 * 1.25) / 100) + 1.25) * 35 (where power = the power bit = 35 max) = a max of 117.6875 power --- .../game/script/item/tool/reverse_engineering_tool.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java b/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java index 0888825ff..3e89dbbce 100755 --- a/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java +++ b/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java @@ -491,6 +491,8 @@ public class reverse_engineering_tool extends script.base_script obj_id powerup = static_item.createNewItemFunction(getGemTemplateByClass(player, ratio, 1), inventory); if (isIdValid(powerup)) { + if(power > 117) + power = 117; setObjVar(powerup, "reverse_engineering.reverse_engineering_power", power); setObjVar(powerup, "reverse_engineering.reverse_engineering_modifier", mod); setObjVar(powerup, "reverse_engineering.reverse_engineering_ratio", ratio);