diff --git a/TwosideKeeper.jar b/TwosideKeeper.jar index 2e07804..94fcd75 100644 Binary files a/TwosideKeeper.jar and b/TwosideKeeper.jar differ diff --git a/src/sig/plugin/TwosideKeeper/CustomDamage.java b/src/sig/plugin/TwosideKeeper/CustomDamage.java index aa94310..fa213d5 100644 --- a/src/sig/plugin/TwosideKeeper/CustomDamage.java +++ b/src/sig/plugin/TwosideKeeper/CustomDamage.java @@ -139,7 +139,7 @@ public class CustomDamage { boolean preemptive=false; if (shooter!=null && (shooter instanceof Player)) { if (weapon!=null) { - dmg+=getBaseWeaponDamage(weapon, damager, target); + dmg+=getBaseWeaponDamage(damage, weapon, damager, target, reason); if (weapon.getType()==Material.BOW) { if ((damager instanceof Projectile)) { dmg += addMultiplierToPlayerLogger(damager,target,"Ranger Mult",dmg * calculateRangerMultiplier(weapon,damager)); @@ -216,6 +216,10 @@ public class CustomDamage { pd.lastrawdamage=damage; } } + + public static double getBaseWeaponDamage(ItemStack weapon, Entity damager, LivingEntity target) { + return getBaseWeaponDamage(0,weapon,damager,target,""); + } /** * Returns how much damage comes from the WEAPON, and no other sources. @@ -224,18 +228,26 @@ public class CustomDamage { * @param weapon * @return */ - public static double getBaseWeaponDamage(ItemStack weapon, Entity damager, LivingEntity target) { + public static double getBaseWeaponDamage(double damage, ItemStack weapon, Entity damager, LivingEntity target, String reason) { double dmg = 0.0; LivingEntity shooter = getDamagerEntity(damager); if (weapon!=null) { //Calculate damage using the weapon. - if (weapon.getType()==Material.BOW) { - if ((damager instanceof Projectile)) { - dmg += addToPlayerLogger(damager, target, "Weapon", grabNaturalWeaponDamage(weapon)); + if (damage == 0) { + if (weapon.getType()==Material.BOW) { + if ((damager instanceof Projectile)) { + dmg += addToPlayerLogger(damager, target, "Weapon", grabNaturalWeaponDamage(weapon)); + } else { + dmg += addToPlayerLogger(damager, target, "Weapon", 1.0); + } } else { - dmg += addToPlayerLogger(damager, target, "Weapon", 1.0); + dmg += addToPlayerLogger(damager, target, "Weapon", grabNaturalWeaponDamage(weapon)); } } else { - dmg += addToPlayerLogger(damager, target, "Weapon", grabNaturalWeaponDamage(weapon)); + if (reason!=null) { + dmg += addToPlayerLogger(damager, target, reason, damage); + } else { + dmg += addToPlayerLogger(damager, target, ChatColor.GRAY+"Unknown", damage); + } } dmg += calculateEnchantmentDamageIncrease(weapon,damager,target); dmg += addToPlayerLogger(damager,target,"Strike",GenericFunctions.getAbilityValue(ArtifactAbility.DAMAGE, weapon));