Fix Feather Falling formula.

testdev
sigonasr2 8 years ago
parent 6e6388d3af
commit 5aa4319a86
  1. BIN
      TwosideKeeper.jar
  2. 6
      src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java
  3. 3
      src/sig/plugin/TwosideKeeper/TwosideKeeper.java

Binary file not shown.

@ -3609,10 +3609,12 @@ public class GenericFunctions {
public static double CalculateFallResistance(LivingEntity l) {
int featherfalllv = 0;
ItemStack[] equips = l.getEquipment().getArmorContents();
ItemStack[] equips = GenericFunctions.getArmor(l);
for (int i=0;i<equips.length;i++) {
//TwosideKeeper.log("Checking piece "+equips[i], 0);
if (equips[i]!=null && equips[i].getType()!=Material.AIR && equips[i].containsEnchantment(Enchantment.PROTECTION_FALL)) {
featherfalllv+=equips[i].getEnchantmentLevel(Enchantment.PROTECTION_FALL);
featherfalllv+=equips[i].getEnchantmentLevel(Enchantment.PROTECTION_FALL)+1;
//TwosideKeeper.log("Detected Feather Falling "+(equips[i].getEnchantmentLevel(Enchantment.PROTECTION_FALL)+1), 0);
}
}
return 1-(featherfalllv*0.01);

@ -5167,6 +5167,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (!CustomDamage.InvulnerableCheck(null, (LivingEntity)ev.getEntity(),ev.getCause().name(), CustomDamage.TRUEDMG)) {
boolean applieddmg=true;
dmgdealt = CustomDamage.CalculateDamage(dmgdealt, null, (LivingEntity)ev.getEntity(), null, ev.getCause().name(), CustomDamage.TRUEDMG);
TwosideKeeper.log("Damage: "+dmgdealt+" Event cause: "+ev.getCause(), 0);
if (ev.getCause()==DamageCause.FALL) {
if (ev.getEntity() instanceof Player) {
Player p = (Player)ev.getEntity();
@ -5177,8 +5178,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
dmgdealt *= GenericFunctions.CalculateFallResistance((LivingEntity)ev.getEntity());
}
TwosideKeeper.log("Damage: "+dmgdealt, 0);
dmgdealt = CustomDamage.subtractAbsorptionHearts(dmgdealt, (LivingEntity)ev.getEntity());
dmgdealt = CustomDamage.applyOnHitEffects(dmgdealt,null,(LivingEntity)ev.getEntity(),null ,ev.getCause().name(),CustomDamage.TRUEDMG);
TwosideKeeper.log("Damage: "+dmgdealt, 0);
/*if ((ev.getCause()==DamageCause.CONTACT ||
ev.getCause()==DamageCause.LIGHTNING ||
ev.getCause()==DamageCause.FALLING_BLOCK ||

Loading…
Cancel
Save