|
@@ -1,8 +1,8 @@
|
|
|
package com.gmail.nossr50.skills.archery;
|
|
|
|
|
|
import com.gmail.nossr50.config.AdvancedConfig;
|
|
|
-import com.gmail.nossr50.config.experience.ExperienceConfig;
|
|
|
import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
|
|
+import com.gmail.nossr50.mcMMO;
|
|
|
import com.gmail.nossr50.util.Misc;
|
|
|
import com.gmail.nossr50.util.skills.RankUtils;
|
|
|
import org.bukkit.Material;
|
|
@@ -17,21 +17,30 @@ import java.util.List;
|
|
|
public class Archery {
|
|
|
private static List<TrackedEntity> trackedEntities;
|
|
|
|
|
|
- public static double skillShotMaxBonusDamage;
|
|
|
+ private static double skillShotDamageCap;
|
|
|
|
|
|
- public static double dazeBonusDamage;
|
|
|
+ private static double dazeBonusDamage;
|
|
|
|
|
|
- public static double DISTANCE_XP_MULTIPLIER;
|
|
|
+ private static double distanceXpMultiplier;
|
|
|
+
|
|
|
+ private static Archery archery;
|
|
|
+
|
|
|
+ public static Archery getInstance() {
|
|
|
+ if(archery == null)
|
|
|
+ archery = new Archery();
|
|
|
+
|
|
|
+ return archery;
|
|
|
+ }
|
|
|
|
|
|
public Archery()
|
|
|
{
|
|
|
List<TrackedEntity> trackedEntities = new ArrayList<>();
|
|
|
|
|
|
- skillShotMaxBonusDamage = AdvancedConfig.getInstance().getSkillShotDamageMax();
|
|
|
+ skillShotDamageCap = AdvancedConfig.getInstance().getSkillShotDamageMax();
|
|
|
|
|
|
dazeBonusDamage = AdvancedConfig.getInstance().getDazeBonusDamage();
|
|
|
|
|
|
- DISTANCE_XP_MULTIPLIER = ExperienceConfig.getInstance().getArcheryDistanceMultiplier();
|
|
|
+ distanceXpMultiplier = mcMMO.getConfigManager().getConfigExperience().getDistanceMultiplier();
|
|
|
}
|
|
|
|
|
|
protected static void incrementTrackerValue(LivingEntity livingEntity) {
|
|
@@ -77,10 +86,26 @@ public class Archery {
|
|
|
{
|
|
|
double damageBonusPercent = getDamageBonusPercent(player);
|
|
|
double newDamage = oldDamage + (oldDamage * damageBonusPercent);
|
|
|
- return Math.min(newDamage, Archery.skillShotMaxBonusDamage);
|
|
|
+ return Math.min(newDamage, Archery.skillShotDamageCap);
|
|
|
}
|
|
|
|
|
|
public static double getDamageBonusPercent(Player player) {
|
|
|
return ((RankUtils.getRank(player, SubSkillType.ARCHERY_SKILL_SHOT)) * AdvancedConfig.getInstance().getSkillShotRankDamageMultiplier()) / 100.0D;
|
|
|
}
|
|
|
+
|
|
|
+ public List<TrackedEntity> getTrackedEntities() {
|
|
|
+ return trackedEntities;
|
|
|
+ }
|
|
|
+
|
|
|
+ public double getSkillShotDamageCap() {
|
|
|
+ return skillShotDamageCap;
|
|
|
+ }
|
|
|
+
|
|
|
+ public double getDazeBonusDamage() {
|
|
|
+ return dazeBonusDamage;
|
|
|
+ }
|
|
|
+
|
|
|
+ public double getDistanceXpMultiplier() {
|
|
|
+ return distanceXpMultiplier;
|
|
|
+ }
|
|
|
}
|