Fix Damage Calculations.

This commit is contained in:
sigonasr2 2016-07-30 00:26:31 -05:00
parent a2e6449ab7
commit 66bbf5e587
2 changed files with 4 additions and 4 deletions

Binary file not shown.

View File

@ -3591,8 +3591,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
,1); ,1);
} }
if (ev.getCause()==DamageCause.ENTITY_EXPLOSION || if (ev.getCause()==DamageCause.BLOCK_EXPLOSION) {
ev.getCause()==DamageCause.BLOCK_EXPLOSION) {
//Calculate new damage based on armor worn. //Calculate new damage based on armor worn.
//Remove all other damage modifiers since we will calculate it manually. //Remove all other damage modifiers since we will calculate it manually.
ev.setDamage(DamageModifier.BLOCKING,0); ev.setDamage(DamageModifier.BLOCKING,0);
@ -3612,6 +3611,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} }
} }
ev.setDamage(DamageModifier.BASE,NewCombat.CalculateDamageReduction(ev.getDamage()*EXPLOSION_DMG_MULT*((100-protectionlevel)*0.01),p,null));
ev.setDamage(NewCombat.CalculateDamageReduction(ev.getDamage()*EXPLOSION_DMG_MULT*((100-protectionlevel)*0.01),p,null)); ev.setDamage(NewCombat.CalculateDamageReduction(ev.getDamage()*EXPLOSION_DMG_MULT*((100-protectionlevel)*0.01),p,null));
log("Explosion Damage is "+ev.getDamage(),2); log("Explosion Damage is "+ev.getDamage(),2);
//ev.setDamage(CalculateDamageReduction(ev.getDamage()*EXPLOSION_DMG_MULT,p,null)); //ev.setDamage(CalculateDamageReduction(ev.getDamage()*EXPLOSION_DMG_MULT,p,null));
@ -3925,14 +3925,14 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (ev.getEntity() instanceof LivingEntity) { if (ev.getEntity() instanceof LivingEntity) {
((LivingEntity)ev.getEntity()).setNoDamageTicks(10); ((LivingEntity)ev.getEntity()).setNoDamageTicks(10);
final double oldhp=((LivingEntity)ev.getEntity()).getHealth(); final double oldhp=((LivingEntity)ev.getEntity()).getHealth();
ev.setDamage(DamageModifier.BASE,dmg);
ev.setDamage(dmg);
if (NewCombat.getDamagerEntity(ev.getDamager()) instanceof Player) { if (NewCombat.getDamagerEntity(ev.getDamager()) instanceof Player) {
if (ev.getDamager() instanceof Projectile) { if (ev.getDamager() instanceof Projectile) {
ev.getDamager().remove(); ev.getDamager().remove();
} }
GenericFunctions.subtractHealth((LivingEntity)ev.getEntity(), NewCombat.getDamagerEntity(ev.getDamager()), dmg); GenericFunctions.subtractHealth((LivingEntity)ev.getEntity(), NewCombat.getDamagerEntity(ev.getDamager()), dmg);
ev.setCancelled(true); ev.setCancelled(true);
} else {
ev.setDamage(dmg);
} }
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() { public void run() {