forked from MagicBane/Server
attack speed calculation handled correctly
This commit is contained in:
@@ -31,6 +31,7 @@ import engine.net.client.msg.ApplyRuneMsg;
|
||||
import engine.net.client.msg.UpdateStateMsg;
|
||||
import engine.powers.EffectsBase;
|
||||
import engine.powers.PowersBase;
|
||||
import engine.powers.effectmodifiers.AbstractEffectModifier;
|
||||
import engine.server.MBServerStatics;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
@@ -804,7 +805,25 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
|
||||
if (weapon != null)
|
||||
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.WeaponSpeed, SourceType.None));
|
||||
|
||||
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.None));
|
||||
PlayerBonuses bonuses = abstractCharacter.bonuses;
|
||||
if(bonuses != null){
|
||||
ModType modType = ModType.AttackDelay;
|
||||
for (AbstractEffectModifier mod : bonuses.bonusFloats.keySet()) {
|
||||
|
||||
if (mod.getPercentMod() == 0)
|
||||
continue;
|
||||
|
||||
|
||||
if (!mod.modType.equals(modType))
|
||||
continue;
|
||||
|
||||
if (bonuses.bonusFloats.get(mod) == null)
|
||||
continue;
|
||||
|
||||
speed *= (1 + bonuses.bonusFloats.get(mod));
|
||||
}
|
||||
}
|
||||
//speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.None));
|
||||
|
||||
if (speed < 10)
|
||||
speed = 10;
|
||||
|
||||
Reference in New Issue
Block a user