Browse Source

atr buff/debuffs

lakebane-ai
FatBoy-DOTC 3 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 {
String skill = "Unarmed Combat"; String skill = "Unarmed Combat";
String mastery = "Unarmed Combat Mastery"; String mastery = "Unarmed Combat Mastery";
int primaryStat = getDexAfterPenalty(this.owner); int primaryStat = this.owner.statDexCurrent;
if(weapon != null) { if(weapon != null) {
skill= weapon.getItemBase().getSkillRequired(); skill= weapon.getItemBase().getSkillRequired();
mastery = weapon.getItemBase().getMastery(); mastery = weapon.getItemBase().getMastery();
@ -166,10 +166,12 @@ public class PlayerCombatStats {
} else { } else {
for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) {
if (mod.modType.equals(Enum.ModType.OCV)) { if (mod.modType.equals(Enum.ModType.OCV)) {
float value = mod.getMinMod(); if(mod.getPercentMod() == 0) {
int trains = this.owner.effects.get(effID).getTrains(); float value = mod.getMinMod();
float modValue = value + (trains * mod.getRamp()); int trains = this.owner.effects.get(effID).getTrains();
atrEnchants += modValue; float modValue = value + (trains * mod.getRamp());
atrEnchants += modValue;
}
} }
} }
} }
@ -214,8 +216,14 @@ public class PlayerCombatStats {
atr += prefixValues; atr += prefixValues;
atr *= preciseRune; atr *= preciseRune;
atr += atrEnchants; 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; 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); atr = (float) Math.round(atr);
//} //}
@ -614,7 +622,7 @@ public class PlayerCombatStats {
} else { } else {
for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) {
if (mod.modType.equals(Enum.ModType.DCV)) { if (mod.modType.equals(Enum.ModType.DCV)) {
if(mod.getPercentMod() != 0) { if(mod.getPercentMod() == 0) {
float value = mod.getMinMod(); float value = mod.getMinMod();
int trains = this.owner.effects.get(effID).getTrains(); int trains = this.owner.effects.get(effID).getTrains();
float modValue = value + (trains * mod.getRamp()); float modValue = value + (trains * mod.getRamp());
@ -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()) else if(this.owner.charItemManager != null && this.owner.charItemManager.getEquipped(2) != null && !this.owner.charItemManager.getEquipped(2).getItemBase().isShield())
blockSkill = 0; 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; float defense = (1 + armorSkill / 50) * armorDefense;
defense += (1 + blockSkill / 100) * shieldDefense; defense += (1 + blockSkill / 100) * shieldDefense;
defense += (weaponSkill / 2); defense += (weaponSkill / 2);
@ -643,11 +647,10 @@ public class PlayerCombatStats {
defense *= stanceMod; defense *= stanceMod;
if(this.owner.bonuses != null) { if(this.owner.bonuses != null) {
float percentBonuses = this.owner.bonuses.getFloatPercentPositive(Enum.ModType.DCV, Enum.SourceType.None); float positivePercentBonuses = this.owner.bonuses.getFloatPercentPositive(Enum.ModType.DCV, Enum.SourceType.None);
percentBonuses -= this.owner.bonuses.getFloatPercentNegative(Enum.ModType.DCV, Enum.SourceType.None); float negativePercentBonuses = this.owner.bonuses.getFloatPercentNegative(Enum.ModType.DCV, Enum.SourceType.None);
percentBonuses -= luckyRune - 1; float modifier = 1 + (positivePercentBonuses + negativePercentBonuses - (luckyRune - 1.0f) - (stanceMod - 1.0f));
percentBonuses -= stanceMod - 1; defense *= modifier;
defense *= 1 + percentBonuses;
} }
defense = Math.round(defense); defense = Math.round(defense);

Loading…
Cancel
Save