diff --git a/src/engine/mbEnums.java b/src/engine/mbEnums.java index 89501073..031a7429 100644 --- a/src/engine/mbEnums.java +++ b/src/engine/mbEnums.java @@ -1953,315 +1953,315 @@ public class mbEnums { DefaultFlat(0), DefaultSlope(1), DefaultSlopeDown(-1), - SL0001Up(0.01), - SL0003Up(0.03), - SL0005Up(0.05), - SL0006Up(0.06), - SL0007Up(0.07), - SL0008Up(0.08), - SL0010Up(0.10), - SL0011Up(0.11), - SL0012Up(0.12), - SL0013Up(0.13), - SL0014Up(0.14), - SL00143U(0.143), - SL0015Up(0.15), - SL0016Up(0.16), - SL0019Up(0.19), - SL0020Up(0.20), - SL0021Up(0.21), - SL0022Up(0.22), - SL0023Up(0.23), - SL0024Up(0.24), - SL0025Up(0.25), - SL0026Up(0.26), - SL0028Up(0.28), - SL0030Up(0.30), - SL0031Up(0.31), - SL0032Up(0.32), - SL0033Up(0.33), - SL0034Up(0.34), - SL0035Up(0.35), - SL0037Up(0.37), - SL0038Up(0.38), - SL0039Up(0.39), - SL0040Up(0.40), - SL0041Up(0.41), - SL0042Up(0.42), - SL0043Up(0.43), - SL0044Up(0.44), - SL0045Up(0.45), - SL0046Up(0.46), - SL0047Up(0.47), - SL0048Up(0.48), - SL0050Up(0.50), - SL0051Up(0.51), - SL0053Up(0.53), - SL0054Up(0.54), - SL0055Up(0.55), - SL0056Up(0.56), - SL0057Up(0.57), - SL0058Up(0.58), - SL0060Up(0.60), - SL0061Up(0.61), - SL0063Up(0.63), - SL0064Up(0.64), - SL0065Up(0.65), - SL0066Up(0.66), - SL0067Up(0.67), - SL0068Up(0.68), - SL0069Up(0.69), - SL0070Up(0.70), - SL0071Up(0.71), - SL0073Up(0.73), - SL0074Up(0.74), - SL0075Up(0.75), - SL0076Up(0.76), - SL0077Up(0.77), - SL0079Up(0.79), - SL0080Up(0.80), - SL0081Up(0.81), - SL0082Up(0.82), - SL0083Up(0.83), - SL0084Up(0.84), - SL0085Up(0.85), - SL0087Up(0.87), - SL0088Up(0.88), - SL0089Up(0.89), - SL0090Up(0.90), - SL0092Up(0.92), - SL0098Up(0.98), - SL0100Up(1.00), - SL0106Up(1.06), - SL0109Up(1.09), - SL0112Up(1.12), - SL0113Up(1.13), - SL0115Up(1.15), - SL0116Up(1.16), - SL0122Up(1.22), - SL0123Up(1.23), - SL0125Up(1.25), - SL0128Up(1.28), - SL0130Up(1.30), - SL0135Up(1.35), - SL0140Up(1.40), - SL0143Up(1.43), - SL0145Up(1.45), - SL0150Up(1.50), - SL0154Up(1.54), - SL0163Up(1.63), - SL0166Up(1.66), - SL0175Up(1.75), - SL0188Up(1.88), - SL0190Up(1.90), - SL0200Up(2.00), - SL0222Up(2.22), - SL0225Up(2.25), - SL0235Up(2.35), - SL0238Up(2.38), - SL0250Up(2.50), - SL0260Up(2.60), - SL0263Up(2.63), - SL0275Up(2.75), - SL0280Up(2.80), - SL0300Up(3.00), - SL0308Up(3.08), - SL0312Up(3.12), - SL0350Up(3.50), - SL0357Up(3.57), - SL0360Up(3.60), - SL0375Up(3.75), - SL0380Up(3.80), - SL0385Up(3.85), - SL0400Up(4.00), - SL0410Up(4.10), - SL0429Up(4.29), - SL0450Up(4.50), - SL0460Up(4.60), - SL0480Up(4.80), - SL0500Up(5.00), - SL0510Up(5.10), - SL0550Up(5.50), - SL0600Up(6.00), - SL0643Up(6.43), - SL0714Up(7.14), - SL0750Up(7.50), - SL0790Up(7.90), - SL0800Up(8.00), - SL0900Up(9.00), - SL1000Up(10.00), - SL1050Up(10.50), - SL1100Up(11.00), - SL1125Up(11.25), - SL1200Up(12.00), - SL1282Up(12.82), - SL1300Up(13.00), - SL1350Up(13.50), - SL1400Up(14.00), - SL1500Up(15.00), - SL1579Up(15.79), - SL2000Up(20.00), - SL2100Up(21.00), - SL2500Up(25.00), - SL2521Up(25.21), - SL3000Up(30.00), - SL4000Up(40.00), - SL5000Up(50.00), - SL6000Up(60.00), - SL7500Up(75.00), - SL8000Up(80.00), - SL12000Up(120.00), - SL14000Up(140.00), - SL30000Up(300.00), - SL66600Up(666.00), - SL71500Up(715.00), - SL00003Down(-0.003), - SL0001Down(-0.01), - SL0003Down(-0.03), - SL0004Down(-0.04), - SL0005Down(-0.05), - SL0006Down(-0.06), - SL0007Down(-0.07), - SL00075Down(-0.075), - SL0008Down(-0.08), - SL0009Down(-0.09), - SL0010Down(-0.10), - SL0011Down(-0.11), - SL0012Down(-0.12), - SL0013Down(-0.13), - SL00125Down(-0.125), - SL0014Down(-0.14), - SL0015Down(-0.15), - SL0016Down(-0.16), - SL0017Down(-0.17), - SL00175Down(-0.175), - SL0018Down(-0.18), - SL0019Down(-0.19), - SL0020Down(-0.20), - SL0023Down(-0.23), - SL0024Down(-0.24), - SL0025Down(-0.25), - SL0027Down(-0.27), - SL0028Down(-0.28), - SL0029Down(-0.29), - SL0030Down(-0.30), - SL0032Down(-0.32), - SL0033Down(-0.33), - SL0035Down(-0.35), - SL0038Down(-0.38), - SL0040Down(-0.40), - SL0044Down(-0.44), - SL0045Down(-0.45), - SL0050Down(-0.50), - SL0055Down(-0.55), - SL0060Down(-0.60), - SL0062Down(-0.62), - SL0063Down(-0.63), - SL0064Down(-0.64), - SL0066Down(-0.66), - SL0069Down(-0.69), - SL0071Down(-0.71), - SL0075Down(-0.75), - SL0077Down(-0.77), - SL0079Down(-0.79), - SL0080Down(-0.80), - SL0090Down(-0.90), - SL0100Down(-1.00), - SL0113Down(-1.13), - SL0120Down(-1.20), - SL0125Down(-1.25), - SL0128Down(-1.28), - SL0130Down(-1.30), - SL0135Down(-1.35), - SL0150Down(-1.50), - SL0175Down(-1.75), - SL0188Down(-1.88), - SL0200Down(-2.00), - SL0225Down(-2.25), - SL0250Down(-2.50), - SL0263Down(-2.63), - SL0300Down(-3.00), - SL0357Down(-3.57), - SL0385Down(-3.85), - SL0429Down(-4.29), - SL0450Down(-4.50), - SL0500Down(-5.00), - SL0550Down(-5.50), - SL0600Down(-6.00), - SL0643Down(-6.43), - SL0714Down(-7.14), - SL0750Down(-7.50), - SL0790Down(-7.90), - SL0800Down(-8.00), - SL1000Down(-10.00), - SL1050Down(-10.50), - SL1200Down(-12.00), - SL1350Down(-13.50), - SL1500Down(-15.00), - SL1579Down(-15.79), - SL2000Down(-20.00), - SL2400Down(-24.00), - SL2500Down(-25.00), - SL3000Down(-30.00), - SL4500Down(-45.00), - SL7500Down(-75.00), - SIVL0005(0.005), - SIVL0008(0.008), - SIVL0009(0.009), - SIVL0010(0.010), - SIVL0012(0.012), - SIVL0013(0.013), - SIVL0014(0.014), - SIVL0015(0.015), - SIVL0016(0.016), - SIVL0017(0.017), - SIVL0019(0.019), - SIVL0020(0.020), - SIVL0021(0.021), - SIVL0022(0.022), - SIVL0023(0.023), - SIVL0024(0.024), - SIVL0025(0.025), - SIVL0026(0.026), - SIVL0027(0.027), - SIVL0029(0.029), - SIVL0030(0.030), - SIVL0031(0.031), - SIVL0032(0.032), - SIVL0033(0.033), - SIVL0034(0.034), - SIVL0035(0.035), - SIVL0036(0.036), - SIVL0038(0.038), - SIVL0040(0.040), - SIVL0044(0.044), - SIVL0046(0.046), - SIVL0048(0.048), - SIVL0055(0.055), - SIVL0056(0.056), - SIVL0057(0.057), - SIVL0058(0.058), - SIVL0060(0.060), - SIVL0061(0.061), - SIVL0066(0.066), - SIVL0067(0.067), - SIVL0075(0.075), - SIVL0078(0.078), - SIVL0130(0.130), - SIVL0150(0.150), - SIVL0205(0.205), - SIVL0220(0.220), - SIVL0243(0.243), - SIVL0360(0.360); - - private final double value; - - CompoundCurveType(double value) { + SL0001Up(0.01f), + SL0003Up(0.03f), + SL0005Up(0.05f), + SL0006Up(0.06f), + SL0007Up(0.07f), + SL0008Up(0.08f), + SL0010Up(0.10f), + SL0011Up(0.11f), + SL0012Up(0.12f), + SL0013Up(0.13f), + SL0014Up(0.14f), + SL00143U(0.143f), + SL0015Up(0.15f), + SL0016Up(0.16f), + SL0019Up(0.19f), + SL0020Up(0.20f), + SL0021Up(0.21f), + SL0022Up(0.22f), + SL0023Up(0.23f), + SL0024Up(0.24f), + SL0025Up(0.25f), + SL0026Up(0.26f), + SL0028Up(0.28f), + SL0030Up(0.30f), + SL0031Up(0.31f), + SL0032Up(0.32f), + SL0033Up(0.33f), + SL0034Up(0.34f), + SL0035Up(0.35f), + SL0037Up(0.37f), + SL0038Up(0.38f), + SL0039Up(0.39f), + SL0040Up(0.40f), + SL0041Up(0.41f), + SL0042Up(0.42f), + SL0043Up(0.43f), + SL0044Up(0.44f), + SL0045Up(0.45f), + SL0046Up(0.46f), + SL0047Up(0.47f), + SL0048Up(0.48f), + SL0050Up(0.50f), + SL0051Up(0.51f), + SL0053Up(0.53f), + SL0054Up(0.54f), + SL0055Up(0.55f), + SL0056Up(0.56f), + SL0057Up(0.57f), + SL0058Up(0.58f), + SL0060Up(0.60f), + SL0061Up(0.61f), + SL0063Up(0.63f), + SL0064Up(0.64f), + SL0065Up(0.65f), + SL0066Up(0.66f), + SL0067Up(0.67f), + SL0068Up(0.68f), + SL0069Up(0.69f), + SL0070Up(0.70f), + SL0071Up(0.71f), + SL0073Up(0.73f), + SL0074Up(0.74f), + SL0075Up(0.75f), + SL0076Up(0.76f), + SL0077Up(0.77f), + SL0079Up(0.79f), + SL0080Up(0.80f), + SL0081Up(0.81f), + SL0082Up(0.82f), + SL0083Up(0.83f), + SL0084Up(0.84f), + SL0085Up(0.85f), + SL0087Up(0.87f), + SL0088Up(0.88f), + SL0089Up(0.89f), + SL0090Up(0.90f), + SL0092Up(0.92f), + SL0098Up(0.98f), + SL0100Up(1.00f), + SL0106Up(1.06f), + SL0109Up(1.09f), + SL0112Up(1.12f), + SL0113Up(1.13f), + SL0115Up(1.15f), + SL0116Up(1.16f), + SL0122Up(1.22f), + SL0123Up(1.23f), + SL0125Up(1.25f), + SL0128Up(1.28f), + SL0130Up(1.30f), + SL0135Up(1.35f), + SL0140Up(1.40f), + SL0143Up(1.43f), + SL0145Up(1.45f), + SL0150Up(1.50f), + SL0154Up(1.54f), + SL0163Up(1.63f), + SL0166Up(1.66f), + SL0175Up(1.75f), + SL0188Up(1.88f), + SL0190Up(1.90f), + SL0200Up(2.00f), + SL0222Up(2.22f), + SL0225Up(2.25f), + SL0235Up(2.35f), + SL0238Up(2.38f), + SL0250Up(2.50f), + SL0260Up(2.60f), + SL0263Up(2.63f), + SL0275Up(2.75f), + SL0280Up(2.80f), + SL0300Up(3.00f), + SL0308Up(3.08f), + SL0312Up(3.12f), + SL0350Up(3.50f), + SL0357Up(3.57f), + SL0360Up(3.60f), + SL0375Up(3.75f), + SL0380Up(3.80f), + SL0385Up(3.85f), + SL0400Up(4.00f), + SL0410Up(4.10f), + SL0429Up(4.29f), + SL0450Up(4.50f), + SL0460Up(4.60f), + SL0480Up(4.80f), + SL0500Up(5.00f), + SL0510Up(5.10f), + SL0550Up(5.50f), + SL0600Up(6.00f), + SL0643Up(6.43f), + SL0714Up(7.14f), + SL0750Up(7.50f), + SL0790Up(7.90f), + SL0800Up(8.00f), + SL0900Up(9.00f), + SL1000Up(10.00f), + SL1050Up(10.50f), + SL1100Up(11.00f), + SL1125Up(11.25f), + SL1200Up(12.00f), + SL1282Up(12.82f), + SL1300Up(13.00f), + SL1350Up(13.50f), + SL1400Up(14.00f), + SL1500Up(15.00f), + SL1579Up(15.79f), + SL2000Up(20.00f), + SL2100Up(21.00f), + SL2500Up(25.00f), + SL2521Up(25.21f), + SL3000Up(30.00f), + SL4000Up(40.00f), + SL5000Up(50.00f), + SL6000Up(60.00f), + SL7500Up(75.00f), + SL8000Up(80.00f), + SL12000Up(120.00f), + SL14000Up(140.00f), + SL30000Up(300.00f), + SL66600Up(666.00f), + SL71500Up(715.00f), + SL00003Down(-0.003f), + SL0001Down(-0.01f), + SL0003Down(-0.03f), + SL0004Down(-0.04f), + SL0005Down(-0.05f), + SL0006Down(-0.06f), + SL0007Down(-0.07f), + SL00075Down(-0.075f), + SL0008Down(-0.08f), + SL0009Down(-0.09f), + SL0010Down(-0.10f), + SL0011Down(-0.11f), + SL0012Down(-0.12f), + SL0013Down(-0.13f), + SL00125Down(-0.125f), + SL0014Down(-0.14f), + SL0015Down(-0.15f), + SL0016Down(-0.16f), + SL0017Down(-0.17f), + SL00175Down(-0.175f), + SL0018Down(-0.18f), + SL0019Down(-0.19f), + SL0020Down(-0.20f), + SL0023Down(-0.23f), + SL0024Down(-0.24f), + SL0025Down(-0.25f), + SL0027Down(-0.27f), + SL0028Down(-0.28f), + SL0029Down(-0.29f), + SL0030Down(-0.30f), + SL0032Down(-0.32f), + SL0033Down(-0.33f), + SL0035Down(-0.35f), + SL0038Down(-0.38f), + SL0040Down(-0.40f), + SL0044Down(-0.44f), + SL0045Down(-0.45f), + SL0050Down(-0.50f), + SL0055Down(-0.55f), + SL0060Down(-0.60f), + SL0062Down(-0.62f), + SL0063Down(-0.63f), + SL0064Down(-0.64f), + SL0066Down(-0.66f), + SL0069Down(-0.69f), + SL0071Down(-0.71f), + SL0075Down(-0.75f), + SL0077Down(-0.77f), + SL0079Down(-0.79f), + SL0080Down(-0.80f), + SL0090Down(-0.90f), + SL0100Down(-1.00f), + SL0113Down(-1.13f), + SL0120Down(-1.20f), + SL0125Down(-1.25f), + SL0128Down(-1.28f), + SL0130Down(-1.30f), + SL0135Down(-1.35f), + SL0150Down(-1.50f), + SL0175Down(-1.75f), + SL0188Down(-1.88f), + SL0200Down(-2.00f), + SL0225Down(-2.25f), + SL0250Down(-2.50f), + SL0263Down(-2.63f), + SL0300Down(-3.00f), + SL0357Down(-3.57f), + SL0385Down(-3.85f), + SL0429Down(-4.29f), + SL0450Down(-4.50f), + SL0500Down(-5.00f), + SL0550Down(-5.50f), + SL0600Down(-6.00f), + SL0643Down(-6.43f), + SL0714Down(-7.14f), + SL0750Down(-7.50f), + SL0790Down(-7.90f), + SL0800Down(-8.00f), + SL1000Down(-10.00f), + SL1050Down(-10.50f), + SL1200Down(-12.00f), + SL1350Down(-13.50f), + SL1500Down(-15.00f), + SL1579Down(-15.79f), + SL2000Down(-20.00f), + SL2400Down(-24.00f), + SL2500Down(-25.00f), + SL3000Down(-30.00f), + SL4500Down(-45.00f), + SL7500Down(-75.00f), + SIVL0005(0.005f), + SIVL0008(0.008f), + SIVL0009(0.009f), + SIVL0010(0.010f), + SIVL0012(0.012f), + SIVL0013(0.013f), + SIVL0014(0.014f), + SIVL0015(0.015f), + SIVL0016(0.016f), + SIVL0017(0.017f), + SIVL0019(0.019f), + SIVL0020(0.020f), + SIVL0021(0.021f), + SIVL0022(0.022f), + SIVL0023(0.023f), + SIVL0024(0.024f), + SIVL0025(0.025f), + SIVL0026(0.026f), + SIVL0027(0.027f), + SIVL0029(0.029f), + SIVL0030(0.030f), + SIVL0031(0.031f), + SIVL0032(0.032f), + SIVL0033(0.033f), + SIVL0034(0.034f), + SIVL0035(0.035f), + SIVL0036(0.036f), + SIVL0038(0.038f), + SIVL0040(0.040f), + SIVL0044(0.044f), + SIVL0046(0.046f), + SIVL0048(0.048f), + SIVL0055(0.055f), + SIVL0056(0.056f), + SIVL0057(0.057f), + SIVL0058(0.058f), + SIVL0060(0.060f), + SIVL0061(0.061f), + SIVL0066(0.066f), + SIVL0067(0.067f), + SIVL0075(0.075f), + SIVL0078(0.078f), + SIVL0130(0.130f), + SIVL0150(0.150f), + SIVL0205(0.205f), + SIVL0220(0.220f), + SIVL0243(0.243f), + SIVL0360(0.360f); + + private final float value; + + CompoundCurveType(float value) { this.value = value; } - public double getValue() { + public float getValue() { return value; } } diff --git a/src/engine/wpakpowers/Behaviour.java b/src/engine/wpakpowers/Behaviour.java index 18c6ffa9..e27d8ee0 100644 --- a/src/engine/wpakpowers/Behaviour.java +++ b/src/engine/wpakpowers/Behaviour.java @@ -37,8 +37,21 @@ public class Behaviour { public static Object Standard(AbstractCharacter caster, AbstractWorldObject target, Power power, ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { - System.out.println("Behavior method called"); - return null; + boolean useAdditiveCurve = true; + float curveValue = modifierEntry.compoundCurveType.getValue(); + float modValue = 0.0f; + + if (curveValue > 0 && curveValue < .1 && + modifierEntry.min != 0 && modifierEntry.max != 0) + useAdditiveCurve = false; + + if (useAdditiveCurve) + modValue = this.percentMod + (curveValue * rank); + else + modValue = this.percentMod * (1 + (curveValue * rank)); + modValue = modValue * 0.01f; + + return modValue; } public static Object FPSubTypeAttr(AbstractCharacter caster, AbstractWorldObject target, Power power,