package fyresmodjam.blessings.marks; import fyresmodjam.ModjamMod; import fyresmodjam.misc.DamageSources; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class RetaliationMark extends Mark { private static final double RETALIATION_CHANCE = 0.05; @Override public String name() { return "Retaliation"; } @Override public String description() { return "BENEFIT - Have a chance to reflect attacks\nDRAWBACK - Have a chance for your attacks to be reflected"; } @Override public float onOutgoingDamage(LivingHurtEvent event, float damageMultiplier) { if (!event.getSource().damageType.equals("retaliation")) { // Don't retaliate for retaliation if (ModjamMod.r.nextDouble() < RETALIATION_CHANCE) { event.getEntityLiving().attackEntityFrom( DamageSources.retaliation, Math.max(0.5f, event .getAmount() * damageMultiplier)); event.setCanceled(true); } } return damageMultiplier; } @Override public float onIncomingDamage(LivingHurtEvent event, float damageMultiplier) { if (!event.getSource().damageType.equals("retaliation")) { // Don't retaliate for retaliation if (ModjamMod.r.nextDouble() < RETALIATION_CHANCE) { event.getEntityLiving().attackEntityFrom( DamageSources.retaliation, Math.max(0.5f, event.getAmount() * damageMultiplier)); event.setCanceled(true); } } return damageMultiplier; } }