diff --git a/src/engine/mobileAI/MobAI.java b/src/engine/mobileAI/MobAI.java index c2ce4ffe..fd0c04e9 100644 --- a/src/engine/mobileAI/MobAI.java +++ b/src/engine/mobileAI/MobAI.java @@ -326,8 +326,6 @@ public class MobAI { if(mob.nextCastTime > System.currentTimeMillis()) return false; - mob.nextCastTime = (long) (System.currentTimeMillis() + Float.parseFloat(ConfigManager.MB_AI_CAST_FREQUENCY.getValue()) * 1000L); - if(mob.isPlayerGuard){ int contractID = 0; @@ -432,7 +430,7 @@ public class MobAI { msg.setUnknown04(2); PowersManager.finishUseMobPower(msg, mob, 0, 0); - long randomCooldown = (long)((ThreadLocalRandom.current().nextInt(10,15) * 1000) * MobAIThread.AI_CAST_FREQUENCY); + mob.nextCastTime = System.currentTimeMillis() + (long)(Float.parseFloat(ConfigManager.MB_AI_CAST_FREQUENCY.getValue()) * 1000L); return true; } diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java index 194b6f30..ae6e1002 100644 --- a/src/engine/objects/PlayerCombatStats.java +++ b/src/engine/objects/PlayerCombatStats.java @@ -122,6 +122,9 @@ public class PlayerCombatStats { primaryStat = this.owner.statStrCurrent; } + if(weapon == null) + primaryStat = this.owner.statStrCurrent; + float skillLevel = 0; float masteryLevel = 0; @@ -300,10 +303,10 @@ public class PlayerCombatStats { //Weapon Max DMG = BaseDMG * (0.0124*Primary Stat + 0.118*(Primary Stat -0.75)^0.5 // + 0.0022*Secondary Stat + 0.028*(Secondary Stat-0.75)^0.5 + 0.0075*(Weapon Skill + Weapon Mastery)) Item weapon; - float specialDex = this.owner.statDexBase; - specialDex += this.owner.bonuses.getFloat(Enum.ModType.Attr, Enum.SourceType.Dexterity); + //float specialDex = this.owner.statDexBase; + //specialDex += this.owner.bonuses.getFloat(Enum.ModType.Attr, Enum.SourceType.Dexterity); double baseDMG = 5; - float primaryStat = specialDex;//getDexAfterPenalty(this.owner); + float primaryStat = getDexAfterPenalty(this.owner); float secondaryStat = this.owner.statStrCurrent; double weaponSkill = 5; double weaponMastery = 5; @@ -323,7 +326,7 @@ public class PlayerCombatStats { mastery = weapon.getItemBase().getMastery(); if (weapon.getItemBase().isStrBased()) { primaryStat = this.owner.statStrCurrent; - secondaryStat = specialDex;//getDexAfterPenalty(this.owner); + secondaryStat = getDexAfterPenalty(this.owner); } for(Effect eff : weapon.effects.values()){ for(AbstractEffectModifier mod : eff.getEffectModifiers()){