|
|
|
@ -31,6 +31,7 @@ import engine.net.client.msg.ApplyRuneMsg;
@@ -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 {
@@ -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; |
|
|
|
|