Fix Damage Calculations.
This commit is contained in:
parent
a2e6449ab7
commit
66bbf5e587
Binary file not shown.
@ -3591,8 +3591,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
||||
,1);
|
||||
}
|
||||
|
||||
if (ev.getCause()==DamageCause.ENTITY_EXPLOSION ||
|
||||
ev.getCause()==DamageCause.BLOCK_EXPLOSION) {
|
||||
if (ev.getCause()==DamageCause.BLOCK_EXPLOSION) {
|
||||
//Calculate new damage based on armor worn.
|
||||
//Remove all other damage modifiers since we will calculate it manually.
|
||||
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));
|
||||
log("Explosion Damage is "+ev.getDamage(),2);
|
||||
//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) {
|
||||
((LivingEntity)ev.getEntity()).setNoDamageTicks(10);
|
||||
final double oldhp=((LivingEntity)ev.getEntity()).getHealth();
|
||||
ev.setDamage(DamageModifier.BASE,dmg);
|
||||
ev.setDamage(dmg);
|
||||
if (NewCombat.getDamagerEntity(ev.getDamager()) instanceof Player) {
|
||||
if (ev.getDamager() instanceof Projectile) {
|
||||
ev.getDamager().remove();
|
||||
}
|
||||
GenericFunctions.subtractHealth((LivingEntity)ev.getEntity(), NewCombat.getDamagerEntity(ev.getDamager()), dmg);
|
||||
ev.setCancelled(true);
|
||||
} else {
|
||||
ev.setDamage(dmg);
|
||||
}
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||
public void run() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user