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