Browse Source

created respawnQue for mobs

master
FatBoy-DOTC 1 year ago
parent
commit
6a4ae0af31
  1. 12
      src/engine/ai/MobileFSM.java

12
src/engine/ai/MobileFSM.java

@ -32,6 +32,8 @@ import java.util.concurrent.ThreadLocalRandom; @@ -32,6 +32,8 @@ import java.util.concurrent.ThreadLocalRandom;
import static engine.math.FastMath.sqr;
public class MobileFSM {
public static ArrayList<Mob> respawnQue = new ArrayList<>();
public static long lastRespawn = 0;
private static void AttackTarget(Mob mob, AbstractWorldObject target) {
if (mob == null)
return;
@ -339,6 +341,13 @@ public class MobileFSM { @@ -339,6 +341,13 @@ public class MobileFSM {
}
public static void DetermineAction(Mob mob) {
//always check the respawn que, respawn 1 mob max per second to not flood the client
if(respawnQue.size() > 0 && lastRespawn + 1000 > System.currentTimeMillis()){
respawnQue.get(0).respawn();
respawnQue.remove(0);
lastRespawn = System.currentTimeMillis();
}
if (mob == null)
return;
if (mob.despawned && mob.getMobBase().getLoadID() == 13171) {
@ -532,7 +541,8 @@ public class MobileFSM { @@ -532,7 +541,8 @@ public class MobileFSM {
}
}
} else if (System.currentTimeMillis() > (aiAgent.deathTime + (aiAgent.spawnTime * 1000))) {
aiAgent.respawn();
//aiAgent.respawn();
respawnQue.add(aiAgent);
}
}

Loading…
Cancel
Save