fortitudes handled last
This commit is contained in:
@@ -850,6 +850,22 @@ public enum CombatManager {
|
|||||||
else
|
else
|
||||||
damage = calculateDamage(ac, tarAc, minDamage, maxDamage, damageType, resists);
|
damage = calculateDamage(ac, tarAc, minDamage, maxDamage, damageType, resists);
|
||||||
|
|
||||||
|
if(weapon != null && weapon.effects != null){
|
||||||
|
float armorPierce = 0;
|
||||||
|
for(Effect eff : weapon.effects.values()){
|
||||||
|
for(AbstractEffectModifier mod : eff.getEffectModifiers()){
|
||||||
|
if(mod.modType.equals(ModType.ArmorPiercing)){
|
||||||
|
armorPierce += mod.minMod * (mod.getRamp() * eff.getTrains());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(armorPierce > 0){
|
||||||
|
damage *= 1 - armorPierce;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Resists.handleFortitude(tarAc,damageType,damage);
|
||||||
|
|
||||||
float d = 0f;
|
float d = 0f;
|
||||||
|
|
||||||
errorTrack = 12;
|
errorTrack = 12;
|
||||||
@@ -1055,10 +1071,12 @@ public enum CombatManager {
|
|||||||
|
|
||||||
//calculate resists in if any
|
//calculate resists in if any
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (resists != null)
|
if (resists != null)
|
||||||
return resists.getResistedDamage(source, target, damageType, damage, 0);
|
damage = resists.getResistedDamage(source, target, damageType, damage, 0);
|
||||||
else
|
|
||||||
return damage;
|
return damage;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void sendPassiveDefenseMessage(AbstractCharacter source, ItemBase wb, AbstractWorldObject target, int passiveType, DeferredPowerJob dpj, boolean mainHand) {
|
private static void sendPassiveDefenseMessage(AbstractCharacter source, ItemBase wb, AbstractWorldObject target, int passiveType, DeferredPowerJob dpj, boolean mainHand) {
|
||||||
@@ -1400,9 +1418,9 @@ public enum CombatManager {
|
|||||||
|
|
||||||
Resists resists = ac.getResists();
|
Resists resists = ac.getResists();
|
||||||
|
|
||||||
if (resists != null)
|
if (resists != null) {
|
||||||
amount = resists.getResistedDamage(target, ac, ds.getDamageType(), amount, 0);
|
amount = resists.getResistedDamage(target, ac, ds.getDamageType(), amount, 0);
|
||||||
|
}
|
||||||
total += amount;
|
total += amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,9 +101,10 @@ public class CombatUtilities {
|
|||||||
if (!target.isAlive())
|
if (!target.isAlive())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (AbstractWorldObject.IsAbstractCharacter(target))
|
if (AbstractWorldObject.IsAbstractCharacter(target)) {
|
||||||
|
damage = Resists.handleFortitude((AbstractCharacter) target,DamageType.Crush,damage);
|
||||||
trueDamage = ((AbstractCharacter) target).modifyHealth(-damage, agent, false);
|
trueDamage = ((AbstractCharacter) target).modifyHealth(-damage, agent, false);
|
||||||
else if (target.getObjectType() == GameObjectType.Building)
|
}else if (target.getObjectType() == GameObjectType.Building)
|
||||||
trueDamage = ((Building) target).modifyHealth(-damage, agent);
|
trueDamage = ((Building) target).modifyHealth(-damage, agent);
|
||||||
|
|
||||||
//Don't send 0 damage kay thanx.
|
//Don't send 0 damage kay thanx.
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ public class Resists {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Handle Fortitudes
|
//Handle Fortitudes
|
||||||
private static float handleFortitude(AbstractCharacter target, DamageType type, float damage) {
|
public static float handleFortitude(AbstractCharacter target, DamageType type, float damage) {
|
||||||
if (target == null || !(target.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)))
|
if (target == null || !(target.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)))
|
||||||
return damage;
|
return damage;
|
||||||
PlayerBonuses bonus = target.getBonuses();
|
PlayerBonuses bonus = target.getBonuses();
|
||||||
@@ -456,10 +456,11 @@ public class Resists {
|
|||||||
//handle fortitudes
|
//handle fortitudes
|
||||||
//damage = handleFortitude(target, type, damage);
|
//damage = handleFortitude(target, type, damage);
|
||||||
//calculate armor piercing
|
//calculate armor piercing
|
||||||
float ap = source.getBonuses().getFloatPercentAll(ModType.ArmorPiercing, SourceType.None);
|
//float ap = 0;
|
||||||
float damageAfterResists = damage;
|
//if(type.equals(DamageType.Pierce) || type.equals(DamageType.Crush) || type.equals(DamageType.Slash))
|
||||||
if(type.equals(DamageType.Pierce) || type.equals(DamageType.Crush) || type.equals(DamageType.Slash))
|
//source.getBonuses().getFloatPercentAll(ModType.ArmorPiercing, SourceType.None);
|
||||||
damageAfterResists = damage * (1 - (this.getResist(type, trains) * 0.01f) + ap);
|
|
||||||
|
float damageAfterResists = damage * (1 - (this.getResist(type, trains) * 0.01f));
|
||||||
//check to see if any damage absorbers should cancel
|
//check to see if any damage absorbers should cancel
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
//debug damage shields if any found
|
//debug damage shields if any found
|
||||||
@@ -479,7 +480,7 @@ public class Resists {
|
|||||||
}
|
}
|
||||||
target.cancelOnTakeDamage(type, (damageAfterResists));
|
target.cancelOnTakeDamage(type, (damageAfterResists));
|
||||||
}
|
}
|
||||||
damageAfterResists = handleFortitude(target, type, damageAfterResists);
|
//damageAfterResists = handleFortitude(target, type, damageAfterResists);
|
||||||
return damageAfterResists;
|
return damageAfterResists;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -303,9 +303,10 @@ public class HealthEffectModifier extends AbstractEffectModifier {
|
|||||||
|
|
||||||
// calculate resists in if any
|
// calculate resists in if any
|
||||||
if (resists != null) {
|
if (resists != null) {
|
||||||
if (AbstractWorldObject.IsAbstractCharacter(awo))
|
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
||||||
|
damage = Resists.handleFortitude((AbstractCharacter) awo, damageType, damage * -1);
|
||||||
damage = resists.getResistedDamage(source, (AbstractCharacter) awo, damageType, damage * -1, trains) * -1;
|
damage = resists.getResistedDamage(source, (AbstractCharacter) awo, damageType, damage * -1, trains) * -1;
|
||||||
else
|
}else
|
||||||
damage = resists.getResistedDamage(source, null, damageType, damage * -1, trains) * -1;
|
damage = resists.getResistedDamage(source, null, damageType, damage * -1, trains) * -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user