diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java index f01b3cc0..01c26142 100644 --- a/src/engine/objects/PlayerCombatStats.java +++ b/src/engine/objects/PlayerCombatStats.java @@ -544,7 +544,7 @@ public class PlayerCombatStats { } for(String armorUsed : armorsUsed){ if(this.owner.skills.containsKey(armorUsed)) { - armorSkill += this.owner.skills.get(armorUsed).getTotalSkillPercet();//calculateBuffedSkillLevel(armorUsed,this.owner); + armorSkill += this.owner.skills.get(armorUsed).getModifiedAmount();//calculateBuffedSkillLevel(armorUsed,this.owner); } } if(armorsUsed.size() > 0) @@ -552,7 +552,7 @@ public class PlayerCombatStats { float blockSkill = 0.0f; if(this.owner.skills.containsKey("Block")) - blockSkill = calculateBuffedSkillLevel("Block",this.owner); + blockSkill = this.owner.skills.get("Block").getModifiedAmount(); float shieldDefense = 0.0f; if(this.owner.charItemManager.getEquipped(2) != null && this.owner.charItemManager.getEquipped(2).getItemBase().isShield()){ @@ -584,17 +584,19 @@ public class PlayerCombatStats { masteryName = weapon.getItemBase().getMastery(); } if(this.owner.skills.containsKey(skillName)) - weaponSkill = this.owner.skills.get(skillName).getTotalSkillPercet();//calculateBuffedSkillLevel(skillName,this.owner);//this.owner.skills.get(skillName).getModifiedAmount();//calculateModifiedSkill(skillName,this.owner);//this.owner.skills.get(skillName).getModifiedAmount(); + weaponSkill = this.owner.skills.get(skillName).getModifiedAmount();//calculateBuffedSkillLevel(skillName,this.owner);//this.owner.skills.get(skillName).getModifiedAmount();//calculateModifiedSkill(skillName,this.owner);//this.owner.skills.get(skillName).getModifiedAmount(); if(this.owner.skills.containsKey(masteryName)) - masterySkill = this.owner.skills.get(masteryName).getTotalSkillPercet();//calculateBuffedSkillLevel(masteryName,this.owner);//this.owner.skills.get(masteryName).getModifiedAmount();//calculateModifiedSkill(masteryName,this.owner);//this.owner.skills.get(masteryName).getModifiedAmount(); + masterySkill = this.owner.skills.get(masteryName).getModifiedAmount();//calculateBuffedSkillLevel(masteryName,this.owner);//this.owner.skills.get(masteryName).getModifiedAmount();//calculateModifiedSkill(masteryName,this.owner);//this.owner.skills.get(masteryName).getModifiedAmount(); - float dexterity = getDexAfterPenalty(this.owner); + float dexterity = this.owner.statDexCurrent;//getDexAfterPenalty(this.owner); float luckyRune = 1.0f; for(CharacterRune rune : this.owner.runes){ - if(rune.getRuneBase().getName().equals("Lucky")) + if(rune.getRuneBase().getName().equals("Lucky")) { luckyRune += 0.05f; + break; + } } float flatBonuses = 0.0f; @@ -612,10 +614,12 @@ public class PlayerCombatStats { } else { for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { if (mod.modType.equals(Enum.ModType.DCV)) { - float value = mod.getMinMod(); - int trains = this.owner.effects.get(effID).getTrains(); - float modValue = value + (trains * mod.getRamp()); - flatBonuses += modValue; + if(mod.getPercentMod() != 0) { + float value = mod.getMinMod(); + int trains = this.owner.effects.get(effID).getTrains(); + float modValue = value + (trains * mod.getRamp()); + flatBonuses += modValue; + } } } } @@ -638,6 +642,13 @@ public class PlayerCombatStats { defense *= luckyRune; defense *= stanceMod; + if(this.owner.bonuses != null) { + float percentBonuses = this.owner.bonuses.getFloatPercentPositive(Enum.ModType.DCV, Enum.SourceType.None); + percentBonuses -= this.owner.bonuses.getFloatPercentNegative(Enum.ModType.DCV, Enum.SourceType.None); + percentBonuses -= luckyRune - 1; + percentBonuses -= stanceMod - 1; + defense *= 1 + percentBonuses; + } defense = Math.round(defense); this.defense = (int) defense; @@ -647,7 +658,7 @@ public class PlayerCombatStats { if(pc.charItemManager == null) return pc.statDexCurrent; - float dex = pc.statDexBase; + float dex = pc.statDexCurrent; if(pc.bonuses != null) dex += pc.bonuses.getFloat(Enum.ModType.Attr, Enum.SourceType.Dexterity);