A specified damage with a specified weapon will apply all weapon
modifiers with that specific damage value now.
This commit is contained in:
parent
9b65d49131
commit
45e932650b
Binary file not shown.
@ -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));
|
||||
@ -217,6 +217,10 @@ public class CustomDamage {
|
||||
}
|
||||
}
|
||||
|
||||
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.
|
||||
* @param damager Optional.
|
||||
@ -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));
|
||||
|
Loading…
x
Reference in New Issue
Block a user