runelite-api: fix combat fornula
This commit is contained in:
@@ -24,6 +24,9 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.api;
|
package net.runelite.api;
|
||||||
|
|
||||||
|
import static java.lang.Math.floor;
|
||||||
|
import static java.lang.Math.max;
|
||||||
|
|
||||||
public class Experience
|
public class Experience
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -93,16 +96,13 @@ public class Experience
|
|||||||
int defenceLevel, int hitpointsLevel, int magicLevel,
|
int defenceLevel, int hitpointsLevel, int magicLevel,
|
||||||
int rangeLevel, int prayerLevel)
|
int rangeLevel, int prayerLevel)
|
||||||
{
|
{
|
||||||
double melee = 0.25 * (defenceLevel + hitpointsLevel + Math.floor(prayerLevel / 2))
|
double base = 0.25 * (defenceLevel + hitpointsLevel + floor(prayerLevel / 2));
|
||||||
+ 0.325 * (attackLevel + strengthLevel);
|
|
||||||
|
|
||||||
double range = 0.25 * (defenceLevel + hitpointsLevel + Math.floor(prayerLevel / 2))
|
double melee = 0.325 * (attackLevel + strengthLevel);
|
||||||
+ 0.325 * (Math.floor(rangeLevel / 2));
|
double range = 0.325 * (floor(rangeLevel / 2) + rangeLevel);
|
||||||
|
double magic = 0.325 * (floor(magicLevel / 2) + magicLevel);
|
||||||
|
|
||||||
double magic = 0.25 * (defenceLevel + hitpointsLevel + Math.floor(prayerLevel / 2))
|
return base + max(melee, max(range, magic));
|
||||||
+ 0.325 * (Math.floor(magicLevel / 2));
|
|
||||||
|
|
||||||
return Math.max(melee, Math.max(range, magic));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getCombatLevel(int attackLevel, int strengthLevel,
|
public static int getCombatLevel(int attackLevel, int strengthLevel,
|
||||||
|
|||||||
@@ -78,5 +78,6 @@ public class ExperienceTest
|
|||||||
public void testGetCombatLevel()
|
public void testGetCombatLevel()
|
||||||
{
|
{
|
||||||
Assert.assertEquals(126, Experience.getCombatLevel(99, 99, 99, 99, 70, 42, 98));
|
Assert.assertEquals(126, Experience.getCombatLevel(99, 99, 99, 99, 70, 42, 98));
|
||||||
|
Assert.assertEquals(40, Experience.getCombatLevel(27, 22, 1, 36, 64, 45, 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user