Browse Source

respawn while loop addition

master
FatBoy-DOTC 1 year ago
parent
commit
5e0b4ad763
  1. 4
      src/engine/ai/MobileFSM.java
  2. 20
      src/engine/workthreads/MobRespawnThread.java

4
src/engine/ai/MobileFSM.java

@ -604,7 +604,9 @@ public class MobileFSM { @@ -604,7 +604,9 @@ public class MobileFSM {
}
} else if (System.currentTimeMillis() > (aiAgent.deathTime + (aiAgent.spawnTime * 1000))) {
//aiAgent.respawn();
aiAgent.getParentZone().respawnQue.add(aiAgent);
if(aiAgent.getParentZone().respawnQue.contains(aiAgent) == false) {
aiAgent.getParentZone().respawnQue.add(aiAgent);
}
}
} catch(Exception e){
Logger.info(aiAgent.getObjectUUID() + " " + aiAgent.getName() + " Failed At: CheckForRespawn" + " " + e.getMessage());

20
src/engine/workthreads/MobRespawnThread.java

@ -26,6 +26,7 @@ import engine.objects.Zone; @@ -26,6 +26,7 @@ import engine.objects.Zone;
import org.pmw.tinylog.Logger;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.LongAdder;
/**
* Thread blocks until MagicBane dispatch messages are
@ -41,24 +42,25 @@ public class MobRespawnThread implements Runnable { @@ -41,24 +42,25 @@ public class MobRespawnThread implements Runnable {
// Instance variables
// Thread constructor
public MobRespawnThread() {
Boolean isAlive = false;
Logger.info(" MobRespawnThread thread has started!");
}
@Override
public void run() {
for (Zone zone : ZoneManager.getAllZones()) {
if (zone.respawnQue.isEmpty() == false && zone.lastRespawn + 100 < System.currentTimeMillis()) {
if (zone.respawnQue.iterator().next() != null) {
Mob respawner = zone.respawnQue.iterator().next();
respawner.respawn();
zone.respawnQue.remove(respawner);
zone.lastRespawn = System.currentTimeMillis();
while(true) {
for (Zone zone : ZoneManager.getAllZones()) {
if (zone.respawnQue.isEmpty() == false && zone.lastRespawn + 100 < System.currentTimeMillis()) {
if (zone.respawnQue.iterator().next() != null) {
Mob respawner = zone.respawnQue.iterator().next();
respawner.respawn();
zone.respawnQue.remove(respawner);
zone.lastRespawn = System.currentTimeMillis();
}
}
}
}

Loading…
Cancel
Save