diff --git a/src/main/java/com/gmail/nossr50/Combat.java b/src/main/java/com/gmail/nossr50/Combat.java index b1952b3a3..a9a5755c5 100644 --- a/src/main/java/com/gmail/nossr50/Combat.java +++ b/src/main/java/com/gmail/nossr50/Combat.java @@ -100,7 +100,7 @@ public class Combat { } if (targetType.equals(EntityType.PLAYER) && mcPermissions.getInstance().disarm(attacker)) { - Unarmed.disarmProcCheck(attacker, (Player) target); + Unarmed.disarmProcCheck(PPa, (Player) target); } startGainXp(attacker, PPa, target, SkillType.UNARMED, plugin); diff --git a/src/main/java/com/gmail/nossr50/skills/Unarmed.java b/src/main/java/com/gmail/nossr50/skills/Unarmed.java index 4ca45b90d..0e553a374 100644 --- a/src/main/java/com/gmail/nossr50/skills/Unarmed.java +++ b/src/main/java/com/gmail/nossr50/skills/Unarmed.java @@ -43,19 +43,19 @@ public class Unarmed { * @param PPa Profile of the attacking player * @param defender The defending player */ - public static void disarmProcCheck(Player attacker, Player defender) { + public static void disarmProcCheck(PlayerProfile PPa, Player defender) { final int MAX_BONUS_LEVEL = 1000; - int skillLevel = Users.getProfile(attacker).getSkillLevel(SkillType.UNARMED); + int skillLevel = PPa.getSkillLevel(SkillType.UNARMED); int skillCheck = m.skillCheck(skillLevel, MAX_BONUS_LEVEL); - if (attacker.getItemInHand().equals(Material.AIR)) { - if (random.nextInt(3000) <= skillCheck) { - ItemStack item = defender.getItemInHand(); + ItemStack inHand = defender.getItemInHand(); + if (!inHand.getType().equals(Material.AIR)) { + if (random.nextInt(3000) <= skillCheck) { defender.sendMessage(mcLocale.getString("Skills.Disarmed")); - m.mcDropItem(defender.getLocation(), item); + m.mcDropItem(defender.getLocation(), inHand); defender.setItemInHand(new ItemStack(Material.AIR)); } }