Static method to apply curves

This commit is contained in:
2025-02-20 07:54:41 -05:00
parent 79864713b5
commit f5801e0837
3 changed files with 22 additions and 17 deletions
@@ -427,4 +427,24 @@ public class WpakPowerManager {
}
return false;
}
public static float applyCurveToModifier(ActionEntry powerAction, ModifierEntry modifierEntry, int rank) {
boolean additiveMode = true;
float modifierCurveValue = modifierEntry.compoundCurveType.getValue();
float modValue;
if (modifierCurveValue > 0 && modifierCurveValue < .1 &&
modifierEntry.min != 0 && modifierEntry.max != 0)
additiveMode = false;
if (additiveMode)
modValue = powerAction.curve.getValue() + (modifierCurveValue * rank);
else
modValue = powerAction.curve.getValue() * (1 + (modifierCurveValue * rank));
modValue = modValue * 0.01f;
return modValue;
}
}