From 603d4ca3a861437753a3f637d70360f094dce8c6 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Sun, 2 Feb 2025 19:16:31 -0600 Subject: [PATCH] reconstructed passive chance formulas --- src/engine/objects/PlayerCharacter.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/engine/objects/PlayerCharacter.java b/src/engine/objects/PlayerCharacter.java index 399e9ddf..4aa43887 100644 --- a/src/engine/objects/PlayerCharacter.java +++ b/src/engine/objects/PlayerCharacter.java @@ -4736,27 +4736,28 @@ public class PlayerCharacter extends AbstractCharacter { return 0; float blockBonusFromShield = 0; - blockBonusFromShield = offHand.getItemBase().getBlockMod() * 100; + ItemBase ib = offHand.getItemBase(); + blockBonusFromShield = ib.getBlockMod() * 5; for(Effect eff : offHand.effects.values()){ for(AbstractEffectModifier mod : eff.getEffectModifiers()){ if(mod.modType.equals(ModType.PassiveDefense)){ float min = mod.minMod; int trains = eff.getTrains(); float ramp = mod.getRamp(); - blockBonusFromShield += (min + (trains * ramp)) * 10; + blockBonusFromShield += (min + (trains * ramp)) * 5; } } } float blockChance = ((passiveSkill.getModifiedAmount() + blockBonusFromShield) / 4) + levelDifference; if(this.bonuses != null) - blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.PassiveDefense, SourceType.None); + blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Block, SourceType.None); return blockChance; case "Parry": if(!fromCombat) return 0; - if(mainHand == null) + if(mainHand == null && this.getRaceID() != 1999) // saetors can always parry using their horns return 0; int parryBonus = 0; @@ -4790,6 +4791,9 @@ public class PlayerCharacter extends AbstractCharacter { float dodgeChance = ((passiveSkill.getModifiedAmount()) / divisor) + levelDifference; + if(this.bonuses != null) + dodgeChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Dodge, SourceType.None); + return dodgeChance; default: return 0;