Straightening up our InventoryListener, SwordsManager, TamingManager,

and UnarmedManager.
This commit is contained in:
GJ
2013-03-03 01:31:14 -05:00
parent cbe9cae4ea
commit 7c28be5e62
5 changed files with 68 additions and 40 deletions

View File

@ -4,10 +4,13 @@ import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.AbilityType;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.datatypes.skills.ToolType;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.runnables.skills.BleedTimerTask;
import com.gmail.nossr50.skills.SkillManager;
import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.player.UserManager;
import com.gmail.nossr50.util.skills.CombatUtils;
import com.gmail.nossr50.util.skills.SkillUtils;
@ -17,6 +20,18 @@ public class SwordsManager extends SkillManager {
super(mcMMOPlayer, SkillType.SWORDS);
}
public boolean canActivateAbility() {
return mcMMOPlayer.getToolPreparationMode(ToolType.SWORD) && Permissions.serratedStrikes(getPlayer());
}
public boolean canUseBleed() {
return Permissions.bleed(getPlayer());
}
public boolean canUseSerratedStrike() {
return mcMMOPlayer.getAbilityMode(AbilityType.SERRATED_STRIKES) && Permissions.serratedStrikes(getPlayer());
}
/**
* Check for Bleed effect.
*

View File

@ -42,6 +42,10 @@ public class TamingManager extends SkillManager {
return getSkillLevel() > Taming.holyHoundUnlockLevel && Permissions.holyHound(getPlayer());
}
public boolean canUseBeastLore(LivingEntity target) {
return target instanceof Tameable && Permissions.beastLore(getPlayer());
}
/**
* Award XP for taming.
*

View File

@ -1,12 +1,15 @@
package com.gmail.nossr50.skills.unarmed;
import org.bukkit.Material;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.AbilityType;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.datatypes.skills.ToolType;
import com.gmail.nossr50.events.skills.unarmed.McMMOPlayerDisarmEvent;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.skills.SkillManager;
@ -19,6 +22,22 @@ public class UnarmedManager extends SkillManager {
super(mcMMOPlayer, SkillType.UNARMED);
}
public boolean canActivateAbility() {
return mcMMOPlayer.getToolPreparationMode(ToolType.FISTS) && Permissions.berserk(getPlayer());
}
public boolean canUseIronArm() {
return Permissions.bonusDamage(getPlayer(), skill);
}
public boolean canUseBerserk() {
return mcMMOPlayer.getAbilityMode(AbilityType.BERSERK) && Permissions.berserk(getPlayer());
}
public boolean canDisarm(LivingEntity target) {
return target instanceof Player && ((Player) target).getItemInHand().getType() != Material.AIR && Permissions.disarm(getPlayer());
}
/**
* Check for disarm.
*