forked from MagicBane/Server
created respawnQue for mobs
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
|
||||
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 {
|
||||
}
|
||||
}
|
||||
} else if (System.currentTimeMillis() > (aiAgent.deathTime + (aiAgent.spawnTime * 1000))) {
|
||||
aiAgent.respawn();
|
||||
//aiAgent.respawn();
|
||||
respawnQue.add(aiAgent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user