healer def stance ATR removed again
This commit is contained in:
@@ -710,6 +710,8 @@ public class ItemFactory {
|
|||||||
int randomPrefix = TableRoll(vendor.getLevel());
|
int randomPrefix = TableRoll(vendor.getLevel());
|
||||||
if(vendor.contract.getName().contains("Heavy") || vendor.contract.getName().contains("Medium") || vendor.contract.getName().contains("Leather"))
|
if(vendor.contract.getName().contains("Heavy") || vendor.contract.getName().contains("Medium") || vendor.contract.getName().contains("Leather"))
|
||||||
randomPrefix += vendor.level * 0.5f;
|
randomPrefix += vendor.level * 0.5f;
|
||||||
|
if(randomPrefix > 320)
|
||||||
|
randomPrefix = 320;
|
||||||
prefixEntry = ModTableEntry.rollTable(prefixTypeTable.modTableID, randomPrefix);
|
prefixEntry = ModTableEntry.rollTable(prefixTypeTable.modTableID, randomPrefix);
|
||||||
|
|
||||||
if (prefixEntry != null)
|
if (prefixEntry != null)
|
||||||
@@ -727,6 +729,8 @@ public class ItemFactory {
|
|||||||
int randomSuffix = TableRoll(vendor.getLevel());
|
int randomSuffix = TableRoll(vendor.getLevel());
|
||||||
if(vendor.contract.getName().contains("Heavy") || vendor.contract.getName().contains("Medium") || vendor.contract.getName().contains("Leather"))
|
if(vendor.contract.getName().contains("Heavy") || vendor.contract.getName().contains("Medium") || vendor.contract.getName().contains("Leather"))
|
||||||
randomSuffix += vendor.level * 0.25f;
|
randomSuffix += vendor.level * 0.25f;
|
||||||
|
if(randomSuffix > 320)
|
||||||
|
randomSuffix = 320;
|
||||||
suffixEntry = ModTableEntry.rollTable(suffixTypeTable.modTableID, randomSuffix);
|
suffixEntry = ModTableEntry.rollTable(suffixTypeTable.modTableID, randomSuffix);
|
||||||
|
|
||||||
if (suffixEntry != null)
|
if (suffixEntry != null)
|
||||||
|
|||||||
@@ -358,13 +358,22 @@ public class PlayerCombatStats {
|
|||||||
|
|
||||||
float stanceValue = 0.0f;
|
float stanceValue = 0.0f;
|
||||||
float atrEnchants = 0;
|
float atrEnchants = 0;
|
||||||
|
float healerDefStance = 0.0f;
|
||||||
for(String effID : this.owner.effects.keySet()) {
|
for(String effID : this.owner.effects.keySet()) {
|
||||||
if (effID.contains("Stance")) {
|
if (effID.contains("Stance")) {
|
||||||
Effect effect = this.owner.effects.get(effID);
|
Effect effect = this.owner.effects.get(effID);
|
||||||
EffectsBase eb = effect.getEffectsBase();
|
EffectsBase eb = effect.getEffectsBase();
|
||||||
if(eb.getIDString().equals("STC-H-DA"))
|
if(eb.getIDString().equals("STC-H-DA")){
|
||||||
|
for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) {
|
||||||
|
if (mod.modType.equals(Enum.ModType.OCV)) {
|
||||||
|
float percent = mod.getPercentMod();
|
||||||
|
int trains = this.owner.effects.get(effID).getTrains();
|
||||||
|
float modValue = percent + (trains * mod.getRamp());
|
||||||
|
healerDefStance += modValue * 0.01f;
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
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 percent = mod.getPercentMod();
|
float percent = mod.getPercentMod();
|
||||||
@@ -432,6 +441,7 @@ public class PlayerCombatStats {
|
|||||||
if(stanceValue > 0.0f){
|
if(stanceValue > 0.0f){
|
||||||
modifier -= (stanceValue);
|
modifier -= (stanceValue);
|
||||||
}
|
}
|
||||||
|
modifier -= healerDefStance;
|
||||||
atr *= modifier;
|
atr *= modifier;
|
||||||
}
|
}
|
||||||
atr = (float) Math.round(atr);
|
atr = (float) Math.round(atr);
|
||||||
@@ -982,12 +992,22 @@ public class PlayerCombatStats {
|
|||||||
float stanceMod = 1.0f;
|
float stanceMod = 1.0f;
|
||||||
float atrBuffs = 0.0f;
|
float atrBuffs = 0.0f;
|
||||||
|
|
||||||
|
float healerDefStance = 0.0f;
|
||||||
for(String effID : pc.effects.keySet()) {
|
for(String effID : pc.effects.keySet()) {
|
||||||
if (effID.contains("Stance")) {
|
if (effID.contains("Stance")) {
|
||||||
Effect effect = pc.effects.get(effID);
|
Effect effect = pc.effects.get(effID);
|
||||||
EffectsBase eb = effect.getEffectsBase();
|
EffectsBase eb = effect.getEffectsBase();
|
||||||
if(eb.getIDString().equals("STC-H-DA"))
|
if(eb.getIDString().equals("STC-H-DA")){
|
||||||
|
for (AbstractEffectModifier mod : pc.effects.get(effID).getEffectModifiers()) {
|
||||||
|
if (mod.modType.equals(Enum.ModType.OCV)) {
|
||||||
|
float percent = mod.getPercentMod();
|
||||||
|
int trains = pc.effects.get(effID).getTrains();
|
||||||
|
float modValue = percent + (trains * mod.getRamp());
|
||||||
|
healerDefStance += modValue * 0.01f;
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
for (AbstractEffectModifier mod : pc.effects.get(effID).getEffectModifiers()) {
|
for (AbstractEffectModifier mod : pc.effects.get(effID).getEffectModifiers()) {
|
||||||
if (mod.modType.equals(Enum.ModType.OCV)) {
|
if (mod.modType.equals(Enum.ModType.OCV)) {
|
||||||
float percent = mod.getPercentMod();
|
float percent = mod.getPercentMod();
|
||||||
@@ -1015,7 +1035,7 @@ public class PlayerCombatStats {
|
|||||||
atr *= precise;
|
atr *= precise;
|
||||||
atr += atrBuffs;
|
atr += atrBuffs;
|
||||||
if(pc.bonuses != null)
|
if(pc.bonuses != null)
|
||||||
atr *= 1 + (pc.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.None) - (stanceMod - 1) - (precise - 1));
|
atr *= 1 + (pc.bonuses.getFloatPercentAll(Enum.ModType.OCV, Enum.SourceType.None) - (stanceMod - 1) - (precise - 1) - healerDefStance);
|
||||||
atr *= stanceMod;
|
atr *= stanceMod;
|
||||||
return atr;
|
return atr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user