From dfe300ba4b1e07b6d3e9112013236386cac4f34d Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Sun, 23 Feb 2025 20:05:04 -0600 Subject: [PATCH] ring bonuses calculated specifically --- src/engine/objects/PlayerCombatStats.java | 45 ++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java index 189cd8d0..7c569007 100644 --- a/src/engine/objects/PlayerCombatStats.java +++ b/src/engine/objects/PlayerCombatStats.java @@ -836,7 +836,50 @@ public class PlayerCombatStats { } } - if(this.owner.bonuses != null) + if(this.owner.charItemManager != null){ + if(this.owner.charItemManager.getEquipped(7) != null){ + for(String effID : this.owner.charItemManager.getEquipped(7).effects.keySet()) { + for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { + if (mod.modType.equals(Enum.ModType.DCV)) { + if (mod.getPercentMod() == 0) { + float value = mod.getMinMod(); + int trains = this.owner.effects.get(effID).getTrains(); + float modValue = value + (trains * mod.getRamp()); + flatBonuses += modValue; + } + } + } + } + } + if(this.owner.charItemManager.getEquipped(8) != null){ + for(String effID : this.owner.charItemManager.getEquipped(8).effects.keySet()) { + for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { + if (mod.modType.equals(Enum.ModType.DCV)) { + if (mod.getPercentMod() == 0) { + float value = mod.getMinMod(); + int trains = this.owner.effects.get(effID).getTrains(); + float modValue = value + (trains * mod.getRamp()); + flatBonuses += modValue; + } + } + } + } + } + if(this.owner.charItemManager.getEquipped(9) != null){ + for(String effID : this.owner.charItemManager.getEquipped(9).effects.keySet()) { + for (AbstractEffectModifier mod : this.owner.effects.get(effID).getEffectModifiers()) { + if (mod.modType.equals(Enum.ModType.DCV)) { + if (mod.getPercentMod() == 0) { + float value = mod.getMinMod(); + int trains = this.owner.effects.get(effID).getTrains(); + float modValue = value + (trains * mod.getRamp()); + flatBonuses += modValue; + } + } + } + } + } + } flatBonuses += this.owner.bonuses.getFloat(Enum.ModType.DCV, Enum.SourceType.None); if(this.owner.charItemManager.getEquipped(2) == null)