From ce5611aafd8851a9c6f350afc6b3956ec13b999c Mon Sep 17 00:00:00 2001 From: MagicBot Date: Thu, 20 Feb 2025 13:28:19 -0500 Subject: [PATCH] Scaling method updated --- src/engine/wpakpowers/WpakPowerManager.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/engine/wpakpowers/WpakPowerManager.java b/src/engine/wpakpowers/WpakPowerManager.java index cda73b65..f765a581 100644 --- a/src/engine/wpakpowers/WpakPowerManager.java +++ b/src/engine/wpakpowers/WpakPowerManager.java @@ -34,6 +34,7 @@ import engine.wpak.data.Effect; import engine.wpak.data.*; import org.pmw.tinylog.Logger; +import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; @@ -430,21 +431,18 @@ public class WpakPowerManager { public static float applyCurveToModifier(ActionEntry powerAction, ModifierEntry modifierEntry, int rank) { - boolean additiveMode = true; - float modifierCurveValue = modifierEntry.compoundCurveType.getValue(); - float modValue; + float scaledValue; - if (modifierCurveValue > 0 && modifierCurveValue < .1 && - modifierEntry.min != 0 && modifierEntry.max != 0) - additiveMode = false; + // Method scales by either integer or float values driven by the curve type - if (additiveMode) - modValue = powerAction.curve.getValue() + (modifierCurveValue * rank); + if (EnumSet.of(mbEnums.CompoundCurveType.DefaultFlat, mbEnums.CompoundCurveType.DefaultSlope, + mbEnums.CompoundCurveType.DefaultSlopeDown).contains(powerAction.curve)) + scaledValue = powerAction.curve.getValue() + (modifierEntry.compoundCurveType.getValue() * rank); else - modValue = powerAction.curve.getValue() * (1 + (modifierCurveValue * rank)); + scaledValue = powerAction.curve.getValue() * (1 + (modifierEntry.compoundCurveType.getValue() * rank)); - modValue = modValue * 0.01f; + scaledValue = scaledValue * 0.01f; - return modValue; + return scaledValue; } }