| 
					
				 | 
			
			
				@@ -31,10 +31,14 @@ import com.gmail.nossr50.locale.LocaleLoader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.party.PartyManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.runnables.skills.AwardCombatXpTask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.runnables.skills.BleedTimerTask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.gmail.nossr50.skills.SkillManagerStore; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.gmail.nossr50.skills.axes.AxeManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.archery.ArcheryManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.axes.AxesManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.skills.swords.Swords; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.swords.SwordsManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.skills.taming.Taming; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.taming.TamingManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.skills.unarmed.UnarmedManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.ItemUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.Misc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.ModUtils; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,6 +60,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (attacker instanceof Player && damager.getType() == EntityType.PLAYER) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Player player = (Player) attacker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Misc.isNPCEntity(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -65,7 +70,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (target instanceof Tameable) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (heldItem.getType() == Material.BONE && Permissions.beastLore(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SkillManagerStore.getInstance().getTamingManager(player.getName()).beastLore(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mcMMOPlayer.getTamingManager().beastLore(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     event.setCancelled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -85,21 +90,21 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (Permissions.skillEnabled(player, SkillType.SWORDS)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     PlayerProfile profile = mcMMOPlayer.getProfile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String playerName = player.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     boolean canSerratedStrike = Permissions.serratedStrikes(player); // So we don't have to check the same permission twice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (profile.getToolPreparationMode(ToolType.SWORD) && canSerratedStrike) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         SkillUtils.abilityCheck(player, SkillType.SWORDS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SwordsManager swordsManager = mcMMOPlayer.getSwordsManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (Permissions.bleed(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        SkillManagerStore.getInstance().getSwordsManager(playerName).bleedCheck(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        swordsManager.bleedCheck(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (profile.getAbilityMode(AbilityType.SERRATED_STRIKES) && canSerratedStrike) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        SkillManagerStore.getInstance().getSwordsManager(playerName).serratedStrikes(target, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        swordsManager.serratedStrikes(target, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     startGainXp(mcMMOPlayer, target, SkillType.SWORDS); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -111,32 +116,32 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (Permissions.skillEnabled(player, SkillType.AXES)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    AxeManager axeManager = SkillManagerStore.getInstance().getAxeManager(player.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    AxesManager axesManager = mcMMOPlayer.getAxesManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (axeManager.canActivateAbility()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (axesManager.canActivateAbility()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         SkillUtils.abilityCheck(player, SkillType.AXES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (axeManager.canUseAxeMastery()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        event.setDamage(axeManager.axeMasteryCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (axesManager.canUseAxeMastery()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        event.setDamage(axesManager.axeMasteryCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (axeManager.canCriticalHit(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        event.setDamage(axeManager.criticalHitCheck(target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (axesManager.canCriticalHit(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        event.setDamage(axesManager.criticalHitCheck(target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (axeManager.canImpact(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        axeManager.impactCheck(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (axesManager.canImpact(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        axesManager.impactCheck(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    else if (axeManager.canGreaterImpact(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        event.setDamage(axeManager.greaterImpactCheck(target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else if (axesManager.canGreaterImpact(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        event.setDamage(axesManager.greaterImpactCheck(target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (axeManager.canUseSkullSplitter(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        axeManager.skullSplitterCheck(target, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (axesManager.canUseSkullSplitter(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        axesManager.skullSplitterCheck(target, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    startGainXp(axeManager.getMcMMOPlayer(), target, SkillType.AXES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    startGainXp(axesManager.getMcMMOPlayer(), target, SkillType.AXES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else if (heldItem.getType() == Material.AIR) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,9 +155,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (Permissions.skillEnabled(player, SkillType.UNARMED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     PlayerProfile profile = mcMMOPlayer.getProfile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String playerName = player.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     boolean canBerserk = Permissions.berserk(player); // So we don't have to check the same permission twice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,19 +163,21 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         SkillUtils.abilityCheck(player, SkillType.UNARMED); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (Permissions.bonusDamage(player, SkillType.UNARMED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        event.setDamage(SkillManagerStore.getInstance().getUnarmedManager(playerName).ironArmCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        event.setDamage(unarmedManager.ironArmCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (profile.getAbilityMode(AbilityType.BERSERK) && canBerserk) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        event.setDamage(SkillManagerStore.getInstance().getUnarmedManager(playerName).berserkDamage(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        event.setDamage(unarmedManager.berserkDamage(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (target instanceof Player && Permissions.disarm(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         Player defender = (Player) target; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (defender.getItemInHand().getType() != Material.AIR) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SkillManagerStore.getInstance().getUnarmedManager(playerName).disarmCheck((Player) target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            unarmedManager.disarmCheck((Player) target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,18 +208,19 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (Permissions.skillEnabled(master, SkillType.TAMING)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(master); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        int skillLevel = SkillManagerStore.getInstance().getTamingManager(master.getName()).getSkillLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TamingManager tamingManager = mcMMOPlayer.getTamingManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int skillLevel = tamingManager.getSkillLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (skillLevel >= Taming.fastFoodServiceUnlockLevel && Permissions.fastFoodService(master)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SkillManagerStore.getInstance().getTamingManager(master.getName()).fastFoodService(wolf, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tamingManager.fastFoodService(wolf, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (skillLevel >= Taming.sharpenedClawsUnlockLevel && Permissions.sharpenedClaws(master)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SkillManagerStore.getInstance().getTamingManager(master.getName()).sharpenedClaws(event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tamingManager.sharpenedClaws(event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (Permissions.gore(master)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SkillManagerStore.getInstance().getTamingManager(master.getName()).gore(event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tamingManager.gore(event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         startGainXp(mcMMOPlayer, target, SkillType.TAMING); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -254,20 +260,23 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ItemStack heldItem = player.getItemInHand(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            AcrobaticsManager acrobaticsManager = mcMMOPlayer.getAcrobaticsManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (SkillManagerStore.getInstance().getAcrobaticsManager(player.getName()).canDodge(damager)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                event.setDamage(SkillManagerStore.getInstance().getAcrobaticsManager(player.getName()).dodgeCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (acrobaticsManager.canDodge(damager)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                event.setDamage(acrobaticsManager.dodgeCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ItemStack heldItem = player.getItemInHand(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (damager instanceof Player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (SkillType.SWORDS.getPVPEnabled() && ItemUtils.isSword(heldItem) && Permissions.counterAttack(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SkillManagerStore.getInstance().getSwordsManager(player.getName()).counterAttackChecks((LivingEntity) damager, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mcMMOPlayer.getSwordsManager().counterAttackChecks((LivingEntity) damager, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (SkillType.SWORDS.getPVEEnabled() && damager instanceof LivingEntity && ItemUtils.isSword(heldItem) && Permissions.counterAttack(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SkillManagerStore.getInstance().getSwordsManager(player.getName()).counterAttackChecks((LivingEntity) damager, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mcMMOPlayer.getSwordsManager().counterAttackChecks((LivingEntity) damager, event.getDamage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -286,29 +295,30 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Permissions.skillEnabled(shooter, SkillType.ARCHERY)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String playerName = shooter.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            McMMOPlayer mcMMOPlayer = UserManager.getPlayer(shooter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ArcheryManager archeryManager = mcMMOPlayer.getArcheryManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (SkillManagerStore.getInstance().getArcheryManager(playerName).canSkillShot()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                event.setDamage(SkillManagerStore.getInstance().getArcheryManager(playerName).skillShotCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (archeryManager.canSkillShot()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                event.setDamage(archeryManager.skillShotCheck(event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (target instanceof Player && SkillType.UNARMED.getPVPEnabled() && ((Player) target).getItemInHand().getType() == Material.AIR && Permissions.arrowDeflect((Player) target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                event.setCancelled(SkillManagerStore.getInstance().getUnarmedManager(((Player) target).getName()).deflectCheck()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                event.setCancelled(mcMMOPlayer.getUnarmedManager().deflectCheck()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (event.isCancelled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (SkillManagerStore.getInstance().getArcheryManager(playerName).canDaze(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                event.setDamage(SkillManagerStore.getInstance().getArcheryManager(playerName).dazeCheck((Player) target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (archeryManager.canDaze(target)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                event.setDamage(archeryManager.dazeCheck((Player) target, event.getDamage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (SkillManagerStore.getInstance().getArcheryManager(playerName).canTrackArrows()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                SkillManagerStore.getInstance().getArcheryManager(playerName).trackArrows(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (archeryManager.canTrackArrows()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                archeryManager.trackArrows(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SkillManagerStore.getInstance().getArcheryManager(playerName).distanceXpBonus(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            archeryManager.distanceXpBonus(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             startGainXp(UserManager.getPlayer(shooter), target, SkillType.ARCHERY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |