FlexibilitySketch.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package holeg.addon.helper;
  2. public class FlexibilitySketch {
  3. public double flexChance;
  4. public float minCost;
  5. public float maxCost;
  6. /**
  7. * The Duration in TimeSteps how long the Flexibility is activated.
  8. */
  9. public int minDuration;
  10. public int maxDuration;
  11. /**
  12. * The Duration after a successful activation between the next possible activation.
  13. */
  14. public int minCooldown;
  15. public int maxCooldown;
  16. public void checkValues() {
  17. minDuration = Math.abs(minDuration);
  18. maxDuration = Math.abs(maxDuration);
  19. if (maxDuration < minDuration) {
  20. //Swap
  21. int intermediate = minDuration;
  22. minDuration = maxDuration;
  23. maxDuration = intermediate;
  24. }
  25. minCooldown = Math.abs(minCooldown);
  26. maxCooldown = Math.abs(maxCooldown);
  27. if (maxCooldown < minCooldown) {
  28. //Swap
  29. int intermediate = minCooldown;
  30. minCooldown = maxCooldown;
  31. maxCooldown = intermediate;
  32. }
  33. minCost = Math.abs(minCost);
  34. maxCost = Math.abs(maxCost);
  35. if (maxCost < minCost) {
  36. //Swap
  37. float intermediate = minCost;
  38. minCost = maxCost;
  39. maxCost = intermediate;
  40. }
  41. flexChance = Math.max(0, Math.min(1, flexChance)); //Clamp
  42. }
  43. }