Fix Feather Falling formula.

This commit is contained in:
sigonasr2 2016-12-29 02:51:07 -06:00
parent 6e6388d3af
commit 5aa4319a86
3 changed files with 7 additions and 2 deletions

Binary file not shown.

View File

@ -3609,10 +3609,12 @@ public class GenericFunctions {
public static double CalculateFallResistance(LivingEntity l) { public static double CalculateFallResistance(LivingEntity l) {
int featherfalllv = 0; int featherfalllv = 0;
ItemStack[] equips = l.getEquipment().getArmorContents(); ItemStack[] equips = GenericFunctions.getArmor(l);
for (int i=0;i<equips.length;i++) { 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)) { 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); return 1-(featherfalllv*0.01);

View File

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