respawnQues operate per zone

This commit is contained in:
2023-07-27 21:22:20 -05:00
parent adb3436bd7
commit 6e1ed24b30
3 changed files with 11 additions and 9 deletions
+4 -8
View File
@@ -32,8 +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;
@@ -342,11 +342,7 @@ 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 + 100 < System.currentTimeMillis()){
respawnQue.get(0).respawn();
respawnQue.remove(0);
lastRespawn = System.currentTimeMillis();
}
if (mob == null)
return;
if (mob.despawned && mob.getMobBase().getLoadID() == 13171) {
@@ -555,7 +551,7 @@ public class MobileFSM {
}
} else if (System.currentTimeMillis() > (aiAgent.deathTime + (aiAgent.spawnTime * 1000))) {
//aiAgent.respawn();
respawnQue.add(aiAgent);
aiAgent.getParentZone().respawnQue.add(aiAgent);
}
}
+5
View File
@@ -98,6 +98,11 @@ public class MobileFSMManager {
for (Zone zone : ZoneManager.getAllZones()) {
if(zone.respawnQue.size() > 0 && zone.lastRespawn + 100 < System.currentTimeMillis()){
zone.respawnQue.get(0).respawn();
zone.respawnQue.remove(0);
zone.lastRespawn = System.currentTimeMillis();
}
for (Mob mob : zone.zoneMobSet) {
try {