Browse Source

atr buff/debuffs

lakebane-ai
FatBoy-DOTC 2 weeks ago
parent
commit
934c0a98f8
  1. 35
      src/engine/objects/PlayerCombatStats.java

35
src/engine/objects/PlayerCombatStats.java

@ -126,7 +126,7 @@ public class PlayerCombatStats { @@ -126,7 +126,7 @@ public class PlayerCombatStats {
String skill = "Unarmed Combat";
String mastery = "Unarmed Combat Mastery";
int primaryStat = getDexAfterPenalty(this.owner);
int primaryStat = this.owner.statDexCurrent;
if(weapon != null) {
skill= weapon.getItemBase().getSkillRequired();
mastery = weapon.getItemBase().getMastery();
@ -166,10 +166,12 @@ public class PlayerCombatStats { @@ -166,10 +166,12 @@ public class PlayerCombatStats {
} else {
for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) {
if (mod.modType.equals(Enum.ModType.OCV)) {
float value = mod.getMinMod();
int trains = this.owner.effects.get(effID).getTrains();
float modValue = value + (trains * mod.getRamp());
atrEnchants += modValue;
if(mod.getPercentMod() == 0) {
float value = mod.getMinMod();
int trains = this.owner.effects.get(effID).getTrains();
float modValue = value + (trains * mod.getRamp());
atrEnchants += modValue;
}
}
}
}
@ -214,8 +216,14 @@ public class PlayerCombatStats { @@ -214,8 +216,14 @@ public class PlayerCombatStats {
atr += prefixValues;
atr *= preciseRune;
atr += atrEnchants;
atr *= 1 + (this.owner.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.Buff) - this.owner.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.DeBuff));
//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;
if(this.owner.bonuses != null) {
float positivePercentBonuses = this.owner.bonuses.getFloatPercentPositive(Enum.ModType.OCV, Enum.SourceType.None);
float negativePercentBonuses = this.owner.bonuses.getFloatPercentNegative(Enum.ModType.OCV, Enum.SourceType.None);
float modifier = 1 + (positivePercentBonuses + negativePercentBonuses - (preciseRune - 1.0f) - (stanceValue - 1.0f));
atr *= modifier;
}
atr = (float) Math.round(atr);
//}
@ -614,7 +622,7 @@ public class PlayerCombatStats { @@ -614,7 +622,7 @@ public class PlayerCombatStats {
} else {
for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) {
if (mod.modType.equals(Enum.ModType.DCV)) {
if(mod.getPercentMod() != 0) {
if(mod.getPercentMod() == 0) {
float value = mod.getMinMod();
int trains = this.owner.effects.get(effID).getTrains();
float modValue = value + (trains * mod.getRamp());
@ -629,10 +637,6 @@ public class PlayerCombatStats { @@ -629,10 +637,6 @@ public class PlayerCombatStats {
else if(this.owner.charItemManager != null && this.owner.charItemManager.getEquipped(2) != null && !this.owner.charItemManager.getEquipped(2).getItemBase().isShield())
blockSkill = 0;
//Defense = ( (1 + ModArmorskill / 50) * TotalArmorDef + “if shield” (1 + ModBlockskill / 100 * ShieldDef) + modifiedweaponskill/2 “unarmed if no weapon equipped”
// + modifiedweaponmastery/2 + ModifiedDex * 2 + Flatdefensemodifiers ) * 1.05 “if lucky” * Stancemodifier
float defense = (1 + armorSkill / 50) * armorDefense;
defense += (1 + blockSkill / 100) * shieldDefense;
defense += (weaponSkill / 2);
@ -643,11 +647,10 @@ public class PlayerCombatStats { @@ -643,11 +647,10 @@ public class PlayerCombatStats {
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;
float positivePercentBonuses = this.owner.bonuses.getFloatPercentPositive(Enum.ModType.DCV, Enum.SourceType.None);
float negativePercentBonuses = this.owner.bonuses.getFloatPercentNegative(Enum.ModType.DCV, Enum.SourceType.None);
float modifier = 1 + (positivePercentBonuses + negativePercentBonuses - (luckyRune - 1.0f) - (stanceMod - 1.0f));
defense *= modifier;
}
defense = Math.round(defense);

Loading…
Cancel
Save