reconstructed passive chance formulas
This commit is contained in:
@@ -4736,27 +4736,28 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
float blockBonusFromShield = 0;
|
float blockBonusFromShield = 0;
|
||||||
blockBonusFromShield = offHand.getItemBase().getBlockMod() * 100;
|
ItemBase ib = offHand.getItemBase();
|
||||||
|
blockBonusFromShield = ib.getBlockMod() * 5;
|
||||||
for(Effect eff : offHand.effects.values()){
|
for(Effect eff : offHand.effects.values()){
|
||||||
for(AbstractEffectModifier mod : eff.getEffectModifiers()){
|
for(AbstractEffectModifier mod : eff.getEffectModifiers()){
|
||||||
if(mod.modType.equals(ModType.PassiveDefense)){
|
if(mod.modType.equals(ModType.PassiveDefense)){
|
||||||
float min = mod.minMod;
|
float min = mod.minMod;
|
||||||
int trains = eff.getTrains();
|
int trains = eff.getTrains();
|
||||||
float ramp = mod.getRamp();
|
float ramp = mod.getRamp();
|
||||||
blockBonusFromShield += (min + (trains * ramp)) * 10;
|
blockBonusFromShield += (min + (trains * ramp)) * 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
float blockChance = ((passiveSkill.getModifiedAmount() + blockBonusFromShield) / 4) + levelDifference;
|
float blockChance = ((passiveSkill.getModifiedAmount() + blockBonusFromShield) / 4) + levelDifference;
|
||||||
if(this.bonuses != null)
|
if(this.bonuses != null)
|
||||||
blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.PassiveDefense, SourceType.None);
|
blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Block, SourceType.None);
|
||||||
return blockChance;
|
return blockChance;
|
||||||
|
|
||||||
case "Parry":
|
case "Parry":
|
||||||
if(!fromCombat)
|
if(!fromCombat)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if(mainHand == null)
|
if(mainHand == null && this.getRaceID() != 1999) // saetors can always parry using their horns
|
||||||
return 0;
|
return 0;
|
||||||
int parryBonus = 0;
|
int parryBonus = 0;
|
||||||
|
|
||||||
@@ -4790,6 +4791,9 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
|
|
||||||
float dodgeChance = ((passiveSkill.getModifiedAmount()) / divisor) + levelDifference;
|
float dodgeChance = ((passiveSkill.getModifiedAmount()) / divisor) + levelDifference;
|
||||||
|
|
||||||
|
if(this.bonuses != null)
|
||||||
|
dodgeChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Dodge, SourceType.None);
|
||||||
|
|
||||||
return dodgeChance;
|
return dodgeChance;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user