|
|
@ -90,11 +90,11 @@ public class PlayerCombatStats { |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
//Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
|
|
|
|
//Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
|
|
|
|
} |
|
|
|
} |
|
|
|
try { |
|
|
|
//try {
|
|
|
|
this.calculateRegen(); |
|
|
|
//this.calculateRegen();
|
|
|
|
} catch (Exception e) { |
|
|
|
//} catch (Exception e) {
|
|
|
|
//Logger.error("FAILED TO CALCULATE Regen FOR: " + this.owner.getObjectUUID());
|
|
|
|
//Logger.error("FAILED TO CALCULATE Regen FOR: " + this.owner.getObjectUUID());
|
|
|
|
} |
|
|
|
//}
|
|
|
|
try { |
|
|
|
try { |
|
|
|
this.calculateDefense(); |
|
|
|
this.calculateDefense(); |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
@ -126,10 +126,10 @@ public class PlayerCombatStats { |
|
|
|
float masteryLevel = 0; |
|
|
|
float masteryLevel = 0; |
|
|
|
|
|
|
|
|
|
|
|
if(this.owner.skills.containsKey(skill)) { |
|
|
|
if(this.owner.skills.containsKey(skill)) { |
|
|
|
skillLevel = calculateBaseSkillLevel(skill,this.owner);//this.owner.skills.get(skill).getTotalSkillPercet();
|
|
|
|
skillLevel = this.owner.skills.get(skill).getTotalSkillPercet();//calculateBuffedSkillLevel(skill,this.owner);//this.owner.skills.get(skill).getTotalSkillPercet();
|
|
|
|
} |
|
|
|
} |
|
|
|
if(this.owner.skills.containsKey(mastery)) |
|
|
|
if(this.owner.skills.containsKey(mastery)) |
|
|
|
masteryLevel = calculateBaseSkillLevel(mastery,this.owner);//this.owner.skills.get(mastery).getTotalSkillPercet();
|
|
|
|
masteryLevel = this.owner.skills.get(mastery).getTotalSkillPercet();//calculateBuffedSkillLevel(mastery,this.owner);//this.owner.skills.get(mastery).getTotalSkillPercet();
|
|
|
|
|
|
|
|
|
|
|
|
float stanceValue = 0.0f; |
|
|
|
float stanceValue = 0.0f; |
|
|
|
float atrEnchants = 0; |
|
|
|
float atrEnchants = 0; |
|
|
@ -188,21 +188,21 @@ public class PlayerCombatStats { |
|
|
|
preciseRune += 0.05f; |
|
|
|
preciseRune += 0.05f; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(weapon != null && weapon.getItemBase().isStrBased()){ |
|
|
|
//if(weapon != null && weapon.getItemBase().isStrBased()){
|
|
|
|
atr = (((primaryStat / 2) + (skillLevel * 4 + masteryLevel * 3) + prefixValues) * preciseRune + atrEnchants) * (1.0f + stanceValue); |
|
|
|
// atr = (((primaryStat / 2) + (skillLevel * 4 + masteryLevel * 3) + prefixValues) * preciseRune + atrEnchants) * (1.0f + stanceValue);
|
|
|
|
atr = (float) Math.round(atr); |
|
|
|
// atr = (float) Math.round(atr);
|
|
|
|
}else { |
|
|
|
//}else {
|
|
|
|
float dexterity = getDexAfterPenalty(this.owner); |
|
|
|
//float dexterity = getDexAfterPenalty(this.owner);
|
|
|
|
atr = dexterity / 2; |
|
|
|
atr = primaryStat / 2; |
|
|
|
atr += skillLevel * 4; |
|
|
|
atr += skillLevel * 4; |
|
|
|
atr += masteryLevel * 3; |
|
|
|
atr += masteryLevel * 3; |
|
|
|
atr += prefixValues; |
|
|
|
atr += prefixValues; |
|
|
|
atr *= preciseRune; |
|
|
|
atr *= preciseRune; |
|
|
|
atr += atrEnchants; |
|
|
|
atr += atrEnchants; |
|
|
|
atr *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.None); |
|
|
|
atr *= 1 + (this.owner.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.Buff) - this.owner.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.DeBuff)); |
|
|
|
atr *= 1.0f + stanceValue; |
|
|
|
atr *= 1.0f + stanceValue; |
|
|
|
atr = (float) Math.round(atr); |
|
|
|
atr = (float) Math.round(atr); |
|
|
|
} |
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|