attack speed

This commit is contained in:
2025-01-20 17:52:08 -06:00
parent 961e2915b4
commit 7964de1045
2 changed files with 20 additions and 13 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
public class PlayerBonuses { public class PlayerBonuses {
//First bonus set //First bonus set
private ConcurrentHashMap<AbstractEffectModifier, Float> bonusFloats = new ConcurrentHashMap<>(); ConcurrentHashMap<AbstractEffectModifier, Float> bonusFloats = new ConcurrentHashMap<>();
private ConcurrentHashMap<AbstractEffectModifier, DamageShield> bonusDamageShields = new ConcurrentHashMap<>(); private ConcurrentHashMap<AbstractEffectModifier, DamageShield> bonusDamageShields = new ConcurrentHashMap<>();
private ConcurrentHashMap<AbstractEffectModifier, String> bonusStrings = new ConcurrentHashMap<>(); private ConcurrentHashMap<AbstractEffectModifier, String> bonusStrings = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, HashSet<SourceType>> bonusLists = new ConcurrentHashMap<>(); private ConcurrentHashMap<ModType, HashSet<SourceType>> bonusLists = new ConcurrentHashMap<>();
+11 -4
View File
@@ -3970,8 +3970,7 @@ public class PlayerCharacter extends AbstractCharacter {
else else
speed = 20f; //unarmed attack speed speed = 20f; //unarmed attack speed
//if (weapon != null) { if(this.effects != null) {
//speed *= (1 + this.bonuses.getFloatPercentAll(ModType.WeaponSpeed, SourceType.None));
for (Effect eff : this.effects.values()) { for (Effect eff : this.effects.values()) {
for (AbstractEffectModifier mod : eff.getEffectModifiers()) { for (AbstractEffectModifier mod : eff.getEffectModifiers()) {
if (mod.modType.equals(ModType.WeaponSpeed)) { if (mod.modType.equals(ModType.WeaponSpeed)) {
@@ -3980,8 +3979,6 @@ public class PlayerCharacter extends AbstractCharacter {
} }
} }
} }
//}
//speed *= (1 + this.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.None));
for (Effect eff : this.effects.values()) { for (Effect eff : this.effects.values()) {
for (AbstractEffectModifier mod : eff.getEffectModifiers()) { for (AbstractEffectModifier mod : eff.getEffectModifiers()) {
@@ -3991,6 +3988,16 @@ public class PlayerCharacter extends AbstractCharacter {
} }
} }
} }
}
if(this.bonuses!= null){
for (AbstractEffectModifier mod : this.bonuses.bonusFloats.keySet()) {
if (mod.modType.equals(ModType.AttackDelay) || mod.modType.equals(ModType.WeaponSpeed)) {
float modValue = 1 + mod.getPercentMod() * 0.01f;
speed *= modValue;
}
}
}
if (speed < 10) if (speed < 10)
speed = 10; speed = 10;