package minefantasy.item.weapon; import minefantasy.api.weapon.*; import minefantasy.item.ToolMaterialMedieval; import minefantasy.system.CombatManager; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; /** * Great Mace: * 2 handed mace */ public class ItemGreatmace extends ItemMaceMF implements IWeaponPenetrateArmour, IWeaponMobility, IWeaponCustomSpeed { public ItemGreatmace(int id, EnumToolMaterial material) { super(id, material); } public ItemGreatmace(int id, EnumToolMaterial material, float dam, int uses) { this(id, material); } @Override public float getExaustion() { return 0.1F; } @Override public float getSpeedWhenEquipped() { float degrade = 0.12F; if(this.getMaterial() == ToolMaterialMedieval.MITHRIL) { degrade /= 2; } return 1.0F - degrade; } @Override public float getDamageModifier() { return super.getDamageModifier() * 1.5F; } @Override public int getHitTime(ItemStack weapon, EntityLivingBase target) { return super.getHitTime(null, target)*2 + 5; } @Override public float getDurability() { return super.getDurability() * 1.5F; } @Override public int getHandsUsed() { return 2; } @Override public float getBalance() { return 0.85F; } @Override public float getBlockFailureChance() { return 0.25F; } //SPECIAL EFFECT: On hit: "Skull crusher": chance to gain strength and speed only when in full plate. @Override protected void applyHeavyAttackBonus(EntityLivingBase attacker, EntityLivingBase target) { if(CombatManager.getAntisprintArmours(attacker) < 4) { return; } if(rand.nextInt(5) == 0) { attacker.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 100, 0)); attacker.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 50, 0)); attacker.heal(1); } } }