BloodMagic/src/main/java/WayofTime/bloodmagic/livingArmour/upgrade/LivingArmourUpgradeCriticalStrike.java

63 lines
1.8 KiB
Java
Raw Normal View History

package WayofTime.bloodmagic.livingArmour.upgrade;
import WayofTime.bloodmagic.BloodMagic;
2017-08-15 21:30:48 -07:00
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
2017-08-15 21:30:48 -07:00
public class LivingArmourUpgradeCriticalStrike extends LivingArmourUpgrade {
public static final int[] costs = new int[]{5, 12, 22, 35, 49};
public static final double[] damageBoost = new double[]{0.1, 0.2, 0.3, 0.4, 0.5};
2017-08-15 21:30:48 -07:00
public LivingArmourUpgradeCriticalStrike(int level) {
super(level);
}
@Override
2017-08-15 21:30:48 -07:00
public double getAdditionalDamageOnHit(double damage, EntityPlayer wearer, EntityLivingBase hitEntity, ItemStack weapon) {
2016-04-24 10:06:28 -07:00
boolean flag = wearer.fallDistance > 0.0F && !wearer.onGround && !wearer.isOnLadder() && !wearer.isInWater() && !wearer.isPotionActive(MobEffects.BLINDNESS) && !wearer.isRiding() && !wearer.isSprinting();
2017-08-15 21:30:48 -07:00
if (flag) {
return getDamageModifier() * damage;
}
return 0;
}
2017-08-15 21:30:48 -07:00
public double getDamageModifier() {
return damageBoost[this.level];
}
@Override
2017-08-15 21:30:48 -07:00
public String getUniqueIdentifier() {
return BloodMagic.MODID + ".upgrade.criticalStrike";
}
@Override
2017-08-15 21:30:48 -07:00
public int getMaxTier() {
return 5;
}
@Override
2017-08-15 21:30:48 -07:00
public int getCostOfUpgrade() {
return costs[this.level];
}
@Override
2017-08-15 21:30:48 -07:00
public void writeToNBT(NBTTagCompound tag) {
// EMPTY
}
@Override
2017-08-15 21:30:48 -07:00
public void readFromNBT(NBTTagCompound tag) {
// EMPTY
}
@Override
2017-08-15 21:30:48 -07:00
public String getUnlocalizedName() {
return tooltipBase + "criticalStrike";
}
}