diff --git a/src/engine/ai/MobileFSM.java b/src/engine/ai/MobileFSM.java index 6c0c1f86..6f45e96a 100644 --- a/src/engine/ai/MobileFSM.java +++ b/src/engine/ai/MobileFSM.java @@ -63,7 +63,6 @@ public class MobileFSM { case Idle: if (mob.isAlive()) mob.updateLocation(); - if (mob.isPlayerGuard()) { guardAwake(mob); break; @@ -167,9 +166,6 @@ public class MobileFSM { } return false; } - public static Mob getMobile(int mobileID) { - return Mob.getFromCache(mobileID); - } private static void idle(Mob mob) { if (mob.getLoc().distanceSquared2D(mob.getBindLoc()) > sqr(2000)) { @@ -1070,31 +1066,6 @@ public class MobileFSM { return; } - HashMap staticPowers = aiAgent.getMobBase().getStaticPowers(); - if (staticPowers != null && !staticPowers.isEmpty()) { - - int chance = ThreadLocalRandom.current().nextInt(100); - - if (chance <= MBServerStatics.AI_POWER_DIVISOR) { - - ArrayList powerList = new ArrayList<>(); - - for (Integer key : staticPowers.keySet()) { - powerList.add(key); - } - - int randomPower = ThreadLocalRandom.current().nextInt(powerList.size()); - int powerToken = powerList.get(randomPower); - - PowersBase pb = PowersManager.getPowerByToken(powerToken); - - if (pb != null) - PowersManager.useMobPower(aiAgent, aggroTarget, pb, staticPowers.get(powerToken)); - - return; - } - } - if (!MovementUtilities.inRangeOfBindLocation(aiAgent)) { aiAgent.setCombatTarget(null); aiAgent.setAggroTargetID(0); @@ -1213,14 +1184,6 @@ public class MobileFSM { } aiAgent.setState(STATE.Awake); } - public static void goHome(Mob aiAgent, boolean walk) { - - if (aiAgent.getState() != STATE.Dead) { - aiAgent.setWalkingHome(walk); - aiAgent.setAggroTargetID(0); - aiAgent.setState(STATE.Home); - } - } private static void dead(Mob aiAgent) { //Despawn Timer with Loot currently in inventory. if (aiAgent.getCharItemManager().getInventoryCount() > 0) { @@ -1633,21 +1596,6 @@ public class MobileFSM { aiAgent.setCombatTarget(null); aiAgent.setState(STATE.Awake); } - private static void guardRespawn(Mob aiAgent) { - - if (!aiAgent.canRespawn()) - return; - - if (aiAgent.isPlayerGuard() && aiAgent.getNpcOwner() != null && !aiAgent.getNpcOwner().isAlive()) - return; - - long spawnTime = aiAgent.getSpawnTime(); - - if (System.currentTimeMillis() > aiAgent.getDeathTime() + spawnTime) { - aiAgent.respawn(); - aiAgent.setState(STATE.Idle); - } - } private static void respawn(Mob aiAgent) { if (!aiAgent.canRespawn()) @@ -1682,13 +1630,6 @@ public class MobileFSM { MovementUtilities.moveToLocation(aiAgent, aiAgent.getCombatTarget().getLoc(), aiAgent.getRange()); } - private static void moveToWorldObjectRegion(Mob mob, AbstractWorldObject regionObject) { - - if (regionObject.getRegion() == null) - return; - - MovementManager.translocate(mob, regionObject.getLoc(), null); - } public static boolean canCast(Mob mob) { if(mob == null){ return false; diff --git a/src/engine/ai/utilities/CombatUtilities.java b/src/engine/ai/utilities/CombatUtilities.java index c272c5c7..0bb1152d 100644 --- a/src/engine/ai/utilities/CombatUtilities.java +++ b/src/engine/ai/utilities/CombatUtilities.java @@ -343,6 +343,7 @@ public class CombatUtilities { float dex = agent.getStatDexCurrent(); double minDmg = getMinDmg(min,str,dex,agent.getLevel()); double maxDmg = getMaxDmg(max,str,dex,agent.getLevel()); + dmgMultiplier += agent.getLevel() / 10; range = (float) (maxDmg - minDmg); damage = min + ((ThreadLocalRandom.current().nextFloat() * range) + (ThreadLocalRandom.current().nextFloat() * range)) / 2; if (AbstractWorldObject.IsAbstractCharacter(target))