Despawn precautions.

This commit is contained in:
MobiusDev
2019-01-09 07:20:24 +00:00
parent 066996efbb
commit 592399f5c0
67 changed files with 107 additions and 35 deletions

View File

@@ -160,6 +160,10 @@ public final class SiegeGuardManager
return;
}
}
else if (spawn.getRespawnDelay() == 0)
{
spawn.stopRespawn();
}
}
}
}

View File

@@ -464,7 +464,6 @@ public class AutoSpawnHandler
if (spawnInst._spawnCount == 1)
{
npcInst = newSpawn.doSpawn();
newSpawn.stopRespawn(); // Just in case...
npcInst.setXYZ(npcInst.getX(), npcInst.getY(), npcInst.getZ());
spawnInst.addNpcInstance(npcInst);
}
@@ -481,12 +480,13 @@ public class AutoSpawnHandler
spawnInst.addNpcInstance(npcInst);
}
}
newSpawn.stopRespawn();
if (npcInst != null)
{
if (spawnInst.isRandomSpawn())
{
while (!L2World.getInstance().getVisibleObjectsInRange(npcInst, L2Npc.class, 10).isEmpty())
while (!L2World.getInstance().getVisibleObjectsInRange(npcInst, L2Npc.class, 5).isEmpty())
{
// LOGGER.log(Level.INFO, "AutoSpawnHandler: Random spawn location " + npcInst.getLocation() + " for " + npcInst + " is occupied. Teleporting...");
npcInst.teleToLocation(locationList[Rnd.get(locationList.length)]);

View File

@@ -286,7 +286,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable
{
doSpawn();
}
_doRespawn = _respawnMinDelay != 0;
_doRespawn = _respawnMinDelay > 0;
return _currentCount;
}

View File

@@ -174,6 +174,10 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable
for (L2Spawn guard : _guards)
{
guard.init();
if (guard.getRespawnDelay() == 0)
{
guard.stopRespawn();
}
}
}